@blokkli/editor 2.0.0-alpha.23 → 2.0.0-alpha.24

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.
Files changed (115) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +62 -66
  3. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +1 -1
  4. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +1 -1
  5. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue +5 -1
  6. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue.d.ts +2 -0
  7. package/dist/runtime/blokkliPlugins/TourItem/index.vue +22 -13
  8. package/dist/runtime/blokkliPlugins/TourItem/index.vue.d.ts +1 -0
  9. package/dist/runtime/blokkliPlugins/index.d.ts +1 -3
  10. package/dist/runtime/blokkliPlugins/index.js +0 -4
  11. package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -1
  12. package/dist/runtime/components/Edit/Actions/ItemDropdown.vue +1 -1
  13. package/dist/runtime/components/Edit/Actions/index.vue +77 -72
  14. package/dist/runtime/components/Edit/AddListItem/index.vue +8 -29
  15. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +2 -3
  16. package/dist/runtime/components/Edit/AppMenu/MenuButton.vue +39 -0
  17. package/dist/runtime/{blokkliPlugins/MenuButton/index.vue.d.ts → components/Edit/AppMenu/MenuButton.vue.d.ts} +0 -4
  18. package/dist/runtime/components/Edit/AppMenu/index.vue +62 -40
  19. package/dist/runtime/components/Edit/Dialog/index.vue +26 -5
  20. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +2 -0
  21. package/dist/runtime/components/Edit/EditProvider.vue +48 -31
  22. package/dist/runtime/components/Edit/EditProvider.vue.d.ts +1 -1
  23. package/dist/runtime/components/Edit/Features/AddList/Actions/Action.vue +52 -0
  24. package/dist/runtime/components/Edit/Features/AddList/Actions/Action.vue.d.ts +7 -0
  25. package/dist/runtime/components/Edit/Features/AddList/Actions/index.vue +41 -0
  26. package/dist/runtime/components/Edit/Features/AddList/Actions/index.vue.d.ts +5 -0
  27. package/dist/runtime/components/Edit/Features/AddList/Blocks/index.vue +11 -47
  28. package/dist/runtime/components/Edit/Features/AddList/Blocks/index.vue.d.ts +5 -0
  29. package/dist/runtime/components/Edit/Features/AddList/index.vue +68 -123
  30. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +41 -20
  31. package/dist/runtime/components/Edit/Features/Artboard/Scrollbar/index.vue +3 -2
  32. package/dist/runtime/components/Edit/Features/Assistant/Overlay/index.vue +2 -28
  33. package/dist/runtime/components/Edit/Features/Assistant/index.vue +18 -14
  34. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue +1 -0
  35. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue +2 -2
  36. package/dist/runtime/components/Edit/Features/Clipboard/List/index.vue +1 -1
  37. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +52 -18
  38. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue +0 -2
  39. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue.d.ts +6 -4
  40. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +77 -27
  41. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +7 -4
  42. package/dist/runtime/components/Edit/Features/Comments/index.vue +2 -2
  43. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/DragItem.vue +113 -0
  44. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/DragItem.vue.d.ts +25 -0
  45. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +8 -97
  46. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/fragment.glsl +2 -5
  47. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/index.vue +38 -5
  48. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/vertex.glsl +10 -1
  49. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +1 -2
  50. package/dist/runtime/components/Edit/Features/EditForm/index.vue +2 -2
  51. package/dist/runtime/components/Edit/Features/EditableField/index.vue +2 -2
  52. package/dist/runtime/components/Edit/Features/Exit/index.vue +12 -9
  53. package/dist/runtime/components/Edit/Features/Fragments/index.vue +27 -31
  54. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +1 -0
  55. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +25 -24
  56. package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +2 -2
  57. package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +1 -0
  58. package/dist/runtime/components/Edit/Features/Library/index.vue +26 -24
  59. package/dist/runtime/components/Edit/Features/MultiSelect/Renderer/index.vue +1 -3
  60. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +2 -1
  61. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +1 -0
  62. package/dist/runtime/components/Edit/Features/Publish/index.vue +17 -15
  63. package/dist/runtime/components/Edit/Features/Revert/index.vue +24 -18
  64. package/dist/runtime/components/Edit/Features/Search/index.vue +1 -1
  65. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +21 -17
  66. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +6 -6
  67. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +3 -6
  68. package/dist/runtime/components/Edit/Features/Settings/Dialog/index.vue +1 -0
  69. package/dist/runtime/components/Edit/Features/Settings/index.vue +25 -17
  70. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +2 -2
  71. package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +1 -1
  72. package/dist/runtime/components/Edit/Features/Tour/Popup/index.vue +2 -2
  73. package/dist/runtime/components/Edit/Features/Tour/index.vue +12 -10
  74. package/dist/runtime/components/Edit/Features/Transform/index.vue +1 -1
  75. package/dist/runtime/components/Edit/Features/Translations/index.vue +18 -17
  76. package/dist/runtime/components/Edit/FormOverlay/index.vue +13 -4
  77. package/dist/runtime/components/Edit/ItemIconBox/index.vue +41 -0
  78. package/dist/runtime/components/Edit/{AddListItemIcon → ItemIconBox}/index.vue.d.ts +5 -5
  79. package/dist/runtime/components/Edit/Konami/Game/index.vue +0 -1
  80. package/dist/runtime/components/Edit/Konami/index.vue +3 -5
  81. package/dist/runtime/components/Edit/Messages/Item/index.vue +11 -2
  82. package/dist/runtime/components/Edit/Messages/index.vue +6 -1
  83. package/dist/runtime/components/Edit/Overlay/index.vue +66 -0
  84. package/dist/runtime/components/Edit/Overlay/index.vue.d.ts +2 -0
  85. package/dist/runtime/components/Edit/SystemRequirements/index.vue +36 -36
  86. package/dist/runtime/components/Edit/Toolbar/index.vue +47 -48
  87. package/dist/runtime/components/Edit/index.d.ts +2 -2
  88. package/dist/runtime/components/Edit/index.js +2 -2
  89. package/dist/runtime/css/output.css +1 -1
  90. package/dist/runtime/helpers/composables/defineAddAction.d.ts +2 -0
  91. package/dist/runtime/helpers/composables/defineAddAction.js +10 -0
  92. package/dist/runtime/helpers/composables/defineItemDropdownAction.js +2 -2
  93. package/dist/runtime/helpers/composables/defineMenuButton.d.ts +2 -0
  94. package/dist/runtime/helpers/composables/defineMenuButton.js +10 -0
  95. package/dist/runtime/helpers/composables/useDialog.d.ts +3 -0
  96. package/dist/runtime/helpers/composables/useDialog.js +16 -0
  97. package/dist/runtime/helpers/defineElementStyle.d.ts +2 -0
  98. package/dist/runtime/helpers/defineElementStyle.js +33 -0
  99. package/dist/runtime/helpers/domProvider.d.ts +1 -0
  100. package/dist/runtime/helpers/domProvider.js +7 -2
  101. package/dist/runtime/helpers/dropTargets/index.d.ts +1 -1
  102. package/dist/runtime/helpers/dropTargets/index.js +17 -3
  103. package/dist/runtime/helpers/pluginProvider.d.ts +25 -6
  104. package/dist/runtime/helpers/pluginProvider.js +48 -46
  105. package/dist/runtime/helpers/providers/blocks.js +10 -0
  106. package/dist/runtime/helpers/providers/fields.d.ts +9 -1
  107. package/dist/runtime/helpers/uiProvider.d.ts +9 -12
  108. package/dist/runtime/helpers/uiProvider.js +85 -83
  109. package/dist/runtime/icons/click.svg +1 -0
  110. package/dist/runtime/types/index.d.ts +12 -5
  111. package/package.json +1 -1
  112. package/dist/runtime/blokkliPlugins/AddAction/index.vue +0 -96
  113. package/dist/runtime/blokkliPlugins/AddAction/index.vue.d.ts +0 -26
  114. package/dist/runtime/blokkliPlugins/MenuButton/index.vue +0 -68
  115. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +0 -19
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blokkli/editor",
3
3
  "configKey": "blokkli",
4
- "version": "2.0.0-alpha.23",
4
+ "version": "2.0.0-alpha.24",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.15.0"
7
7
  },
package/dist/module.mjs CHANGED
@@ -15,7 +15,7 @@ import fs from 'node:fs';
15
15
  import { defu, createDefu } from 'defu';
16
16
 
17
17
  const name = "@blokkli/editor";
18
- const version = "2.0.0-alpha.23";
18
+ const version = "2.0.0-alpha.24";
19
19
 
20
20
  function sortObjectKeys(obj) {
21
21
  if (Array.isArray(obj)) {
@@ -1141,7 +1141,7 @@ const analyzerReadabiliyAverageSentenceLength$3 = {
1141
1141
  };
1142
1142
  const analyzerReadabiliyDescription$3 = {
1143
1143
  source: "Avoid texts that are hard to read.",
1144
- translation: "Vermeiden Sie Texts die schwer lesbar sind."
1144
+ translation: "Vermeiden Sie Texte die schwer lesbar sind."
1145
1145
  };
1146
1146
  const analyzerReadabiliyHardToRead$3 = {
1147
1147
  source: "Hard to read (@lang).",
@@ -1359,6 +1359,14 @@ const clipboardPasteErrorAllowedBundlesSingle$3 = {
1359
1359
  source: "Block type \"@types\" is not allowed here.",
1360
1360
  translation: "Der Block-Typ «@types» ist hier nicht erlaubt."
1361
1361
  };
1362
+ const clipboardPasteErrorAllowedFragmentsMultiple$3 = {
1363
+ source: "Fragments (@types) are not allowed here.",
1364
+ translation: ""
1365
+ };
1366
+ const clipboardPasteErrorAllowedFragmentsSingle$3 = {
1367
+ source: "Fragment \"@types\" is not allowed here.",
1368
+ translation: ""
1369
+ };
1362
1370
  const clipboardPasteErrorCardinality$3 = {
1363
1371
  source: "This field only allows up to @count blocks.",
1364
1372
  translation: "Dieses Feld erlaubt nur bis zu @count Blöcke."
@@ -2191,6 +2199,10 @@ const optionBkVisibleLanguagesAll$3 = {
2191
2199
  source: "All languages",
2192
2200
  translation: "Alle Sprachen"
2193
2201
  };
2202
+ const overlayDoubleClickInfo$3 = {
2203
+ source: "<strong>Double click</strong> to close overlay",
2204
+ translation: "<strong>Doppelklicken</strong> um Dialog zu schliessen"
2205
+ };
2194
2206
  const ownershipError$3 = {
2195
2207
  source: "Error in assigning",
2196
2208
  translation: "Fehler beim Zuweisen"
@@ -2841,6 +2853,8 @@ const de = {
2841
2853
  clipboardPasteError: clipboardPasteError$3,
2842
2854
  clipboardPasteErrorAllowedBundlesMultiple: clipboardPasteErrorAllowedBundlesMultiple$3,
2843
2855
  clipboardPasteErrorAllowedBundlesSingle: clipboardPasteErrorAllowedBundlesSingle$3,
2856
+ clipboardPasteErrorAllowedFragmentsMultiple: clipboardPasteErrorAllowedFragmentsMultiple$3,
2857
+ clipboardPasteErrorAllowedFragmentsSingle: clipboardPasteErrorAllowedFragmentsSingle$3,
2844
2858
  clipboardPasteErrorCardinality: clipboardPasteErrorCardinality$3,
2845
2859
  clipboardPasteErrorOneField: clipboardPasteErrorOneField$3,
2846
2860
  clipboardPastePlaceholder: clipboardPastePlaceholder$3,
@@ -2938,22 +2952,6 @@ const de = {
2938
2952
  "feature_add-list_setting_hideDisabledBlocks_label": {
2939
2953
  source: "Hide blocks that can't be added",
2940
2954
  translation: ""
2941
- },
2942
- "feature_add-list_setting_orientation_label": {
2943
- source: "Add List",
2944
- translation: "Block-Leiste"
2945
- },
2946
- "feature_add-list_setting_orientation_option_horizontal": {
2947
- source: "Horizontal",
2948
- translation: "Horizontal"
2949
- },
2950
- "feature_add-list_setting_orientation_option_sidebar": {
2951
- source: "Sidebar",
2952
- translation: "Sidebar"
2953
- },
2954
- "feature_add-list_setting_orientation_option_vertical": {
2955
- source: "Vertical",
2956
- translation: "Vertikal"
2957
2955
  },
2958
2956
  feature_analyze_description: feature_analyze_description$3,
2959
2957
  feature_analyze_label: feature_analyze_label$3,
@@ -3229,6 +3227,7 @@ const de = {
3229
3227
  source: "Unselect \"@value\" in \"@option\"",
3230
3228
  translation: "«@value» in «@option» abwählen"
3231
3229
  },
3230
+ overlayDoubleClickInfo: overlayDoubleClickInfo$3,
3232
3231
  ownershipError: ownershipError$3,
3233
3232
  ownershipNote: ownershipNote$3,
3234
3233
  ownershipSuccess: ownershipSuccess$3,
@@ -3717,6 +3716,14 @@ const clipboardPasteErrorAllowedBundlesSingle$2 = {
3717
3716
  source: "Block type \"@types\" is not allowed here.",
3718
3717
  translation: ""
3719
3718
  };
3719
+ const clipboardPasteErrorAllowedFragmentsMultiple$2 = {
3720
+ source: "Fragments (@types) are not allowed here.",
3721
+ translation: ""
3722
+ };
3723
+ const clipboardPasteErrorAllowedFragmentsSingle$2 = {
3724
+ source: "Fragment \"@types\" is not allowed here.",
3725
+ translation: ""
3726
+ };
3720
3727
  const clipboardPasteErrorCardinality$2 = {
3721
3728
  source: "This field only allows up to @count blocks.",
3722
3729
  translation: ""
@@ -4549,6 +4556,10 @@ const optionBkVisibleLanguagesAll$2 = {
4549
4556
  source: "All languages",
4550
4557
  translation: ""
4551
4558
  };
4559
+ const overlayDoubleClickInfo$2 = {
4560
+ source: "<strong>Double click</strong> to close overlay",
4561
+ translation: ""
4562
+ };
4552
4563
  const ownershipError$2 = {
4553
4564
  source: "Error in assigning",
4554
4565
  translation: "Erreur lors de l’attribution"
@@ -5199,6 +5210,8 @@ const fr = {
5199
5210
  clipboardPasteError: clipboardPasteError$2,
5200
5211
  clipboardPasteErrorAllowedBundlesMultiple: clipboardPasteErrorAllowedBundlesMultiple$2,
5201
5212
  clipboardPasteErrorAllowedBundlesSingle: clipboardPasteErrorAllowedBundlesSingle$2,
5213
+ clipboardPasteErrorAllowedFragmentsMultiple: clipboardPasteErrorAllowedFragmentsMultiple$2,
5214
+ clipboardPasteErrorAllowedFragmentsSingle: clipboardPasteErrorAllowedFragmentsSingle$2,
5202
5215
  clipboardPasteErrorCardinality: clipboardPasteErrorCardinality$2,
5203
5216
  clipboardPasteErrorOneField: clipboardPasteErrorOneField$2,
5204
5217
  clipboardPastePlaceholder: clipboardPastePlaceholder$2,
@@ -5296,22 +5309,6 @@ const fr = {
5296
5309
  "feature_add-list_setting_hideDisabledBlocks_label": {
5297
5310
  source: "Hide blocks that can't be added",
5298
5311
  translation: ""
5299
- },
5300
- "feature_add-list_setting_orientation_label": {
5301
- source: "Add List",
5302
- translation: "Liste d'ajout"
5303
- },
5304
- "feature_add-list_setting_orientation_option_horizontal": {
5305
- source: "Horizontal",
5306
- translation: "Horizontal"
5307
- },
5308
- "feature_add-list_setting_orientation_option_sidebar": {
5309
- source: "Sidebar",
5310
- translation: "Encadré"
5311
- },
5312
- "feature_add-list_setting_orientation_option_vertical": {
5313
- source: "Vertical",
5314
- translation: "Vertical"
5315
5312
  },
5316
5313
  feature_analyze_description: feature_analyze_description$2,
5317
5314
  feature_analyze_label: feature_analyze_label$2,
@@ -5587,6 +5584,7 @@ const fr = {
5587
5584
  source: "Unselect \"@value\" in \"@option\"",
5588
5585
  translation: ""
5589
5586
  },
5587
+ overlayDoubleClickInfo: overlayDoubleClickInfo$2,
5590
5588
  ownershipError: ownershipError$2,
5591
5589
  ownershipNote: ownershipNote$2,
5592
5590
  ownershipSuccess: ownershipSuccess$2,
@@ -6075,6 +6073,14 @@ const clipboardPasteErrorAllowedBundlesSingle$1 = {
6075
6073
  source: "Block type \"@types\" is not allowed here.",
6076
6074
  translation: ""
6077
6075
  };
6076
+ const clipboardPasteErrorAllowedFragmentsMultiple$1 = {
6077
+ source: "Fragments (@types) are not allowed here.",
6078
+ translation: ""
6079
+ };
6080
+ const clipboardPasteErrorAllowedFragmentsSingle$1 = {
6081
+ source: "Fragment \"@types\" is not allowed here.",
6082
+ translation: ""
6083
+ };
6078
6084
  const clipboardPasteErrorCardinality$1 = {
6079
6085
  source: "This field only allows up to @count blocks.",
6080
6086
  translation: ""
@@ -6907,6 +6913,10 @@ const optionBkVisibleLanguagesAll$1 = {
6907
6913
  source: "All languages",
6908
6914
  translation: ""
6909
6915
  };
6916
+ const overlayDoubleClickInfo$1 = {
6917
+ source: "<strong>Double click</strong> to close overlay",
6918
+ translation: ""
6919
+ };
6910
6920
  const ownershipError$1 = {
6911
6921
  source: "Error in assigning",
6912
6922
  translation: "Errore nell'assegnazione"
@@ -7557,6 +7567,8 @@ const it = {
7557
7567
  clipboardPasteError: clipboardPasteError$1,
7558
7568
  clipboardPasteErrorAllowedBundlesMultiple: clipboardPasteErrorAllowedBundlesMultiple$1,
7559
7569
  clipboardPasteErrorAllowedBundlesSingle: clipboardPasteErrorAllowedBundlesSingle$1,
7570
+ clipboardPasteErrorAllowedFragmentsMultiple: clipboardPasteErrorAllowedFragmentsMultiple$1,
7571
+ clipboardPasteErrorAllowedFragmentsSingle: clipboardPasteErrorAllowedFragmentsSingle$1,
7560
7572
  clipboardPasteErrorCardinality: clipboardPasteErrorCardinality$1,
7561
7573
  clipboardPasteErrorOneField: clipboardPasteErrorOneField$1,
7562
7574
  clipboardPastePlaceholder: clipboardPastePlaceholder$1,
@@ -7654,22 +7666,6 @@ const it = {
7654
7666
  "feature_add-list_setting_hideDisabledBlocks_label": {
7655
7667
  source: "Hide blocks that can't be added",
7656
7668
  translation: ""
7657
- },
7658
- "feature_add-list_setting_orientation_label": {
7659
- source: "Add List",
7660
- translation: "Elenco di aggiunta"
7661
- },
7662
- "feature_add-list_setting_orientation_option_horizontal": {
7663
- source: "Horizontal",
7664
- translation: "Orizzontale"
7665
- },
7666
- "feature_add-list_setting_orientation_option_sidebar": {
7667
- source: "Sidebar",
7668
- translation: "Barra laterale"
7669
- },
7670
- "feature_add-list_setting_orientation_option_vertical": {
7671
- source: "Vertical",
7672
- translation: "Verticale"
7673
7669
  },
7674
7670
  feature_analyze_description: feature_analyze_description$1,
7675
7671
  feature_analyze_label: feature_analyze_label$1,
@@ -7945,6 +7941,7 @@ const it = {
7945
7941
  source: "Unselect \"@value\" in \"@option\"",
7946
7942
  translation: ""
7947
7943
  },
7944
+ overlayDoubleClickInfo: overlayDoubleClickInfo$1,
7948
7945
  ownershipError: ownershipError$1,
7949
7946
  ownershipNote: ownershipNote$1,
7950
7947
  ownershipSuccess: ownershipSuccess$1,
@@ -8433,6 +8430,14 @@ const clipboardPasteErrorAllowedBundlesSingle = {
8433
8430
  source: "Block type \"@types\" is not allowed here.",
8434
8431
  translation: "Block-Typ «@types» isch do nid erlaubt."
8435
8432
  };
8433
+ const clipboardPasteErrorAllowedFragmentsMultiple = {
8434
+ source: "Fragments (@types) are not allowed here.",
8435
+ translation: ""
8436
+ };
8437
+ const clipboardPasteErrorAllowedFragmentsSingle = {
8438
+ source: "Fragment \"@types\" is not allowed here.",
8439
+ translation: ""
8440
+ };
8436
8441
  const clipboardPasteErrorCardinality = {
8437
8442
  source: "This field only allows up to @count blocks.",
8438
8443
  translation: "In däm Fäld sin maximal @count Blöck erlaubt."
@@ -9265,6 +9270,10 @@ const optionBkVisibleLanguagesAll = {
9265
9270
  source: "All languages",
9266
9271
  translation: "Alli Sproche"
9267
9272
  };
9273
+ const overlayDoubleClickInfo = {
9274
+ source: "<strong>Double click</strong> to close overlay",
9275
+ translation: ""
9276
+ };
9268
9277
  const ownershipError = {
9269
9278
  source: "Error in assigning",
9270
9279
  translation: "Fähler bim Zuewiise"
@@ -9915,6 +9924,8 @@ const gsw_CH = {
9915
9924
  clipboardPasteError: clipboardPasteError,
9916
9925
  clipboardPasteErrorAllowedBundlesMultiple: clipboardPasteErrorAllowedBundlesMultiple,
9917
9926
  clipboardPasteErrorAllowedBundlesSingle: clipboardPasteErrorAllowedBundlesSingle,
9927
+ clipboardPasteErrorAllowedFragmentsMultiple: clipboardPasteErrorAllowedFragmentsMultiple,
9928
+ clipboardPasteErrorAllowedFragmentsSingle: clipboardPasteErrorAllowedFragmentsSingle,
9918
9929
  clipboardPasteErrorCardinality: clipboardPasteErrorCardinality,
9919
9930
  clipboardPasteErrorOneField: clipboardPasteErrorOneField,
9920
9931
  clipboardPastePlaceholder: clipboardPastePlaceholder,
@@ -10012,22 +10023,6 @@ const gsw_CH = {
10012
10023
  "feature_add-list_setting_hideDisabledBlocks_label": {
10013
10024
  source: "Hide blocks that can't be added",
10014
10025
  translation: ""
10015
- },
10016
- "feature_add-list_setting_orientation_label": {
10017
- source: "Add List",
10018
- translation: "Block-Leischte"
10019
- },
10020
- "feature_add-list_setting_orientation_option_horizontal": {
10021
- source: "Horizontal",
10022
- translation: "Horizontal"
10023
- },
10024
- "feature_add-list_setting_orientation_option_sidebar": {
10025
- source: "Sidebar",
10026
- translation: "Sitteleischte"
10027
- },
10028
- "feature_add-list_setting_orientation_option_vertical": {
10029
- source: "Vertical",
10030
- translation: "Vertikal"
10031
10026
  },
10032
10027
  feature_analyze_description: feature_analyze_description,
10033
10028
  feature_analyze_label: feature_analyze_label,
@@ -10303,6 +10298,7 @@ const gsw_CH = {
10303
10298
  source: "Unselect \"@value\" in \"@option\"",
10304
10299
  translation: "«@value» in «@option» abwähle"
10305
10300
  },
10301
+ overlayDoubleClickInfo: overlayDoubleClickInfo,
10306
10302
  ownershipError: ownershipError,
10307
10303
  ownershipNote: ownershipNote,
10308
10304
  ownershipSuccess: ownershipSuccess,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <Component :is="tag" @contextmenu.stop.prevent="onContextMenu">
3
3
  <slot />
4
- <Teleport to="body">
4
+ <Teleport :to="ui.mainLayoutElement.value">
5
5
  <BlokkliTransition name="context-menu">
6
6
  <ContextMenuMenu
7
7
  v-if="isVisible"
@@ -51,8 +51,8 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
51
51
  width: number;
52
52
  height: number;
53
53
  };
54
- weight: string | number;
55
54
  keyCode: string;
55
+ weight: string | number;
56
56
  tourText: string;
57
57
  minWidth: number;
58
58
  minHeight: number;
@@ -45,7 +45,8 @@ const props = defineProps({
45
45
  icon: { type: null, required: false },
46
46
  shortcutGroup: { type: String, required: false },
47
47
  tourText: { type: String, required: false },
48
- weight: { type: [Number, String], required: false }
48
+ weight: { type: [Number, String], required: false },
49
+ noCommand: { type: Boolean, required: false }
49
50
  });
50
51
  const { debug } = useBlokkli();
51
52
  const logger = debug.createLogger("PluginToolbar");
@@ -59,6 +60,9 @@ function onClick() {
59
60
  emit("click");
60
61
  }
61
62
  defineCommands(() => {
63
+ if (props.noCommand) {
64
+ return;
65
+ }
62
66
  return {
63
67
  id: "plugin:toolbar_button:" + props.id,
64
68
  label: props.title,
@@ -16,6 +16,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
16
16
  * The weight, used for positioning the button.
17
17
  */
18
18
  weight?: number | string;
19
+ noCommand?: boolean;
19
20
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
21
  click: (...args: any[]) => void;
21
22
  }, string, import("vue").PublicProps, Readonly<{
@@ -35,6 +36,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
35
36
  * The weight, used for positioning the button.
36
37
  */
37
38
  weight?: number | string;
39
+ noCommand?: boolean;
38
40
  }> & Readonly<{
39
41
  onClick?: ((...args: any[]) => any) | undefined;
40
42
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
@@ -9,32 +9,41 @@ const props = defineProps({
9
9
  id: { type: String, required: true },
10
10
  title: { type: String, required: true },
11
11
  text: { type: String, required: true },
12
- selector: { type: String, required: false }
12
+ selector: { type: String, required: false },
13
+ element: { type: null, required: false }
13
14
  });
14
- const { element } = useBlokkli();
15
- const findElement = (el) => {
15
+ const { element: elementProvider } = useBlokkli();
16
+ const findInstanceElement = (el) => {
16
17
  if (el instanceof Text) {
17
- return findElement(el.nextElementSibling);
18
+ return findInstanceElement(el.nextElementSibling);
18
19
  } else if (el instanceof HTMLElement) {
19
20
  return el;
20
21
  }
21
22
  };
22
23
  const instance = getCurrentInstance();
24
+ function getElement() {
25
+ if (props.element) {
26
+ return props.element;
27
+ }
28
+ if (props.selector) {
29
+ const match = elementProvider.query(
30
+ document.documentElement,
31
+ props.selector,
32
+ `TourItem Plugin: ${props.id}`
33
+ );
34
+ if (match) {
35
+ return match;
36
+ }
37
+ }
38
+ return findInstanceElement(instance?.vnode.el);
39
+ }
23
40
  defineTourItem(() => {
24
41
  return {
25
42
  id: props.id,
26
43
  title: props.title,
27
44
  text: props.text,
28
45
  element: () => {
29
- const provided = props.selector ? element.query(
30
- document.documentElement,
31
- props.selector,
32
- `TourItem Plugin: ${props.id}`
33
- ) : void 0;
34
- const el = provided || findElement(instance?.vnode.el);
35
- if (el instanceof HTMLElement) {
36
- return el;
37
- }
46
+ return getElement();
38
47
  }
39
48
  };
40
49
  });
@@ -3,6 +3,7 @@ type __VLS_Props = {
3
3
  title: string;
4
4
  text: string;
5
5
  selector?: string;
6
+ element?: HTMLElement | null;
6
7
  };
7
8
  declare var __VLS_1: {};
8
9
  type __VLS_Slots = {} & {
@@ -1,11 +1,9 @@
1
- import PluginAddAction from './AddAction/index.vue.js';
2
1
  import PluginBlockIndicator from './BlockIndicator/index.vue.js';
3
2
  import PluginContextMenu from './ContextMenu/index.vue.js';
4
3
  import PluginDebugOverlay from './DebugOverlay/index.vue.js';
5
4
  import PluginItemAction from './ItemAction/index.vue.js';
6
- import PluginMenuButton from './MenuButton/index.vue.js';
7
5
  import PluginSidebar from './Sidebar/index.vue.js';
8
6
  import PluginToolbarButton from './ToolbarButton/index.vue.js';
9
7
  import PluginTourItem from './TourItem/index.vue.js';
10
8
  import PluginViewOption from './ViewOption/index.vue.js';
11
- export { PluginAddAction, PluginBlockIndicator, PluginContextMenu, PluginDebugOverlay, PluginItemAction, PluginMenuButton, PluginSidebar, PluginToolbarButton, PluginTourItem, PluginViewOption, };
9
+ export { PluginBlockIndicator, PluginContextMenu, PluginDebugOverlay, PluginItemAction, PluginSidebar, PluginToolbarButton, PluginTourItem, PluginViewOption, };
@@ -1,20 +1,16 @@
1
- import PluginAddAction from "./AddAction/index.vue";
2
1
  import PluginBlockIndicator from "./BlockIndicator/index.vue";
3
2
  import PluginContextMenu from "./ContextMenu/index.vue";
4
3
  import PluginDebugOverlay from "./DebugOverlay/index.vue";
5
4
  import PluginItemAction from "./ItemAction/index.vue";
6
- import PluginMenuButton from "./MenuButton/index.vue";
7
5
  import PluginSidebar from "./Sidebar/index.vue";
8
6
  import PluginToolbarButton from "./ToolbarButton/index.vue";
9
7
  import PluginTourItem from "./TourItem/index.vue";
10
8
  import PluginViewOption from "./ViewOption/index.vue";
11
9
  export {
12
- PluginAddAction,
13
10
  PluginBlockIndicator,
14
11
  PluginContextMenu,
15
12
  PluginDebugOverlay,
16
13
  PluginItemAction,
17
- PluginMenuButton,
18
14
  PluginSidebar,
19
15
  PluginToolbarButton,
20
16
  PluginTourItem,
@@ -36,7 +36,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
36
36
  /**
37
37
  * The edit permissions.
38
38
  */
39
- permissions?: EditPermission[];
39
+ permissions?: Array<EditPermission | null>;
40
40
  /**
41
41
  * Whether to isolate the provider element during editing.
42
42
  */
@@ -34,7 +34,7 @@ import { ItemIcon, Icon } from "#blokkli/components";
34
34
  const emit = defineEmits(["close"]);
35
35
  const { plugins } = useBlokkli();
36
36
  function getGroupedActions() {
37
- const actions = plugins.getItemDropdownActions();
37
+ const actions = plugins.get("itemDropdownAction");
38
38
  const groups2 = /* @__PURE__ */ new Map();
39
39
  for (const action of actions) {
40
40
  const groupName = action.group;
@@ -1,99 +1,98 @@
1
1
  <template>
2
- <Teleport to="body">
3
- <div class="bk bk-blokkli-item-actions bk-control" @click.stop>
4
- <div
5
- v-show="
6
- !selection.isDragging.value && !selection.editableActive.value && !ui.isAnimating.value && !ui.hasTransformOverlayOpen.value && hasAnythingSelected && shouldRender && !ui.hasTooltipOpen.value
7
- "
8
- ref="el"
9
- class="bk-blokkli-item-actions-inner"
10
- >
11
- <div
12
- id="bk-blokkli-item-actions-controls"
13
- ref="controlsEl"
14
- class="bk-blokkli-item-actions-controls"
15
- :class="{
2
+ <div
3
+ ref="el"
4
+ :style="{
5
+ visibility: isVisible ? 'visible' : 'hidden'
6
+ }"
7
+ class="bk bk-blokkli-item-actions-inner"
8
+ @click.stop
9
+ >
10
+ <div
11
+ id="bk-blokkli-item-actions-controls"
12
+ ref="controlsEl"
13
+ class="bk-blokkli-item-actions-controls"
14
+ :class="{
16
15
  'bk-is-locked': ui.isTransforming.value
17
16
  }"
18
- >
19
- <div id="bk-blokkli-item-actions-title">
20
- <button
21
- class="bk-blokkli-item-actions-type-button"
22
- tabindex="-1"
23
- :disabled="!shouldRenderButton"
24
- :class="{
17
+ >
18
+ <div id="bk-blokkli-item-actions-title">
19
+ <button
20
+ class="bk-blokkli-item-actions-type-button bk-item-icon-hover-parent"
21
+ tabindex="-1"
22
+ :disabled="!shouldRenderButton"
23
+ :class="{
25
24
  'is-open': showDropdown,
26
- 'is-interactive': shouldRenderButton,
27
- 'bk-is-reusable': itemBundle?.id === 'from_library',
28
- 'bk-is-fragment': itemBundle?.id === 'blokkli_fragment'
25
+ 'is-interactive': shouldRenderButton
29
26
  }"
30
- @click.prevent="showDropdown = !showDropdown"
31
- >
32
- <div v-if="shouldRenderButton" class="bk-tooltip">
33
- {{ $t("actionsDropdownToolip", "Further actions") }}
34
- </div>
35
- <div
36
- v-show="!hasSelectedHost"
37
- class="bk-blokkli-item-actions-title-icon"
38
- >
39
- <Icon v-if="ui.isTransforming.value" name="loader" />
40
- <ItemIcon v-else-if="bundleIcon" :bundle="bundleIcon" />
41
- <Icon v-else name="selection" />
42
- <div
43
- v-if="itemBundle?.id === 'from_library'"
44
- class="bk-blokkli-item-actions-title-icon-reusable"
45
- >
46
- <Icon name="reusable" />
47
- </div>
48
- </div>
49
- <span class="bk-blokkli-item-actions-title-label">{{
50
- title
51
- }}</span>
52
- <span
53
- v-if="selection.items.value.length > 1"
54
- class="bk-blokkli-item-actions-title-count"
55
- >{{ selection.items.value.length }}</span
56
- >
57
- <span
58
- v-show="selectedIsNew"
59
- class="bk-blokkli-item-actions-title-pill"
60
- >{{ $t("selectedIsNew", "New") }}</span
61
- >
62
- <Icon v-if="shouldRenderButton" name="caret" class="bk-caret" />
63
- </button>
64
- <EditActionsItemDropdown
65
- v-if="showDropdown && editingEnabled"
66
- @close="showDropdown = false"
67
- />
27
+ @click.prevent="showDropdown = !showDropdown"
28
+ >
29
+ <div v-if="shouldRenderButton" class="bk-tooltip">
30
+ {{ $t("actionsDropdownToolip", "Further actions") }}
68
31
  </div>
69
-
70
32
  <div
71
- v-show="!selection.hasHostSelected.value"
72
- id="bk-blokkli-item-actions"
73
- class="bk-blokkli-item-actions-buttons"
74
- />
75
- </div>
33
+ v-show="!hasSelectedHost"
34
+ class="bk-blokkli-item-actions-title-icon"
35
+ >
36
+ <Icon v-if="ui.isTransforming.value" name="loader" />
37
+ <ItemIconBox
38
+ v-else-if="bundleIcon"
39
+ :bundle="bundleIcon"
40
+ :color="isReusable ? 'lime' : void 0"
41
+ is-small
42
+ />
43
+ <Icon v-else name="selection" />
44
+ <div
45
+ v-if="itemBundle?.id === 'from_library'"
46
+ class="bk-blokkli-item-actions-title-icon-reusable"
47
+ >
48
+ <Icon name="reusable" />
49
+ </div>
50
+ </div>
51
+ <span class="bk-blokkli-item-actions-title-label">{{ title }}</span>
52
+ <span
53
+ v-if="selection.items.value.length > 1"
54
+ class="bk-blokkli-item-actions-title-count"
55
+ >{{ selection.items.value.length }}</span
56
+ >
57
+ <span
58
+ v-show="selectedIsNew"
59
+ class="bk-blokkli-item-actions-title-pill"
60
+ >{{ $t("selectedIsNew", "New") }}</span
61
+ >
62
+ <Icon v-if="shouldRenderButton" name="caret" class="bk-caret" />
63
+ </button>
64
+ <EditActionsItemDropdown
65
+ v-if="showDropdown && editingEnabled"
66
+ @close="showDropdown = false"
67
+ />
76
68
  </div>
69
+
70
+ <div
71
+ v-show="!selection.hasHostSelected.value"
72
+ id="bk-blokkli-item-actions"
73
+ class="bk-blokkli-item-actions-buttons"
74
+ />
77
75
  </div>
78
- </Teleport>
76
+ </div>
79
77
  </template>
80
78
 
81
79
  <script setup>
82
80
  import { watch, ref, computed, useBlokkli, useTemplateRef } from "#imports";
83
81
  import { falsy } from "#blokkli/helpers";
84
- import { ItemIcon, Icon } from "#blokkli/components";
82
+ import { Icon, ItemIconBox } from "#blokkli/components";
85
83
  import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
86
84
  import useStickyToolbar from "#blokkli/helpers/composables/useStickyToolbar";
87
85
  import EditActionsItemDropdown from "./ItemDropdown.vue";
86
+ import { BUNDLE_FROM_LIBRARY } from "#blokkli/constants";
88
87
  const { selection, $t, types, state, ui, definitions, debug } = useBlokkli();
89
88
  const editingEnabled = computed(
90
89
  () => state.editMode.value === "editing" || state.editMode.value === "translating"
91
90
  );
92
91
  const ACTIONS_HEIGHT = 52;
93
92
  const el = useTemplateRef("el");
94
- const { shouldRender } = useStickyToolbar(el, {
93
+ useStickyToolbar(el, {
95
94
  getPlacementY: () => "top",
96
- shouldUpdate: () => !selection.isChangingOptions.value,
95
+ shouldUpdate: () => !selection.isChangingOptions.value && isVisible.value,
97
96
  getHeight: () => ACTIONS_HEIGHT,
98
97
  getMargin: () => 20,
99
98
  allowHorizontalOverflow: true
@@ -103,6 +102,9 @@ const showDropdown = ref(false);
103
102
  const hasAnythingSelected = computed(
104
103
  () => selection.hasHostSelected.value || !!selection.items.value.length
105
104
  );
105
+ const isVisible = computed(() => {
106
+ return !selection.isDragging.value && !selection.editableActive.value && !ui.isAnimating.value && !ui.hasTransformOverlayOpen.value && hasAnythingSelected.value && !ui.hasTooltipOpen.value;
107
+ });
106
108
  watch(selection.items, () => {
107
109
  showDropdown.value = false;
108
110
  });
@@ -118,6 +120,9 @@ const bundleIcon = computed(() => {
118
120
  }
119
121
  return itemBundle.value?.id;
120
122
  });
123
+ const isReusable = computed(() => {
124
+ return itemBundle.value?.id === BUNDLE_FROM_LIBRARY;
125
+ });
121
126
  const hasSelectedHost = computed(() => {
122
127
  return selection.items.value.length === 0;
123
128
  });