@blokkli/editor 2.0.0-alpha.2 → 2.0.0-alpha.21
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.d.mts +1 -1
- package/dist/module.json +5 -5
- package/dist/module.mjs +5549 -1269
- package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
- package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +9 -0
- package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +5 -0
- package/dist/modules/drupal/graphql/base/fragment.paragraphsFieldItem.graphql +9 -0
- package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +1 -10
- package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
- package/dist/modules/drupal/graphql/features/comments.graphql +11 -8
- package/dist/modules/drupal/graphql/features/publishNew.graphql +1 -4
- package/dist/modules/drupal/graphql/features/scheduler.graphql +31 -0
- package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
- package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
- package/dist/modules/drupal/graphql/mutations/set_paragraph_schedule.graphql +15 -0
- package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
- package/dist/modules/drupal/index.d.mts +1 -1
- package/dist/modules/drupal/index.mjs +79 -9
- package/dist/modules/drupal/runtime/adapter/index.d.ts +3 -0
- package/dist/modules/drupal/{adapter/index.mjs → runtime/adapter/index.js} +166 -20
- package/dist/runtime/adapter/index.d.ts +111 -1
- package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
- package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
- package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
- package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +6 -0
- package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
- package/dist/runtime/blokkliPlugins/ContextMenu/index.vue.d.ts +2 -19
- package/dist/runtime/blokkliPlugins/DebugOverlay/index.vue.d.ts +2 -7
- package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
- package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue.d.ts +2 -19
- package/dist/runtime/blokkliPlugins/ItemAction/index.vue +23 -15
- package/dist/runtime/blokkliPlugins/ItemAction/index.vue.d.ts +21 -44
- package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
- package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
- package/dist/runtime/blokkliPlugins/MenuButton/index.vue.d.ts +3 -3
- package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
- package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue.d.ts +2 -51
- package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
- package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +15 -9
- package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue.d.ts +1 -1
- package/dist/runtime/blokkliPlugins/TourItem/index.vue +10 -5
- package/dist/runtime/blokkliPlugins/TourItem/index.vue.d.ts +2 -4
- package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
- package/dist/runtime/blokkliPlugins/ViewOption/index.vue.d.ts +4 -3
- package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
- package/dist/runtime/blokkliPlugins/index.js +15 -13
- package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
- package/dist/runtime/components/Blocks/FromLibrary/index.vue +4 -2
- package/dist/runtime/components/BlokkliEditable.vue +34 -16
- package/dist/runtime/components/BlokkliEditable.vue.d.ts +2 -1
- package/dist/runtime/components/BlokkliField.vue +31 -27
- package/dist/runtime/components/BlokkliField.vue.d.ts +61 -17
- package/dist/runtime/components/BlokkliItem.vue +2 -2
- package/dist/runtime/components/BlokkliItem.vue.d.ts +4 -2
- package/dist/runtime/components/BlokkliProvider.vue +60 -45
- package/dist/runtime/components/BlokkliProvider.vue.d.ts +45 -7
- package/dist/runtime/components/Edit/Actions/index.vue +69 -78
- package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
- package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
- package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
- package/dist/runtime/components/Edit/AnimationCanvas/index.vue +436 -25
- package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
- package/dist/runtime/components/Edit/ArtboardTooltip/index.vue +83 -0
- package/dist/runtime/components/Edit/ArtboardTooltip/index.vue.d.ts +32 -0
- package/dist/runtime/components/Edit/Banner/index.vue +51 -0
- package/dist/runtime/components/Edit/Banner/index.vue.d.ts +18 -0
- package/dist/runtime/components/Edit/BlockProxy/index.vue +3 -1
- package/dist/runtime/components/Edit/BlokkliErrorBoundary.vue.d.ts +2 -13
- package/dist/runtime/components/Edit/Dialog/index.vue +14 -5
- package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +4 -2
- package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
- package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
- package/dist/runtime/components/Edit/DraggableList.vue +20 -50
- package/dist/runtime/components/Edit/DraggableList.vue.d.ts +7 -7
- package/dist/runtime/components/Edit/EditIndicator.vue +118 -44
- package/dist/runtime/components/Edit/EditIndicator.vue.d.ts +3 -0
- package/dist/runtime/components/Edit/EditProvider.vue +192 -80
- package/dist/runtime/components/Edit/EditProvider.vue.d.ts +3 -0
- package/dist/runtime/components/Edit/Features/AddList/index.vue +24 -36
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +170 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
- package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
- package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +105 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
- package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
- package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
- package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +53 -0
- package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
- package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
- package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +299 -0
- package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -217
- package/dist/runtime/components/Edit/Features/Assistant/index.vue +5 -3
- package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +33 -57
- package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue +154 -0
- package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue.d.ts +27 -0
- package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue +222 -0
- package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue +96 -0
- package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Clipboard/index.vue +177 -46
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue +51 -0
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue.d.ts +17 -0
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +48 -117
- package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +5 -2
- package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue +35 -20
- package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue.d.ts +5 -3
- package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue +29 -0
- package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue.d.ts +13 -0
- package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue +22 -16
- package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue.d.ts +1 -0
- package/dist/runtime/components/Edit/Features/Comments/Overlay/index.vue +15 -6
- package/dist/runtime/components/Edit/Features/Comments/index.vue +21 -9
- package/dist/runtime/components/Edit/Features/Conversions/index.vue +16 -21
- package/dist/runtime/components/Edit/Features/Debug/Rects/index.vue +26 -35
- package/dist/runtime/components/Edit/Features/Debug/Renderer.vue +240 -0
- package/dist/runtime/components/Edit/Features/Debug/Renderer.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
- package/dist/runtime/components/Edit/Features/Debug/index.vue +7 -162
- package/dist/runtime/components/Edit/Features/Delete/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
- package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +18 -10
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +8 -2
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +111 -121
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue.d.ts +3 -132
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +2 -1
- package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +87 -61
- package/dist/runtime/components/Edit/Features/Duplicate/index.vue +6 -8
- package/dist/runtime/components/Edit/Features/Edit/index.vue +16 -22
- package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/EditForm/index.vue +10 -9
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue +69 -4
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue.d.ts +2 -2
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/Plaintext/index.vue +13 -9
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue +45 -87
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue.d.ts +2 -2
- package/dist/runtime/components/Edit/Features/EditableField/index.vue +45 -43
- package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
- package/dist/runtime/components/Edit/Features/EntityTitle/index.vue +33 -1
- package/dist/runtime/components/Edit/Features/Fragments/Dialog/index.vue +11 -9
- package/dist/runtime/components/Edit/Features/Fragments/index.vue +8 -6
- package/dist/runtime/components/Edit/Features/History/index.vue +39 -13
- package/dist/runtime/components/Edit/Features/Hover/Overlay/fragment.glsl +139 -0
- package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue +261 -0
- package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Hover/Overlay/vertex.glsl +117 -0
- package/dist/runtime/components/Edit/Features/Hover/index.vue +25 -0
- package/dist/runtime/components/Edit/Features/Hover/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
- package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +5 -7
- package/dist/runtime/components/Edit/Features/Library/LibraryDialog/index.vue +19 -27
- package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +32 -28
- package/dist/runtime/components/Edit/Features/Library/index.vue +40 -32
- package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +11 -11
- package/dist/runtime/components/Edit/Features/MediaLibrary/index.vue +15 -12
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +44 -32
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
- package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +10 -18
- package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Options/Form/Group.vue.d.ts +2 -11
- package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +14 -3
- package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
- package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
- package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
- package/dist/runtime/components/Edit/Features/Options/Form/index.vue +88 -42
- package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
- package/dist/runtime/components/Edit/Features/Options/index.vue +35 -11
- package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue +35 -0
- package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Ownership/index.vue +7 -25
- package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/ProxyView/index.vue +5 -1
- package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue +41 -14
- package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue +47 -0
- package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue.d.ts +19 -0
- package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue +83 -0
- package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue.d.ts +9 -0
- package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +439 -123
- package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue.d.ts +3 -14
- package/dist/runtime/components/Edit/Features/Publish/index.vue +57 -24
- package/dist/runtime/components/Edit/Features/ResponsivePreview/Frame/index.vue.d.ts +2 -13
- package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Page/index.vue +15 -15
- package/dist/runtime/components/Edit/Features/Search/index.vue +7 -3
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +85 -0
- package/dist/runtime/components/Edit/Features/{CommandPalette/Palette/Group → Selection/AddButtons/Overlay}/index.vue.d.ts +8 -13
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/fragment.glsl +106 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue +440 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue.d.ts +32 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/vertex.glsl +102 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +387 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +15 -10
- package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +105 -25
- package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue.d.ts +5 -3
- package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +12 -3
- package/dist/runtime/components/Edit/Features/Selection/OverlayFallback/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Selection/index.vue +135 -25
- package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
- package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
- package/dist/runtime/components/Edit/Features/Structure/List/Field/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Structure/List/Item/index.vue +13 -6
- package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
- package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
- package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +3 -0
- package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
- package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
- package/dist/runtime/components/Edit/Features/Transform/index.vue +156 -70
- package/dist/runtime/components/Edit/Features/Translations/Banner/index.vue +17 -11
- package/dist/runtime/components/Edit/Features/Translations/index.vue +20 -23
- package/dist/runtime/components/Edit/Features/Validations/SidebarItem/index.vue +5 -5
- package/dist/runtime/components/Edit/Features/index.vue +17 -7
- package/dist/runtime/components/Edit/Form/Datepicker/index.vue +198 -0
- package/dist/runtime/components/Edit/Form/Datepicker/index.vue.d.ts +15 -0
- package/dist/runtime/components/Edit/Form/Group/index.vue.d.ts +2 -4
- package/dist/runtime/components/Edit/Form/Item/index.vue.d.ts +2 -4
- package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
- package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
- package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
- package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
- package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
- package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
- package/dist/runtime/components/Edit/Form/Text/index.vue +34 -0
- package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +20 -0
- package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
- package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
- package/dist/runtime/components/Edit/Form/Toggle/index.vue +4 -3
- package/dist/runtime/components/Edit/Form/Toggle/index.vue.d.ts +12 -2
- package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
- package/dist/runtime/components/Edit/FormOverlay/index.vue.d.ts +3 -2
- package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
- package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/InfoBox/index.vue +6 -2
- package/dist/runtime/components/Edit/InfoBox/index.vue.d.ts +12 -2
- package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
- package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
- package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
- package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
- package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
- package/dist/runtime/components/Edit/Konami/Game/index.vue +752 -0
- package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
- package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
- package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
- package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
- package/dist/runtime/components/Edit/Konami/index.vue +44 -0
- package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Loading/index.vue +6 -2
- package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Messages/index.vue +8 -3
- package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
- package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
- package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
- package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
- package/dist/runtime/components/Edit/RelativeTime/index.vue.d.ts +2 -2
- package/dist/runtime/components/Edit/Resizable/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/ScaleToFit/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/ScheduleDate/index.vue +131 -0
- package/dist/runtime/components/Edit/ScheduleDate/index.vue.d.ts +23 -0
- package/dist/runtime/components/Edit/ScrollBoundary/index.vue.d.ts +2 -7
- package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +11 -3
- package/dist/runtime/components/Edit/Sortli/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
- package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
- package/dist/runtime/components/Edit/Transition/Height.vue +95 -0
- package/dist/runtime/components/Edit/Transition/Height.vue.d.ts +36 -0
- package/dist/runtime/components/Edit/Transition/index.vue +41 -0
- package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
- package/dist/runtime/components/Edit/ViewportBlockingRect/index.vue.d.ts +2 -7
- package/dist/runtime/components/Edit/index.d.ts +28 -15
- package/dist/runtime/components/Edit/index.js +54 -28
- package/dist/runtime/composables/defineBlokkli.js +16 -3
- package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
- package/dist/runtime/composables/defineBlokkliFragment.js +8 -1
- package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
- package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
- package/dist/runtime/composables/useBlokkliHelper.d.ts +19 -0
- package/dist/runtime/composables/useBlokkliHelper.js +95 -0
- package/dist/runtime/constants/index.d.ts +3 -0
- package/dist/runtime/constants/index.js +3 -0
- package/dist/runtime/css/output.css +1 -1
- package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
- package/dist/runtime/helpers/addElementClasses.js +24 -0
- package/dist/runtime/helpers/animationProvider.d.ts +38 -2
- package/dist/runtime/helpers/animationProvider.js +188 -47
- package/dist/runtime/helpers/bundles/index.d.ts +1 -0
- package/dist/runtime/helpers/bundles/index.js +4 -0
- package/dist/runtime/helpers/composables/defineRenderer.d.ts +8 -0
- package/dist/runtime/helpers/composables/defineRenderer.js +8 -0
- package/dist/runtime/helpers/composables/useBlockRegistration.d.ts +5 -0
- package/dist/runtime/helpers/composables/useBlockRegistration.js +23 -0
- package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.d.ts +1 -1
- package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.js +3 -2
- package/dist/runtime/helpers/composables/useStateBasedCache.d.ts +4 -0
- package/dist/runtime/helpers/composables/useStateBasedCache.js +13 -0
- package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +23 -0
- package/dist/runtime/helpers/composables/useStickyToolbar.js +233 -0
- package/dist/runtime/helpers/definitionProvider.d.ts +3 -2
- package/dist/runtime/helpers/definitionProvider.js +17 -0
- package/dist/runtime/helpers/dom/index.d.ts +60 -0
- package/dist/runtime/helpers/dom/index.js +48 -0
- package/dist/runtime/helpers/domProvider.d.ts +58 -17
- package/dist/runtime/helpers/domProvider.js +320 -245
- package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
- package/dist/runtime/helpers/dropTargets/index.js +49 -0
- package/dist/runtime/helpers/eventBus.d.ts +1 -1
- package/dist/runtime/helpers/eventBus.js +2 -2
- package/dist/runtime/helpers/index.d.ts +10 -14
- package/dist/runtime/helpers/index.js +58 -121
- package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
- package/dist/runtime/helpers/indicatorsProvider.js +23 -0
- package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
- package/dist/runtime/helpers/keyboardProvider.js +17 -1
- package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
- package/dist/runtime/helpers/pluginProvider.js +33 -0
- package/dist/runtime/helpers/providers/blocks.d.ts +10 -0
- package/dist/runtime/helpers/providers/blocks.js +91 -0
- package/dist/runtime/helpers/providers/directive.d.ts +25 -0
- package/dist/runtime/helpers/providers/directive.js +208 -0
- package/dist/runtime/helpers/providers/element.d.ts +6 -0
- package/dist/runtime/helpers/providers/element.js +35 -0
- package/dist/runtime/helpers/providers/fields.d.ts +8 -0
- package/dist/runtime/helpers/providers/fields.js +47 -0
- package/dist/runtime/helpers/renderCycle.d.ts +1 -0
- package/dist/runtime/helpers/renderCycle.js +10 -0
- package/dist/runtime/helpers/runtimeHelpers/index.js +15 -12
- package/dist/runtime/helpers/selectionProvider.d.ts +27 -11
- package/dist/runtime/helpers/selectionProvider.js +79 -74
- package/dist/runtime/helpers/stateProvider.d.ts +12 -2
- package/dist/runtime/helpers/stateProvider.js +164 -20
- package/dist/runtime/helpers/storageProvider.d.ts +5 -3
- package/dist/runtime/helpers/storageProvider.js +61 -4
- package/dist/runtime/helpers/symbols.d.ts +2 -0
- package/dist/runtime/helpers/symbols.js +2 -0
- package/dist/runtime/helpers/textProvider.js +6 -0
- package/dist/runtime/helpers/themeProvider.d.ts +4 -1
- package/dist/runtime/helpers/themeProvider.js +28 -15
- package/dist/runtime/helpers/transform.js +1 -3
- package/dist/runtime/helpers/typesProvider.js +10 -26
- package/dist/runtime/helpers/uiProvider.d.ts +18 -3
- package/dist/runtime/helpers/uiProvider.js +114 -61
- package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
- package/dist/runtime/helpers/useTransitionedValue.js +57 -0
- package/dist/runtime/helpers/webgl/index.d.ts +11 -2
- package/dist/runtime/helpers/webgl/index.js +162 -7
- package/dist/runtime/icons/anchor.svg +1 -0
- package/dist/runtime/icons/arrow-left.svg +1 -1
- package/dist/runtime/icons/arrow-right.svg +1 -1
- package/dist/runtime/icons/arrow-top-right.svg +1 -0
- package/dist/runtime/icons/calendar-clock.svg +1 -0
- package/dist/runtime/icons/calendar.svg +1 -0
- package/dist/runtime/icons/chart.svg +1 -0
- package/dist/runtime/icons/clock.svg +1 -0
- package/dist/runtime/icons/comment_add.svg +1 -5
- package/dist/runtime/icons/copy.svg +1 -0
- package/dist/runtime/icons/cursor-move.svg +1 -1
- package/dist/runtime/icons/delete.svg +1 -8
- package/dist/runtime/icons/diff.svg +1 -1
- package/dist/runtime/icons/duplicate.svg +1 -12
- package/dist/runtime/icons/edit.svg +1 -8
- package/dist/runtime/icons/eye-off.svg +1 -0
- package/dist/runtime/icons/eye.svg +1 -1
- package/dist/runtime/icons/info.svg +1 -1
- package/dist/runtime/icons/link.svg +1 -0
- package/dist/runtime/icons/reusable.svg +1 -5
- package/dist/runtime/icons/speedometer.svg +1 -0
- package/dist/runtime/plugins/blokkliDirectives.js +109 -0
- package/dist/runtime/types/blokkOptions.d.ts +8 -0
- package/dist/runtime/types/index.d.ts +278 -42
- package/dist/runtime/types/theme.d.ts +2 -1
- package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
- package/package.json +55 -38
- package/dist/modules/drupal/adapter/index.d.mts +0 -6
- package/dist/runtime/components/Edit/DragInteractions/index.vue +0 -364
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +0 -51
- package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
- package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
- package/dist/runtime/plugins/blokkliEditable.js +0 -31
- /package/dist/runtime/components/Edit/{DragInteractions → Features/Analyze}/index.vue.d.ts +0 -0
- /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
- /package/dist/runtime/components/Edit/Features/{FieldAreas → Anchors}/index.vue.d.ts +0 -0
- /package/dist/runtime/plugins/{blokkliEditable.d.ts → blokkliDirectives.d.ts} +0 -0
|
@@ -17,15 +17,11 @@
|
|
|
17
17
|
</p>
|
|
18
18
|
<div class="bk">
|
|
19
19
|
<div class="bk-form-group">
|
|
20
|
-
<
|
|
21
|
-
<
|
|
22
|
-
{{ $t("libraryPlaceSearchLabel", "Filter library items") }}
|
|
23
|
-
</label>
|
|
24
|
-
<input
|
|
20
|
+
<FormItem>
|
|
21
|
+
<FormText
|
|
25
22
|
id="library_search"
|
|
26
23
|
v-model.lazy="searchText"
|
|
27
|
-
|
|
28
|
-
class="bk-form-input"
|
|
24
|
+
:label="$t('libraryPlaceSearchLabel', 'Filter library items')"
|
|
29
25
|
:placeholder="
|
|
30
26
|
$t(
|
|
31
27
|
'libraryPlaceSearchInputPlaceholder',
|
|
@@ -34,25 +30,15 @@
|
|
|
34
30
|
"
|
|
35
31
|
required
|
|
36
32
|
/>
|
|
37
|
-
</
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
{{ $t("libraryPlaceBundleSelectLabel", "Bundle") }}
|
|
41
|
-
</label>
|
|
42
|
-
<select
|
|
33
|
+
</FormItem>
|
|
34
|
+
<FormItem>
|
|
35
|
+
<FormSelect
|
|
43
36
|
id="library_bundle"
|
|
44
37
|
v-model="selectedBundle"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
:key="v.bundle"
|
|
50
|
-
:value="v.bundle"
|
|
51
|
-
>
|
|
52
|
-
{{ v.label }}
|
|
53
|
-
</option>
|
|
54
|
-
</select>
|
|
55
|
-
</div>
|
|
38
|
+
:label="$t('libraryPlaceBundleSelectLabel', 'Bundle')"
|
|
39
|
+
:options="bundleOptions"
|
|
40
|
+
/>
|
|
41
|
+
</FormItem>
|
|
56
42
|
</div>
|
|
57
43
|
</div>
|
|
58
44
|
<div class="bk-library-dialog-content">
|
|
@@ -85,7 +71,13 @@
|
|
|
85
71
|
</template>
|
|
86
72
|
|
|
87
73
|
<script setup>
|
|
88
|
-
import {
|
|
74
|
+
import {
|
|
75
|
+
FormOverlay,
|
|
76
|
+
Pagination,
|
|
77
|
+
FormText,
|
|
78
|
+
FormItem,
|
|
79
|
+
FormSelect
|
|
80
|
+
} from "#blokkli/components";
|
|
89
81
|
import Loading from "./../../../Loading/index.vue";
|
|
90
82
|
import { ref, useBlokkli, useAsyncData, computed, watch } from "#imports";
|
|
91
83
|
import LibraryListItem from "./Item/index.vue";
|
|
@@ -147,10 +139,10 @@ const bundleOptions = computed(() => {
|
|
|
147
139
|
const bundles = allowedBundles.value.map((bundle) => {
|
|
148
140
|
const definition = types.getBlockBundleDefinition(bundle);
|
|
149
141
|
return {
|
|
150
|
-
bundle,
|
|
142
|
+
value: bundle,
|
|
151
143
|
label: definition?.label || bundle
|
|
152
144
|
};
|
|
153
145
|
});
|
|
154
|
-
return [{
|
|
146
|
+
return [{ value: "all", label: $t("all", "All") }, ...bundles];
|
|
155
147
|
});
|
|
156
148
|
</script>
|
|
@@ -23,39 +23,43 @@
|
|
|
23
23
|
)
|
|
24
24
|
"
|
|
25
25
|
/>
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
<FormItem>
|
|
27
|
+
<FormText
|
|
28
|
+
id="reusable_label"
|
|
29
|
+
v-model="label"
|
|
30
|
+
:label="$t('libraryDialogDescriptionLabel', 'Description')"
|
|
31
|
+
type="text"
|
|
32
|
+
:placeholder="
|
|
33
|
+
$t(
|
|
34
|
+
'libraryDialogTitleInputPlaceholder',
|
|
35
|
+
'e.g. Teaser Campaign 2024'
|
|
36
|
+
)
|
|
36
37
|
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
required
|
|
39
|
+
/>
|
|
40
|
+
</FormItem>
|
|
41
|
+
<FormItem>
|
|
42
|
+
<div class="bk-form-label">
|
|
43
|
+
{{ $t("libraryPreviewLabel", "Preview") }}
|
|
44
|
+
</div>
|
|
45
|
+
<div
|
|
46
|
+
class="bk-dialog-content-element"
|
|
47
|
+
:class="[backgroundClass, { 'bk-default-bg': !backgroundClass }]"
|
|
48
|
+
:style="backgroundClass ? {} : { backgroundColor }"
|
|
49
|
+
>
|
|
50
|
+
<div ref="previewEl" />
|
|
51
|
+
</div>
|
|
52
|
+
</FormItem>
|
|
49
53
|
</div>
|
|
50
54
|
</DialogModal>
|
|
51
55
|
</template>
|
|
52
56
|
|
|
53
57
|
<script setup>
|
|
54
58
|
import { ref, useBlokkli, onMounted } from "#imports";
|
|
55
|
-
import { DialogModal, InfoBox } from "#blokkli/components";
|
|
59
|
+
import { DialogModal, InfoBox, FormText, FormItem } from "#blokkli/components";
|
|
56
60
|
import { realBackgroundColor } from "#blokkli/helpers";
|
|
57
61
|
defineEmits(["confirm", "cancel"]);
|
|
58
|
-
const { dom, $t } = useBlokkli();
|
|
62
|
+
const { dom, $t, blocks } = useBlokkli();
|
|
59
63
|
const props = defineProps({
|
|
60
64
|
uuid: { type: String, required: true },
|
|
61
65
|
backgroundClass: { type: String, required: false }
|
|
@@ -66,14 +70,14 @@ const previewEl = ref(null);
|
|
|
66
70
|
const backgroundColor = ref("");
|
|
67
71
|
onMounted(() => {
|
|
68
72
|
if (previewEl.value) {
|
|
69
|
-
const item =
|
|
73
|
+
const item = blocks.getBlock(props.uuid);
|
|
70
74
|
if (!item) {
|
|
71
75
|
return;
|
|
72
76
|
}
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
const element = dom.getDragElement(item);
|
|
78
|
+
if (!element) {
|
|
79
|
+
return;
|
|
75
80
|
}
|
|
76
|
-
const element = item.element();
|
|
77
81
|
const markup = dom.getDropElementMarkup(item);
|
|
78
82
|
width.value = element.getBoundingClientRect().width + 40;
|
|
79
83
|
const clone = document.createElement("div");
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
id="library_detach"
|
|
5
5
|
:title="$t('libraryDetach', 'Detach from library')"
|
|
6
6
|
icon="detach"
|
|
7
|
+
edit-only
|
|
7
8
|
multiple
|
|
8
9
|
:weight="-70"
|
|
9
10
|
@click="onDetach"
|
|
@@ -11,8 +12,9 @@
|
|
|
11
12
|
<PluginItemAction
|
|
12
13
|
v-else-if="!isReusable"
|
|
13
14
|
id="library_make_reusable"
|
|
14
|
-
:title="$t('libraryAdd', 'Add to library')"
|
|
15
|
-
:disabled="!canMakeReusable
|
|
15
|
+
:title="$t('libraryAdd', 'Add to library...')"
|
|
16
|
+
:disabled="!canMakeReusable"
|
|
17
|
+
edit-only
|
|
16
18
|
icon="reusable"
|
|
17
19
|
:weight="-70"
|
|
18
20
|
@click="showReusableDialog = true"
|
|
@@ -32,32 +34,32 @@
|
|
|
32
34
|
"
|
|
33
35
|
icon="reusable"
|
|
34
36
|
color="lime"
|
|
35
|
-
item-bundle="
|
|
37
|
+
:item-bundle="BUNDLE_FROM_LIBRARY"
|
|
36
38
|
:disabled="!fromLibraryAllowedInList"
|
|
37
39
|
@placed="placedAction = $event"
|
|
38
40
|
/>
|
|
39
41
|
|
|
40
42
|
<Teleport to="body">
|
|
41
|
-
<
|
|
43
|
+
<BlokkliTransition name="slide-up">
|
|
42
44
|
<ReusableDialog
|
|
43
|
-
v-if="showReusableDialog &&
|
|
44
|
-
:uuid="
|
|
45
|
+
v-if="showReusableDialog && selection.item.value"
|
|
46
|
+
:uuid="selection.item.value.uuid"
|
|
45
47
|
:background-class="definition?.editor?.previewBackgroundClass"
|
|
46
48
|
@confirm="onMakeReusable"
|
|
47
49
|
@cancel="showReusableDialog = false"
|
|
48
50
|
/>
|
|
49
|
-
</
|
|
51
|
+
</BlokkliTransition>
|
|
50
52
|
</Teleport>
|
|
51
53
|
|
|
52
54
|
<Teleport to="body">
|
|
53
|
-
<
|
|
55
|
+
<BlokkliTransition name="slide-in">
|
|
54
56
|
<LibraryDialog
|
|
55
57
|
v-if="placedAction && adapter.getLibraryItems"
|
|
56
58
|
:field="placedAction.field"
|
|
57
59
|
@close="placedAction = null"
|
|
58
60
|
@submit="onAddLibraryItem"
|
|
59
61
|
/>
|
|
60
|
-
</
|
|
62
|
+
</BlokkliTransition>
|
|
61
63
|
</Teleport>
|
|
62
64
|
<EditReusable
|
|
63
65
|
v-if="editingLibraryItem"
|
|
@@ -73,22 +75,19 @@ import { PluginItemAction, PluginAddAction } from "#blokkli/plugins";
|
|
|
73
75
|
import ReusableDialog from "./ReusableDialog/index.vue";
|
|
74
76
|
import LibraryDialog from "./LibraryDialog/index.vue";
|
|
75
77
|
import EditReusable from "./EditReusable/index.vue";
|
|
78
|
+
import { BlokkliTransition } from "#blokkli/components";
|
|
76
79
|
import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
|
|
80
|
+
import { BUNDLE_FROM_LIBRARY } from "#blokkli/constants";
|
|
77
81
|
const { adapter } = defineBlokkliFeature({
|
|
78
82
|
id: "library",
|
|
79
83
|
icon: "reusable",
|
|
80
84
|
label: "Library",
|
|
81
85
|
description: "Implements support for a block library to manage reusable blocks.",
|
|
82
|
-
requiredAdapterMethods: ["makeBlockReusable", "detachReusableBlock"]
|
|
86
|
+
requiredAdapterMethods: ["makeBlockReusable", "detachReusableBlock"],
|
|
87
|
+
dependencies: ["add-list"]
|
|
83
88
|
});
|
|
84
89
|
const { selection, state, types, $t, eventBus, definitions } = useBlokkli();
|
|
85
90
|
const showReusableDialog = ref(false);
|
|
86
|
-
const selectedItem = computed(() => {
|
|
87
|
-
if (selection.blocks.value.length !== 1) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
return selection.blocks.value[0];
|
|
91
|
-
});
|
|
92
91
|
const onDetach = async () => {
|
|
93
92
|
if (!adapter.detachReusableBlock || !selection.uuids.value.length) {
|
|
94
93
|
return;
|
|
@@ -114,43 +113,52 @@ const onAddLibraryItem = async (uuid) => {
|
|
|
114
113
|
);
|
|
115
114
|
placedAction.value = null;
|
|
116
115
|
};
|
|
117
|
-
const definition = computed(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
);
|
|
116
|
+
const definition = computed(() => {
|
|
117
|
+
const item = selection.item.value;
|
|
118
|
+
if (!item) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
return definitions.getBlockDefinition(
|
|
122
|
+
item.bundle,
|
|
123
|
+
item.fieldListType,
|
|
124
|
+
item.parentBlockBundle
|
|
125
|
+
);
|
|
126
|
+
});
|
|
127
|
+
const itemBundle = computed(() => {
|
|
128
|
+
const item = selection.item.value;
|
|
129
|
+
if (!item) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
return types.getBlockBundleDefinition(item.bundle);
|
|
133
|
+
});
|
|
127
134
|
const isReusable = computed(
|
|
128
|
-
() => selection.
|
|
135
|
+
() => selection.bundles.value.every((bundle) => bundle === BUNDLE_FROM_LIBRARY)
|
|
129
136
|
);
|
|
130
137
|
async function onMakeReusable(label) {
|
|
131
138
|
showReusableDialog.value = false;
|
|
132
|
-
|
|
139
|
+
const item = selection.item.value;
|
|
140
|
+
if (!item) {
|
|
133
141
|
return;
|
|
134
142
|
}
|
|
135
143
|
await state.mutateWithLoadingState(
|
|
136
144
|
() => adapter.makeBlockReusable({
|
|
137
145
|
label,
|
|
138
|
-
uuid:
|
|
146
|
+
uuid: item.uuid
|
|
139
147
|
}),
|
|
140
148
|
$t("libraryError", "Failed to add block to library.")
|
|
141
149
|
);
|
|
142
150
|
eventBus.emit("select:end");
|
|
143
151
|
}
|
|
144
152
|
const isSupportedOnEntity = computed(
|
|
145
|
-
() => types.generallyAvailableBundles.find((v) => v.id ===
|
|
153
|
+
() => types.generallyAvailableBundles.find((v) => v.id === BUNDLE_FROM_LIBRARY)
|
|
146
154
|
);
|
|
147
155
|
const fromLibraryAllowedInList = computed(() => {
|
|
148
156
|
if (!selection.uuids.value.length) {
|
|
149
157
|
return !!types.generallyAvailableBundles.find(
|
|
150
|
-
(v) => v.id ===
|
|
158
|
+
(v) => v.id === BUNDLE_FROM_LIBRARY
|
|
151
159
|
);
|
|
152
160
|
}
|
|
153
|
-
return types.allowedTypesInList.value.includes(
|
|
161
|
+
return types.allowedTypesInList.value.includes(BUNDLE_FROM_LIBRARY);
|
|
154
162
|
});
|
|
155
163
|
const canMakeReusable = computed(
|
|
156
164
|
() => !isReusable.value && itemBundle?.value?.allowReusable && fromLibraryAllowedInList.value
|
|
@@ -35,14 +35,11 @@
|
|
|
35
35
|
</option>
|
|
36
36
|
</select>
|
|
37
37
|
</label>
|
|
38
|
-
<
|
|
38
|
+
<FormToggle
|
|
39
39
|
v-else-if="filter.filter.type === 'checkbox'"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<div />
|
|
44
|
-
<span>{{ filter.filter.label }}</span>
|
|
45
|
-
</label>
|
|
40
|
+
v-model="filterValues[filter.key]"
|
|
41
|
+
:label="filter.filter.label"
|
|
42
|
+
/>
|
|
46
43
|
</div>
|
|
47
44
|
</div>
|
|
48
45
|
<div
|
|
@@ -83,7 +80,7 @@ import {
|
|
|
83
80
|
watch,
|
|
84
81
|
nextTick
|
|
85
82
|
} from "#imports";
|
|
86
|
-
import { Sortli, Icon, Pagination } from "#blokkli/components";
|
|
83
|
+
import { Sortli, Icon, Pagination, FormToggle } from "#blokkli/components";
|
|
87
84
|
import Item from "./Item.vue";
|
|
88
85
|
import { buildDraggableItem, falsy } from "#blokkli/helpers";
|
|
89
86
|
import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
|
|
@@ -91,7 +88,7 @@ defineProps({
|
|
|
91
88
|
isSortli: { type: Boolean, required: false },
|
|
92
89
|
modelValue: { type: String, required: false }
|
|
93
90
|
});
|
|
94
|
-
const { adapter, storage, $t } = useBlokkli();
|
|
91
|
+
const { adapter, storage, $t, element } = useBlokkli();
|
|
95
92
|
const selected = ref([]);
|
|
96
93
|
const listEl = ref(null);
|
|
97
94
|
const page = ref(0);
|
|
@@ -100,10 +97,13 @@ function getDragItems(activeItem) {
|
|
|
100
97
|
if (!selected.value.length || !listEl.value) {
|
|
101
98
|
return null;
|
|
102
99
|
}
|
|
100
|
+
const listElement = listEl.value;
|
|
103
101
|
const activeId = activeItem?.itemType === "media_library" ? activeItem.mediaId : null;
|
|
104
102
|
const items2 = selected.value.map((id) => {
|
|
105
|
-
const el =
|
|
106
|
-
|
|
103
|
+
const el = element.query(
|
|
104
|
+
listElement,
|
|
105
|
+
`[data-sortli-id="media_library_${id}"]`,
|
|
106
|
+
"Find media library drag item."
|
|
107
107
|
);
|
|
108
108
|
if (!(el instanceof HTMLElement)) {
|
|
109
109
|
return null;
|
|
@@ -32,6 +32,7 @@ import { PluginSidebar, PluginDroppableEdit } from "#blokkli/plugins";
|
|
|
32
32
|
import Library from "./Library/index.vue";
|
|
33
33
|
import defineDropAreas from "#blokkli/helpers/composables/defineDropAreas";
|
|
34
34
|
import { falsy } from "#blokkli/helpers";
|
|
35
|
+
import { itemEntityType } from "#blokkli-build/config";
|
|
35
36
|
defineBlokkliFeature({
|
|
36
37
|
id: "media-library",
|
|
37
38
|
icon: "image",
|
|
@@ -39,7 +40,7 @@ defineBlokkliFeature({
|
|
|
39
40
|
description: "Implements a media library to easily drag and drop media like images or videos.",
|
|
40
41
|
requiredAdapterMethods: ["mediaLibraryGetResults", "mediaLibraryAddBlock"]
|
|
41
42
|
});
|
|
42
|
-
const { $t,
|
|
43
|
+
const { $t, adapter, state, runtimeConfig, types, directive } = useBlokkli();
|
|
43
44
|
const selected = ref("");
|
|
44
45
|
const ERROR_MESSAGE = $t(
|
|
45
46
|
"mediaLibraryReplaceFailed",
|
|
@@ -49,11 +50,12 @@ const onDroppableEditSave = async (e) => {
|
|
|
49
50
|
if (!selected.value) {
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
52
|
-
if ("
|
|
53
|
+
if ("itemType" in e.host && adapter.mediaLibraryReplaceMedia) {
|
|
54
|
+
const host = e.host;
|
|
53
55
|
await state.mutateWithLoadingState(
|
|
54
56
|
() => adapter.mediaLibraryReplaceMedia({
|
|
55
57
|
host: {
|
|
56
|
-
uuid:
|
|
58
|
+
uuid: host.block.uuid,
|
|
57
59
|
type: runtimeConfig.itemEntityType,
|
|
58
60
|
fieldName: e.fieldName
|
|
59
61
|
},
|
|
@@ -62,11 +64,12 @@ const onDroppableEditSave = async (e) => {
|
|
|
62
64
|
ERROR_MESSAGE
|
|
63
65
|
);
|
|
64
66
|
} else if ("type" in e.host && adapter.mediaLibraryReplaceEntityMedia) {
|
|
65
|
-
const
|
|
67
|
+
const host = e.host;
|
|
68
|
+
const type = host.type;
|
|
66
69
|
await state.mutateWithLoadingState(
|
|
67
70
|
() => adapter.mediaLibraryReplaceEntityMedia({
|
|
68
71
|
host: {
|
|
69
|
-
uuid:
|
|
72
|
+
uuid: host.uuid,
|
|
70
73
|
type,
|
|
71
74
|
fieldName: e.fieldName
|
|
72
75
|
},
|
|
@@ -87,18 +90,18 @@ defineDropAreas((dragItems) => {
|
|
|
87
90
|
if (item.itemType !== "media_library") {
|
|
88
91
|
return;
|
|
89
92
|
}
|
|
90
|
-
return
|
|
91
|
-
const config = types.getDroppableFieldConfig(field.fieldName, field
|
|
93
|
+
return directive.getDroppableElements().map((field) => {
|
|
94
|
+
const config = types.getDroppableFieldConfig(field.fieldName, field);
|
|
92
95
|
if (config.allowedEntityType !== "media") {
|
|
93
96
|
return;
|
|
94
97
|
}
|
|
95
98
|
if (!config.allowedBundles.includes(item.mediaBundle)) {
|
|
96
99
|
return;
|
|
97
100
|
}
|
|
98
|
-
const isBlock =
|
|
101
|
+
const isBlock = field.type === itemEntityType;
|
|
99
102
|
const draggableHost = {
|
|
100
|
-
uuid: field.
|
|
101
|
-
type:
|
|
103
|
+
uuid: field.uuid,
|
|
104
|
+
type: field.type,
|
|
102
105
|
fieldName: field.fieldName
|
|
103
106
|
};
|
|
104
107
|
const label = $t("mediaLibraryReplaceMedia", "Replace @field").replace(
|
|
@@ -107,7 +110,7 @@ defineDropAreas((dragItems) => {
|
|
|
107
110
|
);
|
|
108
111
|
if (adapter.mediaLibraryReplaceMedia && isBlock) {
|
|
109
112
|
return {
|
|
110
|
-
id: `replace-media:${field.
|
|
113
|
+
id: `replace-media:${field.uuid}:${field.fieldName}`,
|
|
111
114
|
label,
|
|
112
115
|
element: field.element,
|
|
113
116
|
icon: "swap-horizontal",
|
|
@@ -123,7 +126,7 @@ defineDropAreas((dragItems) => {
|
|
|
123
126
|
};
|
|
124
127
|
} else if (adapter.mediaLibraryReplaceEntityMedia && !isBlock) {
|
|
125
128
|
return {
|
|
126
|
-
id: `replace-entity-media:${field.
|
|
129
|
+
id: `replace-entity-media:${field.uuid}:${field.fieldName}`,
|
|
127
130
|
label,
|
|
128
131
|
element: field.element,
|
|
129
132
|
icon: "swap-horizontal",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<script setup>
|
|
8
8
|
import { useBlokkli, onBeforeUnmount } from "#imports";
|
|
9
9
|
import { intersects, toShaderColor } from "#blokkli/helpers";
|
|
10
|
-
import
|
|
10
|
+
import defineRenderer from "#blokkli/helpers/composables/defineRenderer";
|
|
11
11
|
import vs from "./vertex.glsl?raw";
|
|
12
12
|
import fs from "./fragment.glsl?raw";
|
|
13
13
|
import {
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "twgl.js";
|
|
18
18
|
import { RectangleBufferCollector } from "#blokkli/helpers/webgl";
|
|
19
19
|
import useDebugLogger from "#blokkli/helpers/composables/useDebugLogger";
|
|
20
|
-
const { eventBus, dom, theme, animation, ui } = useBlokkli();
|
|
20
|
+
const { eventBus, dom, theme, animation, ui, blocks } = useBlokkli();
|
|
21
21
|
const logger = useDebugLogger();
|
|
22
22
|
const props = defineProps({
|
|
23
23
|
startX: { type: Number, required: true },
|
|
@@ -25,6 +25,7 @@ const props = defineProps({
|
|
|
25
25
|
isPressingControl: { type: Boolean, required: true },
|
|
26
26
|
gl: { type: null, required: true }
|
|
27
27
|
});
|
|
28
|
+
const startTimestamp = Date.now();
|
|
28
29
|
defineEmits(["select"]);
|
|
29
30
|
class MultiSelectRectangleBufferCollector extends RectangleBufferCollector {
|
|
30
31
|
getBufferInfo(offset, scale) {
|
|
@@ -38,7 +39,7 @@ class MultiSelectRectangleBufferCollector extends RectangleBufferCollector {
|
|
|
38
39
|
if (this.added.has(uuid)) {
|
|
39
40
|
continue;
|
|
40
41
|
}
|
|
41
|
-
const block =
|
|
42
|
+
const block = blocks.getBlock(uuid);
|
|
42
43
|
if (!block) {
|
|
43
44
|
continue;
|
|
44
45
|
}
|
|
@@ -95,7 +96,7 @@ class MultiSelectRectangleBufferCollector extends RectangleBufferCollector {
|
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
const collector = new MultiSelectRectangleBufferCollector(props.gl);
|
|
98
|
-
const thick =
|
|
99
|
+
const thick = 300;
|
|
99
100
|
collector.addRectangle(
|
|
100
101
|
{
|
|
101
102
|
width: 1e3,
|
|
@@ -180,33 +181,40 @@ function getSelectRect(offset, scale) {
|
|
|
180
181
|
};
|
|
181
182
|
return { shader, check };
|
|
182
183
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
184
|
+
defineRenderer("multiselect-overlay", {
|
|
185
|
+
zIndex: 450,
|
|
186
|
+
only: true,
|
|
187
|
+
cursor: () => "crosshair",
|
|
188
|
+
render: (ctx) => {
|
|
189
|
+
mouseX = ctx.mouseX;
|
|
190
|
+
mouseY = ctx.mouseY;
|
|
191
|
+
const { shader, check } = getSelectRect(
|
|
192
|
+
ctx.artboardOffset,
|
|
193
|
+
ctx.artboardScale
|
|
194
|
+
);
|
|
195
|
+
const { nested } = collector.getSelectedUuids(check);
|
|
196
|
+
const shouldSelectAll = props.isPressingControl || !nested.length;
|
|
197
|
+
ctx.gl.useProgram(programInfo.program);
|
|
198
|
+
const time = (Date.now() - startTimestamp) / 1e3;
|
|
199
|
+
setUniforms(programInfo, uniforms);
|
|
200
|
+
setUniforms(programInfo, {
|
|
201
|
+
u_select_all: shouldSelectAll ? 1 : 0,
|
|
202
|
+
u_select_rect: [shader.x, shader.y, shader.width, shader.height],
|
|
203
|
+
u_time: time
|
|
204
|
+
});
|
|
205
|
+
animation.setSharedUniforms(ctx.gl, programInfo);
|
|
206
|
+
const { info, hasChanged } = collector.getBufferInfo(
|
|
207
|
+
ctx.artboardOffset,
|
|
208
|
+
ctx.artboardScale
|
|
209
|
+
);
|
|
210
|
+
if (!info) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
if (hasChanged) {
|
|
214
|
+
setBuffersAndAttributes(ctx.gl, programInfo, info);
|
|
215
|
+
}
|
|
216
|
+
drawBufferInfo(ctx.gl, info, ctx.gl.TRIANGLES);
|
|
208
217
|
}
|
|
209
|
-
drawBufferInfo(props.gl, info, props.gl.TRIANGLES);
|
|
210
218
|
});
|
|
211
219
|
function getUuidsToSelect() {
|
|
212
220
|
const { check } = getSelectRect(
|
|
@@ -222,8 +230,12 @@ function getUuidsToSelect() {
|
|
|
222
230
|
return nested;
|
|
223
231
|
}
|
|
224
232
|
onBeforeUnmount(() => {
|
|
225
|
-
|
|
226
|
-
|
|
233
|
+
const diff = Date.now() - startTimestamp;
|
|
234
|
+
if (diff > 175) {
|
|
235
|
+
eventBus.emit("select:end", getUuidsToSelect());
|
|
236
|
+
} else {
|
|
237
|
+
eventBus.emit("select:end");
|
|
238
|
+
}
|
|
227
239
|
logger.log("MultiSelectOverlay unmounted");
|
|
228
240
|
});
|
|
229
241
|
</script>
|
|
@@ -20,11 +20,9 @@ defineBlokkliFeature({
|
|
|
20
20
|
description: "Implements support for selecting multiple blocks using a select rectangle.",
|
|
21
21
|
viewports: ["desktop"]
|
|
22
22
|
});
|
|
23
|
-
const { keyboard, eventBus, selection,
|
|
23
|
+
const { keyboard, eventBus, selection, animation } = useBlokkli();
|
|
24
24
|
const gl = animation.gl();
|
|
25
|
-
const enabled = computed(
|
|
26
|
-
() => !selection.editableActive.value && (state.editMode.value === "editing" || state.editMode.value === "translating") && gl
|
|
27
|
-
);
|
|
25
|
+
const enabled = computed(() => !selection.editableActive.value && gl);
|
|
28
26
|
const shouldRender = ref(false);
|
|
29
27
|
const downX = ref(0);
|
|
30
28
|
const downY = ref(0);
|
|
@@ -32,24 +30,18 @@ const onSelect = (uuids) => {
|
|
|
32
30
|
shouldRender.value = false;
|
|
33
31
|
eventBus.emit("select:end", uuids);
|
|
34
32
|
};
|
|
35
|
-
|
|
36
|
-
onBlokkliEvent("
|
|
37
|
-
if (!enabled.value
|
|
33
|
+
const startTimeout = null;
|
|
34
|
+
onBlokkliEvent("multi-select:start", (e) => {
|
|
35
|
+
if (!enabled.value) {
|
|
38
36
|
return;
|
|
39
37
|
}
|
|
40
|
-
if (keyboard.isPressingSpace.value || keyboard.isPressingControl.value) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
clearTimeout(startTimeout);
|
|
44
38
|
downX.value = e.x;
|
|
45
39
|
downY.value = e.y;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
shouldRender.value = true;
|
|
52
|
-
}, 70);
|
|
40
|
+
eventBus.emit("select:start", {
|
|
41
|
+
uuids: [],
|
|
42
|
+
mode: "mouse"
|
|
43
|
+
});
|
|
44
|
+
shouldRender.value = true;
|
|
53
45
|
});
|
|
54
46
|
onBlokkliEvent("mouse:up", () => {
|
|
55
47
|
shouldRender.value = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<label class="bk-blokkli-item-options-checkbox">
|
|
3
|
-
<input v-model="checked" type="checkbox" class="peer" />
|
|
3
|
+
<input v-model="checked" type="checkbox" class="peer" :required />
|
|
4
4
|
<div />
|
|
5
5
|
<span>{{ label }}</span>
|
|
6
6
|
</label>
|
|
@@ -13,7 +13,8 @@ const { $t, state } = useBlokkli();
|
|
|
13
13
|
const props = defineProps({
|
|
14
14
|
label: { type: String, required: true },
|
|
15
15
|
property: { type: String, required: true },
|
|
16
|
-
modelValue: { type: String, required: false }
|
|
16
|
+
modelValue: { type: String, required: false },
|
|
17
|
+
required: { type: Boolean, required: false }
|
|
17
18
|
});
|
|
18
19
|
const emit = defineEmits(["update:modelValue"]);
|
|
19
20
|
const checked = computed({
|