@blokkli/editor 2.0.0-alpha.52 → 2.0.0-alpha.54
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/chunks/tailwindConfig.mjs +3 -3
- package/dist/global/types/blockOptions.d.ts +18 -2
- package/dist/module.d.mts +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +281 -18
- package/dist/modules/agent/index.d.mts +1 -1
- package/dist/modules/agent/runtime/app/composables/agentProvider.d.ts +1 -0
- package/dist/modules/agent/runtime/app/composables/agentProvider.js +7 -0
- package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.d.vue.ts +2 -2
- package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.vue +14 -49
- package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.vue.d.ts +2 -2
- package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.d.vue.ts +10 -0
- package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.vue +102 -0
- package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.vue.d.ts +10 -0
- package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +8 -5
- package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.d.vue.ts +3 -3
- package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue +9 -5
- package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue.d.ts +3 -3
- package/dist/modules/agent/runtime/app/features/agent/Panel/index.d.vue.ts +7 -0
- package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +16 -2
- package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue.d.ts +7 -0
- package/dist/modules/agent/runtime/app/features/agent/index.vue +29 -0
- package/dist/modules/agent/runtime/app/features/agent/types.d.ts +16 -0
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.vue +3 -1
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.d.ts +2 -0
- package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.js +8 -1
- package/dist/modules/charts/index.d.mts +1 -1
- package/dist/modules/charts/index.mjs +2 -3
- package/dist/modules/charts/runtime/features/charts/Editor/ChartTypePicker/index.vue +1 -1
- package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue +1 -1
- package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +16 -0
- package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +9 -0
- package/dist/modules/drupal/graphql/features/agent.graphql +20 -0
- package/dist/modules/drupal/graphql/features/publishNew.graphql +14 -0
- package/dist/modules/drupal/graphql/features/referenced-entities.graphql +21 -0
- package/dist/modules/drupal/graphql/features/textFieldValues.graphql +20 -0
- package/dist/modules/drupal/graphql/features/workspace.graphql +23 -0
- package/dist/modules/drupal/graphql/mutations/bulk_translate_field_values.graphql +19 -0
- package/dist/modules/drupal/graphql/mutations/clear_outdated_translation.graphql +15 -0
- package/dist/modules/drupal/graphql/mutations/ignore_analyze.graphql +15 -0
- package/dist/modules/drupal/graphql/mutations/request_translation.graphql +10 -0
- package/dist/modules/drupal/graphql/mutations/unignore_analyze.graphql +15 -0
- package/dist/modules/drupal/index.d.mts +1 -1
- package/dist/modules/drupal/index.mjs +16 -0
- package/dist/modules/drupal/runtime/adapter/index.js +180 -11
- package/dist/modules/iframes/index.d.mts +31 -0
- package/dist/modules/iframes/index.mjs +52 -0
- package/dist/modules/iframes/runtime/components/BlokkliIframe/index.d.vue.ts +18 -0
- package/dist/modules/iframes/runtime/components/BlokkliIframe/index.vue +61 -0
- package/dist/modules/iframes/runtime/components/BlokkliIframe/index.vue.d.ts +18 -0
- package/dist/modules/iframes/runtime/components/index.d.ts +1 -0
- package/dist/modules/iframes/runtime/components/index.js +1 -0
- package/dist/modules/iframes/runtime/features/iframes/Editor/index.d.vue.ts +12 -0
- package/dist/modules/iframes/runtime/features/iframes/Editor/index.vue +220 -0
- package/dist/modules/iframes/runtime/features/iframes/Editor/index.vue.d.ts +12 -0
- package/dist/modules/iframes/runtime/types.d.ts +10 -0
- package/dist/modules/index.d.mts +1 -1
- package/dist/modules/table-of-contents/index.d.mts +1 -1
- package/dist/runtime/components/Blocks/NotImplemented/index.vue +57 -0
- package/dist/runtime/components/BlokkliEditable.vue +1 -1
- package/dist/runtime/editor/adapter/index.d.ts +8 -1
- package/dist/runtime/editor/components/Actions/Interactions/index.vue +77 -17
- package/dist/runtime/editor/components/Actions/{ItemDropdown.vue → ItemDropdown/index.vue} +9 -10
- package/dist/runtime/editor/components/Actions/index.vue +586 -23
- package/dist/runtime/editor/components/AnimationCanvas/index.vue +1 -0
- package/dist/runtime/editor/components/AppMenu/MenuButton.vue +185 -1
- package/dist/runtime/editor/components/AppMenu/index.vue +24 -10
- package/dist/runtime/editor/components/ArtboardTooltip/index.d.vue.ts +6 -2
- package/dist/runtime/editor/components/ArtboardTooltip/index.vue +223 -3
- package/dist/runtime/editor/components/ArtboardTooltip/index.vue.d.ts +6 -2
- package/dist/runtime/editor/components/AutoHeight/index.vue +23 -0
- package/dist/runtime/editor/components/Banner/Inner.d.vue.ts +30 -0
- package/dist/runtime/editor/components/Banner/Inner.vue +32 -0
- package/dist/runtime/editor/components/Banner/Inner.vue.d.ts +30 -0
- package/dist/runtime/editor/components/Banner/index.d.vue.ts +3 -13
- package/dist/runtime/editor/components/Banner/index.vue +2 -14
- package/dist/runtime/editor/components/Banner/index.vue.d.ts +3 -13
- package/dist/runtime/editor/components/BetaIndicator/index.d.vue.ts +6 -0
- package/dist/runtime/editor/components/BetaIndicator/index.vue +16 -0
- package/dist/runtime/editor/components/BetaIndicator/index.vue.d.ts +6 -0
- package/dist/runtime/editor/components/BlockPreviewItem/index.vue +51 -1
- package/dist/runtime/editor/components/BlockPreviewRenderer/index.vue +27 -1
- package/dist/runtime/editor/components/BlockProxy/index.vue +148 -1
- package/dist/runtime/editor/components/BlokkliRootErrorBoundary.vue +59 -0
- package/dist/runtime/editor/components/BundleSelector/index.vue +170 -20
- package/dist/runtime/editor/components/Dialog/index.d.vue.ts +2 -0
- package/dist/runtime/editor/components/Dialog/index.vue +341 -0
- package/dist/runtime/editor/components/Dialog/index.vue.d.ts +2 -0
- package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue +117 -0
- package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue +224 -28
- package/dist/runtime/editor/components/DiffViewer/DiffValue.d.vue.ts +1 -0
- package/dist/runtime/editor/components/DiffViewer/DiffValue.vue +5 -1
- package/dist/runtime/editor/components/DiffViewer/DiffValue.vue.d.ts +1 -0
- package/dist/runtime/editor/components/DiffViewer/State.vue +319 -0
- package/dist/runtime/editor/components/DraggableList.vue +103 -0
- package/dist/runtime/editor/components/Dropdown/index.vue +84 -0
- package/dist/runtime/editor/components/EditProvider.vue +72 -15
- package/dist/runtime/editor/components/FileDropHandler/index.d.vue.ts +23 -0
- package/dist/runtime/editor/components/FileDropHandler/index.vue +108 -0
- package/dist/runtime/editor/components/FileDropHandler/index.vue.d.ts +23 -0
- package/dist/runtime/editor/components/FlexTextarea/index.vue +4 -2
- package/dist/runtime/editor/components/Form/Datepicker/index.vue +149 -0
- package/dist/runtime/editor/components/Form/Toggle/index.vue +205 -1
- package/dist/runtime/editor/components/FormOverlay/index.vue +90 -0
- package/dist/runtime/editor/components/Icon/index.vue +6 -0
- package/dist/runtime/editor/components/Indicators/index.vue +161 -0
- package/dist/runtime/editor/components/InfoBox/index.vue +65 -0
- package/dist/runtime/editor/components/Konami/index.vue +119 -0
- package/dist/runtime/editor/components/Loading/index.d.vue.ts +6 -3
- package/dist/runtime/editor/components/Loading/index.vue +10 -5
- package/dist/runtime/editor/components/Loading/index.vue.d.ts +6 -3
- package/dist/runtime/editor/components/Messages/index.vue +131 -0
- package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +1 -0
- package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +246 -12
- package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +1 -0
- package/dist/runtime/editor/components/NotEditStateInfo/index.d.vue.ts +3 -0
- package/dist/runtime/editor/components/NotEditStateInfo/index.vue +19 -0
- package/dist/runtime/editor/components/NotEditStateInfo/index.vue.d.ts +3 -0
- package/dist/runtime/editor/components/Overlay/index.vue +84 -0
- package/dist/runtime/editor/components/Pagination/index.vue +41 -0
- package/dist/runtime/editor/components/PluginConfigForm/index.vue +23 -0
- package/dist/runtime/editor/components/PluginConfigFormInline/FilterSelect/index.vue +429 -0
- package/dist/runtime/editor/components/PluginConfigFormInline/index.d.vue.ts +22 -0
- package/dist/runtime/editor/components/PluginConfigFormInline/index.vue +150 -0
- package/dist/runtime/editor/components/PluginConfigFormInline/index.vue.d.ts +22 -0
- package/dist/runtime/editor/components/Popup/index.vue +77 -2
- package/dist/runtime/editor/components/PreviewProvider.vue +7 -0
- package/dist/runtime/editor/components/Resizable/index.vue +90 -1
- package/dist/runtime/editor/components/ScaleToFit/index.vue +30 -1
- package/dist/runtime/editor/components/SearchOverlay/index.d.vue.ts +43 -0
- package/dist/runtime/editor/components/SearchOverlay/index.vue +264 -0
- package/dist/runtime/editor/components/SearchOverlay/index.vue.d.ts +43 -0
- package/dist/runtime/editor/components/StatusIcon/index.vue +104 -0
- package/dist/runtime/editor/components/StatusIndicator/index.d.vue.ts +9 -0
- package/dist/runtime/editor/components/StatusIndicator/index.vue +16 -0
- package/dist/runtime/editor/components/StatusIndicator/index.vue.d.ts +9 -0
- package/dist/runtime/editor/components/SystemRequirements/index.vue +57 -0
- package/dist/runtime/editor/components/Tabs/index.d.vue.ts +30 -0
- package/dist/runtime/editor/components/Tabs/index.vue +32 -0
- package/dist/runtime/editor/components/Tabs/index.vue.d.ts +30 -0
- package/dist/runtime/editor/components/Toolbar/index.vue +215 -4
- package/dist/runtime/editor/components/Tooltip/Context.d.vue.ts +7 -0
- package/dist/runtime/editor/components/Tooltip/Context.vue +13 -0
- package/dist/runtime/editor/components/Tooltip/Context.vue.d.ts +7 -0
- package/dist/runtime/editor/components/Tooltip/Status.d.vue.ts +8 -0
- package/dist/runtime/editor/components/Tooltip/Status.vue +27 -0
- package/dist/runtime/editor/components/Tooltip/Status.vue.d.ts +8 -0
- package/dist/runtime/editor/components/Tooltip/index.d.vue.ts +27 -0
- package/dist/runtime/editor/components/Tooltip/index.vue +40 -0
- package/dist/runtime/editor/components/Tooltip/index.vue.d.ts +27 -0
- package/dist/runtime/editor/components/index.d.ts +59 -49
- package/dist/runtime/editor/components/index.js +59 -98
- package/dist/runtime/editor/composables/defineHighlight.d.ts +2 -0
- package/dist/runtime/editor/composables/defineHighlight.js +10 -0
- package/dist/runtime/editor/composables/index.d.ts +1 -0
- package/dist/runtime/editor/composables/index.js +1 -0
- package/dist/runtime/editor/composables/useBlockRegistration.js +8 -0
- package/dist/runtime/editor/composables/useStickyToolbar.d.ts +1 -0
- package/dist/runtime/editor/composables/useStickyToolbar.js +16 -0
- package/dist/runtime/editor/css/output.css +1 -1
- package/dist/runtime/editor/events/index.d.ts +10 -0
- package/dist/runtime/editor/features/add-list/Help/index.vue +193 -0
- package/dist/runtime/editor/features/add-list/index.vue +441 -0
- package/dist/runtime/editor/features/analyze/Ignored/index.d.vue.ts +7 -0
- package/dist/runtime/editor/features/analyze/Ignored/index.vue +35 -0
- package/dist/runtime/editor/features/analyze/Ignored/index.vue.d.ts +7 -0
- package/dist/runtime/editor/features/analyze/Main.vue +148 -24
- package/dist/runtime/editor/features/analyze/Results/Results.d.vue.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/Results.vue +0 -2
- package/dist/runtime/editor/features/analyze/Results/Results.vue.d.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/ResultsItem.d.vue.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/ResultsItem.vue +1 -2
- package/dist/runtime/editor/features/analyze/Results/ResultsItem.vue.d.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.d.vue.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.vue +11 -8
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.vue.d.ts +1 -9
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.d.vue.ts +3 -10
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.vue +63 -25
- package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.vue.d.ts +3 -10
- package/dist/runtime/editor/features/analyze/analyzers/altText.js +2 -0
- package/dist/runtime/editor/features/analyze/analyzers/headingStructure.js +3 -0
- package/dist/runtime/editor/features/analyze/analyzers/helpers/hashString.d.ts +7 -0
- package/dist/runtime/editor/features/analyze/analyzers/helpers/hashString.js +8 -0
- package/dist/runtime/editor/features/analyze/analyzers/readability.js +6 -12
- package/dist/runtime/editor/features/analyze/analyzers/types.d.ts +20 -0
- package/dist/runtime/editor/features/analyze/index.vue +458 -0
- package/dist/runtime/editor/features/analyze/types.d.ts +12 -0
- package/dist/runtime/editor/features/artboard/Overview/index.vue +37 -4
- package/dist/runtime/editor/features/artboard/Renderer.vue +79 -9
- package/dist/runtime/editor/features/artboard/Scrollbar/index.vue +84 -0
- package/dist/runtime/editor/features/block-scheduler/Dialog/index.vue +1 -1
- package/dist/runtime/editor/features/block-scheduler/index.vue +114 -0
- package/dist/runtime/editor/features/breadcrumbs/index.vue +150 -0
- package/dist/runtime/editor/features/changelog/Dialog/index.vue +62 -7
- package/dist/runtime/editor/features/changelog/changelog.json +9 -1
- package/dist/runtime/editor/features/clipboard/index.vue +153 -1
- package/dist/runtime/editor/features/command-palette/Palette/Item/index.vue +39 -16
- package/dist/runtime/editor/features/command-palette/Palette/index.vue +24 -130
- package/dist/runtime/editor/features/comments/index.vue +235 -0
- package/dist/runtime/editor/features/complex-options/index.vue +4 -1
- package/dist/runtime/editor/features/debug/Main.vue +1 -1
- package/dist/runtime/editor/features/debug/Section/Features.vue +2 -4
- package/dist/runtime/editor/features/debug/index.vue +168 -0
- package/dist/runtime/editor/features/dev-mode/index.vue +92 -27
- package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +1 -1
- package/dist/runtime/editor/features/dragging-overlay/index.vue +330 -0
- package/dist/runtime/editor/features/edit/index.vue +15 -17
- package/dist/runtime/editor/features/edit-form/Frame/index.vue +21 -4
- package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.d.vue.ts +10 -1
- package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue +47 -5
- package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue.d.ts +10 -1
- package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/ChunkOverlay.vue +77 -0
- package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/index.vue +55 -56
- package/dist/runtime/editor/features/editable-field/Overlay/index.vue +417 -8
- package/dist/runtime/editor/features/editable-mask/index.vue +9 -0
- package/dist/runtime/editor/features/entity-title/index.vue +40 -56
- package/dist/runtime/editor/features/fragments/Dialog/index.vue +90 -0
- package/dist/runtime/editor/features/help/Shortcuts/index.vue +71 -0
- package/dist/runtime/editor/features/help/index.vue +17 -0
- package/dist/runtime/editor/features/highlights/Renderer/fragment.glsl +89 -0
- package/dist/runtime/editor/features/highlights/Renderer/index.vue +408 -0
- package/dist/runtime/editor/features/highlights/Renderer/vertex.glsl +87 -0
- package/dist/runtime/editor/features/highlights/index.d.vue.ts +3 -0
- package/dist/runtime/editor/features/highlights/index.vue +20 -0
- package/dist/runtime/editor/features/highlights/index.vue.d.ts +3 -0
- package/dist/runtime/editor/features/history/List/index.vue +209 -0
- package/dist/runtime/editor/features/history/index.vue +0 -1
- package/dist/runtime/editor/features/hover/Renderer/index.vue +1 -1
- package/dist/runtime/editor/features/hover/Renderer/vertex.glsl +1 -1
- package/dist/runtime/editor/features/import-existing/Dialog/index.vue +18 -0
- package/dist/runtime/editor/features/media-library/Library/index.vue +10 -30
- package/dist/runtime/editor/features/media-library/index.vue +331 -0
- package/dist/runtime/editor/features/options/Form/Checkbox/index.vue +1 -1
- package/dist/runtime/editor/features/options/Form/Checkboxes/index.vue +1 -1
- package/dist/runtime/editor/features/options/Form/ComplexType/index.vue +6 -2
- package/dist/runtime/editor/features/options/Form/Item.vue +21 -18
- package/dist/runtime/editor/features/options/Form/Radios/index.d.vue.ts +6 -0
- package/dist/runtime/editor/features/options/Form/Radios/index.vue +25 -6
- package/dist/runtime/editor/features/options/Form/Radios/index.vue.d.ts +6 -0
- package/dist/runtime/editor/features/options/Form/index.vue +1 -4
- package/dist/runtime/editor/features/options/index.vue +729 -0
- package/dist/runtime/editor/features/ownership/Banner/index.vue +9 -8
- package/dist/runtime/editor/features/ownership/index.vue +1 -1
- package/dist/runtime/editor/features/preview-grant/QrCode/index.vue +8 -3
- package/dist/runtime/editor/features/publish/Dialog/Item.vue +18 -20
- package/dist/runtime/editor/features/publish/Dialog/index.vue +5 -1
- package/dist/runtime/editor/features/publish/index.vue +835 -0
- package/dist/runtime/editor/features/publish/types.d.ts +5 -1
- package/dist/runtime/editor/features/referenced-entities/List/Item/index.d.vue.ts +4 -0
- package/dist/runtime/editor/features/referenced-entities/List/Item/index.vue +81 -0
- package/dist/runtime/editor/features/referenced-entities/List/Item/index.vue.d.ts +4 -0
- package/dist/runtime/editor/features/referenced-entities/List/index.d.vue.ts +11 -0
- package/dist/runtime/editor/features/referenced-entities/List/index.vue +78 -0
- package/dist/runtime/editor/features/referenced-entities/List/index.vue.d.ts +11 -0
- package/dist/runtime/editor/features/referenced-entities/index.d.vue.ts +3 -0
- package/dist/runtime/editor/features/referenced-entities/index.vue +36 -0
- package/dist/runtime/editor/features/referenced-entities/index.vue.d.ts +3 -0
- package/dist/runtime/editor/features/referenced-entities/types.d.ts +13 -0
- package/dist/runtime/editor/features/responsive-preview/Frame/index.vue +188 -0
- package/dist/runtime/editor/features/search/Overlay/Results/Page/index.vue +1 -1
- package/dist/runtime/editor/features/search/index.vue +511 -0
- package/dist/runtime/editor/features/selection/AddButtons/Renderer/index.vue +58 -0
- package/dist/runtime/editor/features/selection/index.vue +47 -15
- package/dist/runtime/editor/features/settings/Dialog/FeatureSetting/index.vue +23 -0
- package/dist/runtime/editor/features/settings/Dialog/index.vue +5 -2
- package/dist/runtime/editor/features/settings/index.vue +152 -0
- package/dist/runtime/editor/features/structure/List/Item/index.vue +7 -0
- package/dist/runtime/editor/features/structure/index.vue +178 -0
- package/dist/runtime/editor/features/templates/ManageDialog/Item.vue +3 -3
- package/dist/runtime/editor/features/templates/ManageDialog/index.vue +24 -3
- package/dist/runtime/editor/features/theme/index.vue +94 -0
- package/dist/runtime/editor/features/touch-action-bar/Bar/index.vue +34 -0
- package/dist/runtime/editor/features/tour/Overlay/index.vue +243 -13
- package/dist/runtime/editor/features/transform/Dialog/index.vue +132 -1
- package/dist/runtime/editor/features/translations/Banner/index.d.vue.ts +14 -1
- package/dist/runtime/editor/features/translations/Banner/index.vue +139 -12
- package/dist/runtime/editor/features/translations/Banner/index.vue.d.ts +14 -1
- package/dist/runtime/editor/features/translations/CsvDialog/Export/index.d.vue.ts +3 -0
- package/dist/runtime/editor/features/translations/CsvDialog/Export/index.vue +272 -0
- package/dist/runtime/editor/features/translations/CsvDialog/Export/index.vue.d.ts +3 -0
- package/dist/runtime/editor/features/translations/CsvDialog/Import/index.d.vue.ts +10 -0
- package/dist/runtime/editor/features/translations/CsvDialog/Import/index.vue +382 -0
- package/dist/runtime/editor/features/translations/CsvDialog/Import/index.vue.d.ts +10 -0
- package/dist/runtime/editor/features/translations/CsvDialog/csv.d.ts +22 -0
- package/dist/runtime/editor/features/translations/CsvDialog/csv.js +50 -0
- package/dist/runtime/editor/features/translations/CsvDialog/index.d.vue.ts +10 -0
- package/dist/runtime/editor/features/translations/CsvDialog/index.vue +37 -0
- package/dist/runtime/editor/features/translations/CsvDialog/index.vue.d.ts +10 -0
- package/dist/runtime/editor/features/translations/CsvDialog/po.d.ts +7 -0
- package/dist/runtime/editor/features/translations/CsvDialog/po.js +36 -0
- package/dist/runtime/editor/features/translations/SelectionTable/index.d.vue.ts +37 -0
- package/dist/runtime/editor/features/translations/SelectionTable/index.vue +102 -0
- package/dist/runtime/editor/features/translations/SelectionTable/index.vue.d.ts +37 -0
- package/dist/runtime/editor/features/translations/TranslateDialog/index.d.vue.ts +7 -0
- package/dist/runtime/editor/features/translations/TranslateDialog/index.vue +294 -0
- package/dist/runtime/editor/features/translations/TranslateDialog/index.vue.d.ts +7 -0
- package/dist/runtime/editor/features/translations/index.vue +276 -6
- package/dist/runtime/editor/features/translations/types.d.ts +47 -0
- package/dist/runtime/editor/features/validations/Overlay/index.vue +130 -0
- package/dist/runtime/editor/features/validations/index.vue +41 -0
- package/dist/runtime/editor/features/{assistant → workspace}/Overlay/index.d.vue.ts +2 -4
- package/dist/runtime/editor/features/workspace/Overlay/index.vue +177 -0
- package/dist/runtime/editor/features/{assistant → workspace}/Overlay/index.vue.d.ts +2 -4
- package/dist/runtime/editor/features/workspace/index.d.vue.ts +3 -0
- package/dist/runtime/editor/features/workspace/index.vue +46 -0
- package/dist/runtime/editor/features/workspace/index.vue.d.ts +3 -0
- package/dist/runtime/editor/features/workspace/types.d.ts +59 -0
- package/dist/runtime/editor/features/workspace/types.js +0 -0
- package/dist/runtime/editor/icons/svg/spinner.svg +2 -2
- package/dist/runtime/editor/plugins/ContextMenu/Menu/index.vue +21 -7
- package/dist/runtime/editor/plugins/ContextMenu/index.vue +4 -0
- package/dist/runtime/editor/plugins/ItemAction/index.d.vue.ts +9 -2
- package/dist/runtime/editor/plugins/ItemAction/index.vue +26 -16
- package/dist/runtime/editor/plugins/ItemAction/index.vue.d.ts +9 -2
- package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue +24 -26
- package/dist/runtime/editor/plugins/Sidebar/index.vue +612 -27
- package/dist/runtime/editor/plugins/ToolbarButton/index.d.vue.ts +13 -84
- package/dist/runtime/editor/plugins/ToolbarButton/index.vue +36 -22
- package/dist/runtime/editor/plugins/ToolbarButton/index.vue.d.ts +13 -84
- package/dist/runtime/editor/plugins/ViewOption/index.vue +13 -14
- package/dist/runtime/editor/providers/blocks.js +1 -0
- package/dist/runtime/editor/providers/cache.d.ts +23 -0
- package/dist/runtime/editor/providers/cache.js +29 -0
- package/dist/runtime/editor/providers/directive.d.ts +25 -0
- package/dist/runtime/editor/providers/directive.js +20 -0
- package/dist/runtime/editor/providers/fieldValue.d.ts +5 -5
- package/dist/runtime/editor/providers/fieldValue.js +8 -7
- package/dist/runtime/editor/providers/plugin.d.ts +14 -0
- package/dist/runtime/editor/providers/plugin.js +9 -0
- package/dist/runtime/editor/providers/readability.js +1 -1
- package/dist/runtime/editor/providers/selection.js +1 -1
- package/dist/runtime/editor/providers/state.d.ts +1 -0
- package/dist/runtime/editor/providers/state.js +1 -0
- package/dist/runtime/editor/providers/texts.js +11 -1
- package/dist/runtime/editor/providers/ui.d.ts +11 -0
- package/dist/runtime/editor/providers/ui.js +5 -1
- package/dist/runtime/editor/translations/de.json +316 -56
- package/dist/runtime/editor/translations/fr.json +310 -50
- package/dist/runtime/editor/translations/gsw_CH.json +311 -51
- package/dist/runtime/editor/translations/it.json +310 -50
- package/dist/runtime/editor/types/app.d.ts +2 -0
- package/dist/runtime/editor/types/definitions.d.ts +8 -0
- package/dist/runtime/editor/types/field.d.ts +1 -0
- package/dist/runtime/editor/types/state.d.ts +10 -0
- package/dist/runtime/editor/types/ui.d.ts +3 -1
- package/dist/runtime/helpers/tw.d.ts +15 -0
- package/dist/runtime/helpers/tw.js +3 -0
- package/dist/runtime/types/field.d.ts +1 -0
- package/dist/shared/{editor.DsGJIlGn.d.mts → editor.BTOBvmaz.d.mts} +20 -3
- package/dist/types.d.mts +1 -1
- package/package.json +16 -3
- package/dist/runtime/editor/features/analyze/Renderer/fragment.glsl +0 -74
- package/dist/runtime/editor/features/analyze/Renderer/index.d.vue.ts +0 -24
- package/dist/runtime/editor/features/analyze/Renderer/index.vue +0 -330
- package/dist/runtime/editor/features/analyze/Renderer/index.vue.d.ts +0 -24
- package/dist/runtime/editor/features/analyze/Renderer/vertex.glsl +0 -94
- package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.d.vue.ts +0 -7
- package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.vue +0 -17
- package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.vue.d.ts +0 -7
- package/dist/runtime/editor/features/assistant/Overlay/index.vue +0 -108
- package/dist/runtime/editor/features/assistant/docs.md +0 -7
- package/dist/runtime/editor/features/assistant/index.vue +0 -66
- package/dist/runtime/editor/features/assistant/types.d.ts +0 -37
- package/dist/runtime/editor/features/media-library/Library/FilterSelect/index.vue +0 -168
- package/dist/runtime/editor/providers/fieldValueAdapterTypes.d.ts +0 -13
- /package/dist/{runtime/editor/features/assistant → modules/iframes/runtime}/types.js +0 -0
- /package/dist/runtime/editor/components/Actions/{ItemDropdown.d.vue.ts → ItemDropdown/index.d.vue.ts} +0 -0
- /package/dist/runtime/editor/components/Actions/{ItemDropdown.vue.d.ts → ItemDropdown/index.vue.d.ts} +0 -0
- /package/dist/runtime/editor/{features/media-library/Library → components/PluginConfigFormInline}/FilterSelect/index.d.vue.ts +0 -0
- /package/dist/runtime/editor/{features/media-library/Library → components/PluginConfigFormInline}/FilterSelect/index.vue.d.ts +0 -0
- /package/dist/runtime/editor/features/{assistant → highlights/Renderer}/index.d.vue.ts +0 -0
- /package/dist/runtime/editor/features/{assistant → highlights/Renderer}/index.vue.d.ts +0 -0
- /package/dist/runtime/editor/{providers/fieldValueAdapterTypes.js → features/referenced-entities/types.js} +0 -0
|
@@ -34,11 +34,11 @@ const zIndexKeys = [
|
|
|
34
34
|
"tour-overlay",
|
|
35
35
|
"tour-item",
|
|
36
36
|
"context-menu",
|
|
37
|
-
"search",
|
|
38
37
|
"resizable",
|
|
39
38
|
"transform-overlay",
|
|
40
|
-
"overlay",
|
|
41
39
|
"sidebar-detached",
|
|
40
|
+
"search",
|
|
41
|
+
"overlay",
|
|
42
42
|
"form-overlay",
|
|
43
43
|
"form-overlay-header",
|
|
44
44
|
"dialog",
|
|
@@ -56,7 +56,7 @@ const zIndex = zIndexKeys.reduce((acc, key, index) => {
|
|
|
56
56
|
return acc;
|
|
57
57
|
}, {});
|
|
58
58
|
const tailwindConfig = {
|
|
59
|
-
content: [],
|
|
59
|
+
content: ["./src/runtime/**/*.vue", "./src/modules/*/runtime/**/*.vue"],
|
|
60
60
|
corePlugins: {
|
|
61
61
|
preflight: false,
|
|
62
62
|
container: false
|
|
@@ -235,6 +235,10 @@ type DefinitionOptionRadiosGridOption = {
|
|
|
235
235
|
* The label displayed for this option.
|
|
236
236
|
*/
|
|
237
237
|
label: string;
|
|
238
|
+
/**
|
|
239
|
+
* Optional description providing additional context for this option.
|
|
240
|
+
*/
|
|
241
|
+
description?: string;
|
|
238
242
|
};
|
|
239
243
|
type DefinitionOptionRadiosGrid = {
|
|
240
244
|
/**
|
|
@@ -265,6 +269,10 @@ type DefinitionOptionRadiosColorsOption = {
|
|
|
265
269
|
* The label displayed for this option.
|
|
266
270
|
*/
|
|
267
271
|
label: string;
|
|
272
|
+
/**
|
|
273
|
+
* Optional description providing additional context for this option.
|
|
274
|
+
*/
|
|
275
|
+
description?: string;
|
|
268
276
|
};
|
|
269
277
|
type DefinitionOptionRadiosColors = {
|
|
270
278
|
/**
|
|
@@ -288,9 +296,13 @@ type DefinitionOptionRadiosRadios = {
|
|
|
288
296
|
/**
|
|
289
297
|
* Available options.
|
|
290
298
|
*
|
|
291
|
-
* Key is the option value, value is the display label
|
|
299
|
+
* Key is the option value, value is the display label or an object with
|
|
300
|
+
* label and optional description.
|
|
292
301
|
*/
|
|
293
|
-
options: Record<string, string
|
|
302
|
+
options: Record<string, string | {
|
|
303
|
+
label: string;
|
|
304
|
+
description?: string;
|
|
305
|
+
}>;
|
|
294
306
|
};
|
|
295
307
|
type DefinitionOptionRadiosIconsOptionBase<Icon extends string = string> = {
|
|
296
308
|
/**
|
|
@@ -303,6 +315,10 @@ type DefinitionOptionRadiosIconsOptionBase<Icon extends string = string> = {
|
|
|
303
315
|
* The label displayed for this option.
|
|
304
316
|
*/
|
|
305
317
|
label: string;
|
|
318
|
+
/**
|
|
319
|
+
* Optional description providing additional context for this option.
|
|
320
|
+
*/
|
|
321
|
+
description?: string;
|
|
306
322
|
};
|
|
307
323
|
type DefinitionOptionRadiosIconsBase<Icon extends string = string> = {
|
|
308
324
|
/**
|
package/dist/module.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NuxtModule } from 'nuxt/schema';
|
|
2
|
-
import { M as ModuleOptions } from './shared/editor.
|
|
3
|
-
export { a as ModuleHooks } from './shared/editor.
|
|
2
|
+
import { M as ModuleOptions } from './shared/editor.BTOBvmaz.mjs';
|
|
3
|
+
export { a as ModuleHooks } from './shared/editor.BTOBvmaz.mjs';
|
|
4
4
|
import 'consola';
|
|
5
5
|
import '../dist/global/types/definitions.js';
|
|
6
6
|
import '../dist/global/types/theme.js';
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveAlias, resolveFiles, createResolver, addComponent, addImports, addTemplate, useLogger, defineNuxtModule, addPlugin, addBuildPlugin, updateTemplates } from '@nuxt/kit';
|
|
1
|
+
import { resolveAlias, resolveFiles, createResolver, addComponent, addImports, addTemplate, useLogger, defineNuxtModule, addPlugin, addBuildPlugin, addVitePlugin, updateTemplates } from '@nuxt/kit';
|
|
2
2
|
import path__default, { basename, dirname as dirname$1, resolve as resolve$1, join } from 'node:path';
|
|
3
3
|
import { createUnplugin } from 'unplugin';
|
|
4
4
|
import MagicString from 'magic-string';
|
|
@@ -14,11 +14,12 @@ import { LANGUAGES, BK_VISIBLE_LANGUAGES, BK_HIDDEN_GLOBALLY } from './global/co
|
|
|
14
14
|
import { createRequire } from 'node:module';
|
|
15
15
|
import { d as defineCodeTemplate, a as defineFileTemplate, w as withHelper } from './shared/editor.6D5vApr0.mjs';
|
|
16
16
|
import { defu, createDefu } from 'defu';
|
|
17
|
+
import * as acorn from 'acorn';
|
|
17
18
|
import 'typescript';
|
|
18
19
|
import 'oxc-walker';
|
|
19
20
|
|
|
20
21
|
const name = "@blokkli/editor";
|
|
21
|
-
const version = "2.0.0-alpha.
|
|
22
|
+
const version = "2.0.0-alpha.54";
|
|
22
23
|
|
|
23
24
|
function validateOption(optionKey, option, icons) {
|
|
24
25
|
const errors = [];
|
|
@@ -1211,6 +1212,7 @@ class ModuleContext {
|
|
|
1211
1212
|
featureFragments = /* @__PURE__ */ new Set();
|
|
1212
1213
|
complexOptionTypes = /* @__PURE__ */ new Map();
|
|
1213
1214
|
cssFiles = [];
|
|
1215
|
+
contentPaths = [];
|
|
1214
1216
|
additionalIcons = [];
|
|
1215
1217
|
collectors = [];
|
|
1216
1218
|
addCSS(filePath) {
|
|
@@ -1219,6 +1221,21 @@ class ModuleContext {
|
|
|
1219
1221
|
getCSSFiles() {
|
|
1220
1222
|
return this.cssFiles;
|
|
1221
1223
|
}
|
|
1224
|
+
/**
|
|
1225
|
+
* Register a directory containing Vue files that should participate in
|
|
1226
|
+
* blökkli's CSS build pipeline. Files in these directories will:
|
|
1227
|
+
* - Have their Tailwind utility classes generated and included in the output
|
|
1228
|
+
* - Have their template class names mangled (_bk_ prefix) at build time
|
|
1229
|
+
* - Have their <style> blocks processed through blökkli's PostCSS pipeline
|
|
1230
|
+
*
|
|
1231
|
+
* @param dirPath - Absolute path to a directory containing Vue components
|
|
1232
|
+
*/
|
|
1233
|
+
addContentPath(dirPath) {
|
|
1234
|
+
this.contentPaths.push(dirPath);
|
|
1235
|
+
}
|
|
1236
|
+
getContentPaths() {
|
|
1237
|
+
return this.contentPaths;
|
|
1238
|
+
}
|
|
1222
1239
|
addIcon(...names) {
|
|
1223
1240
|
this.additionalIcons.push(...names);
|
|
1224
1241
|
}
|
|
@@ -1480,6 +1497,7 @@ const USED_MATERIAL_ICONS = [
|
|
|
1480
1497
|
"bk_mdi_check",
|
|
1481
1498
|
"bk_mdi_check_box",
|
|
1482
1499
|
"bk_mdi_check_box_outline_blank",
|
|
1500
|
+
"bk_mdi_check_circle",
|
|
1483
1501
|
"bk_mdi_chevron_backward",
|
|
1484
1502
|
"bk_mdi_chevron_forward",
|
|
1485
1503
|
"bk_mdi_chevron_left",
|
|
@@ -1494,6 +1512,7 @@ const USED_MATERIAL_ICONS = [
|
|
|
1494
1512
|
"bk_mdi_delete",
|
|
1495
1513
|
"bk_mdi_dock_to_left",
|
|
1496
1514
|
"bk_mdi_dock_to_right",
|
|
1515
|
+
"bk_mdi_docs",
|
|
1497
1516
|
"bk_mdi_done_all",
|
|
1498
1517
|
"bk_mdi_donut_large",
|
|
1499
1518
|
"bk_mdi_drag_pan",
|
|
@@ -1502,7 +1521,11 @@ const USED_MATERIAL_ICONS = [
|
|
|
1502
1521
|
"bk_mdi_exit_to_app",
|
|
1503
1522
|
"bk_mdi_expand_all",
|
|
1504
1523
|
"bk_mdi_extension",
|
|
1524
|
+
"bk_mdi_feature_search",
|
|
1525
|
+
"bk_mdi_fit_screen",
|
|
1505
1526
|
"bk_mdi_forum",
|
|
1527
|
+
"bk_mdi_fullscreen",
|
|
1528
|
+
"bk_mdi_fullscreen_exit",
|
|
1506
1529
|
"bk_mdi_function",
|
|
1507
1530
|
"bk_mdi_grid_view",
|
|
1508
1531
|
"bk_mdi_grid_view-fill",
|
|
@@ -1514,6 +1537,7 @@ const USED_MATERIAL_ICONS = [
|
|
|
1514
1537
|
"bk_mdi_info-fill",
|
|
1515
1538
|
"bk_mdi_ink_selection",
|
|
1516
1539
|
"bk_mdi_inventory",
|
|
1540
|
+
"bk_mdi_join",
|
|
1517
1541
|
"bk_mdi_keyboard_arrow_down",
|
|
1518
1542
|
"bk_mdi_keyboard_command_key",
|
|
1519
1543
|
"bk_mdi_lists",
|
|
@@ -1528,6 +1552,7 @@ const USED_MATERIAL_ICONS = [
|
|
|
1528
1552
|
"bk_mdi_person",
|
|
1529
1553
|
"bk_mdi_person-fill",
|
|
1530
1554
|
"bk_mdi_pie_chart",
|
|
1555
|
+
"bk_mdi_play_circle",
|
|
1531
1556
|
"bk_mdi_priority_high",
|
|
1532
1557
|
"bk_mdi_publish",
|
|
1533
1558
|
"bk_mdi_qr_code",
|
|
@@ -1558,6 +1583,9 @@ const USED_MATERIAL_ICONS = [
|
|
|
1558
1583
|
"bk_mdi_text_compare",
|
|
1559
1584
|
"bk_mdi_text_select_end",
|
|
1560
1585
|
"bk_mdi_texture",
|
|
1586
|
+
"bk_mdi_thumb_down",
|
|
1587
|
+
"bk_mdi_thumb_up",
|
|
1588
|
+
"bk_mdi_thumbs_up_double",
|
|
1561
1589
|
"bk_mdi_title",
|
|
1562
1590
|
"bk_mdi_track_changes",
|
|
1563
1591
|
"bk_mdi_trackpad_input",
|
|
@@ -1567,10 +1595,10 @@ const USED_MATERIAL_ICONS = [
|
|
|
1567
1595
|
"bk_mdi_upload",
|
|
1568
1596
|
"bk_mdi_video_camera_back",
|
|
1569
1597
|
"bk_mdi_visibility",
|
|
1570
|
-
"bk_mdi_visibility-fill",
|
|
1571
1598
|
"bk_mdi_visibility_off",
|
|
1572
1599
|
"bk_mdi_warning",
|
|
1573
1600
|
"bk_mdi_web_traffic",
|
|
1601
|
+
"bk_mdi_workspaces",
|
|
1574
1602
|
"bk_mdi_zoom_in"
|
|
1575
1603
|
];
|
|
1576
1604
|
|
|
@@ -1832,31 +1860,70 @@ export default adapterExtensions
|
|
|
1832
1860
|
}
|
|
1833
1861
|
);
|
|
1834
1862
|
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1863
|
+
const processors = /* @__PURE__ */ new Map();
|
|
1864
|
+
function postcssMangleClasses(selectorParser) {
|
|
1865
|
+
const plugin = () => ({
|
|
1866
|
+
postcssPlugin: "postcss-mangle-blokkli-classes",
|
|
1867
|
+
OnceExit(root) {
|
|
1868
|
+
root.walkRules((rule) => {
|
|
1869
|
+
if (rule.parent && rule.parent.type === "atrule" && rule.parent.name === "keyframes") {
|
|
1870
|
+
return;
|
|
1871
|
+
}
|
|
1872
|
+
rule.selector = selectorParser((selectors) => {
|
|
1873
|
+
selectors.each((selector) => {
|
|
1874
|
+
let hasMangled = false;
|
|
1875
|
+
let hasBk = false;
|
|
1876
|
+
selector.walkClasses((classNode) => {
|
|
1877
|
+
if (classNode.value === "bk") {
|
|
1878
|
+
hasBk = true;
|
|
1879
|
+
return;
|
|
1880
|
+
}
|
|
1881
|
+
if (classNode.value.startsWith("bk-")) return;
|
|
1882
|
+
classNode.value = "_bk_" + classNode.value;
|
|
1883
|
+
hasMangled = true;
|
|
1884
|
+
});
|
|
1885
|
+
if (hasMangled && !hasBk) {
|
|
1886
|
+
const descendant = selector.clone();
|
|
1887
|
+
descendant.prepend(selectorParser.combinator({ value: " " }));
|
|
1888
|
+
descendant.prepend(selectorParser.className({ value: "bk" }));
|
|
1889
|
+
const compound = selector.clone();
|
|
1890
|
+
compound.prepend(selectorParser.className({ value: "bk" }));
|
|
1891
|
+
selector.replaceWith(descendant, compound);
|
|
1892
|
+
}
|
|
1893
|
+
});
|
|
1894
|
+
}).processSync(rule.selector);
|
|
1895
|
+
});
|
|
1896
|
+
}
|
|
1897
|
+
});
|
|
1898
|
+
plugin.postcss = true;
|
|
1899
|
+
return plugin;
|
|
1900
|
+
}
|
|
1901
|
+
async function processCSS(css, from, contentPaths) {
|
|
1902
|
+
const key = contentPaths?.join(",") || "";
|
|
1903
|
+
if (!processors.has(key)) {
|
|
1904
|
+
processors.set(key, await createProcessor(contentPaths));
|
|
1839
1905
|
}
|
|
1906
|
+
const processor = processors.get(key);
|
|
1840
1907
|
const result = await processor.process(css, { from: from || "module.css" });
|
|
1841
1908
|
return result.css;
|
|
1842
1909
|
}
|
|
1843
1910
|
function resetProcessor() {
|
|
1844
|
-
|
|
1911
|
+
processors.clear();
|
|
1845
1912
|
}
|
|
1846
|
-
async function createProcessor() {
|
|
1913
|
+
async function createProcessor(contentPaths) {
|
|
1847
1914
|
const _require = createRequire(import.meta.url);
|
|
1848
1915
|
try {
|
|
1849
1916
|
const postcss = _require("postcss");
|
|
1850
1917
|
const { default: tailwindConfig } = await import('./chunks/tailwindConfig.mjs');
|
|
1918
|
+
const content = contentPaths?.length ? contentPaths.map((dir) => dir + "/**/*.vue") : [{ raw: " ", extension: "html" }];
|
|
1851
1919
|
const plugins = [
|
|
1852
1920
|
_require("postcss-import"),
|
|
1853
1921
|
_require("tailwindcss/nesting"),
|
|
1854
1922
|
_require("tailwindcss")({
|
|
1855
1923
|
...tailwindConfig,
|
|
1856
|
-
|
|
1857
|
-
// @apply directives are resolved regardless of content scanning.
|
|
1858
|
-
content: [{ raw: " ", extension: "html" }]
|
|
1924
|
+
content
|
|
1859
1925
|
}),
|
|
1926
|
+
postcssMangleClasses(_require("postcss-selector-parser")),
|
|
1860
1927
|
// Same scoping rules as postcss.config.cjs: scope selectors to .bk
|
|
1861
1928
|
// and rename Tailwind CSS variables from --tw-* to --bk-tw-*.
|
|
1862
1929
|
_require("postcss-replace")({
|
|
@@ -1911,6 +1978,24 @@ ${e.message}`
|
|
|
1911
1978
|
moduleCSS = "\n/* Module CSS */\n" + processed.join("\n");
|
|
1912
1979
|
}
|
|
1913
1980
|
}
|
|
1981
|
+
const contentPaths = ctx.getContentPaths();
|
|
1982
|
+
if (contentPaths.length > 0) {
|
|
1983
|
+
try {
|
|
1984
|
+
const utilities = await processCSS(
|
|
1985
|
+
"@tailwind utilities;",
|
|
1986
|
+
"module-utilities.css",
|
|
1987
|
+
contentPaths
|
|
1988
|
+
);
|
|
1989
|
+
if (utilities.trim()) {
|
|
1990
|
+
moduleCSS += "\n/* Module Utilities */\n" + utilities;
|
|
1991
|
+
}
|
|
1992
|
+
} catch (e) {
|
|
1993
|
+
logger$1.error(
|
|
1994
|
+
`Failed to generate utilities for module content paths:
|
|
1995
|
+
${e.message}`
|
|
1996
|
+
);
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1914
1999
|
return `
|
|
1915
2000
|
@import url("${cssFilePath}");
|
|
1916
2001
|
|
|
@@ -3697,9 +3782,8 @@ const complexOptionTypes = defineCodeTemplate(
|
|
|
3697
3782
|
const entries = types.map(
|
|
3698
3783
|
(t) => ` '${t.id}': {
|
|
3699
3784
|
editorComponent: defineAsyncComponent(() => import('${ctx.helper.toModuleBuildRelative(t.editorComponentPath)}')),
|
|
3700
|
-
|
|
3785
|
+
editTitle: ${JSON.stringify(t.editTitle)},
|
|
3701
3786
|
editorIcon: '${t.editorIcon}',
|
|
3702
|
-
editorTitle: '${t.editorTitle || t.editorButtonLabel}',
|
|
3703
3787
|
}`
|
|
3704
3788
|
).join(",\n");
|
|
3705
3789
|
return `import { defineAsyncComponent } from 'vue'
|
|
@@ -3728,9 +3812,8 @@ ${entries}
|
|
|
3728
3812
|
|
|
3729
3813
|
export const COMPLEX_OPTION_TYPES: Record<string, {
|
|
3730
3814
|
editorComponent: Component
|
|
3731
|
-
|
|
3815
|
+
editTitle: { key: string; defaultTranslation: string }
|
|
3732
3816
|
editorIcon: BlokkliIcon
|
|
3733
|
-
editorTitle: string
|
|
3734
3817
|
}>`;
|
|
3735
3818
|
},
|
|
3736
3819
|
{
|
|
@@ -3938,6 +4021,136 @@ class ThemeData {
|
|
|
3938
4021
|
}
|
|
3939
4022
|
}
|
|
3940
4023
|
|
|
4024
|
+
function mangleClassName(name) {
|
|
4025
|
+
if (name === "bk" || name.startsWith("bk-")) return name;
|
|
4026
|
+
return "_bk_" + name;
|
|
4027
|
+
}
|
|
4028
|
+
function mangleClassString(str) {
|
|
4029
|
+
return str.split(/\s+/).filter(Boolean).map(mangleClassName).join(" ");
|
|
4030
|
+
}
|
|
4031
|
+
|
|
4032
|
+
function collectClassReplacements(node, out) {
|
|
4033
|
+
switch (node.type) {
|
|
4034
|
+
case "Literal":
|
|
4035
|
+
if (typeof node.value === "string" && node.value) {
|
|
4036
|
+
const mangled = mangleClassString(node.value);
|
|
4037
|
+
if (mangled !== node.value) {
|
|
4038
|
+
out.push({ start: node.start + 1, end: node.end - 1, value: mangled });
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
break;
|
|
4042
|
+
case "ObjectExpression":
|
|
4043
|
+
for (const prop of node.properties) {
|
|
4044
|
+
if (prop.type === "Property") {
|
|
4045
|
+
if (prop.key.type === "Literal" && typeof prop.key.value === "string") {
|
|
4046
|
+
const mangled = mangleClassString(prop.key.value);
|
|
4047
|
+
if (mangled !== prop.key.value) {
|
|
4048
|
+
out.push({
|
|
4049
|
+
start: prop.key.start + 1,
|
|
4050
|
+
end: prop.key.end - 1,
|
|
4051
|
+
value: mangled
|
|
4052
|
+
});
|
|
4053
|
+
}
|
|
4054
|
+
} else if (prop.computed) {
|
|
4055
|
+
collectClassReplacements(prop.key, out);
|
|
4056
|
+
}
|
|
4057
|
+
}
|
|
4058
|
+
}
|
|
4059
|
+
break;
|
|
4060
|
+
case "ArrayExpression":
|
|
4061
|
+
for (const el of node.elements) {
|
|
4062
|
+
if (el) collectClassReplacements(el, out);
|
|
4063
|
+
}
|
|
4064
|
+
break;
|
|
4065
|
+
case "ConditionalExpression":
|
|
4066
|
+
collectClassReplacements(node.consequent, out);
|
|
4067
|
+
collectClassReplacements(node.alternate, out);
|
|
4068
|
+
break;
|
|
4069
|
+
case "LogicalExpression":
|
|
4070
|
+
collectClassReplacements(node.left, out);
|
|
4071
|
+
collectClassReplacements(node.right, out);
|
|
4072
|
+
break;
|
|
4073
|
+
case "CallExpression":
|
|
4074
|
+
if (node.callee.type === "Identifier" && node.callee.name === "tw") {
|
|
4075
|
+
for (const arg of node.arguments) {
|
|
4076
|
+
if (arg.type === "Literal" && typeof arg.value === "string") {
|
|
4077
|
+
const mangled = mangleClassString(arg.value);
|
|
4078
|
+
if (mangled !== arg.value) {
|
|
4079
|
+
out.push({
|
|
4080
|
+
start: arg.start + 1,
|
|
4081
|
+
end: arg.end - 1,
|
|
4082
|
+
value: mangled
|
|
4083
|
+
});
|
|
4084
|
+
}
|
|
4085
|
+
}
|
|
4086
|
+
}
|
|
4087
|
+
}
|
|
4088
|
+
break;
|
|
4089
|
+
}
|
|
4090
|
+
}
|
|
4091
|
+
function mangleClassExpression(expr) {
|
|
4092
|
+
let ast;
|
|
4093
|
+
try {
|
|
4094
|
+
ast = acorn.parse("(" + expr + ")", {
|
|
4095
|
+
ecmaVersion: 2022,
|
|
4096
|
+
sourceType: "module"
|
|
4097
|
+
});
|
|
4098
|
+
} catch {
|
|
4099
|
+
return expr;
|
|
4100
|
+
}
|
|
4101
|
+
const body = ast.body[0];
|
|
4102
|
+
if (!body || body.type !== "ExpressionStatement") return expr;
|
|
4103
|
+
const replacements = [];
|
|
4104
|
+
collectClassReplacements(body.expression, replacements);
|
|
4105
|
+
if (replacements.length === 0) return expr;
|
|
4106
|
+
replacements.sort((a, b) => b.start - a.start);
|
|
4107
|
+
let result = expr;
|
|
4108
|
+
for (const r of replacements) {
|
|
4109
|
+
result = result.slice(0, r.start - 1) + r.value + result.slice(r.end - 1);
|
|
4110
|
+
}
|
|
4111
|
+
return result;
|
|
4112
|
+
}
|
|
4113
|
+
function mangleTemplateAndScript(code) {
|
|
4114
|
+
let result = code;
|
|
4115
|
+
result = result.replace(
|
|
4116
|
+
/(?<![-:.])\bclass="([^"]*)"/g,
|
|
4117
|
+
(_match, value) => `class="${mangleClassString(value)}"`
|
|
4118
|
+
);
|
|
4119
|
+
result = result.replace(
|
|
4120
|
+
/\btw\(\s*(['"])([\s\S]*?)\1\s*\)/g,
|
|
4121
|
+
(_match, quote, value) => `tw(${quote}${mangleClassString(value)}${quote})`
|
|
4122
|
+
);
|
|
4123
|
+
result = result.replace(
|
|
4124
|
+
/(?::|v-bind:)class="([^"]*)"/g,
|
|
4125
|
+
(_match, expr) => `:class="${mangleClassExpression(expr)}"`
|
|
4126
|
+
);
|
|
4127
|
+
return result;
|
|
4128
|
+
}
|
|
4129
|
+
async function processStyleBlocks(code, filePath) {
|
|
4130
|
+
const styleRegex = /<style([^>]*)>([\s\S]*?)<\/style>/g;
|
|
4131
|
+
let result = code;
|
|
4132
|
+
let styleMatch;
|
|
4133
|
+
while ((styleMatch = styleRegex.exec(result)) !== null) {
|
|
4134
|
+
const fullMatch = styleMatch[0];
|
|
4135
|
+
const attrs = styleMatch[1] || "";
|
|
4136
|
+
const cssContent = styleMatch[2] || "";
|
|
4137
|
+
if (cssContent.trim()) {
|
|
4138
|
+
const processed = await processCSS(cssContent, filePath);
|
|
4139
|
+
const cleanAttrs = attrs.replace(/\s*lang=["']postcss["']/g, "");
|
|
4140
|
+
const replacement = `<style${cleanAttrs}>${processed}</style>`;
|
|
4141
|
+
result = result.slice(0, styleMatch.index) + replacement + result.slice(styleMatch.index + fullMatch.length);
|
|
4142
|
+
styleRegex.lastIndex = styleMatch.index + replacement.length;
|
|
4143
|
+
}
|
|
4144
|
+
}
|
|
4145
|
+
return result;
|
|
4146
|
+
}
|
|
4147
|
+
async function mangleVueSFC(code, id) {
|
|
4148
|
+
let result = mangleTemplateAndScript(code);
|
|
4149
|
+
result = await processStyleBlocks(result, id);
|
|
4150
|
+
if (result === code) return null;
|
|
4151
|
+
return result;
|
|
4152
|
+
}
|
|
4153
|
+
|
|
3941
4154
|
const logger = useLogger("@blokkli/editor");
|
|
3942
4155
|
const module$1 = defineNuxtModule({
|
|
3943
4156
|
meta: {
|
|
@@ -4000,7 +4213,10 @@ const module$1 = defineNuxtModule({
|
|
|
4000
4213
|
const app = {
|
|
4001
4214
|
helper,
|
|
4002
4215
|
context,
|
|
4003
|
-
$t: (key,
|
|
4216
|
+
$t: (key, defaultText) => ({
|
|
4217
|
+
key,
|
|
4218
|
+
defaultTranslation: defaultText
|
|
4219
|
+
})
|
|
4004
4220
|
};
|
|
4005
4221
|
for (const module of blokkliModules) {
|
|
4006
4222
|
await module.init.setup(app, module.options);
|
|
@@ -4031,6 +4247,9 @@ const module$1 = defineNuxtModule({
|
|
|
4031
4247
|
const moduleDir = import.meta.url;
|
|
4032
4248
|
const resolver = createResolver(moduleDir);
|
|
4033
4249
|
nuxt.options.build.transpile.push(resolver.resolve("runtime"));
|
|
4250
|
+
nuxt.options.vite.optimizeDeps ??= {};
|
|
4251
|
+
nuxt.options.vite.optimizeDeps.include ??= [];
|
|
4252
|
+
nuxt.options.vite.optimizeDeps.include.push("papaparse", "pofile");
|
|
4034
4253
|
helper.addComponent("BlokkliField");
|
|
4035
4254
|
helper.addComponent("BlokkliEditable");
|
|
4036
4255
|
helper.addComponent("BlokkliProvider");
|
|
@@ -4066,7 +4285,7 @@ const module$1 = defineNuxtModule({
|
|
|
4066
4285
|
});
|
|
4067
4286
|
});
|
|
4068
4287
|
addPlugin({
|
|
4069
|
-
src: resolver.resolve("runtime/plugins/blokkliDirectives")
|
|
4288
|
+
src: resolver.resolve("./runtime/plugins/blokkliDirectives")
|
|
4070
4289
|
});
|
|
4071
4290
|
addBuildPlugin(RuntimeDefinitionPlugin(nuxt, helper, "defineBlokkli"));
|
|
4072
4291
|
addBuildPlugin(
|
|
@@ -4076,6 +4295,50 @@ const module$1 = defineNuxtModule({
|
|
|
4076
4295
|
RuntimeDefinitionPlugin(nuxt, helper, "defineBlokkliProvider", 1)
|
|
4077
4296
|
);
|
|
4078
4297
|
addBuildPlugin(BlokkliEditingPlugin(nuxt));
|
|
4298
|
+
const contentPaths = context.getContentPaths();
|
|
4299
|
+
if (contentPaths.length > 0) {
|
|
4300
|
+
addVitePlugin({
|
|
4301
|
+
name: "blokkli-mangle-module-classes",
|
|
4302
|
+
enforce: "pre",
|
|
4303
|
+
async transform(code, id) {
|
|
4304
|
+
if (!id.endsWith(".vue")) return null;
|
|
4305
|
+
if (!contentPaths.some((dir) => id.startsWith(dir))) return null;
|
|
4306
|
+
const result = await mangleVueSFC(code, id);
|
|
4307
|
+
return result ? { code: result, map: null } : null;
|
|
4308
|
+
},
|
|
4309
|
+
hotUpdate: {
|
|
4310
|
+
order: "post",
|
|
4311
|
+
async handler({ file, server, modules: hmrModules }) {
|
|
4312
|
+
if (!file.endsWith(".vue")) return;
|
|
4313
|
+
if (!contentPaths.some((dir) => file.startsWith(dir))) return;
|
|
4314
|
+
const environment = server.environments["client"];
|
|
4315
|
+
if (!environment) return;
|
|
4316
|
+
const modules = environment.moduleGraph.getModulesByFile(file);
|
|
4317
|
+
if (!modules || modules.size === 0) return;
|
|
4318
|
+
const mainModule = [...modules].find((m) => !m.url.includes("?"));
|
|
4319
|
+
if (mainModule) {
|
|
4320
|
+
environment.moduleGraph.invalidateModule(mainModule);
|
|
4321
|
+
await environment.transformRequest(mainModule.url);
|
|
4322
|
+
}
|
|
4323
|
+
const styleModules = [...modules].filter(
|
|
4324
|
+
(m) => m.url.includes("type=style")
|
|
4325
|
+
);
|
|
4326
|
+
if (styleModules.length) {
|
|
4327
|
+
for (const styleMod of styleModules) {
|
|
4328
|
+
environment.moduleGraph.invalidateModule(styleMod);
|
|
4329
|
+
}
|
|
4330
|
+
const result = [...hmrModules];
|
|
4331
|
+
for (const styleMod of styleModules) {
|
|
4332
|
+
if (!result.some((m) => m.url === styleMod.url)) {
|
|
4333
|
+
result.push(styleMod);
|
|
4334
|
+
}
|
|
4335
|
+
}
|
|
4336
|
+
return result;
|
|
4337
|
+
}
|
|
4338
|
+
}
|
|
4339
|
+
}
|
|
4340
|
+
});
|
|
4341
|
+
}
|
|
4079
4342
|
if (nuxt.options.dev) {
|
|
4080
4343
|
for (const cssFile of context.getCSSFiles()) {
|
|
4081
4344
|
nuxt.options.watch.push(dirname$1(cssFile));
|
|
@@ -56,6 +56,7 @@ export type AgentProvider = {
|
|
|
56
56
|
switchConversation: (id: string) => void;
|
|
57
57
|
deleteConversation: (id: string) => void;
|
|
58
58
|
refreshConversationList: () => Promise<void>;
|
|
59
|
+
feedbackItemIds: Ref<Set<string>>;
|
|
59
60
|
pageContext: Ref<PageContext | null>;
|
|
60
61
|
};
|
|
61
62
|
export default function (app: BlokkliApp, adapter: FullBlokkliAdapter<any>, agentName: string): AgentProvider;
|
|
@@ -46,6 +46,7 @@ export default function(app, adapter, agentName) {
|
|
|
46
46
|
const activeConversationId = ref(null);
|
|
47
47
|
const conversationList = ref([]);
|
|
48
48
|
const showConversationList = ref(false);
|
|
49
|
+
const feedbackItemIds = ref(/* @__PURE__ */ new Set());
|
|
49
50
|
const toolDetails = reactive(/* @__PURE__ */ new Map());
|
|
50
51
|
async function saveCurrentConversation(serverState) {
|
|
51
52
|
if (!adapter.agentConversations) return;
|
|
@@ -102,6 +103,7 @@ export default function(app, adapter, agentName) {
|
|
|
102
103
|
return {
|
|
103
104
|
conversation: clientConversation,
|
|
104
105
|
usageTurns: parsed.usageTurns ?? [],
|
|
106
|
+
feedbackItemIds: data.feedbackItemIds ?? [],
|
|
105
107
|
serverState: {
|
|
106
108
|
messages: serverParsed.messages,
|
|
107
109
|
activatedLazyTools: serverParsed.activatedLazyTools,
|
|
@@ -147,6 +149,7 @@ export default function(app, adapter, agentName) {
|
|
|
147
149
|
if (!loaded) return;
|
|
148
150
|
conversation.value = loaded.conversation;
|
|
149
151
|
usageTurns.value = loaded.usageTurns;
|
|
152
|
+
feedbackItemIds.value = new Set(loaded.feedbackItemIds);
|
|
150
153
|
activeItem.value = null;
|
|
151
154
|
activeConversationId.value = id;
|
|
152
155
|
send({ type: "restore_conversation", state: loaded.serverState });
|
|
@@ -331,6 +334,7 @@ export default function(app, adapter, agentName) {
|
|
|
331
334
|
activeConversationId.value = latest.uuid;
|
|
332
335
|
conversation.value = parsed.conversation;
|
|
333
336
|
usageTurns.value = parsed.usageTurns;
|
|
337
|
+
feedbackItemIds.value = new Set(parsed.feedbackItemIds);
|
|
334
338
|
send({ type: "restore_conversation", state: parsed.serverState });
|
|
335
339
|
}
|
|
336
340
|
}
|
|
@@ -976,6 +980,7 @@ export default function(app, adapter, agentName) {
|
|
|
976
980
|
activeConversationId.value = null;
|
|
977
981
|
plan.value = null;
|
|
978
982
|
usageTurns.value = [];
|
|
983
|
+
feedbackItemIds.value = /* @__PURE__ */ new Set();
|
|
979
984
|
toolDetails.clear();
|
|
980
985
|
send({ type: "new_conversation" });
|
|
981
986
|
}
|
|
@@ -1034,6 +1039,8 @@ export default function(app, adapter, agentName) {
|
|
|
1034
1039
|
switchConversation,
|
|
1035
1040
|
deleteConversation,
|
|
1036
1041
|
refreshConversationList,
|
|
1042
|
+
// Feedback
|
|
1043
|
+
feedbackItemIds,
|
|
1037
1044
|
// Page context (built once during connection)
|
|
1038
1045
|
pageContext: storedPageContext
|
|
1039
1046
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
declare var
|
|
1
|
+
declare var __VLS_10: {};
|
|
2
2
|
type __VLS_Slots = {} & {
|
|
3
|
-
default?: (props: typeof
|
|
3
|
+
default?: (props: typeof __VLS_10) => any;
|
|
4
4
|
};
|
|
5
5
|
declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
drop: (attachments: Attachment[]) => any;
|