@blokkli/editor 2.0.0-alpha.59 → 2.0.0-alpha.61
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/module.json +1 -1
- package/dist/module.mjs +28 -11
- package/dist/modules/agent/index.mjs +2 -5
- package/dist/modules/agent/runtime/app/features/agent/Container.vue +3 -3
- package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +15 -3
- package/dist/modules/agent/runtime/app/features/agent/index.vue +5 -1
- package/dist/modules/agent/runtime/app/features/agent/types.d.ts +2 -1
- package/dist/modules/agent/runtime/app/helpers/mutationResult.d.ts +38 -0
- package/dist/modules/agent/runtime/app/helpers/mutationResult.js +49 -0
- package/dist/modules/agent/runtime/app/prompts/fixReadability.js +3 -3
- package/dist/modules/agent/runtime/app/providers/agentProvider.d.ts +2 -1
- package/dist/modules/agent/runtime/app/providers/agentProvider.js +6 -6
- package/dist/modules/agent/runtime/app/providers/toolsProvider.js +3 -13
- package/dist/modules/agent/runtime/app/tools/add_content_search_paragraphs/index.d.ts +25 -0
- package/dist/modules/agent/runtime/app/tools/add_content_search_paragraphs/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/add_fragment/index.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/add_fragment/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.d.ts +24 -0
- package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.d.ts +32 -0
- package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.js +6 -4
- package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/add_template/index.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/add_template/index.js +5 -3
- package/dist/modules/agent/runtime/app/tools/ask_question/index.d.ts +3 -3
- package/dist/modules/agent/runtime/app/tools/ask_question/index.js +7 -6
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.d.vue.ts +29 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.vue +172 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/Component.vue.d.ts +29 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/index.d.ts +28 -0
- package/dist/modules/agent/runtime/app/tools/auto_translate_paragraphs/index.js +80 -0
- package/dist/modules/agent/runtime/app/tools/check_readability_for_texts/index.d.ts +17 -0
- package/dist/modules/agent/runtime/app/tools/check_readability_for_texts/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.vue +16 -0
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.d.ts +10 -1
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/delete_paragraphs/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/detach_reusable_paragraph/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.js +5 -3
- package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.d.ts +31 -0
- package/dist/modules/agent/runtime/app/tools/find_paragraphs/index.js +7 -7
- package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.d.ts +7 -0
- package/dist/modules/agent/runtime/app/tools/get_all_fragments/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.d.ts +10 -0
- package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.js +3 -3
- package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.d.ts +35 -0
- package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.d.ts +20 -0
- package/dist/modules/agent/runtime/app/tools/get_child_paragraphs/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_content_fields/index.d.ts +30 -0
- package/dist/modules/agent/runtime/app/tools/get_content_fields/index.js +15 -11
- package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.d.ts +25 -0
- package/dist/modules/agent/runtime/app/tools/get_mutation_history/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_page_structure/index.d.ts +8 -0
- package/dist/modules/agent/runtime/app/tools/get_page_structure/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_page_text/index.d.ts +8 -0
- package/dist/modules/agent/runtime/app/tools/get_page_text/index.js +65 -0
- package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.d.ts +81 -0
- package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.js +20 -12
- package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.d.ts +14 -0
- package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.d.ts +38 -0
- package/dist/modules/agent/runtime/app/tools/get_paragraphs_in_viewport/index.js +7 -6
- package/dist/modules/agent/runtime/app/tools/get_readability_issues/index.d.ts +12 -0
- package/dist/modules/agent/runtime/app/tools/get_readability_issues/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/get_referenced_entities/index.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/get_referenced_entities/index.js +62 -0
- package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.d.ts +9 -0
- package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/go_to_history_index/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/helpers.d.ts +8 -2
- package/dist/modules/agent/runtime/app/tools/helpers.js +9 -9
- package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.d.ts +22 -0
- package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.d.ts +21 -0
- package/dist/modules/agent/runtime/app/tools/rearrange_paragraphs/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.d.ts +20 -0
- package/dist/modules/agent/runtime/app/tools/replace_content_search_item/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/replace_media_field/index.d.ts +19 -0
- package/dist/modules/agent/runtime/app/tools/replace_media_field/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/schemas.d.ts +25 -5
- package/dist/modules/agent/runtime/app/tools/schemas.js +37 -10
- package/dist/modules/agent/runtime/app/tools/search_content/index.d.ts +15 -0
- package/dist/modules/agent/runtime/app/tools/search_content/index.js +8 -7
- package/dist/modules/agent/runtime/app/tools/search_media/index.d.ts +5 -1
- package/dist/modules/agent/runtime/app/tools/search_media/index.js +3 -3
- package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/search_reusable_paragraphs/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/search_templates/index.d.ts +13 -0
- package/dist/modules/agent/runtime/app/tools/search_templates/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/search_text/index.d.ts +15 -0
- package/dist/modules/agent/runtime/app/tools/search_text/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/select_media/Component.vue +1 -1
- package/dist/modules/agent/runtime/app/tools/select_media/index.d.ts +2 -2
- package/dist/modules/agent/runtime/app/tools/select_media/index.js +2 -2
- package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.d.ts +19 -0
- package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.d.ts +17 -0
- package/dist/modules/agent/runtime/app/tools/swap_paragraphs/index.js +3 -2
- package/dist/modules/agent/runtime/app/tools/update_text_fields/index.d.ts +13 -4
- package/dist/modules/agent/runtime/app/tools/update_text_fields/index.js +8 -7
- package/dist/modules/agent/runtime/app/tools/web_fetch/index.d.ts +17 -0
- package/dist/modules/agent/runtime/app/tools/web_fetch/index.js +2 -2
- package/dist/modules/agent/runtime/app/types/index.d.ts +6 -9
- package/dist/modules/agent/runtime/app/types/index.js +4 -3
- package/dist/modules/agent/runtime/server/agent.js +1 -2
- package/dist/modules/agent/runtime/server/classes/Session/index.d.ts +2 -2
- package/dist/modules/agent/runtime/server/classes/Session/index.js +10 -5
- package/dist/modules/agent/runtime/server/default-system-prompts/important-rules.js +2 -1
- package/dist/modules/agent/runtime/shared/toolParams.d.ts +19 -0
- package/dist/modules/agent/runtime/shared/toolParams.js +6 -0
- package/dist/modules/agent/runtime/shared/toolResult.d.ts +4 -0
- package/dist/modules/agent/runtime/shared/toolResult.js +5 -0
- package/dist/modules/agent/runtime/shared/types.d.ts +23 -4
- package/dist/modules/agent/runtime/shared/types.js +6 -1
- package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue +4 -13
- package/dist/modules/drupal/graphql/features/notifications.graphql +39 -0
- package/dist/modules/drupal/index.mjs +6 -1
- package/dist/modules/drupal/runtime/adapter/index.js +38 -0
- package/dist/runtime/editor/components/Actions/ItemDropdown/Item.vue +0 -1
- package/dist/runtime/editor/components/Actions/ScrollArrow/index.d.vue.ts +13 -0
- package/dist/runtime/editor/components/Actions/ScrollArrow/index.vue +52 -0
- package/dist/runtime/editor/components/Actions/ScrollArrow/index.vue.d.ts +13 -0
- package/dist/runtime/editor/components/Actions/Title/index.vue +9 -8
- package/dist/runtime/editor/components/Actions/index.vue +47 -7
- package/dist/runtime/editor/components/Actions/useToolbarScroll.d.ts +25 -0
- package/dist/runtime/editor/components/Actions/useToolbarScroll.js +125 -0
- package/dist/runtime/editor/components/AddListItem/index.vue +0 -2
- package/dist/runtime/editor/components/AppMenu/MenuButton.vue +1 -3
- package/dist/runtime/editor/components/ArtboardTooltip/index.vue +4 -1
- package/dist/runtime/editor/components/Avatar/index.vue +0 -1
- package/dist/runtime/editor/components/BlockPreviewRenderer/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/BlockPreviewRenderer/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/BundleSelector/index.vue +0 -4
- package/dist/runtime/editor/components/Dialog/index.d.vue.ts +2 -2
- package/dist/runtime/editor/components/Dialog/index.vue +1 -3
- package/dist/runtime/editor/components/Dialog/index.vue.d.ts +2 -2
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.d.vue.ts +8 -0
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.vue +12 -2
- package/dist/runtime/editor/components/DiffApproval/Highlight/Item.vue.d.ts +8 -0
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.d.vue.ts +8 -0
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue +14 -2
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue.d.ts +8 -0
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.d.vue.ts +2 -2
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue +0 -2
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue.d.ts +2 -2
- package/dist/runtime/editor/components/DiffApproval/index.vue +3 -2
- package/dist/runtime/editor/components/Dropdown/index.vue +0 -39
- package/dist/runtime/editor/components/DropdownItem/index.d.vue.ts +12 -2
- package/dist/runtime/editor/components/DropdownItem/index.vue +46 -2
- package/dist/runtime/editor/components/DropdownItem/index.vue.d.ts +12 -2
- 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/Datepicker/index.vue +0 -1
- package/dist/runtime/editor/components/Form/TextDark/index.vue +0 -1
- package/dist/runtime/editor/components/Form/Textarea/index.vue +0 -1
- package/dist/runtime/editor/components/Form/Toggle/index.d.vue.ts +1 -0
- package/dist/runtime/editor/components/Form/Toggle/index.vue +9 -2
- package/dist/runtime/editor/components/Form/Toggle/index.vue.d.ts +1 -0
- package/dist/runtime/editor/components/FormOverlay/index.vue +0 -1
- package/dist/runtime/editor/components/Icon/index.vue +0 -2
- package/dist/runtime/editor/components/Messages/Item/index.vue +4 -1
- package/dist/runtime/editor/components/Messages/index.vue +3 -0
- package/dist/runtime/editor/components/Panel/Sheet/index.vue +1 -1
- package/dist/runtime/editor/components/Popup/index.vue +0 -2
- package/dist/runtime/editor/components/RichText/Editor/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/RichText/Editor/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/ScheduleDate/index.vue +1 -3
- package/dist/runtime/editor/components/SearchOverlay/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/SearchOverlay/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/Button/index.d.vue.ts +3 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/Button/index.vue +74 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/Button/index.vue.d.ts +3 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/index.d.vue.ts +7 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/index.vue +16 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/List/index.vue.d.ts +7 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/index.d.vue.ts +3 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/index.vue +57 -0
- package/dist/runtime/editor/components/Toolbar/ViewOptions/index.vue.d.ts +3 -0
- package/dist/runtime/editor/components/Toolbar/index.vue +3 -56
- package/dist/runtime/editor/components/ToolbarDropdown/index.d.vue.ts +21 -0
- package/dist/runtime/editor/components/ToolbarDropdown/index.vue +36 -0
- package/dist/runtime/editor/components/ToolbarDropdown/index.vue.d.ts +21 -0
- package/dist/runtime/editor/components/Tooltip/Context.vue +3 -1
- package/dist/runtime/editor/components/Tooltip/index.d.vue.ts +1 -1
- package/dist/runtime/editor/components/Tooltip/index.vue +4 -1
- package/dist/runtime/editor/components/Tooltip/index.vue.d.ts +1 -1
- package/dist/runtime/editor/components/index.d.ts +1 -0
- package/dist/runtime/editor/components/index.js +1 -0
- package/dist/runtime/editor/composables/defineViewOption.d.ts +5 -0
- package/dist/runtime/editor/composables/defineViewOption.js +10 -0
- package/dist/runtime/editor/composables/index.d.ts +3 -0
- package/dist/runtime/editor/composables/index.js +2 -0
- package/dist/runtime/editor/composables/useDismiss.d.ts +30 -0
- package/dist/runtime/editor/composables/useDismiss.js +43 -0
- package/dist/runtime/editor/composables/useGlobalBlokkliObject.d.ts +3 -3
- package/dist/runtime/editor/css/output.css +1 -1
- package/dist/runtime/editor/events/index.d.ts +23 -0
- package/dist/runtime/editor/features/add-list/Actions/index.vue +0 -1
- package/dist/runtime/editor/features/add-list/Blocks/index.vue +0 -1
- package/dist/runtime/editor/features/add-list/Help/Item.vue +2 -7
- package/dist/runtime/editor/features/add-list/Help/index.vue +1 -1
- package/dist/runtime/editor/features/add-list/index.vue +0 -2
- package/dist/runtime/editor/features/anchors/index.vue +11 -11
- package/dist/runtime/editor/features/anchors/types.d.ts +1 -0
- package/dist/runtime/editor/features/anchors/types.js +1 -0
- package/dist/runtime/editor/features/artboard/Renderer.vue +30 -28
- package/dist/runtime/editor/features/block-scheduler/Dialog/ScheduleSection.vue +0 -3
- package/dist/runtime/editor/features/block-scheduler/index.vue +0 -1
- package/dist/runtime/editor/features/block-transfer/SummaryDialog/index.vue +0 -4
- package/dist/runtime/editor/features/breadcrumbs/Crumb/index.vue +0 -5
- package/dist/runtime/editor/features/changelog/changelog.json +16 -0
- package/dist/runtime/editor/features/command-palette/Palette/Item/index.vue +0 -3
- package/dist/runtime/editor/features/command-palette/Palette/index.vue +0 -1
- package/dist/runtime/editor/features/comments/AddForm/index.vue +0 -1
- package/dist/runtime/editor/features/comments/Comment/Actions/index.vue +0 -4
- package/dist/runtime/editor/features/comments/Comment/index.d.vue.ts +14 -0
- package/dist/runtime/editor/features/comments/Comment/index.vue +29 -8
- package/dist/runtime/editor/features/comments/Comment/index.vue.d.ts +14 -0
- package/dist/runtime/editor/features/comments/CommentInput/index.d.vue.ts +1 -1
- package/dist/runtime/editor/features/comments/CommentInput/index.vue +0 -3
- package/dist/runtime/editor/features/comments/CommentInput/index.vue.d.ts +1 -1
- package/dist/runtime/editor/features/comments/Sidebar/AddForm/index.vue +0 -1
- package/dist/runtime/editor/features/comments/Sidebar/index.d.vue.ts +16 -0
- package/dist/runtime/editor/features/comments/Sidebar/index.vue +13 -8
- package/dist/runtime/editor/features/comments/Sidebar/index.vue.d.ts +16 -0
- package/dist/runtime/editor/features/comments/Thread/ReplyForm/index.vue +0 -1
- package/dist/runtime/editor/features/comments/Thread/index.d.vue.ts +16 -0
- package/dist/runtime/editor/features/comments/Thread/index.vue +26 -6
- package/dist/runtime/editor/features/comments/Thread/index.vue.d.ts +16 -0
- package/dist/runtime/editor/features/comments/index.vue +28 -3
- package/dist/runtime/editor/features/delete/types.d.ts +1 -0
- package/dist/runtime/editor/features/delete/types.js +1 -0
- package/dist/runtime/editor/features/dev-mode/index.vue +17 -15
- package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +1 -0
- package/dist/runtime/editor/features/duplicate/types.d.ts +1 -0
- package/dist/runtime/editor/features/duplicate/types.js +1 -0
- package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue +0 -2
- package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue +0 -1
- package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/index.vue +0 -5
- package/dist/runtime/editor/features/editable-field/Overlay/index.vue +0 -5
- package/dist/runtime/editor/features/editable-mask/index.vue +21 -20
- package/dist/runtime/editor/features/entity-title/index.vue +0 -4
- package/dist/runtime/editor/features/fragments/Dialog/index.vue +0 -4
- package/dist/runtime/editor/features/grid/index.vue +16 -15
- package/dist/runtime/editor/features/grid/types.d.ts +1 -0
- package/dist/runtime/editor/features/grid/types.js +1 -0
- package/dist/runtime/editor/features/help/Dialog/index.d.vue.ts +7 -0
- package/dist/runtime/editor/features/help/Dialog/index.vue +57 -0
- package/dist/runtime/editor/features/help/Dialog/index.vue.d.ts +7 -0
- package/dist/runtime/editor/features/help/index.vue +52 -47
- package/dist/runtime/editor/features/history/List/index.vue +2 -9
- package/dist/runtime/editor/features/history/types.d.ts +1 -0
- package/dist/runtime/editor/features/history/types.js +1 -0
- package/dist/runtime/editor/features/notifications/Item/index.d.vue.ts +4 -0
- package/dist/runtime/editor/features/notifications/Item/index.vue +96 -0
- package/dist/runtime/editor/features/notifications/Item/index.vue.d.ts +4 -0
- package/dist/runtime/editor/features/notifications/List/index.d.vue.ts +11 -0
- package/dist/runtime/editor/features/notifications/List/index.vue +126 -0
- package/dist/runtime/editor/features/notifications/List/index.vue.d.ts +11 -0
- package/dist/runtime/editor/features/notifications/docs.md +12 -0
- package/dist/runtime/editor/features/notifications/index.d.vue.ts +3 -0
- package/dist/runtime/editor/features/notifications/index.vue +123 -0
- package/dist/runtime/editor/features/notifications/index.vue.d.ts +3 -0
- package/dist/runtime/editor/features/notifications/types.d.ts +132 -0
- package/dist/runtime/editor/features/notifications/types.js +20 -0
- package/dist/runtime/editor/features/options/Form/Checkbox/index.vue +6 -2
- package/dist/runtime/editor/features/options/Form/Checkboxes/index.vue +14 -4
- package/dist/runtime/editor/features/options/Form/Color/index.vue +1 -1
- package/dist/runtime/editor/features/options/Form/ComplexType/index.vue +0 -1
- package/dist/runtime/editor/features/options/Form/DateTimeLocal/index.vue +0 -1
- package/dist/runtime/editor/features/options/Form/Group.vue +3 -1
- package/dist/runtime/editor/features/options/Form/Item.vue +1 -2
- package/dist/runtime/editor/features/options/Form/Number/index.vue +9 -3
- package/dist/runtime/editor/features/options/Form/Radios/index.vue +3 -2
- package/dist/runtime/editor/features/options/Form/Range/index.vue +8 -2
- package/dist/runtime/editor/features/options/Form/Text/index.vue +6 -2
- package/dist/runtime/editor/features/options/index.vue +7 -1
- package/dist/runtime/editor/features/ownership/Banner/index.vue +3 -1
- package/dist/runtime/editor/features/ownership/types.d.ts +1 -0
- package/dist/runtime/editor/features/ownership/types.js +1 -0
- package/dist/runtime/editor/features/preview-grant/types.d.ts +1 -0
- package/dist/runtime/editor/features/preview-grant/types.js +1 -0
- package/dist/runtime/editor/features/proxy-view/index.vue +24 -21
- package/dist/runtime/editor/features/publish/Dialog/PublishOption.vue +0 -2
- package/dist/runtime/editor/features/publish/Dialog/index.vue +1 -2
- package/dist/runtime/editor/features/responsive-preview/Frame/index.vue +0 -1
- package/dist/runtime/editor/features/revert/types.d.ts +1 -0
- package/dist/runtime/editor/features/revert/types.js +1 -0
- package/dist/runtime/editor/features/settings/Dialog/FeatureSetting/index.vue +18 -8
- package/dist/runtime/editor/features/swap/types.d.ts +1 -0
- package/dist/runtime/editor/features/swap/types.js +1 -0
- package/dist/runtime/editor/features/translations/Banner/index.vue +4 -1
- package/dist/runtime/editor/features/translations/CsvDialog/Import/index.vue +4 -1
- package/dist/runtime/editor/features/translations/TranslateDialog/index.vue +7 -2
- package/dist/runtime/editor/plugins/BlockIndicator/index.vue +0 -2
- package/dist/runtime/editor/plugins/ContextMenu/Menu/index.vue +4 -36
- package/dist/runtime/editor/plugins/ItemAction/index.vue +0 -1
- 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 +7 -50
- package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +2 -2
- package/dist/runtime/editor/plugins/ToolbarButton/index.d.vue.ts +8 -2
- package/dist/runtime/editor/plugins/ToolbarButton/index.vue +122 -28
- package/dist/runtime/editor/plugins/ToolbarButton/index.vue.d.ts +8 -2
- package/dist/runtime/editor/plugins/index.d.ts +1 -2
- package/dist/runtime/editor/plugins/index.js +1 -3
- package/dist/runtime/editor/providers/fieldValue.js +11 -13
- package/dist/runtime/editor/providers/plugin.d.ts +12 -0
- package/dist/runtime/editor/providers/plugin.js +9 -0
- package/dist/runtime/editor/translations/de.json +53 -19
- package/dist/runtime/editor/translations/fr.json +16 -4
- package/dist/runtime/editor/translations/gsw_CH.json +53 -19
- package/dist/runtime/editor/translations/it.json +16 -4
- package/package.json +6 -6
- package/dist/runtime/editor/plugins/ViewOption/index.d.vue.ts +0 -139
- package/dist/runtime/editor/plugins/ViewOption/index.vue +0 -99
- package/dist/runtime/editor/plugins/ViewOption/index.vue.d.ts +0 -139
|
@@ -197,6 +197,26 @@ export type ScrollSelectionIntoViewEvent = {
|
|
|
197
197
|
center?: boolean;
|
|
198
198
|
immediate?: boolean;
|
|
199
199
|
};
|
|
200
|
+
/**
|
|
201
|
+
* Pan the artboard to a specific offset. Pass `null` for an axis to leave it
|
|
202
|
+
* unchanged. `immediate` skips the easing animation.
|
|
203
|
+
*/
|
|
204
|
+
export type SetArtboardOffsetEvent = {
|
|
205
|
+
x?: number | null;
|
|
206
|
+
y?: number | null;
|
|
207
|
+
immediate?: boolean;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Ask the actions toolbar to make a specific element reachable. If the element
|
|
211
|
+
* lives inside the toolbar's horizontally-scrolled content and is past either
|
|
212
|
+
* edge, the toolbar scrolls so the element clears the arrow buttons. Elements
|
|
213
|
+
* outside the toolbar's vertical extent (group popups, unrelated nodes) are
|
|
214
|
+
* ignored — they sit below the toolbar and are already visible once the group
|
|
215
|
+
* itself is in view.
|
|
216
|
+
*/
|
|
217
|
+
export type ActionsScrollIntoViewEvent = {
|
|
218
|
+
element: HTMLElement;
|
|
219
|
+
};
|
|
200
220
|
export interface EventbusEvents {
|
|
201
221
|
select: string | string[];
|
|
202
222
|
'select:unselect': undefined;
|
|
@@ -212,6 +232,7 @@ export interface EventbusEvents {
|
|
|
212
232
|
updatePreviewState: UpdatePreviewStateEvent;
|
|
213
233
|
animationFrame: AnimationFrameEvent;
|
|
214
234
|
message: Message;
|
|
235
|
+
'message:clear': undefined;
|
|
215
236
|
keyPressed: KeyPressedEvent;
|
|
216
237
|
editEntity: undefined;
|
|
217
238
|
reloadState: undefined;
|
|
@@ -228,6 +249,8 @@ export interface EventbusEvents {
|
|
|
228
249
|
'item:doubleClick': RenderedFieldListItem;
|
|
229
250
|
scrollIntoView: ScrollIntoViewEvent;
|
|
230
251
|
scrollSelectionIntoView: ScrollSelectionIntoViewEvent;
|
|
252
|
+
setArtboardOffset: SetArtboardOffsetEvent;
|
|
253
|
+
'actions:scrollIntoView': ActionsScrollIntoViewEvent;
|
|
231
254
|
highlight: HTMLElement | null;
|
|
232
255
|
'animationFrame:before': AnimationFrameBeforeEvent;
|
|
233
256
|
'animationFrame:after': undefined;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
<div
|
|
3
3
|
ref="el"
|
|
4
4
|
class="bk-add-list-help-item"
|
|
5
|
-
:data-test="'add-list-help-' + type + '-' + id"
|
|
6
|
-
:data-test-visible="isVisible"
|
|
7
5
|
:style="{
|
|
8
6
|
visibility: isVisible ? 'visible' : 'hidden'
|
|
9
7
|
}"
|
|
@@ -15,8 +13,8 @@
|
|
|
15
13
|
</div>
|
|
16
14
|
</div>
|
|
17
15
|
<h2>
|
|
18
|
-
<ItemIconBox
|
|
19
|
-
<span
|
|
16
|
+
<ItemIconBox :bundle :icon :color />
|
|
17
|
+
<span>{{ title }}</span>
|
|
20
18
|
</h2>
|
|
21
19
|
|
|
22
20
|
<hr />
|
|
@@ -24,7 +22,6 @@
|
|
|
24
22
|
<div
|
|
25
23
|
v-if="text"
|
|
26
24
|
class="bk-add-list-help-description"
|
|
27
|
-
data-test="add-list-help-description"
|
|
28
25
|
v-html="text"
|
|
29
26
|
/>
|
|
30
27
|
|
|
@@ -39,7 +36,6 @@
|
|
|
39
36
|
v-for="field in section.fields"
|
|
40
37
|
:key="field.name"
|
|
41
38
|
class="bk-add-list-help-fields-item"
|
|
42
|
-
:data-test="'add-list-help-field-' + field.name"
|
|
43
39
|
>
|
|
44
40
|
<ul>
|
|
45
41
|
<li v-if="section.fields.length > 1" class="bk-is-field">
|
|
@@ -49,7 +45,6 @@
|
|
|
49
45
|
v-for="allowed in field.items"
|
|
50
46
|
:key="field.name + allowed.bundle + allowed.label"
|
|
51
47
|
class="bk-is-bundle"
|
|
52
|
-
:data-test="'add-list-help-allowed-' + allowed.bundle"
|
|
53
48
|
>
|
|
54
49
|
<ItemIconBox
|
|
55
50
|
:bundle="allowed.bundle"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="rootEl"
|
|
2
|
+
<div ref="rootEl" class="bk bk-add-list-help">
|
|
3
3
|
<div
|
|
4
4
|
ref="innerEl"
|
|
5
5
|
class="bk-add-list-help-inner _bk_relative _bk_will-change-transform _bk_text-mono-50 _bk_bg-mono-950/90 _bk_backdrop-blur-md _bk_overflow-hidden _bk_rounded"
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
v-show="!ui.isApproving.value"
|
|
5
5
|
id="bk-add-list"
|
|
6
6
|
ref="wrapper"
|
|
7
|
-
data-test="add-list"
|
|
8
7
|
class="bk bk-add-list bk-control"
|
|
9
8
|
@wheel.capture.passive="onWheel"
|
|
10
9
|
@mouseenter="onMouseEnter"
|
|
@@ -13,7 +12,6 @@
|
|
|
13
12
|
>
|
|
14
13
|
<div
|
|
15
14
|
class="bk-add-list-inner"
|
|
16
|
-
:data-test-expanded="isActive"
|
|
17
15
|
:class="{
|
|
18
16
|
'bk-is-active': isActive
|
|
19
17
|
}"
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
id="anchor"
|
|
4
|
-
v-slot="{ isActive }"
|
|
5
|
-
:label="$t('anchorToggle', 'Toggle anchor links')"
|
|
6
|
-
:title-on="$t('anchorShow', 'Show anchor links')"
|
|
7
|
-
:title-off="$t('anchorHide', 'Hide anchor links')"
|
|
8
|
-
icon="bk_mdi_anchor"
|
|
9
|
-
>
|
|
10
|
-
<AnchorOverlay v-if="isActive" />
|
|
11
|
-
</PluginViewOption>
|
|
2
|
+
<AnchorOverlay v-if="isVisible" />
|
|
12
3
|
</template>
|
|
13
4
|
|
|
14
5
|
<script setup>
|
|
@@ -17,7 +8,7 @@ import {
|
|
|
17
8
|
defineBlokkliFeature,
|
|
18
9
|
defineAsyncComponent
|
|
19
10
|
} from "#imports";
|
|
20
|
-
import {
|
|
11
|
+
import { defineViewOption } from "#blokkli/editor/composables";
|
|
21
12
|
const AnchorOverlay = defineAsyncComponent(() => import("./Overlay/index.vue"));
|
|
22
13
|
defineBlokkliFeature({
|
|
23
14
|
id: "anchors",
|
|
@@ -27,6 +18,15 @@ defineBlokkliFeature({
|
|
|
27
18
|
viewports: ["desktop"]
|
|
28
19
|
});
|
|
29
20
|
const { $t } = useBlokkli();
|
|
21
|
+
const { isVisible } = defineViewOption({
|
|
22
|
+
id: "anchor",
|
|
23
|
+
label: $t("viewOptionAnchors", "Anchor links"),
|
|
24
|
+
description: $t(
|
|
25
|
+
"viewOptionAnchorsDescription",
|
|
26
|
+
"Highlights blocks that have an anchor ID."
|
|
27
|
+
),
|
|
28
|
+
icon: "bk_mdi_anchor"
|
|
29
|
+
});
|
|
30
30
|
</script>
|
|
31
31
|
|
|
32
32
|
<script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -27,29 +27,12 @@
|
|
|
27
27
|
</PluginContextMenu>
|
|
28
28
|
</PluginToolbarButton>
|
|
29
29
|
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
:label="$t('artboardOverviewToggle', 'Toggle overview')"
|
|
34
|
-
:title-on="$t('artboardOverviewShow', 'Show overview')"
|
|
35
|
-
:title-off="$t('artboardOverviewHide', 'Hide overview')"
|
|
36
|
-
:tour-text="
|
|
37
|
-
$t(
|
|
38
|
-
'artboardOverviewTourText',
|
|
39
|
-
`Displays a top level overview of your content.`
|
|
40
|
-
)
|
|
41
|
-
"
|
|
42
|
-
icon="bk_mdi_visibility"
|
|
43
|
-
key-code="O"
|
|
44
|
-
weight="90"
|
|
30
|
+
<Teleport
|
|
31
|
+
v-if="isOverviewVisible && dom.isReady.value"
|
|
32
|
+
:to="ui.mainLayoutElement.value"
|
|
45
33
|
>
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
:to="ui.mainLayoutElement.value"
|
|
49
|
-
>
|
|
50
|
-
<Overview :artboard="artboard" />
|
|
51
|
-
</Teleport>
|
|
52
|
-
</PluginViewOption>
|
|
34
|
+
<Overview :artboard="artboard" />
|
|
35
|
+
</Teleport>
|
|
53
36
|
</template>
|
|
54
37
|
|
|
55
38
|
<script setup>
|
|
@@ -66,13 +49,13 @@ import {
|
|
|
66
49
|
isInsideRect,
|
|
67
50
|
subtractRectFromViewport
|
|
68
51
|
} from "#blokkli/editor/helpers/geometry";
|
|
69
|
-
import {
|
|
70
|
-
PluginToolbarButton,
|
|
71
|
-
PluginViewOption,
|
|
72
|
-
PluginContextMenu
|
|
73
|
-
} from "#blokkli/editor/plugins";
|
|
52
|
+
import { PluginToolbarButton, PluginContextMenu } from "#blokkli/editor/plugins";
|
|
74
53
|
import Scrollbar from "./Scrollbar/index.vue";
|
|
75
|
-
import {
|
|
54
|
+
import {
|
|
55
|
+
addElementClasses,
|
|
56
|
+
defineViewOption,
|
|
57
|
+
onBlokkliEvent
|
|
58
|
+
} from "#blokkli/editor/composables";
|
|
76
59
|
import { asValidNumber } from "#blokkli/editor/helpers/math";
|
|
77
60
|
import {
|
|
78
61
|
createArtboard,
|
|
@@ -89,6 +72,21 @@ const props = defineProps({
|
|
|
89
72
|
});
|
|
90
73
|
addElementClasses(document.documentElement, "bk-is-artboard");
|
|
91
74
|
const { context, storage, ui, animation, $t, dom, selection } = useBlokkli();
|
|
75
|
+
const { isVisible: isOverviewVisible } = defineViewOption({
|
|
76
|
+
id: "artboardOverview",
|
|
77
|
+
label: $t("viewOptionArtboardOverview", "Overview"),
|
|
78
|
+
description: $t(
|
|
79
|
+
"viewOptionArtboardOverviewDescription",
|
|
80
|
+
"Displays a top-level overview of all content blocks."
|
|
81
|
+
),
|
|
82
|
+
tourText: $t(
|
|
83
|
+
"artboardOverviewTourText",
|
|
84
|
+
"Displays a top level overview of your content."
|
|
85
|
+
),
|
|
86
|
+
icon: "bk_mdi_crop_9_16",
|
|
87
|
+
keyCode: "O",
|
|
88
|
+
weight: 90
|
|
89
|
+
});
|
|
92
90
|
const artboardElement = ui.artboardElement();
|
|
93
91
|
const zoomLevel = computed(() => Math.round(ui.artboardScale.value * 100) + "%");
|
|
94
92
|
const ZOOM_LEVELS = [10, 25, 50, 75, 100, 125, 150, 200, 300];
|
|
@@ -374,6 +372,10 @@ onBlokkliEvent("scrollIntoView", (e) => {
|
|
|
374
372
|
}
|
|
375
373
|
}
|
|
376
374
|
});
|
|
375
|
+
onBlokkliEvent("setArtboardOffset", (e) => {
|
|
376
|
+
artboard.setOffset(e.x ?? null, e.y ?? null, e.immediate ?? false);
|
|
377
|
+
animation.requestDraw();
|
|
378
|
+
});
|
|
377
379
|
onBlokkliEvent("scrollSelectionIntoView", (e) => {
|
|
378
380
|
const uuids = selection.uuids.value;
|
|
379
381
|
if (uuids.length === 0) {
|
|
@@ -2,13 +2,10 @@
|
|
|
2
2
|
<PanelSection :title="label" padded :help>
|
|
3
3
|
<div
|
|
4
4
|
class="bk-schedule-section"
|
|
5
|
-
:data-test="testId"
|
|
6
|
-
:data-test-disabled="disabled"
|
|
7
5
|
>
|
|
8
6
|
<FormToggle
|
|
9
7
|
v-model="isEnabled"
|
|
10
8
|
:disabled
|
|
11
|
-
:data-test="testId + '-toggle'"
|
|
12
9
|
:label="$t('scheduleEnable', 'Enable schedule')"
|
|
13
10
|
/>
|
|
14
11
|
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
<template #icon-addon>
|
|
14
14
|
<div
|
|
15
15
|
v-if="selectionHasDates"
|
|
16
|
-
data-test="block-scheduler-indicator"
|
|
17
16
|
class="_bk_absolute _bk_-top-5 _bk_-right-5 _bk_size-15 _bk_bg-yellow-normal _bk_rounded-full _bk_flex _bk_items-center _bk_justify-center _bk_text-yellow-dark"
|
|
18
17
|
>
|
|
19
18
|
<Icon name="bk_mdi_check" class="_bk_size-10" />
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
<tr
|
|
35
35
|
v-for="row in summary.skippedBundles"
|
|
36
36
|
:key="row.bundle"
|
|
37
|
-
data-test="transfer-summary-skipped-row"
|
|
38
37
|
>
|
|
39
38
|
<td>
|
|
40
39
|
<code>{{ row.bundle }}</code>
|
|
@@ -67,7 +66,6 @@
|
|
|
67
66
|
<tr
|
|
68
67
|
v-for="(row, i) in summary.droppedFields"
|
|
69
68
|
:key="`${row.bundle}-${row.fieldName}-${i}`"
|
|
70
|
-
data-test="transfer-summary-dropped-row"
|
|
71
69
|
>
|
|
72
70
|
<td>
|
|
73
71
|
<code>{{ row.bundle }}</code>
|
|
@@ -108,7 +106,6 @@
|
|
|
108
106
|
<tr
|
|
109
107
|
v-for="(row, i) in summary.referencesResolvedByLabel"
|
|
110
108
|
:key="`${row.entityType}-${row.targetId}-${i}`"
|
|
111
|
-
data-test="transfer-summary-references-label-row"
|
|
112
109
|
>
|
|
113
110
|
<td>
|
|
114
111
|
<code>{{ row.entityType }}</code>
|
|
@@ -147,7 +144,6 @@
|
|
|
147
144
|
<tr
|
|
148
145
|
v-for="(row, i) in summary.referencesUnresolved"
|
|
149
146
|
:key="`${row.uuid ?? row.label ?? ''}-${i}`"
|
|
150
|
-
data-test="transfer-summary-unresolved-row"
|
|
151
147
|
>
|
|
152
148
|
<td>
|
|
153
149
|
<code>{{ row.entityType }}</code>
|
|
@@ -5,11 +5,6 @@
|
|
|
5
5
|
canShrink ? '_bk_shrink _bk_min-w-0' : '_bk_shrink-0',
|
|
6
6
|
isLast ? '_bk_text-mono-50 _bk_pointer-events-none' : ''
|
|
7
7
|
]"
|
|
8
|
-
:data-test="`breadcrumb-${testId ?? crumb?.type}`"
|
|
9
|
-
:data-test-current="isLast"
|
|
10
|
-
:data-test-uuid="crumb?.type === 'block' ? crumb.uuid : void 0"
|
|
11
|
-
:data-test-field="crumb?.type === 'field' ? crumb.fieldName : void 0"
|
|
12
|
-
:data-test-count="crumb?.type === 'multiple' ? crumb.count : void 0"
|
|
13
8
|
>
|
|
14
9
|
<span v-if="!isFirst" class="_bk_text-mono-400 _bk_shrink-0">»</span>
|
|
15
10
|
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "2.0.0-alpha.61",
|
|
4
|
+
"date": "2026-06-03",
|
|
5
|
+
"body": {
|
|
6
|
+
"en": "<h3>Improvements</h3>\n<h4>The AI assistant sees your selection from the very first message</h4>\n<p>When you select a block and immediately ask the AI assistant something like\n"Convert this into an accordion", it now knows right away what you mean.\nPreviously it often had to ask back or look up the selection in a separate\nstep.</p>\n<h4>The AI assistant handles nested blocks correctly</h4>\n<p>When the AI assistant creates a structure made of several blocks, it now\nreliably understands which blocks sit inside which. Previously it sometimes\nmisread its own additions and partially deleted what it had just created.</p>\n<h4>Other improvements</h4>\n<ul>\n<li>The list of changes that the AI assistant proposes for confirmation can now\nbe navigated entirely with the keyboard.</li>\n</ul>\n",
|
|
7
|
+
"de": "<h3>Verbesserungen</h3>\n<h4>KI-Assistent erkennt markierte Blöcke ab der ersten Nachricht</h4>\n<p>Wenn Sie einen Block markieren und dem KI-Assistenten direkt eine Anweisung wie\n«Wandle das in ein Akkordeon um» geben, weiss er sofort, was gemeint ist. Bisher\nmusste er häufig nachfragen oder die Auswahl in einem separaten Schritt\nnachlesen.</p>\n<h4>KI-Assistent ordnet verschachtelte Blöcke korrekt ein</h4>\n<p>Erstellt der KI-Assistent eine Struktur mit mehreren Blöcken, erkennt er nun\nzuverlässig, welche Blöcke ineinander liegen. Vorher kam es vor, dass er die\ngerade erstellte Struktur falsch interpretierte und teilweise wieder löschte.</p>\n<h4>Weitere Verbesserungen</h4>\n<ul>\n<li>Die Liste der Änderungen, die der KI-Assistent zur Bestätigung vorschlägt,\nlässt sich jetzt vollständig mit der Tastatur durchgehen.</li>\n</ul>\n"
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"version": "2.0.0-alpha.60",
|
|
12
|
+
"date": "2026-06-02",
|
|
13
|
+
"body": {
|
|
14
|
+
"en": "<h3>New Features</h3>\n<h4>Notifications</h4>\n<p>A new notifications button has been added to the toolbar. A small badge shows\nhow many unread notifications you have. Opening the dropdown reveals a list of\nrelevant events — for example, when you have been mentioned in a comment, when a\ncomment has been resolved or when an edit has been approved.</p>\n<p>Clicking a notification opens the related page directly in edit mode in a new\ntab — and for comment mentions, jumps straight to the relevant comment.</p>\n<p>All notifications can be marked as read with a single click.</p>\n<h4>The AI assistant understands page content better</h4>\n<p>The AI assistant can now read the complete page text — exactly what you see on\nthe page. This makes answers to questions like "What is this page about?",\n"Summarize this page" or "Write an intro that matches the content" noticeably\nmore accurate.</p>\n<h3>Improvements</h3>\n<h4>View options in a dropdown</h4>\n<p>The view options (e.g. grid, anchor links, structure view) are now grouped into\na dropdown menu in the top toolbar.</p>\n<h4>Help in the app menu</h4>\n<p>The help dialog with the list of keyboard shortcuts has moved out of the right\nsidebar and into the main menu.</p>\n<h4>Other improvements</h4>\n<ul>\n<li>The toolbar with actions and options above a selected block can now be\nscrolled sideways when not all buttons fit.</li>\n<li>The preview thumbnails when the AI assistant picks media are larger.</li>\n</ul>\n<h3>Fixes</h3>\n<ul>\n<li>After applying or rejecting changes made by the AI assistant, page content\noccasionally appeared out of date — the display now updates reliably.</li>\n<li>Starting a new chat while confirming an AI action now cleanly cancels the\npending action and starts the new chat fresh.</li>\n</ul>\n",
|
|
15
|
+
"de": "<h3>Neue Funktionen</h3>\n<h4>Benachrichtigungen</h4>\n<p>In der Werkzeugleiste gibt es eine neue Schaltfläche für Benachrichtigungen.\nEine kleine Markierung zeigt an, wie viele ungelesene Benachrichtigungen\nvorhanden sind. Im aufklappbaren Bereich sehen Sie eine Liste mit allen\nrelevanten Ereignissen – zum Beispiel, wenn Sie in einem Kommentar erwähnt\nwurden, wenn ein Kommentar erledigt wurde oder wenn eine Bearbeitung freigegeben\nwurde.</p>\n<p>Ein Klick auf eine Benachrichtigung öffnet die zugehörige Seite direkt im\nBearbeitungsmodus in einem neuen Tab – und springt bei Kommentar-Erwähnungen\ndirekt zum richtigen Kommentar.</p>\n<p>Alle Benachrichtigungen lassen sich mit einem Klick als gelesen markieren.</p>\n<h4>KI-Assistent versteht den Seiteninhalt besser</h4>\n<p>Der KI-Assistent kann jetzt den kompletten Seitentext lesen – also genau das,\nwas Sie auch auf der Seite sehen. Dadurch werden Antworten auf Fragen wie «Worum\ngeht es auf dieser Seite?», «Fasse die Seite zusammen» oder «Schreibe eine\nEinleitung, die zum Inhalt passt» deutlich präziser.</p>\n<h3>Verbesserungen</h3>\n<h4>Darstellungsoptionen im Aufklappmenü</h4>\n<p>Die Darstellungsoptionen (z. B. Raster, Ankerlinks, Strukturansicht) sind neu in\neinem aufklappbaren Menü in der oberen Toolbar zusammengefasst.</p>\n<h4>Hilfe im App-Menü</h4>\n<p>Die Hilfe mit der Liste der Tastenkürzel ist nicht mehr in der rechten Sidebar,\nsondern direkt im Hauptmenü zu finden.</p>\n<h4>Weitere Verbesserungen</h4>\n<ul>\n<li>Die Werkzeugleiste mit den Aktionen und Optionen über einem ausgewählten Block\nlässt sich nun seitlich scrollen, wenn nicht alle Schaltflächen Platz haben.</li>\n<li>Die Vorschaubilder bei der Medienauswahl durch den KI-Assistenten sind grösser</li>\n</ul>\n<h3>Fehlerbehebungen</h3>\n<ul>\n<li>Nach dem Übernehmen oder Ablehnen von Änderungen durch den KI-Assistenten\nwurden Inhalte auf der Seite in manchen Fällen veraltet dargestellt – die\nAnzeige wird jetzt zuverlässig aktualisiert.</li>\n<li>Wird während der Bestätigung einer KI-Aktion ein neuer Chat gestartet, ist die\nlaufende Aktion korrekt abgebrochen und der neue Chat startet sauber.</li>\n</ul>\n"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
2
18
|
{
|
|
3
19
|
"version": "2.0.0-alpha.59",
|
|
4
20
|
"date": "2026-05-27",
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
<button
|
|
3
3
|
class="bk-command _bk_flex _bk_pl-[12px] _bk_pr-10 _bk_w-full _bk_text-left _bk_gap-10 _bk_items-center _bk_border _bk_border-transparent"
|
|
4
4
|
:class="isFocused ? '_bk_bg-mono-800 _bk_text-white' : '_bk_text-mono-300'"
|
|
5
|
-
data-test="command-palette-item"
|
|
6
|
-
:data-test-command-id="item.id"
|
|
7
|
-
:data-test-focused="isFocused"
|
|
8
5
|
@mouseenter="$emit('focus', index)"
|
|
9
6
|
@click.prevent="$emit('select', item.id)"
|
|
10
7
|
>
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
v-if="canEdit"
|
|
5
5
|
icon="bk_mdi_edit"
|
|
6
6
|
:label="$t('edit', 'Edit')"
|
|
7
|
-
data-test="comment-action-edit"
|
|
8
7
|
@click="$emit('edit')"
|
|
9
8
|
/>
|
|
10
9
|
<InlineActionsButton
|
|
@@ -12,7 +11,6 @@
|
|
|
12
11
|
icon="bk_mdi_delete"
|
|
13
12
|
:label="$t('delete', 'Delete')"
|
|
14
13
|
scheme="red"
|
|
15
|
-
data-test="comment-action-delete"
|
|
16
14
|
@click="onDeleteClick"
|
|
17
15
|
/>
|
|
18
16
|
<InlineActionsButton
|
|
@@ -20,7 +18,6 @@
|
|
|
20
18
|
icon="bk_mdi_check_circle"
|
|
21
19
|
scheme="lime"
|
|
22
20
|
:label="$t('commentsMarkAsResolved', 'Mark as resolved')"
|
|
23
|
-
data-test="comment-action-resolve"
|
|
24
21
|
@click="$emit('resolve')"
|
|
25
22
|
/>
|
|
26
23
|
<InlineActionsButton
|
|
@@ -28,7 +25,6 @@
|
|
|
28
25
|
icon="bk_mdi_unpublished"
|
|
29
26
|
scheme="lime"
|
|
30
27
|
:label="$t('commentsMarkAsUnresolved', 'Mark as unresolved')"
|
|
31
|
-
data-test="comment-action-unresolve"
|
|
32
28
|
@click="$emit('unresolve')"
|
|
33
29
|
/>
|
|
34
30
|
|
|
@@ -5,6 +5,12 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
5
5
|
comment: CommentItem;
|
|
6
6
|
isReply: boolean;
|
|
7
7
|
hideBlocksPill?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether this specific comment is the deep-link target. Renders a
|
|
10
|
+
* persistent highlight ring; cleared by emitting `dismissHighlight`
|
|
11
|
+
* on the first `pointerleave` after the user has engaged with it.
|
|
12
|
+
*/
|
|
13
|
+
highlighted?: boolean;
|
|
8
14
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
15
|
edit: (body: string) => void;
|
|
10
16
|
toggleTask: (taskIndex: number) => void;
|
|
@@ -12,10 +18,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
12
18
|
resolve: () => void;
|
|
13
19
|
unresolve: () => void;
|
|
14
20
|
selectBlocks: () => void;
|
|
21
|
+
dismissHighlight: () => void;
|
|
15
22
|
}, string, import("vue").PublicProps, Readonly<{
|
|
16
23
|
comment: CommentItem;
|
|
17
24
|
isReply: boolean;
|
|
18
25
|
hideBlocksPill?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether this specific comment is the deep-link target. Renders a
|
|
28
|
+
* persistent highlight ring; cleared by emitting `dismissHighlight`
|
|
29
|
+
* on the first `pointerleave` after the user has engaged with it.
|
|
30
|
+
*/
|
|
31
|
+
highlighted?: boolean;
|
|
19
32
|
}> & Readonly<{
|
|
20
33
|
onDelete?: (() => any) | undefined;
|
|
21
34
|
onEdit?: ((body: string) => any) | undefined;
|
|
@@ -23,4 +36,5 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
23
36
|
onUnresolve?: (() => any) | undefined;
|
|
24
37
|
onToggleTask?: ((taskIndex: number) => any) | undefined;
|
|
25
38
|
onSelectBlocks?: (() => any) | undefined;
|
|
39
|
+
onDismissHighlight?: (() => any) | undefined;
|
|
26
40
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -16,12 +16,13 @@
|
|
|
16
16
|
</div>
|
|
17
17
|
<div
|
|
18
18
|
v-else
|
|
19
|
+
ref="rootEl"
|
|
19
20
|
class="_bk_group/comment _bk_relative _bk_flex _bk_gap-(--bk-comment-avatar-gap) _bk_px-(--bk-comment-pad-x) _bk_font-sans"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
21
|
+
:class="[
|
|
22
|
+
isReply ? '_bk_py-(--bk-comment-reply-pad-y)' : '_bk_py-(--bk-comment-pad-y)',
|
|
23
|
+
{ '_bk_outline-2 _bk_outline-yellow-normal _bk_rounded': highlighted }
|
|
24
|
+
]"
|
|
25
|
+
@pointerleave="highlighted ? $emit('dismissHighlight') : null"
|
|
25
26
|
>
|
|
26
27
|
<Avatar
|
|
27
28
|
:deleted="!comment.user"
|
|
@@ -82,7 +83,14 @@
|
|
|
82
83
|
</template>
|
|
83
84
|
|
|
84
85
|
<script setup>
|
|
85
|
-
import {
|
|
86
|
+
import {
|
|
87
|
+
computed,
|
|
88
|
+
nextTick,
|
|
89
|
+
ref,
|
|
90
|
+
useBlokkli,
|
|
91
|
+
useTemplateRef,
|
|
92
|
+
watch
|
|
93
|
+
} from "#imports";
|
|
86
94
|
import { Avatar, Pill } from "#blokkli/editor/components";
|
|
87
95
|
import CommentMeta from "./Meta/index.vue";
|
|
88
96
|
import CommentActions from "./Actions/index.vue";
|
|
@@ -92,10 +100,23 @@ const { $t, adapter, user } = useBlokkli();
|
|
|
92
100
|
const props = defineProps({
|
|
93
101
|
comment: { type: Object, required: true },
|
|
94
102
|
isReply: { type: Boolean, required: true },
|
|
95
|
-
hideBlocksPill: { type: Boolean, required: false }
|
|
103
|
+
hideBlocksPill: { type: Boolean, required: false },
|
|
104
|
+
highlighted: { type: Boolean, required: false }
|
|
96
105
|
});
|
|
97
|
-
const emit = defineEmits(["edit", "toggleTask", "delete", "resolve", "unresolve", "selectBlocks"]);
|
|
106
|
+
const emit = defineEmits(["edit", "toggleTask", "delete", "resolve", "unresolve", "selectBlocks", "dismissHighlight"]);
|
|
98
107
|
const isEditing = ref(false);
|
|
108
|
+
const rootEl = useTemplateRef("rootEl");
|
|
109
|
+
watch(
|
|
110
|
+
() => props.highlighted,
|
|
111
|
+
async (isHighlighted) => {
|
|
112
|
+
if (!isHighlighted) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
await nextTick();
|
|
116
|
+
rootEl.value?.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
117
|
+
},
|
|
118
|
+
{ immediate: true }
|
|
119
|
+
);
|
|
99
120
|
const blocksLabel = computed(() => {
|
|
100
121
|
const count = props.comment.blockUuids?.length || 0;
|
|
101
122
|
const template = count === 1 ? $t("commentBlocksCountOne", "1 block") : $t("blocksCount", "@count blocks");
|
|
@@ -5,6 +5,12 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
5
5
|
comment: CommentItem;
|
|
6
6
|
isReply: boolean;
|
|
7
7
|
hideBlocksPill?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether this specific comment is the deep-link target. Renders a
|
|
10
|
+
* persistent highlight ring; cleared by emitting `dismissHighlight`
|
|
11
|
+
* on the first `pointerleave` after the user has engaged with it.
|
|
12
|
+
*/
|
|
13
|
+
highlighted?: boolean;
|
|
8
14
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
15
|
edit: (body: string) => void;
|
|
10
16
|
toggleTask: (taskIndex: number) => void;
|
|
@@ -12,10 +18,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
12
18
|
resolve: () => void;
|
|
13
19
|
unresolve: () => void;
|
|
14
20
|
selectBlocks: () => void;
|
|
21
|
+
dismissHighlight: () => void;
|
|
15
22
|
}, string, import("vue").PublicProps, Readonly<{
|
|
16
23
|
comment: CommentItem;
|
|
17
24
|
isReply: boolean;
|
|
18
25
|
hideBlocksPill?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether this specific comment is the deep-link target. Renders a
|
|
28
|
+
* persistent highlight ring; cleared by emitting `dismissHighlight`
|
|
29
|
+
* on the first `pointerleave` after the user has engaged with it.
|
|
30
|
+
*/
|
|
31
|
+
highlighted?: boolean;
|
|
19
32
|
}> & Readonly<{
|
|
20
33
|
onDelete?: (() => any) | undefined;
|
|
21
34
|
onEdit?: ((body: string) => any) | undefined;
|
|
@@ -23,4 +36,5 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
23
36
|
onUnresolve?: (() => any) | undefined;
|
|
24
37
|
onToggleTask?: ((taskIndex: number) => any) | undefined;
|
|
25
38
|
onSelectBlocks?: (() => any) | undefined;
|
|
39
|
+
onDismissHighlight?: (() => any) | undefined;
|
|
26
40
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -22,8 +22,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
22
22
|
onSubmit?: ((value: string) => any) | undefined;
|
|
23
23
|
}>, {
|
|
24
24
|
canSubmit: boolean;
|
|
25
|
-
initialValue: string;
|
|
26
25
|
autofocus: boolean;
|
|
26
|
+
initialValue: string;
|
|
27
27
|
cancellable: boolean;
|
|
28
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
29
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<form
|
|
3
|
-
data-test="comment-input"
|
|
4
3
|
:class="{
|
|
5
4
|
'_bk_border _bk_border-mono-300 _bk_rounded _bk_bg-white _bk_focus-within:border-mono-400': boxed
|
|
6
5
|
}"
|
|
@@ -22,7 +21,6 @@
|
|
|
22
21
|
v-if="cancellable"
|
|
23
22
|
type="button"
|
|
24
23
|
class="bk-button bk-is-small bk-is-light"
|
|
25
|
-
data-test="comment-input-cancel"
|
|
26
24
|
@click="$emit('cancel')"
|
|
27
25
|
>
|
|
28
26
|
{{ $t("cancel", "Cancel") }}
|
|
@@ -30,7 +28,6 @@
|
|
|
30
28
|
<button
|
|
31
29
|
type="submit"
|
|
32
30
|
class="bk-button bk-scheme-yellow bk-is-small _bk_ml-auto"
|
|
33
|
-
data-test="comment-input-submit"
|
|
34
31
|
:disabled="!effectiveCanSubmit"
|
|
35
32
|
>
|
|
36
33
|
{{ submitLabel }}
|
|
@@ -22,8 +22,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
22
22
|
onSubmit?: ((value: string) => any) | undefined;
|
|
23
23
|
}>, {
|
|
24
24
|
canSubmit: boolean;
|
|
25
|
-
initialValue: string;
|
|
26
25
|
autofocus: boolean;
|
|
26
|
+
initialValue: string;
|
|
27
27
|
cancellable: boolean;
|
|
28
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
29
|
declare const _default: typeof __VLS_export;
|
|
@@ -4,6 +4,13 @@ export default _default;
|
|
|
4
4
|
declare const __VLS_export: import("vue").DefineComponent<{
|
|
5
5
|
comments: CommentItem[];
|
|
6
6
|
recentlyResolved: string[];
|
|
7
|
+
/**
|
|
8
|
+
* UUID of the deep-link target comment (root or reply). Passed through
|
|
9
|
+
* to each `<Comment>` via the thread; the matching comment self-scrolls
|
|
10
|
+
* and shows a persistent highlight ring. Cleared by the parent on the
|
|
11
|
+
* `dismissHighlight` event.
|
|
12
|
+
*/
|
|
13
|
+
highlightUuid?: string | null;
|
|
7
14
|
} & {
|
|
8
15
|
showResolved?: boolean;
|
|
9
16
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -23,10 +30,18 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
23
30
|
delete: (value: string) => void;
|
|
24
31
|
resolve: (value: string) => void;
|
|
25
32
|
unresolve: (value: string) => void;
|
|
33
|
+
dismissHighlight: () => void;
|
|
26
34
|
"update:showResolved": (value: boolean) => void;
|
|
27
35
|
}, string, import("vue").PublicProps, Readonly<{
|
|
28
36
|
comments: CommentItem[];
|
|
29
37
|
recentlyResolved: string[];
|
|
38
|
+
/**
|
|
39
|
+
* UUID of the deep-link target comment (root or reply). Passed through
|
|
40
|
+
* to each `<Comment>` via the thread; the matching comment self-scrolls
|
|
41
|
+
* and shows a persistent highlight ring. Cleared by the parent on the
|
|
42
|
+
* `dismissHighlight` event.
|
|
43
|
+
*/
|
|
44
|
+
highlightUuid?: string | null;
|
|
30
45
|
} & {
|
|
31
46
|
showResolved?: boolean;
|
|
32
47
|
}> & Readonly<{
|
|
@@ -42,6 +57,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
42
57
|
uuid: string;
|
|
43
58
|
taskIndex: number;
|
|
44
59
|
}) => any) | undefined;
|
|
60
|
+
onDismissHighlight?: (() => any) | undefined;
|
|
45
61
|
onReply?: ((value: {
|
|
46
62
|
parentUuid: string;
|
|
47
63
|
body: string;
|