@blokkli/editor 2.0.0-alpha.62 → 2.0.0-alpha.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/global/types/blockOptions.d.ts +32 -27
- package/dist/global/types/colorOptions.d.ts +16 -0
- package/dist/module.d.mts +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +275 -18
- package/dist/modules/agent/index.d.mts +1 -1
- package/dist/modules/agent/index.mjs +2 -1
- package/dist/modules/agent/runtime/app/components/Attachment/PreviewCsv/index.vue +1 -1
- package/dist/modules/agent/runtime/app/components/Conversation/Item/Assistant/index.vue +14 -5
- package/dist/modules/agent/runtime/app/features/agent/ConversationsAdmin/ConversationsTab/Item.vue +2 -2
- package/dist/modules/agent/runtime/app/features/agent/ConversationsAdmin/RatingsTab/Item.vue +2 -2
- package/dist/modules/agent/runtime/app/features/agent/ConversationsAdmin/SplitView/ConversationDetail.vue +2 -2
- package/dist/modules/agent/runtime/app/features/agent/ConversationsAdmin/SplitView/index.d.vue.ts +1 -1
- package/dist/modules/agent/runtime/app/features/agent/ConversationsAdmin/SplitView/index.vue.d.ts +1 -1
- package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +1 -1
- package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/index.vue +1 -1
- package/dist/modules/agent/runtime/app/features/agent/Transcript/MessageContent.vue +14 -1
- package/dist/modules/agent/runtime/app/features/agent/Transcript/index.vue +31 -13
- package/dist/modules/agent/runtime/app/features/agent/index.vue +1 -1
- package/dist/modules/agent/runtime/app/helpers/linkifyBlockUuids.d.ts +11 -0
- package/dist/modules/agent/runtime/app/helpers/linkifyBlockUuids.js +47 -0
- package/dist/modules/agent/runtime/app/tools/add_content_search_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/add_fragment/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/add_template/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/ask_question/Component.vue +1 -1
- package/dist/modules/agent/runtime/app/tools/ask_question/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.d.vue.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.vue +28 -26
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.vue.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/index.d.ts +16 -1
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.d.vue.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.vue +59 -16
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.vue.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.d.ts +15 -0
- package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/fieldDiffApproval.d.ts +85 -15
- package/dist/modules/agent/runtime/app/tools/fieldDiffApproval.js +136 -28
- package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.d.ts +2 -2
- package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.js +6 -2
- package/dist/modules/agent/runtime/app/tools/get_content_fields/index.d.ts +3 -3
- package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.d.ts +5 -5
- package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/get_referenced_entities/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/replace_media_field/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/schemas.d.ts +17 -7
- package/dist/modules/agent/runtime/app/tools/schemas.js +29 -12
- package/dist/modules/agent/runtime/app/tools/search_text/index.js +1 -1
- package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.d.ts +1 -1
- package/dist/modules/agent/runtime/app/tools/update_text_fields/Component.d.vue.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/update_text_fields/Component.vue +54 -30
- package/dist/modules/agent/runtime/app/tools/update_text_fields/Component.vue.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/update_text_fields/index.d.ts +18 -3
- package/dist/modules/agent/runtime/server/classes/FieldStreamParser/index.js +10 -15
- package/dist/modules/agent/runtime/server/default-system-prompts/architecture.js +1 -1
- package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.js +1 -0
- package/dist/modules/agent/runtime/shared/toolParams.d.ts +3 -3
- package/dist/modules/agent/runtime/shared/types.d.ts +3 -3
- package/dist/modules/charts/index.d.mts +14 -1
- package/dist/modules/charts/index.mjs +37 -2
- package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.d.ts +1 -1
- package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.js +12 -5
- package/dist/modules/charts/runtime/components/ChartRenderer/index.vue +7 -16
- package/dist/modules/charts/runtime/features/charts/Editor/AdvancedConfigPanel/index.vue +1 -1
- package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/Field.vue +19 -9
- package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue +7 -77
- package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/OutputPreviewTable/index.vue +1 -1
- package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/csvHelpers.d.ts +1 -1
- package/dist/modules/charts/runtime/features/charts/Editor/DataTable/index.vue +16 -8
- package/dist/modules/charts/runtime/features/charts/Editor/NumberFormatEditor/index.vue +23 -7
- package/dist/modules/charts/runtime/features/charts/Editor/index.vue +5 -6
- package/dist/modules/charts/runtime/features/charts/Editor/useChartEditorState.d.ts +1 -1
- package/dist/modules/charts/runtime/helpers/index.d.ts +2 -1
- package/dist/modules/charts/runtime/helpers/index.js +4 -2
- package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +5 -0
- package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliMutationResult.graphql +3 -0
- package/dist/modules/drupal/index.d.mts +1 -1
- package/dist/modules/drupal/runtime/adapter/index.js +5 -1
- package/dist/modules/iframes/index.d.mts +1 -1
- package/dist/modules/index.d.mts +1 -1
- package/dist/modules/readability/index.d.mts +1 -1
- package/dist/modules/readability/index.mjs +2 -1
- package/dist/modules/table-of-contents/index.d.mts +1 -1
- package/dist/runtime/components/Blocks/NotImplemented/index.vue +1 -1
- package/dist/runtime/composables/useBlokkliRuntimeConfig.d.ts +50 -0
- package/dist/runtime/composables/useBlokkliRuntimeConfig.js +34 -0
- package/dist/runtime/editor/adapter/index.d.ts +2 -1
- package/dist/runtime/editor/components/Actions/Title/index.vue +1 -1
- package/dist/runtime/editor/components/Actions/index.vue +1 -1
- package/dist/runtime/editor/components/ArtboardTooltip/index.d.vue.ts +1 -0
- package/dist/runtime/editor/components/ArtboardTooltip/index.vue +2 -2
- package/dist/runtime/editor/components/ArtboardTooltip/index.vue.d.ts +1 -0
- package/dist/runtime/editor/components/Avatar/index.vue +1 -1
- package/dist/runtime/editor/components/BlockPreviewItem/index.vue +1 -1
- package/dist/runtime/editor/components/BlockPreviewRenderer/index.vue +1 -1
- package/dist/runtime/editor/components/BlockProxy/index.vue +1 -1
- package/dist/runtime/editor/components/BlokkliRootErrorBoundary.vue +1 -1
- package/dist/runtime/editor/components/BundleSelector/index.vue +1 -1
- package/dist/runtime/editor/components/ColorDropdown/index.d.vue.ts +26 -0
- package/dist/runtime/editor/components/ColorDropdown/index.vue +116 -0
- package/dist/runtime/editor/components/ColorDropdown/index.vue.d.ts +26 -0
- package/dist/runtime/editor/components/Dialog/index.vue +1 -1
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.d.vue.ts +14 -20
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.vue +97 -52
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.vue.d.ts +14 -20
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.d.vue.ts +6 -6
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue +30 -21
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue.d.ts +6 -6
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.d.vue.ts +19 -9
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue +19 -10
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue.d.ts +19 -9
- package/dist/runtime/editor/components/DiffApproval/index.d.vue.ts +14 -6
- package/dist/runtime/editor/components/DiffApproval/index.vue +62 -35
- package/dist/runtime/editor/components/DiffApproval/index.vue.d.ts +14 -6
- package/dist/runtime/editor/components/DiffApproval/types.d.ts +32 -0
- package/dist/runtime/editor/components/DiffApproval/types.js +20 -0
- package/dist/runtime/editor/components/DiffViewer/State.vue +1 -1
- package/dist/runtime/editor/components/DraggableList.vue +1 -1
- package/dist/runtime/editor/components/Dropdown/index.d.vue.ts +6 -4
- package/dist/runtime/editor/components/Dropdown/index.vue +91 -31
- package/dist/runtime/editor/components/Dropdown/index.vue.d.ts +6 -4
- package/dist/runtime/editor/components/DropdownItem/index.vue +1 -1
- package/dist/runtime/editor/components/EditIndicator.vue +1 -1
- package/dist/runtime/editor/components/EditProvider.vue +2 -2
- package/dist/runtime/editor/components/FileDropHandler/index.vue +1 -1
- package/dist/runtime/editor/components/FlexTextarea/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/FlexTextarea/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/Form/RadioTabs/index.vue +1 -1
- package/dist/runtime/editor/components/Form/Search/index.d.vue.ts +1 -0
- package/dist/runtime/editor/components/Form/Search/index.vue +2 -2
- package/dist/runtime/editor/components/Form/Search/index.vue.d.ts +1 -0
- package/dist/runtime/editor/components/FormOverlay/index.vue +1 -1
- package/dist/runtime/editor/components/Icon/index.vue +1 -1
- package/dist/runtime/editor/components/Indicators/index.vue +31 -100
- package/dist/runtime/editor/components/Konami/Game/index.vue +1 -1
- package/dist/runtime/editor/components/Messages/index.vue +1 -1
- package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +3 -2
- package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +5 -4
- package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +3 -2
- package/dist/runtime/editor/components/Overlay/index.vue +1 -1
- package/dist/runtime/editor/components/Pagination/index.vue +1 -1
- package/dist/runtime/editor/components/Panel/Section/index.vue +1 -1
- package/dist/runtime/editor/components/Panel/Tabs/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/Panel/Tabs/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/PluginConfigForm/index.vue +1 -1
- package/dist/runtime/editor/components/PluginConfigFormInline/FilterSelect/index.vue +1 -1
- package/dist/runtime/editor/components/PluginConfigFormInline/index.vue +1 -1
- package/dist/runtime/editor/components/Popup/index.vue +1 -1
- package/dist/runtime/editor/components/PopupHost/index.d.vue.ts +13 -0
- package/dist/runtime/editor/components/PopupHost/index.vue +12 -0
- package/dist/runtime/editor/components/PopupHost/index.vue.d.ts +13 -0
- package/dist/runtime/editor/components/PreviewProvider.vue +3 -2
- package/dist/runtime/editor/components/RelativeTime/index.vue +7 -13
- package/dist/runtime/editor/components/Resizable/index.vue +1 -1
- package/dist/runtime/editor/components/RichText/Editor/index.vue +1 -1
- package/dist/runtime/editor/components/ScaleToFit/index.vue +1 -1
- package/dist/runtime/editor/components/SearchOverlay/index.vue +1 -1
- package/dist/runtime/editor/components/SidebarFloater/index.vue +1 -1
- package/dist/runtime/editor/components/StatusIcon/index.vue +1 -1
- package/dist/runtime/editor/components/StatusIndicator/index.vue +1 -1
- package/dist/runtime/editor/components/SystemRequirements/index.vue +1 -1
- package/dist/runtime/editor/components/Tabs/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/Tabs/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/Button/index.vue +2 -1
- package/dist/runtime/editor/components/Toolbar/index.vue +1 -1
- package/dist/runtime/editor/components/Transition/Collapse/index.vue +1 -1
- package/dist/runtime/editor/components/Transition/List/index.vue +1 -1
- package/dist/runtime/editor/components/index.d.ts +2 -0
- package/dist/runtime/editor/components/index.js +2 -0
- package/dist/runtime/editor/composables/defineViewOption.js +5 -1
- package/dist/runtime/editor/composables/useStickyToolbar.js +1 -4
- package/dist/runtime/editor/css/output.css +1 -1
- package/dist/runtime/editor/features/add-list/Help/index.vue +1 -1
- package/dist/runtime/editor/features/add-list/index.vue +1 -1
- package/dist/runtime/editor/features/analyze/Main.vue +15 -2
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.vue +4 -1
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.vue +25 -16
- package/dist/runtime/editor/features/analyze/analyzers/defaults/validations.d.ts +10 -0
- package/dist/runtime/editor/features/analyze/analyzers/defaults/validations.js +39 -0
- package/dist/runtime/editor/features/analyze/analyzers/helpers/Context.d.ts +5 -1
- package/dist/runtime/editor/features/analyze/analyzers/helpers/Context.js +5 -0
- package/dist/runtime/editor/features/analyze/index.vue +1 -2
- package/dist/runtime/editor/features/anchors/Overlay/index.vue +11 -5
- package/dist/runtime/editor/features/anchors/index.vue +2 -1
- package/dist/runtime/editor/features/artboard/Overview/index.vue +1 -1
- package/dist/runtime/editor/features/artboard/Renderer.vue +1 -1
- package/dist/runtime/editor/features/artboard/Scrollbar/index.vue +1 -1
- package/dist/runtime/editor/features/block-scheduler/Dialog/index.vue +1 -1
- package/dist/runtime/editor/features/block-transfer/index.vue +1 -1
- package/dist/runtime/editor/features/breadcrumbs/index.vue +1 -1
- package/dist/runtime/editor/features/changelog/changelog.json +17 -1
- package/dist/runtime/editor/features/clipboard/DropElement/index.vue +1 -1
- package/dist/runtime/editor/features/comments/AddForm/index.vue +1 -1
- package/dist/runtime/editor/features/comments/Comment/Meta/index.vue +1 -1
- package/dist/runtime/editor/features/comments/Comment/index.vue +1 -1
- package/dist/runtime/editor/features/comments/Thread/index.vue +1 -1
- package/dist/runtime/editor/features/complex-options/index.vue +1 -0
- package/dist/runtime/editor/features/debug/Main.vue +1 -1
- package/dist/runtime/editor/features/dev-mode/index.vue +1 -1
- package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +1 -1
- package/dist/runtime/editor/features/dragging-overlay/index.vue +1 -1
- package/dist/runtime/editor/features/droppable-field-edit/Overlay/index.vue +1 -1
- package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue +1 -1
- package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.d.vue.ts +1 -5
- package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue.d.ts +1 -5
- package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/ChunkOverlay.vue +1 -1
- package/dist/runtime/editor/features/editable-field/Overlay/index.vue +1 -1
- package/dist/runtime/editor/features/editable-mask/index.vue +1 -1
- package/dist/runtime/editor/features/entity-title/index.vue +17 -7
- package/dist/runtime/editor/features/help/Dialog/index.vue +1 -1
- package/dist/runtime/editor/features/help/Shortcuts/index.vue +1 -1
- package/dist/runtime/editor/features/history/List/index.vue +1 -1
- package/dist/runtime/editor/features/import-existing/Dialog/index.vue +1 -1
- package/dist/runtime/editor/features/library/index.vue +1 -0
- package/dist/runtime/editor/features/media-library/index.vue +1 -1
- package/dist/runtime/editor/features/options/Form/Item.vue +5 -12
- package/dist/runtime/editor/features/options/Form/Radios/index.d.vue.ts +5 -4
- package/dist/runtime/editor/features/options/Form/Radios/index.vue +8 -5
- package/dist/runtime/editor/features/options/Form/Radios/index.vue.d.ts +5 -4
- package/dist/runtime/editor/features/options/Form/Text/index.d.vue.ts +4 -0
- package/dist/runtime/editor/features/options/Form/Text/index.vue +11 -3
- package/dist/runtime/editor/features/options/Form/Text/index.vue.d.ts +4 -0
- package/dist/runtime/editor/features/options/index.vue +1 -1
- package/dist/runtime/editor/features/publish/Dialog/Item.vue +4 -7
- package/dist/runtime/editor/features/publish/Dialog/PublishOption.vue +1 -1
- package/dist/runtime/editor/features/publish/Dialog/Violations.d.vue.ts +12 -0
- package/dist/runtime/editor/features/publish/Dialog/Violations.vue +117 -0
- package/dist/runtime/editor/features/publish/Dialog/Violations.vue.d.ts +12 -0
- package/dist/runtime/editor/features/publish/Dialog/index.vue +61 -24
- package/dist/runtime/editor/features/publish/index.vue +2 -4
- package/dist/runtime/editor/features/publish/types.d.ts +0 -4
- package/dist/runtime/editor/features/referenced-entities/List/Item/index.vue +1 -0
- package/dist/runtime/editor/features/responsive-preview/Frame/index.vue +1 -1
- package/dist/runtime/editor/features/search/index.vue +1 -1
- package/dist/runtime/editor/features/selection/AddButtons/Renderer/index.vue +1 -1
- package/dist/runtime/editor/features/settings/Dialog/FeatureSetting/index.vue +1 -1
- package/dist/runtime/editor/features/settings/index.vue +1 -1
- package/dist/runtime/editor/features/structure/List/Item/index.vue +1 -1
- package/dist/runtime/editor/features/structure/index.vue +1 -1
- package/dist/runtime/editor/features/templates/DialogManageTemplates/Item.vue +1 -0
- package/dist/runtime/editor/features/templates/DialogManageTemplates/index.vue +1 -1
- package/dist/runtime/editor/features/theme/index.vue +1 -1
- package/dist/runtime/editor/features/touch-action-bar/Bar/index.vue +1 -1
- package/dist/runtime/editor/features/tour/Overlay/index.vue +1 -1
- package/dist/runtime/editor/features/transform/Dialog/index.vue +1 -1
- package/dist/runtime/editor/features/translations/SelectionTable/index.vue +1 -1
- package/dist/runtime/editor/features/workspace/index.vue +1 -1
- package/dist/runtime/editor/helpers/color/index.d.ts +7 -0
- package/dist/runtime/editor/helpers/color/index.js +14 -0
- package/dist/runtime/editor/helpers/diff/index.d.ts +98 -0
- package/dist/runtime/editor/helpers/diff/index.js +262 -0
- package/dist/runtime/editor/helpers/injections.d.ts +11 -0
- package/dist/runtime/editor/helpers/injections.js +1 -0
- package/dist/runtime/editor/helpers/options/index.d.ts +2 -0
- package/dist/runtime/editor/helpers/options/index.js +21 -0
- package/dist/runtime/editor/plugins/BlockIndicator/index.d.vue.ts +24 -1
- package/dist/runtime/editor/plugins/BlockIndicator/index.vue +17 -7
- package/dist/runtime/editor/plugins/BlockIndicator/index.vue.d.ts +24 -1
- package/dist/runtime/editor/plugins/ItemAction/index.d.vue.ts +1 -0
- package/dist/runtime/editor/plugins/ItemAction/index.vue +1 -1
- package/dist/runtime/editor/plugins/ItemAction/index.vue.d.ts +1 -0
- package/dist/runtime/editor/plugins/Sidebar/Detached/index.d.vue.ts +1 -1
- package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue.d.ts +1 -1
- package/dist/runtime/editor/plugins/Sidebar/index.d.vue.ts +2 -2
- package/dist/runtime/editor/plugins/Sidebar/index.vue +1 -1
- package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +2 -2
- package/dist/runtime/editor/plugins/ToolbarButton/index.vue +1 -1
- package/dist/runtime/editor/providers/analyze.js +5 -2
- package/dist/runtime/editor/providers/animation.d.ts +2 -0
- package/dist/runtime/editor/providers/config.d.ts +3 -1
- package/dist/runtime/editor/providers/config.js +46 -15
- package/dist/runtime/editor/providers/definition.d.ts +4 -3
- package/dist/runtime/editor/providers/definition.js +10 -2
- package/dist/runtime/editor/providers/plugin.d.ts +1 -0
- package/dist/runtime/editor/providers/state.d.ts +21 -0
- package/dist/runtime/editor/providers/state.js +10 -0
- package/dist/runtime/editor/translations/de.json +9 -4
- package/dist/runtime/editor/translations/fr.json +4 -4
- package/dist/runtime/editor/translations/gsw_CH.json +9 -4
- package/dist/runtime/editor/translations/it.json +4 -4
- package/dist/runtime/editor/types/state.d.ts +7 -0
- package/dist/runtime/editor/types/ui.d.ts +1 -0
- package/dist/runtime/helpers/colors.d.ts +39 -0
- package/dist/runtime/helpers/colors.js +28 -0
- package/dist/runtime/types/colors.d.ts +11 -0
- package/dist/shared/{editor.D28NbXr3.d.mts → editor.BDyiQvbV.d.mts} +434 -406
- package/dist/shared/{editor.Gu7mgJ5Q.mjs → editor.BGemL1Oh.mjs} +146 -146
- package/dist/types.d.mts +1 -1
- package/package.json +74 -82
- package/dist/runtime/editor/features/validations/Overlay/Item.d.vue.ts +0 -7
- package/dist/runtime/editor/features/validations/Overlay/Item.vue +0 -36
- package/dist/runtime/editor/features/validations/Overlay/Item.vue.d.ts +0 -7
- package/dist/runtime/editor/features/validations/Overlay/index.d.vue.ts +0 -7
- package/dist/runtime/editor/features/validations/Overlay/index.vue +0 -115
- package/dist/runtime/editor/features/validations/Overlay/index.vue.d.ts +0 -7
- package/dist/runtime/editor/features/validations/SidebarItem/index.d.vue.ts +0 -10
- package/dist/runtime/editor/features/validations/SidebarItem/index.vue +0 -41
- package/dist/runtime/editor/features/validations/SidebarItem/index.vue.d.ts +0 -10
- package/dist/runtime/editor/features/validations/index.d.vue.ts +0 -3
- package/dist/runtime/editor/features/validations/index.vue +0 -91
- package/dist/runtime/editor/features/validations/index.vue.d.ts +0 -3
- package/dist/runtime/editor/types/config.d.ts +0 -5
- /package/dist/runtime/{editor/types/config.js → types/colors.js} +0 -0
|
@@ -26,6 +26,15 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
26
26
|
* Optional icon to display in the indicator.
|
|
27
27
|
*/
|
|
28
28
|
icon?: BlokkliIcon;
|
|
29
|
+
/**
|
|
30
|
+
* Keep the indicator visible when the artboard edge is close to the
|
|
31
|
+
* edge of the visible viewport.
|
|
32
|
+
*
|
|
33
|
+
* Instead of moving out of view, the indicator is shifted onto the
|
|
34
|
+
* artboard so that at least the icon remains visible. Only supported
|
|
35
|
+
* for left-positioned indicators.
|
|
36
|
+
*/
|
|
37
|
+
sticky?: boolean;
|
|
29
38
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
30
39
|
click: () => any;
|
|
31
40
|
}, string, import("vue").PublicProps, Readonly<{
|
|
@@ -53,9 +62,23 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
53
62
|
* Optional icon to display in the indicator.
|
|
54
63
|
*/
|
|
55
64
|
icon?: BlokkliIcon;
|
|
65
|
+
/**
|
|
66
|
+
* Keep the indicator visible when the artboard edge is close to the
|
|
67
|
+
* edge of the visible viewport.
|
|
68
|
+
*
|
|
69
|
+
* Instead of moving out of view, the indicator is shifted onto the
|
|
70
|
+
* artboard so that at least the icon remains visible. Only supported
|
|
71
|
+
* for left-positioned indicators.
|
|
72
|
+
*/
|
|
73
|
+
sticky?: boolean;
|
|
56
74
|
}> & Readonly<{
|
|
57
75
|
onClick?: (() => any) | undefined;
|
|
58
|
-
}>, {
|
|
76
|
+
}>, {
|
|
77
|
+
label: string;
|
|
78
|
+
icon: BlokkliIcon;
|
|
79
|
+
sticky: boolean;
|
|
80
|
+
position: "left" | "right";
|
|
81
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
59
82
|
default?: (props: {}) => any;
|
|
60
83
|
}>;
|
|
61
84
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -95,6 +95,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
95
95
|
onClick?: ((items: RenderedFieldListItem[]) => any) | undefined;
|
|
96
96
|
}>, {
|
|
97
97
|
keyCode: string;
|
|
98
|
+
description: string;
|
|
98
99
|
disabled: boolean | string;
|
|
99
100
|
icon: BlokkliIcon;
|
|
100
101
|
active: boolean;
|
|
@@ -70,7 +70,7 @@ const uuids = computed(() => selection.uuids.value);
|
|
|
70
70
|
const props = defineProps({
|
|
71
71
|
id: { type: String, required: true },
|
|
72
72
|
title: { type: String, required: true },
|
|
73
|
-
description: { type: String, required: false },
|
|
73
|
+
description: { type: String, required: false, default: void 0 },
|
|
74
74
|
disabled: { type: [Boolean, String], required: false, default: false },
|
|
75
75
|
active: { type: Boolean, required: false, default: void 0 },
|
|
76
76
|
keyCode: { type: String, required: false, default: void 0 },
|
|
@@ -95,6 +95,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
95
95
|
onClick?: ((items: RenderedFieldListItem[]) => any) | undefined;
|
|
96
96
|
}>, {
|
|
97
97
|
keyCode: string;
|
|
98
|
+
description: string;
|
|
98
99
|
disabled: boolean | string;
|
|
99
100
|
icon: BlokkliIcon;
|
|
100
101
|
active: boolean;
|
|
@@ -34,8 +34,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
|
34
34
|
width: number;
|
|
35
35
|
height: number;
|
|
36
36
|
};
|
|
37
|
-
minHeight: number;
|
|
38
37
|
minWidth: number;
|
|
38
|
+
minHeight: number;
|
|
39
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
40
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
41
|
declare const _default: typeof __VLS_export;
|
|
@@ -34,8 +34,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
|
34
34
|
width: number;
|
|
35
35
|
height: number;
|
|
36
36
|
};
|
|
37
|
-
minHeight: number;
|
|
38
37
|
minWidth: number;
|
|
38
|
+
minHeight: number;
|
|
39
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
40
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
41
|
declare const _default: typeof __VLS_export;
|
|
@@ -200,9 +200,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
200
200
|
width: number;
|
|
201
201
|
height: number;
|
|
202
202
|
};
|
|
203
|
-
minHeight: number;
|
|
204
|
-
minWidth: number;
|
|
205
203
|
tourText: string;
|
|
204
|
+
minWidth: number;
|
|
205
|
+
minHeight: number;
|
|
206
206
|
region: SidebarRegion;
|
|
207
207
|
tooltipTitle: string;
|
|
208
208
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
@@ -309,7 +309,7 @@ export default {
|
|
|
309
309
|
};
|
|
310
310
|
</script>
|
|
311
311
|
|
|
312
|
-
<style>/*! tailwindcss v4.
|
|
312
|
+
<style>/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
|
|
313
313
|
.bk-html-root {
|
|
314
314
|
--bk-sidebar-width-right: 280px;
|
|
315
315
|
--bk-toolbar-left-width: 50px;
|
|
@@ -200,9 +200,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
200
200
|
width: number;
|
|
201
201
|
height: number;
|
|
202
202
|
};
|
|
203
|
-
minHeight: number;
|
|
204
|
-
minWidth: number;
|
|
205
203
|
tourText: string;
|
|
204
|
+
minWidth: number;
|
|
205
|
+
minHeight: number;
|
|
206
206
|
region: SidebarRegion;
|
|
207
207
|
tooltipTitle: string;
|
|
208
208
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
@@ -109,7 +109,7 @@ defineOptions({
|
|
|
109
109
|
});
|
|
110
110
|
</script>
|
|
111
111
|
|
|
112
|
-
<style>/*! tailwindcss v4.
|
|
112
|
+
<style>/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
|
|
113
113
|
.bk .bk-toolbar-button {
|
|
114
114
|
display: flex;
|
|
115
115
|
height: 40px;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { ref } from "#imports";
|
|
2
2
|
import { AnalyzerContext } from "../features/analyze/analyzers/helpers/Context.js";
|
|
3
3
|
import { normalizeToArray } from "../features/analyze/analyzers/helpers/normalizeArray.js";
|
|
4
|
+
import { validationsAnalyzer } from "../features/analyze/analyzers/defaults/validations.js";
|
|
5
|
+
const DEFAULT_ANALYZERS = [validationsAnalyzer];
|
|
4
6
|
export default function analyzeProvider(adapters, state, ui, context, $t, readability) {
|
|
5
7
|
const analyzers = ref([]);
|
|
6
8
|
const isInitialized = ref(false);
|
|
7
9
|
let initPromise = null;
|
|
8
10
|
async function doInit() {
|
|
9
11
|
const fetched = await adapters.getAggregated("getAnalyzers");
|
|
12
|
+
const all = [...DEFAULT_ANALYZERS, ...fetched];
|
|
10
13
|
const initCtx = new AnalyzerContext(
|
|
11
14
|
context.value.language,
|
|
12
15
|
ui.interfaceLanguage.value,
|
|
@@ -17,13 +20,13 @@ export default function analyzeProvider(adapters, state, ui, context, $t, readab
|
|
|
17
20
|
readability
|
|
18
21
|
);
|
|
19
22
|
await Promise.all(
|
|
20
|
-
|
|
23
|
+
all.map(async (analyzer) => {
|
|
21
24
|
if (analyzer.init) {
|
|
22
25
|
await analyzer.init(initCtx);
|
|
23
26
|
}
|
|
24
27
|
})
|
|
25
28
|
);
|
|
26
|
-
analyzers.value =
|
|
29
|
+
analyzers.value = all;
|
|
27
30
|
isInitialized.value = true;
|
|
28
31
|
}
|
|
29
32
|
function ensureInitialized() {
|
|
@@ -50,6 +50,8 @@ export type Renderer<T = RectangleBufferCollector<any>> = {
|
|
|
50
50
|
*
|
|
51
51
|
* Renderers are checked from highest to lowest zIndex.
|
|
52
52
|
* @param coord - Mouse coordinates in screen and artboard space
|
|
53
|
+
* @param coord.mouse - Coordinates in screen space
|
|
54
|
+
* @param coord.mouseArtboard - Coordinates in artboard space
|
|
53
55
|
* @returns True to claim the click and stop propagation, false/undefined to continue
|
|
54
56
|
*/
|
|
55
57
|
onClick?: (coord: {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type ComputedRef } from '#imports';
|
|
2
|
-
import type { ColorOption } from '
|
|
2
|
+
import type { ColorOption } from '#blokkli/types/colors';
|
|
3
3
|
export type ConfigProvider = {
|
|
4
4
|
colorOptions: ComputedRef<ColorOption[]>;
|
|
5
5
|
getColorOption: (id: string) => ColorOption | undefined;
|
|
6
6
|
getColorHex: (id: string) => string;
|
|
7
|
+
isColorEnabled: (id: string) => boolean;
|
|
8
|
+
canonicalColorId: (option: ColorOption) => string;
|
|
7
9
|
};
|
|
8
10
|
export default function (): ConfigProvider;
|
|
@@ -1,18 +1,49 @@
|
|
|
1
|
-
import { computed } from "#imports";
|
|
1
|
+
import { computed, useAppConfig } from "#imports";
|
|
2
2
|
import { colorOptions as moduleColorOptions } from "#blokkli-build/editor-config";
|
|
3
|
+
import {
|
|
4
|
+
canonicalColorId,
|
|
5
|
+
findColorOption,
|
|
6
|
+
isColorIdValid
|
|
7
|
+
} from "#blokkli/helpers/colors";
|
|
8
|
+
import { useBlokkliRuntimeConfig } from "../../composables/useBlokkliRuntimeConfig.js";
|
|
3
9
|
export default function() {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
const appConfig = useAppConfig();
|
|
11
|
+
const { resolveColorHex } = useBlokkliRuntimeConfig();
|
|
12
|
+
const colorOptions = computed(() => {
|
|
13
|
+
const overrides = appConfig.blokkli?.colorOptions ?? {};
|
|
14
|
+
const result = [];
|
|
15
|
+
for (const [id, entry] of Object.entries(moduleColorOptions)) {
|
|
16
|
+
if (overrides[id] === null) continue;
|
|
17
|
+
if ("shades" in entry) {
|
|
18
|
+
const shades = [];
|
|
19
|
+
for (const [shadeId, declaredHex] of Object.entries(entry.shades)) {
|
|
20
|
+
const value = overrides[`${id}.${shadeId}`];
|
|
21
|
+
if (value === null) continue;
|
|
22
|
+
shades.push({
|
|
23
|
+
id: shadeId,
|
|
24
|
+
hex: typeof value === "string" ? value : declaredHex,
|
|
25
|
+
isMain: shadeId === entry.mainShade
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (shades.length === 0) continue;
|
|
29
|
+
const main = shades.find((s) => s.isMain) ?? shades[0];
|
|
30
|
+
result.push({ id, hex: main.hex, label: entry.label, shades });
|
|
31
|
+
} else {
|
|
32
|
+
const value = overrides[id];
|
|
33
|
+
result.push({
|
|
34
|
+
id,
|
|
35
|
+
hex: typeof value === "string" ? value : entry.hex,
|
|
36
|
+
label: entry.label
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
colorOptions,
|
|
44
|
+
getColorOption: (id) => findColorOption(id, colorOptions.value),
|
|
45
|
+
getColorHex: resolveColorHex,
|
|
46
|
+
isColorEnabled: (id) => isColorIdValid(id, colorOptions.value),
|
|
47
|
+
canonicalColorId
|
|
48
|
+
};
|
|
18
49
|
}
|
|
@@ -3,7 +3,7 @@ import type { BlockDefinition, FragmentDefinition, ProviderDefinition } from '#b
|
|
|
3
3
|
import type { ValidFieldListTypes, BlockBundleWithNested, ValidProviderTypes } from '#blokkli-build/generated-types';
|
|
4
4
|
import type { DeepReadonly } from 'vue';
|
|
5
5
|
import type { BlockDefinitionOptionsInput } from '../../types/definitions.js';
|
|
6
|
-
import type { RuntimeBlockOptionArray } from '../../../global/types/blockOptions.js';
|
|
6
|
+
import type { DefinitionString, RuntimeBlockOptionArray } from '../../../global/types/blockOptions.js';
|
|
7
7
|
import type { RenderedFieldListItem } from '../types/field.js';
|
|
8
8
|
export type DefinitionProvider = {
|
|
9
9
|
/**
|
|
@@ -14,7 +14,7 @@ export type DefinitionProvider = {
|
|
|
14
14
|
* 2. Parent bundle specific (e.g., bundle__parent:accordion)
|
|
15
15
|
* 3. Default bundle definition
|
|
16
16
|
*
|
|
17
|
-
* @param
|
|
17
|
+
* @param bundleOrBlock - The block bundle name, or a rendered field list item
|
|
18
18
|
* @param fieldListType - The field list type context
|
|
19
19
|
* @param parentBundle - Optional parent block bundle for nested blocks
|
|
20
20
|
* @returns The block definition, or undefined if not found
|
|
@@ -95,5 +95,6 @@ export type DefinitionProvider = {
|
|
|
95
95
|
* Block bundles that can be added automatically without showing the form.
|
|
96
96
|
*/
|
|
97
97
|
bundlesWithAutoAdd: ComputedRef<string[]>;
|
|
98
|
+
resolveDefinitionString: (definitionString: DefinitionString) => string;
|
|
98
99
|
};
|
|
99
|
-
export default function (providerType: ValidProviderTypes): DefinitionProvider;
|
|
100
|
+
export default function (providerType: ValidProviderTypes, interfaceLanguage: ComputedRef<string>): DefinitionProvider;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { computed, ref, readonly } from "#imports";
|
|
2
2
|
import definitions from "#blokkli-build/definitions";
|
|
3
3
|
import { OPTIONS } from "#blokkli-build/runtime-options";
|
|
4
|
-
|
|
4
|
+
import { resolveDefinitionString as resolveDefinitionStringBase } from "../helpers/options/index.js";
|
|
5
|
+
export default function(providerType, interfaceLanguage) {
|
|
5
6
|
const blocks = ref(definitions.blocks);
|
|
6
7
|
const fragments = ref(definitions.fragments);
|
|
7
8
|
const providers = ref(definitions.providers);
|
|
@@ -114,6 +115,12 @@ export default function(providerType) {
|
|
|
114
115
|
return addBehaviour === "no-form" || addBehaviour.startsWith("editable:");
|
|
115
116
|
}).map((v) => v.bundle);
|
|
116
117
|
});
|
|
118
|
+
function resolveDefinitionString(definitionString) {
|
|
119
|
+
return resolveDefinitionStringBase(
|
|
120
|
+
definitionString,
|
|
121
|
+
interfaceLanguage.value
|
|
122
|
+
);
|
|
123
|
+
}
|
|
117
124
|
return {
|
|
118
125
|
getBlockDefinition,
|
|
119
126
|
getFragmentDefinition,
|
|
@@ -126,7 +133,8 @@ export default function(providerType) {
|
|
|
126
133
|
globalOptions: readonly(allGlobalOptions),
|
|
127
134
|
runtimeOptions: readonly(runtimeOptions),
|
|
128
135
|
renderKey: readonly(renderKey),
|
|
129
|
-
bundlesWithAutoAdd
|
|
136
|
+
bundlesWithAutoAdd,
|
|
137
|
+
resolveDefinitionString
|
|
130
138
|
};
|
|
131
139
|
}
|
|
132
140
|
if (import.meta.hot) {
|
|
@@ -78,6 +78,14 @@ export type StateProvider = {
|
|
|
78
78
|
* -1 indicates no mutations, 0+ indicates active mutation index.
|
|
79
79
|
*/
|
|
80
80
|
currentMutationIndex: Readonly<Ref<number>>;
|
|
81
|
+
/**
|
|
82
|
+
* Unix timestamp (in seconds) of when the edit state was last changed, or
|
|
83
|
+
* `null` if there are no changes yet. Updates after every mutation.
|
|
84
|
+
*
|
|
85
|
+
* Distinct from `publishOptions.lastChanged`, which is the published entity's
|
|
86
|
+
* change time.
|
|
87
|
+
*/
|
|
88
|
+
lastChanged: Readonly<Ref<number | null>>;
|
|
81
89
|
/**
|
|
82
90
|
* Validation violations for the current state.
|
|
83
91
|
*
|
|
@@ -95,6 +103,19 @@ export type StateProvider = {
|
|
|
95
103
|
* @returns True if successful, false if failed
|
|
96
104
|
*/
|
|
97
105
|
mutateWithLoadingState: MutateWithLoadingStateFunction;
|
|
106
|
+
/**
|
|
107
|
+
* Apply the raw state returned by a mutation as the current editor state.
|
|
108
|
+
*
|
|
109
|
+
* Use this when a caller has invoked an adapter mutation directly (bypassing
|
|
110
|
+
* {@link mutateWithLoadingState}) and wants to push the response's `state`
|
|
111
|
+
* payload into the editor without an extra round-trip. The caller is
|
|
112
|
+
* responsible for only invoking this when the response belongs to the
|
|
113
|
+
* current edit state.
|
|
114
|
+
*
|
|
115
|
+
* @param rawState - The `state` field from a {@link MutationResponseLike}
|
|
116
|
+
* response, or `null`/`undefined` to no-op.
|
|
117
|
+
*/
|
|
118
|
+
applyMutationState: (rawState: unknown) => void;
|
|
98
119
|
/**
|
|
99
120
|
* Current edit mode.
|
|
100
121
|
*
|
|
@@ -49,6 +49,7 @@ export default async function(eventBus, adapter, context, $t, providerKey, permi
|
|
|
49
49
|
});
|
|
50
50
|
const currentMutationIndex = ref(-1);
|
|
51
51
|
const isLoading = ref(false);
|
|
52
|
+
const lastChanged = ref(null);
|
|
52
53
|
const entity = ref({
|
|
53
54
|
label: "",
|
|
54
55
|
status: false,
|
|
@@ -135,6 +136,7 @@ export default async function(eventBus, adapter, context, $t, providerKey, permi
|
|
|
135
136
|
entity.value.label = context2?.entity?.label;
|
|
136
137
|
entity.value.status = context2?.entity?.status;
|
|
137
138
|
entity.value.bundleLabel = context2?.entity?.bundleLabel || "";
|
|
139
|
+
lastChanged.value = context2?.lastChanged ?? null;
|
|
138
140
|
updatePublishOptions(mapPublishOptions(context2));
|
|
139
141
|
translation.value.isTranslatable = !!context2?.translationState?.isTranslatable;
|
|
140
142
|
translation.value.translations = context2?.translationState?.translations?.filter(falsy) || [];
|
|
@@ -370,6 +372,12 @@ export default async function(eventBus, adapter, context, $t, providerKey, permi
|
|
|
370
372
|
function setOverrideState(state) {
|
|
371
373
|
setContext(state, true);
|
|
372
374
|
}
|
|
375
|
+
function applyMutationState(rawState) {
|
|
376
|
+
if (!rawState) {
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
setContext(adapter.mapState(rawState));
|
|
380
|
+
}
|
|
373
381
|
function clearOverrideState() {
|
|
374
382
|
if (!_mappedState) {
|
|
375
383
|
throw new Error("Missing previous state.");
|
|
@@ -390,7 +398,9 @@ export default async function(eventBus, adapter, context, $t, providerKey, permi
|
|
|
390
398
|
mutations,
|
|
391
399
|
violations,
|
|
392
400
|
currentMutationIndex,
|
|
401
|
+
lastChanged: readonly(lastChanged),
|
|
393
402
|
mutateWithLoadingState,
|
|
403
|
+
applyMutationState,
|
|
394
404
|
editMode,
|
|
395
405
|
canEdit,
|
|
396
406
|
isLoading: readonly(isLoading),
|
|
@@ -291,6 +291,9 @@
|
|
|
291
291
|
"analyzerReadabiliyOkTitle": "Text könnte einfacher sein",
|
|
292
292
|
"analyzerReadabiliyShorterSentences": "Verwenden Sie kürzere Sätze und einfachere Formulierungen.",
|
|
293
293
|
"analyzerReadabiliyTitle": "Probleme bei Lesbarkeit",
|
|
294
|
+
"analyzerValidationsDescription": "Validierungsfehler für den aktuellen Stand der Seite.",
|
|
295
|
+
"analyzerValidationsLabel": "Validierungen",
|
|
296
|
+
"analyzerValidationsPassDescription": "Keine Validierungsfehler für den aktuellen Stand der Seite.",
|
|
294
297
|
"arrowLeft": "Pfeil links",
|
|
295
298
|
"arrowRight": "Pfeil rechts",
|
|
296
299
|
"artboard": "Vorschau",
|
|
@@ -534,6 +537,7 @@
|
|
|
534
537
|
"deleteConversation": "Konversation löschen",
|
|
535
538
|
"deleteError": "Das Element konnte nicht entfernt werden.",
|
|
536
539
|
"deleteNoPermission": "Löschen aufgrund fehlender Berechtigung nicht möglich.",
|
|
540
|
+
"deleted": "gelöscht",
|
|
537
541
|
"description": "Beschreibung",
|
|
538
542
|
"diffBefore": "Vorher",
|
|
539
543
|
"diffModeInline": "Hervorgehoben",
|
|
@@ -581,6 +585,7 @@
|
|
|
581
585
|
"editableFieldFullscreen": "Vollbild",
|
|
582
586
|
"editableFieldTranslateTooltip": "Den aktuellen Text automatisch übersetzen.",
|
|
583
587
|
"editingDisabled": "Bearbeiten ist für diesen Blocktyp deaktiviert.",
|
|
588
|
+
"entityTitleLastChanged": "Zuletzt geändert",
|
|
584
589
|
"entityTitleTourText": "<p>Zeigt den Titel und Status der aktuellen Seite an.</p><p>Klicken Sie auf den Titel um das Bearbeitungsformular anzuzeigen.</p>",
|
|
585
590
|
"entityTitleTourTitle": "Seite",
|
|
586
591
|
"errorCapturedMessage": "Fehler in «@label»: @errorMessage",
|
|
@@ -672,6 +677,7 @@
|
|
|
672
677
|
"libraryPlaceDialogTitle": "Block aus Bibliothek hinzufügen",
|
|
673
678
|
"link": "Link",
|
|
674
679
|
"loading": "Wird geladen",
|
|
680
|
+
"mainColor": "Hauptfarbe",
|
|
675
681
|
"manageSchedule": "Planung verwalten",
|
|
676
682
|
"manageScheduling": "Planung verwalten",
|
|
677
683
|
"maskTourText": "Wechseln Sie zwischen Anzeigen und Verbergen nicht bearbeitbarer Teile der Seite.",
|
|
@@ -764,6 +770,8 @@
|
|
|
764
770
|
"publishSuccess": "Änderungen erfolgreich publiziert.",
|
|
765
771
|
"publishSuccessfullyPublished": "Erfolgreich veröffentlicht",
|
|
766
772
|
"publishSuccessfullySaved": "Erfolgreich gespeichert",
|
|
773
|
+
"publishValidationErrorsDescription": "Beheben Sie die folgenden Probleme und publizieren Sie erneut.",
|
|
774
|
+
"publishValidationErrorsTitle": "Publikation nicht möglich: Validierungsfehler",
|
|
767
775
|
"publishWillBePublished": "Wird publiziert",
|
|
768
776
|
"publishWillBeScheduled": "Wird geplant",
|
|
769
777
|
"qrCode": "QR-Code",
|
|
@@ -776,6 +784,7 @@
|
|
|
776
784
|
"relatedContent": "Verwandte Inhalte",
|
|
777
785
|
"relatedContentNoEntitiesFound": "Keine verwandten Inhalte gefunden",
|
|
778
786
|
"relatedContentTooltip": "Inhalte wie Seiten oder Bilder, die von diesem Block referenziert oder verlinkt werden.",
|
|
787
|
+
"relativeTimeJustNow": "gerade eben",
|
|
779
788
|
"remove": "Entfernen",
|
|
780
789
|
"replaceField": "@field ersetzen",
|
|
781
790
|
"reply": "Antworten",
|
|
@@ -929,10 +938,6 @@
|
|
|
929
938
|
"translationsTranslateNoTexts": "Keine übersetzbaren Texte auf dieser Seite gefunden.",
|
|
930
939
|
"undo": "Rückgängig",
|
|
931
940
|
"unexpectedMutationError": "Ein unerwarteter Fehler ist aufgetreten",
|
|
932
|
-
"userDeleted": "[gelöscht]",
|
|
933
|
-
"validationsNoneFound": "Keine Validierungsfehler gefunden.",
|
|
934
|
-
"validationsToolbarLabel": "Validierungen",
|
|
935
|
-
"validationsTourText": "Zeigt Validierungsfehler für Inhalte auf der aktuellen Seite an.",
|
|
936
941
|
"video": "Video",
|
|
937
942
|
"viewBannerReviewText": "Sie können Kommentare ansehen und hinzufügen, aber keine Inhalte bearbeiten.",
|
|
938
943
|
"viewBannerReviewTitle": "Sie befinden sich im Review-Modus.",
|
|
@@ -94,9 +94,11 @@
|
|
|
94
94
|
"commentsMarkAsUnresolved": "Marquer comme non résolu",
|
|
95
95
|
"commentsShowResolved": "Afficher les résolus",
|
|
96
96
|
"deleteError": "L'élément n'a pas pu être supprimé.",
|
|
97
|
+
"deleted": "supprimé",
|
|
97
98
|
"duplicate": "Dupliquer",
|
|
98
99
|
"duplicateError": "Les éléments n'ont pas pu être dupliqués.",
|
|
99
100
|
"edit": "Modifier",
|
|
101
|
+
"entityTitleLastChanged": "Dernière modification",
|
|
100
102
|
"exitDescription": "Fermer l’éditeur sans publier",
|
|
101
103
|
"failedToConvert": "L'élément n'a pas pu être converti.",
|
|
102
104
|
"failedToTransform": "The action \"@name\" could not be executed.",
|
|
@@ -149,6 +151,7 @@
|
|
|
149
151
|
"readabilityTooShort": "Trop court",
|
|
150
152
|
"readabilityTooShortTooltip": "Le texte nécessite au moins @count mots pour l'analyse de lisibilité.",
|
|
151
153
|
"readabilityTooltipDescription": "@label mesure la facilité de lecture du texte.",
|
|
154
|
+
"relativeTimeJustNow": "à l'instant",
|
|
152
155
|
"revertDialogLead": "Cela supprimera toutes les modifications et restaurera l’état actuellement publié. Cette action est irréversible.",
|
|
153
156
|
"revertDialogSubmit": "Annuler les modifications",
|
|
154
157
|
"revertDialogTitle": "Annuler les modifications de façon irréversible",
|
|
@@ -163,8 +166,5 @@
|
|
|
163
166
|
"settingsDialogTitle": "Paramètres",
|
|
164
167
|
"settingsMenuDescription": "Paramètres personnels pour l’éditeur",
|
|
165
168
|
"structureToolbarLabel": "Structure",
|
|
166
|
-
"translationsBatchTranslateMenuDescription": "Traduire tous les éléments"
|
|
167
|
-
"userDeleted": "[supprimé]",
|
|
168
|
-
"validationsNoneFound": "Aucune erreur de validation trouvée.",
|
|
169
|
-
"validationsToolbarLabel": "Validations"
|
|
169
|
+
"translationsBatchTranslateMenuDescription": "Traduire tous les éléments"
|
|
170
170
|
}
|
|
@@ -291,6 +291,9 @@
|
|
|
291
291
|
"analyzerReadabiliyOkTitle": "Teggscht chönnt eifacher si",
|
|
292
292
|
"analyzerReadabiliyShorterSentences": "Bruch chürzeri Sätz und eifacheri Formulierige.",
|
|
293
293
|
"analyzerReadabiliyTitle": "Läsbarkeitsproblem im Teggscht",
|
|
294
|
+
"analyzerValidationsDescription": "Validierungsfehler für den aktuellen Stand der Seite.",
|
|
295
|
+
"analyzerValidationsLabel": "Validierungen",
|
|
296
|
+
"analyzerValidationsPassDescription": "Keine Validierungsfehler für den aktuellen Stand der Seite.",
|
|
294
297
|
"arrowLeft": "Pfeil links",
|
|
295
298
|
"arrowRight": "Pfeil rechts",
|
|
296
299
|
"artboard": "Zeichenflächi",
|
|
@@ -534,6 +537,7 @@
|
|
|
534
537
|
"deleteConversation": "Konversation löschen",
|
|
535
538
|
"deleteError": "Dr Block het nid chönne glöscht wärde.",
|
|
536
539
|
"deleteNoPermission": "Lösche ufgrund fählender Berächtigung nid möglich.",
|
|
540
|
+
"deleted": "glöscht",
|
|
537
541
|
"description": "Beschreibung",
|
|
538
542
|
"diffBefore": "Vorhär",
|
|
539
543
|
"diffModeInline": "Inline",
|
|
@@ -581,6 +585,7 @@
|
|
|
581
585
|
"editableFieldFullscreen": "Vollbild",
|
|
582
586
|
"editableFieldTranslateTooltip": "Den aktuellen Text automatisch übersetzen.",
|
|
583
587
|
"editingDisabled": "Bearbeiten ist für diesen Blocktyp deaktiviert.",
|
|
588
|
+
"entityTitleLastChanged": "Zletscht gänderet",
|
|
584
589
|
"entityTitleTourText": "<p>Zeigt dr Titel und Status vo dr aktuälle Sitte aa.</p><p>Klick uf dr Titel zum s'Sitte-Bearbeitsformular z'öffne.</p>",
|
|
585
590
|
"entityTitleTourTitle": "Sitte",
|
|
586
591
|
"errorCapturedMessage": "Fähler in «@label»: @errorMessage",
|
|
@@ -672,6 +677,7 @@
|
|
|
672
677
|
"libraryPlaceDialogTitle": "Block us dr Bibliothek drzuefüege",
|
|
673
678
|
"link": "Link",
|
|
674
679
|
"loading": "Wird geladen",
|
|
680
|
+
"mainColor": "Hauptfarbe",
|
|
675
681
|
"manageSchedule": "Planung verwalte...",
|
|
676
682
|
"manageScheduling": "Planung verwalten",
|
|
677
683
|
"maskTourText": "Wächsle zwüsche Aazeige oder Verstecke vo nid-bearbeitbare Teile vo dr Sitte.",
|
|
@@ -764,6 +770,8 @@
|
|
|
764
770
|
"publishSuccess": "Änderige erfolgriich publiziert.",
|
|
765
771
|
"publishSuccessfullyPublished": "Erfolgriich veröffentlicht",
|
|
766
772
|
"publishSuccessfullySaved": "Erfolgriich gspeicheret",
|
|
773
|
+
"publishValidationErrorsDescription": "Beheben Sie die folgenden Probleme und publizieren Sie erneut.",
|
|
774
|
+
"publishValidationErrorsTitle": "Publikation nicht möglich: Validierungsfehler",
|
|
767
775
|
"publishWillBePublished": "Würd publiziert",
|
|
768
776
|
"publishWillBeScheduled": "Würd plant",
|
|
769
777
|
"qrCode": "QR-Code",
|
|
@@ -776,6 +784,7 @@
|
|
|
776
784
|
"relatedContent": "Verwandte Inhalte",
|
|
777
785
|
"relatedContentNoEntitiesFound": "Keine verwandten Inhalte gefunden",
|
|
778
786
|
"relatedContentTooltip": "Inhalte wie Seiten oder Bilder, die von diesem Block referenziert oder verlinkt werden.",
|
|
787
|
+
"relativeTimeJustNow": "grad ebe",
|
|
779
788
|
"remove": "Entfernen",
|
|
780
789
|
"replaceField": "@field ersetzen",
|
|
781
790
|
"reply": "Antworten",
|
|
@@ -929,10 +938,6 @@
|
|
|
929
938
|
"translationsTranslateNoTexts": "Keine übersetzbaren Texte auf dieser Seite gefunden.",
|
|
930
939
|
"undo": "Rückgängig",
|
|
931
940
|
"unexpectedMutationError": "Es isch e unerwartete Fähler ufträte.",
|
|
932
|
-
"userDeleted": "[glöscht]",
|
|
933
|
-
"validationsNoneFound": "Keini Validierigsfähler gfunde.",
|
|
934
|
-
"validationsToolbarLabel": "Validierige",
|
|
935
|
-
"validationsTourText": "Lueg Validierigsfähler für Inhalt oder Struktur uf dr aktuälle Sitte aa.",
|
|
936
941
|
"video": "Video",
|
|
937
942
|
"viewBannerReviewText": "Du chasch Kommentär aaluege und drzuefüege, aber kän Inhalt bearbeite.",
|
|
938
943
|
"viewBannerReviewTitle": "Du bisch im Review-Modus.",
|
|
@@ -94,9 +94,11 @@
|
|
|
94
94
|
"commentsMarkAsUnresolved": "Segna come non risolto",
|
|
95
95
|
"commentsShowResolved": "Mostra risolti",
|
|
96
96
|
"deleteError": "L'elemento non può essere rimosso.",
|
|
97
|
+
"deleted": "eliminato",
|
|
97
98
|
"duplicate": "Duplica",
|
|
98
99
|
"duplicateError": "Gli elementi non possono essere duplicati.",
|
|
99
100
|
"edit": "Modifica",
|
|
101
|
+
"entityTitleLastChanged": "Ultima modifica",
|
|
100
102
|
"exitDescription": "Chiudi l'editor senza pubblicare",
|
|
101
103
|
"failedToConvert": "L'elemento non può essere convertito.",
|
|
102
104
|
"failedToTransform": "The action \"@name\" could not be executed.",
|
|
@@ -149,6 +151,7 @@
|
|
|
149
151
|
"readabilityTooShort": "Troppo breve",
|
|
150
152
|
"readabilityTooShortTooltip": "Il testo necessita di almeno @count parole per l'analisi della leggibilità.",
|
|
151
153
|
"readabilityTooltipDescription": "@label misura quanto è facile leggere il testo.",
|
|
154
|
+
"relativeTimeJustNow": "proprio ora",
|
|
152
155
|
"revertDialogLead": "Questo eliminerà tutte le modifiche e ripristinerà lo stato attualmente pubblicato. Questa azione non può essere annullata.",
|
|
153
156
|
"revertDialogSubmit": "Scarta modifiche",
|
|
154
157
|
"revertDialogTitle": "Scarta irrevocabilmente le modifiche",
|
|
@@ -163,8 +166,5 @@
|
|
|
163
166
|
"settingsDialogTitle": "Impostazioni",
|
|
164
167
|
"settingsMenuDescription": "Impostazioni personali per l'editor",
|
|
165
168
|
"structureToolbarLabel": "Struttura",
|
|
166
|
-
"translationsBatchTranslateMenuDescription": "Traduci tutti gli elementi"
|
|
167
|
-
"userDeleted": "[eliminato]",
|
|
168
|
-
"validationsNoneFound": "Nessun errore di validazione trovato.",
|
|
169
|
-
"validationsToolbarLabel": "Validazioni"
|
|
169
|
+
"translationsBatchTranslateMenuDescription": "Traduci tutti gli elementi"
|
|
170
170
|
}
|
|
@@ -50,6 +50,13 @@ export interface MappedState {
|
|
|
50
50
|
mutations: MutationItem[];
|
|
51
51
|
currentUserIsOwner: boolean;
|
|
52
52
|
ownerName: string;
|
|
53
|
+
/**
|
|
54
|
+
* Unix timestamp (in seconds) of when the edit state was last changed.
|
|
55
|
+
*
|
|
56
|
+
* This is the edit state's own `changed` time (it bumps on every mutation),
|
|
57
|
+
* distinct from `publishOptions.lastChanged`, which is the published entity's.
|
|
58
|
+
*/
|
|
59
|
+
lastChanged?: number;
|
|
53
60
|
ownerId?: string;
|
|
54
61
|
mutatedState?: {
|
|
55
62
|
mutatedOptions?: any;
|
|
@@ -43,5 +43,6 @@ export type BlockIndicator = {
|
|
|
43
43
|
uuid: string;
|
|
44
44
|
element: HTMLElement;
|
|
45
45
|
position: 'left' | 'right';
|
|
46
|
+
sticky?: boolean;
|
|
46
47
|
};
|
|
47
48
|
export type Placement = 'above-before' | 'above-left' | 'above-center' | 'above-right' | 'above-after' | 'below-before' | 'below-left' | 'below-center' | 'below-right' | 'below-after' | 'top-before' | 'top-after' | 'center-before' | 'center-after' | 'bottom-before' | 'bottom-after';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ColorOption } from '../types/colors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure runtime helpers for color identity and id validation. No Vue/Nuxt
|
|
4
|
+
* deps — safe to import from any layer (runtime components, editor
|
|
5
|
+
* providers, agent tools, tests).
|
|
6
|
+
*
|
|
7
|
+
* Id space:
|
|
8
|
+
* - Flat color: `<base>` (no dot)
|
|
9
|
+
* - Ramped color: `<base>.<shade>` (shade-qualified)
|
|
10
|
+
*
|
|
11
|
+
* The bare `<base>` form for a ramped color is NOT a valid color id anywhere
|
|
12
|
+
* in the system. Everything that emits ids — the editor's `ColorDropdown`,
|
|
13
|
+
* the chart helpers (`getColorIdAtIndex`), the agent's `chartColorEnum` —
|
|
14
|
+
* uses the canonical shade-qualified form.
|
|
15
|
+
*
|
|
16
|
+
* Hex resolution at runtime goes through
|
|
17
|
+
* `useBlokkliRuntimeConfig().resolveColorHex(id)`, which reads the merged
|
|
18
|
+
* view directly from `app.config.blokkli.colorOptions`. No merge function
|
|
19
|
+
* lives here — Nuxt's app.config layer already handles override merging.
|
|
20
|
+
*/
|
|
21
|
+
export declare const FALLBACK_HEX = "#888888";
|
|
22
|
+
export declare function parseColorId(id: string): {
|
|
23
|
+
baseId: string;
|
|
24
|
+
shadeId: string | undefined;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Canonical id for a color option:
|
|
28
|
+
* - Flat color: the bare id.
|
|
29
|
+
* - Ramped color: `<base>.<mainShade>`. Falls back to the first declared
|
|
30
|
+
* shade if none is marked `isMain`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function canonicalColorId(option: ColorOption): string;
|
|
33
|
+
export declare function findColorOption(id: string, options: ColorOption[]): ColorOption | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Strict id validity: bare for flat colors, `<base>.<shade>` for ramped
|
|
36
|
+
* colors with the shade actually declared. Bare ids for ramped colors and
|
|
37
|
+
* shade-qualified ids for flat colors both return false.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isColorIdValid(id: string, options: ColorOption[]): boolean;
|