@blokkli/editor 2.0.0-alpha.13 → 2.0.0-alpha.14

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 (272) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +4003 -1162
  4. package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
  5. package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +1 -0
  6. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +1 -0
  7. package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
  8. package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
  9. package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
  10. package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
  11. package/dist/modules/drupal/index.d.mts +1 -1
  12. package/dist/modules/drupal/index.mjs +20 -7
  13. package/dist/modules/drupal/runtime/adapter/index.js +109 -4
  14. package/dist/runtime/adapter/index.d.ts +54 -1
  15. package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
  16. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
  17. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
  18. package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +3 -0
  19. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
  20. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
  21. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
  22. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
  23. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
  24. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
  25. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +1 -1
  26. package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
  27. package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
  28. package/dist/runtime/blokkliPlugins/index.js +15 -13
  29. package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
  30. package/dist/runtime/components/BlokkliProvider.vue +1 -0
  31. package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -0
  32. package/dist/runtime/components/Edit/Actions/index.vue +39 -67
  33. package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
  34. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
  35. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
  36. package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
  37. package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
  38. package/dist/runtime/components/Edit/Dialog/index.vue +5 -1
  39. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +1 -1
  40. package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
  41. package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
  42. package/dist/runtime/components/Edit/DragInteractions/index.vue +35 -6
  43. package/dist/runtime/components/Edit/EditProvider.vue +46 -35
  44. package/dist/runtime/components/Edit/Features/AddList/index.vue +15 -25
  45. package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
  46. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +168 -0
  47. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
  48. package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
  49. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
  50. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
  51. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
  52. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
  53. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
  54. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
  55. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
  56. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
  57. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +101 -0
  58. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
  59. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
  60. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
  61. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
  62. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
  63. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
  64. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
  65. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
  66. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
  67. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
  68. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
  69. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
  70. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
  71. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
  72. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
  73. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
  74. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
  75. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
  76. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
  77. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
  78. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
  79. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
  80. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
  81. package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
  82. package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
  83. package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
  84. package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +136 -0
  85. package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
  86. package/dist/runtime/components/Edit/Features/Anchors/index.vue.d.ts +2 -0
  87. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
  88. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +296 -0
  89. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
  90. package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -245
  91. package/dist/runtime/components/Edit/Features/Assistant/index.vue +3 -2
  92. package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +4 -4
  93. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +161 -28
  94. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +16 -4
  95. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue.d.ts +0 -1
  96. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +4 -53
  97. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +3 -2
  98. package/dist/runtime/components/Edit/Features/Conversions/index.vue +12 -14
  99. package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
  100. package/dist/runtime/components/Edit/Features/Debug/index.vue +27 -24
  101. package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
  102. package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
  103. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +4 -4
  104. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +1 -1
  105. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +35 -71
  106. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +1 -1
  107. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +62 -48
  108. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
  109. package/dist/runtime/components/Edit/Features/EditForm/index.vue +3 -3
  110. package/dist/runtime/components/Edit/Features/EditableField/index.vue +6 -2
  111. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
  112. package/dist/runtime/components/Edit/Features/Fragments/index.vue +3 -2
  113. package/dist/runtime/components/Edit/Features/History/index.vue +35 -12
  114. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
  115. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
  116. package/dist/runtime/components/Edit/Features/Library/index.vue +11 -9
  117. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +5 -8
  118. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
  119. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +9 -4
  120. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
  121. package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +8 -14
  122. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
  123. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
  124. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +9 -3
  125. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
  126. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
  127. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
  128. package/dist/runtime/components/Edit/Features/Options/Form/index.vue +81 -37
  129. package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
  130. package/dist/runtime/components/Edit/Features/Options/index.vue +30 -6
  131. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
  132. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +1 -0
  133. package/dist/runtime/components/Edit/Features/Publish/index.vue +3 -2
  134. package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
  135. package/dist/runtime/components/Edit/Features/Search/index.vue +3 -2
  136. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue +54 -0
  137. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue.d.ts +14 -0
  138. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +120 -0
  139. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +15 -0
  140. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +459 -0
  141. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
  142. package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +14 -9
  143. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +32 -11
  144. package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +1 -1
  145. package/dist/runtime/components/Edit/Features/Selection/index.vue +76 -7
  146. package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
  147. package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
  148. package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
  149. package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
  150. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
  151. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
  152. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
  153. package/dist/runtime/components/Edit/Features/Transform/index.vue +155 -44
  154. package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
  155. package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
  156. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
  157. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
  158. package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
  159. package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
  160. package/dist/runtime/components/Edit/Form/Text/index.vue +33 -0
  161. package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +19 -0
  162. package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
  163. package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
  164. package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
  165. package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
  166. package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
  167. package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
  168. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
  169. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
  170. package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
  171. package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
  172. package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
  173. package/dist/runtime/components/Edit/Konami/Game/index.vue +745 -0
  174. package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
  175. package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
  176. package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
  177. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
  178. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
  179. package/dist/runtime/components/Edit/Konami/index.vue +44 -0
  180. package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
  181. package/dist/runtime/components/Edit/Loading/index.vue +6 -2
  182. package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
  183. package/dist/runtime/components/Edit/Messages/index.vue +8 -3
  184. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
  185. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
  186. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
  187. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
  188. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
  189. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
  190. package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
  191. package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
  192. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
  193. package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
  194. package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +8 -3
  195. package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
  196. package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
  197. package/dist/runtime/components/Edit/Transition/index.vue +41 -0
  198. package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
  199. package/dist/runtime/components/Edit/index.d.ts +23 -15
  200. package/dist/runtime/components/Edit/index.js +44 -28
  201. package/dist/runtime/composables/defineBlokkli.js +7 -3
  202. package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
  203. package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
  204. package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
  205. package/dist/runtime/composables/useBlokkliHelper.js +1 -1
  206. package/dist/runtime/constants/index.d.ts +3 -0
  207. package/dist/runtime/constants/index.js +3 -0
  208. package/dist/runtime/css/output.css +1 -1
  209. package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
  210. package/dist/runtime/helpers/addElementClasses.js +24 -0
  211. package/dist/runtime/helpers/animationProvider.d.ts +4 -2
  212. package/dist/runtime/helpers/animationProvider.js +7 -2
  213. package/dist/runtime/helpers/bundles/index.d.ts +1 -0
  214. package/dist/runtime/helpers/bundles/index.js +4 -0
  215. package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +20 -0
  216. package/dist/runtime/helpers/composables/useStickyToolbar.js +215 -0
  217. package/dist/runtime/helpers/definitionProvider.d.ts +2 -1
  218. package/dist/runtime/helpers/definitionProvider.js +17 -0
  219. package/dist/runtime/helpers/domProvider.d.ts +2 -1
  220. package/dist/runtime/helpers/domProvider.js +89 -43
  221. package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
  222. package/dist/runtime/helpers/dropTargets/index.js +49 -0
  223. package/dist/runtime/helpers/eventBus.d.ts +1 -1
  224. package/dist/runtime/helpers/eventBus.js +2 -2
  225. package/dist/runtime/helpers/index.d.ts +10 -1
  226. package/dist/runtime/helpers/index.js +57 -0
  227. package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
  228. package/dist/runtime/helpers/indicatorsProvider.js +23 -0
  229. package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
  230. package/dist/runtime/helpers/keyboardProvider.js +17 -1
  231. package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
  232. package/dist/runtime/helpers/pluginProvider.js +33 -0
  233. package/dist/runtime/helpers/renderCycle.d.ts +1 -0
  234. package/dist/runtime/helpers/renderCycle.js +10 -0
  235. package/dist/runtime/helpers/runtimeHelpers/index.js +14 -11
  236. package/dist/runtime/helpers/selectionProvider.d.ts +16 -0
  237. package/dist/runtime/helpers/selectionProvider.js +47 -35
  238. package/dist/runtime/helpers/stateProvider.d.ts +6 -2
  239. package/dist/runtime/helpers/stateProvider.js +58 -14
  240. package/dist/runtime/helpers/storageProvider.d.ts +4 -3
  241. package/dist/runtime/helpers/storageProvider.js +56 -3
  242. package/dist/runtime/helpers/symbols.d.ts +1 -0
  243. package/dist/runtime/helpers/symbols.js +1 -0
  244. package/dist/runtime/helpers/textProvider.js +6 -0
  245. package/dist/runtime/helpers/themeProvider.d.ts +2 -0
  246. package/dist/runtime/helpers/themeProvider.js +4 -1
  247. package/dist/runtime/helpers/transform.js +1 -3
  248. package/dist/runtime/helpers/uiProvider.d.ts +7 -2
  249. package/dist/runtime/helpers/uiProvider.js +49 -47
  250. package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
  251. package/dist/runtime/helpers/useTransitionedValue.js +57 -0
  252. package/dist/runtime/icons/anchor.svg +1 -0
  253. package/dist/runtime/icons/arrow-left.svg +1 -1
  254. package/dist/runtime/icons/arrow-right.svg +1 -1
  255. package/dist/runtime/icons/arrow-top-right.svg +1 -0
  256. package/dist/runtime/icons/chart.svg +1 -0
  257. package/dist/runtime/icons/copy.svg +1 -0
  258. package/dist/runtime/icons/cursor-move.svg +1 -1
  259. package/dist/runtime/icons/diff.svg +1 -1
  260. package/dist/runtime/icons/eye.svg +1 -1
  261. package/dist/runtime/icons/info.svg +1 -1
  262. package/dist/runtime/icons/link.svg +1 -0
  263. package/dist/runtime/icons/speedometer.svg +1 -0
  264. package/dist/runtime/types/blokkOptions.d.ts +8 -0
  265. package/dist/runtime/types/index.d.ts +163 -5
  266. package/dist/runtime/types/theme.d.ts +2 -1
  267. package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
  268. package/package.json +20 -5
  269. package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
  270. package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
  271. /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay → Analyze}/index.vue.d.ts +0 -0
  272. /package/dist/runtime/components/Edit/Features/{FieldAreas/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
@@ -1,20 +1,14 @@
1
1
  <template>
2
2
  <div class="bk-form-item" :class="'bk-is-' + setting.type">
3
- <label v-if="setting.type === 'checkbox'" class="bk-checkbox-toggle">
4
- <input
5
- :checked="settingsStorage[settingsKey]"
6
- type="checkbox"
7
- class="peer"
8
- @change="toggleCheckbox"
9
- />
10
- <div class="bk-checkbox-toggle-toggle" />
11
- <div class="bk-checkbox-toggle-label">
12
- <div>{{ settingLabel }}</div>
13
- <div v-if="settingDescription">
14
- {{ settingDescription }}
15
- </div>
16
- </div>
17
- </label>
3
+ <FormToggle
4
+ v-if="setting.type === 'checkbox'"
5
+ :label="settingLabel"
6
+ :description="settingDescription"
7
+ :model-value="
8
+ settingsStorage[settingsKey] ?? setting.default
9
+ "
10
+ @update:model-value="toggleCheckbox"
11
+ />
18
12
  <div v-else-if="setting.type === 'radios'">
19
13
  <h3 class="bk-form-label">
20
14
  {{ settingLabel }}
@@ -64,7 +58,7 @@
64
58
  </template>
65
59
 
66
60
  <script setup>
67
- import { Icon } from "#blokkli/components";
61
+ import { Icon, FormToggle } from "#blokkli/components";
68
62
  import { useBlokkli, computed } from "#imports";
69
63
  const props = defineProps({
70
64
  featureId: { type: null, required: true },
@@ -94,7 +88,8 @@ const getOptionLabel = (key, defaultLabel) => {
94
88
  };
95
89
  const settingsStorage = storage.use(
96
90
  `feature:${props.featureId}:settings`,
97
- {}
91
+ {},
92
+ true
98
93
  );
99
94
  const toggleCheckbox = () => {
100
95
  const current = settingsStorage.value[props.settingsKey];
@@ -10,25 +10,19 @@
10
10
  @click="onClick"
11
11
  />
12
12
  <Teleport to="body">
13
- <transition appear name="bk-slide-up">
13
+ <BlokkliTransition name="slide-up">
14
14
  <SettingsDialog v-if="showSettings" @cancel="showSettings = false" />
15
- </transition>
15
+ </BlokkliTransition>
16
16
  </Teleport>
17
17
  </template>
18
18
 
19
19
  <script setup>
20
- import {
21
- ref,
22
- useBlokkli,
23
- defineBlokkliFeature,
24
- watch,
25
- onMounted,
26
- onBeforeUnmount
27
- } from "#imports";
20
+ import { ref, useBlokkli, defineBlokkliFeature, computed } from "#imports";
28
21
  import { PluginMenuButton } from "#blokkli/plugins";
29
22
  import SettingsDialog from "./Dialog/index.vue";
23
+ import { addElementClasses } from "#blokkli/helpers/addElementClasses";
24
+ import { BlokkliTransition } from "#blokkli/components";
30
25
  const { $t } = useBlokkli();
31
- const LOW_PERFORMANCE_CLASS = "bk-low-performance-mode";
32
26
  const { settings } = defineBlokkliFeature({
33
27
  id: "settings",
34
28
  label: "Settings",
@@ -61,20 +55,12 @@ const { settings } = defineBlokkliFeature({
61
55
  });
62
56
  const showSettings = ref(false);
63
57
  const onClick = () => showSettings.value = true;
64
- function setRootClass() {
65
- if (settings.value.lowPerformanceMode) {
66
- document.documentElement.classList.add(LOW_PERFORMANCE_CLASS);
67
- } else {
68
- document.documentElement.classList.remove(LOW_PERFORMANCE_CLASS);
69
- }
70
- }
71
- watch(settings, setRootClass);
72
- onMounted(() => {
73
- setRootClass();
74
- });
75
- onBeforeUnmount(() => {
76
- document.documentElement.classList.remove(LOW_PERFORMANCE_CLASS);
77
- });
58
+ const lowPerformanceMode = computed(() => settings.value.lowPerformanceMode);
59
+ addElementClasses(
60
+ document.documentElement,
61
+ "bk-low-performance-mode",
62
+ lowPerformanceMode
63
+ );
78
64
  </script>
79
65
 
80
66
  <script>
@@ -48,7 +48,11 @@ const initValue = computed(
48
48
  );
49
49
  const inputValue = computed({
50
50
  get() {
51
- return rgbToHex(theme[props.group].value[props.shade]);
51
+ const v = theme[props.group]?.value[props.shade];
52
+ if (v) {
53
+ return rgbToHex(v);
54
+ }
55
+ return "#ffffff";
52
56
  },
53
57
  set(hex) {
54
58
  const rgb = hexToRgb(hex);
@@ -96,7 +96,8 @@ const contextGroups = [
96
96
  "teal",
97
97
  "yellow",
98
98
  "red",
99
- "lime"
99
+ "lime",
100
+ "orange"
100
101
  ];
101
102
  const contextShades = ["light", "normal", "dark"];
102
103
  </script>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <Teleport to="body">
3
- <Transition name="bk-touch-bar">
3
+ <BlokkliTransition name="touch-bar">
4
4
  <Bar
5
5
  v-if="
6
6
  selection.isMultiSelecting.value && selection.interactionMode.value === 'touch'
@@ -16,12 +16,13 @@
16
16
  danger
17
17
  @click="eventBus.emit('dragging:end')"
18
18
  />
19
- </Transition>
19
+ </BlokkliTransition>
20
20
  </Teleport>
21
21
  </template>
22
22
 
23
23
  <script setup>
24
24
  import { useBlokkli, defineBlokkliFeature } from "#imports";
25
+ import { BlokkliTransition } from "#blokkli/components";
25
26
  import Bar from "./Bar/index.vue";
26
27
  const { eventBus, selection, $t } = useBlokkli();
27
28
  defineBlokkliFeature({
@@ -0,0 +1,198 @@
1
+ <template>
2
+ <div class="bk bk-transform-overlay" @keydown.stop @keyup.stop>
3
+ <div ref="el" class="bk-transform-overlay-dialog" @wheel="onWheel">
4
+ <div class="bk-transform-overlay-dialog-inner">
5
+ <div class="bk-transform-overlay-dialog-inner-content">
6
+ <header>
7
+ <p>{{ title }}</p>
8
+ <button @click.prevent="$emit('cancel')">
9
+ <Icon name="close" />
10
+ </button>
11
+ </header>
12
+ <main>
13
+ <div class="bk-transform-overlay-dialog-grid">
14
+ <div class="bk-transform-overlay-dialog-top">
15
+ <p v-if="lead" class="bk-lead">{{ lead }}</p>
16
+ <ConfigForm ref="configForm" v-model="value" :config />
17
+ </div>
18
+ <DiffViewerState
19
+ v-if="stateAfter"
20
+ :state-before
21
+ :state-after
22
+ show-select
23
+ :selected="selection.uuids.value"
24
+ :include-uuids="uuids"
25
+ scheme="orange"
26
+ @toggle="onToggleSelected"
27
+ />
28
+ </div>
29
+ <Loading v-if="isLocked" white />
30
+ </main>
31
+ <footer>
32
+ <button
33
+ v-if="supportsPreview"
34
+ class="bk-button"
35
+ :disabled="disabled || !hasChanged && !hasSeedInput"
36
+ :class="{
37
+ 'bk-is-loading': isPreviewing
38
+ }"
39
+ @click.prevent="onClickPreview"
40
+ >
41
+ {{ $t("transformDialogButtonPreview", "Preview") }}
42
+ </button>
43
+ <button
44
+ class="bk-button bk-is-orange"
45
+ :disabled
46
+ @click.prevent="onClickSubmit"
47
+ >
48
+ {{ $t("transformDialogButtonApply", "Apply") }}
49
+ </button>
50
+ </footer>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </template>
56
+
57
+ <script setup>
58
+ import {
59
+ useBlokkli,
60
+ ref,
61
+ watch,
62
+ computed,
63
+ useTemplateRef,
64
+ onMounted,
65
+ onBeforeUnmount
66
+ } from "#imports";
67
+ import { ConfigForm, DiffViewerState, Icon, Loading } from "#blokkli/components";
68
+ const props = defineProps({
69
+ plugin: { type: Object, required: true },
70
+ uuids: { type: Array, required: false }
71
+ });
72
+ const { adapter, state, ui, selection, $t, eventBus } = useBlokkli();
73
+ function onToggleSelected(uuid) {
74
+ let newSelection = [...selection.uuids.value];
75
+ if (newSelection.includes(uuid)) {
76
+ newSelection = newSelection.filter((v) => v !== uuid);
77
+ } else {
78
+ newSelection.push(uuid);
79
+ }
80
+ eventBus.emit("select:force", newSelection);
81
+ }
82
+ const configForm = useTemplateRef("configForm");
83
+ function clone(v) {
84
+ return JSON.parse(JSON.stringify(v));
85
+ }
86
+ function mapValues(values) {
87
+ return Object.entries(values).map(([name, value2]) => {
88
+ return {
89
+ name,
90
+ value: value2
91
+ };
92
+ });
93
+ }
94
+ const hasSeedInput = computed(
95
+ () => !!props.plugin.configInputs?.find((v) => v.type === "seed")
96
+ );
97
+ const isLocked = ref(false);
98
+ const hasChanged = ref(false);
99
+ const isPreviewing = ref(false);
100
+ const title = computed(() => props.plugin.label);
101
+ const lead = computed(() => props.plugin.description);
102
+ const config = computed(() => props.plugin.configInputs ?? []);
103
+ const isHostPlugin = computed(() => !("bundles" in props.plugin));
104
+ const supportsPreview = computed(() => {
105
+ if (!props.plugin.preview) {
106
+ return false;
107
+ }
108
+ if (isHostPlugin.value) {
109
+ return !!adapter.previewHostTransformPlugin;
110
+ }
111
+ return !!adapter.previewTransformPlugin;
112
+ });
113
+ const stateBefore = clone(state.getMappedState());
114
+ const stateAfter = ref(null);
115
+ const emit = defineEmits(["cancel", "submit"]);
116
+ const value = ref(
117
+ (props.plugin.configInputs ?? []).reduce(
118
+ (acc, plugin) => {
119
+ acc[plugin.name] = "";
120
+ return acc;
121
+ },
122
+ {}
123
+ )
124
+ );
125
+ const requiredItems = computed(
126
+ () => config.value.filter((v) => v.required).map((v) => v.name)
127
+ );
128
+ const canSubmit = computed(() => {
129
+ return requiredItems.value.every((name) => !!value.value[name]);
130
+ });
131
+ const disabled = computed(() => isLocked.value || !canSubmit.value);
132
+ watch(
133
+ value,
134
+ () => {
135
+ hasChanged.value = true;
136
+ },
137
+ {
138
+ deep: true
139
+ }
140
+ );
141
+ function onWheel(e) {
142
+ if (e.metaKey || e.ctrlKey) {
143
+ return;
144
+ }
145
+ e.stopPropagation();
146
+ }
147
+ async function onClickPreview() {
148
+ if (isLocked.value) {
149
+ return;
150
+ }
151
+ if (configForm.value) {
152
+ configForm.value.updateSeed();
153
+ }
154
+ isLocked.value = true;
155
+ isPreviewing.value = true;
156
+ ui.setTransform(title.value);
157
+ if (supportsPreview.value && adapter.previewTransformPlugin && "bundles" in props.plugin && props.uuids) {
158
+ const config2 = mapValues(value.value);
159
+ try {
160
+ const result = await adapter.previewTransformPlugin({
161
+ pluginId: props.plugin.id,
162
+ uuids: props.uuids,
163
+ config: config2
164
+ });
165
+ stateAfter.value = clone(adapter.mapState(result.state));
166
+ state.setOverrideState(stateAfter.value);
167
+ } catch {
168
+ }
169
+ }
170
+ isLocked.value = false;
171
+ isPreviewing.value = false;
172
+ ui.setTransform();
173
+ hasChanged.value = false;
174
+ }
175
+ function onClickSubmit() {
176
+ if (isLocked.value) {
177
+ return;
178
+ }
179
+ isLocked.value = true;
180
+ emit("submit", mapValues(value.value));
181
+ }
182
+ onMounted(async () => {
183
+ ui.hasTransformOverlayOpen.value = true;
184
+ selection.lockSelection("transform-dialog");
185
+ if (hasSeedInput.value && supportsPreview.value) {
186
+ const hasOnlySeedInputs = props.plugin.configInputs?.every(
187
+ (v) => v.type === "seed"
188
+ );
189
+ if (hasOnlySeedInputs === true) {
190
+ await onClickPreview();
191
+ }
192
+ }
193
+ });
194
+ onBeforeUnmount(() => {
195
+ ui.hasTransformOverlayOpen.value = false;
196
+ selection.unlockSelection("transform-dialog");
197
+ });
198
+ </script>
@@ -0,0 +1,13 @@
1
+ import type { HostTransformPlugin, PluginConfigInputItem, TransformPlugin } from '#blokkli/types';
2
+ type __VLS_Props = {
3
+ plugin: HostTransformPlugin | TransformPlugin;
4
+ uuids?: string[];
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ cancel: () => any;
8
+ submit: (values: PluginConfigInputItem[]) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onCancel?: (() => any) | undefined;
11
+ onSubmit?: ((values: PluginConfigInputItem[]) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -1,34 +1,53 @@
1
1
  <template>
2
2
  <PluginItemDropdown
3
3
  id="transform"
4
- :title="$t('transformTo', 'Other actions')"
4
+ :title="$t('transformTo', 'Actions')"
5
5
  :enabled="!!(itemBundleIds.length && possibleTransforms.length)"
6
- >
7
- <button
8
- v-for="transform in possibleTransforms"
9
- :key="transform.id"
10
- @click.prevent="onTransform(transform, selection.uuids.value)"
11
- >
12
- <div>
13
- <div>{{ transform.label }}</div>
14
- </div>
15
- </button>
16
- </PluginItemDropdown>
6
+ :items="possibleTransforms"
7
+ icon="script"
8
+ weight="100"
9
+ @select="onSelectBlockTransformPlugin($event, selection.uuids.value)"
10
+ />
11
+
12
+ <PluginItemDropdown
13
+ v-if="hostPlugins.length"
14
+ id="transform-host"
15
+ :title="$t('transformTo', 'Actions')"
16
+ :enabled="selection.hasHostSelected.value"
17
+ :items="hostPlugins"
18
+ icon="script"
19
+ weight="100"
20
+ @select="onSelectHostTransformPlugin($event)"
21
+ />
22
+
23
+ <Teleport to="body">
24
+ <BlokkliTransition name="transform-overlay">
25
+ <TransformDialog
26
+ v-if="openPluginDefinition"
27
+ :plugin="openPluginDefinition"
28
+ :uuids="selectedUuids"
29
+ @cancel="cancelTransform"
30
+ @submit="onSubmitDialog"
31
+ />
32
+ </BlokkliTransition>
33
+ </Teleport>
17
34
  </template>
18
35
 
19
36
  <script setup>
20
37
  import {
21
38
  computed,
22
39
  watch,
40
+ ref,
23
41
  useBlokkli,
24
42
  defineBlokkliFeature,
25
43
  useLazyAsyncData
26
44
  } from "#imports";
27
45
  import { PluginItemDropdown } from "#blokkli/plugins";
28
46
  import { onlyUnique } from "#blokkli/helpers";
47
+ import { BlokkliTransition } from "#blokkli/components";
29
48
  import { filterTransforms } from "#blokkli/helpers/transform";
30
49
  import defineCommands from "#blokkli/helpers/composables/defineCommands";
31
- import defineDropAreas from "#blokkli/helpers/composables/defineDropAreas";
50
+ import TransformDialog from "./Dialog/index.vue";
32
51
  const { adapter } = defineBlokkliFeature({
33
52
  id: "transform",
34
53
  icon: "script",
@@ -37,7 +56,9 @@ const { adapter } = defineBlokkliFeature({
37
56
  description: "Provides integration for block transform plugins.",
38
57
  screenshot: "feature-transform.jpg"
39
58
  });
40
- const { types, selection, state, $t, dom, ui } = useBlokkli();
59
+ const { types, selection, state, $t, ui } = useBlokkli();
60
+ const openPlugin = ref(null);
61
+ const selectedUuids = ref([]);
41
62
  const {
42
63
  data: plugins,
43
64
  execute,
@@ -46,19 +67,131 @@ const {
46
67
  () => {
47
68
  return adapter.getTransformPlugins();
48
69
  },
49
- { immediate: false, default: () => [] }
70
+ {
71
+ immediate: false,
72
+ default: () => [],
73
+ transform: function(plugins2) {
74
+ return plugins2.map((plugin) => {
75
+ return {
76
+ ...plugin,
77
+ label: getPluginLabel(plugin)
78
+ };
79
+ });
80
+ }
81
+ }
82
+ );
83
+ const {
84
+ data: hostPlugins,
85
+ status: statusHostPlugins,
86
+ execute: executeHostPlugins
87
+ } = await useLazyAsyncData(
88
+ () => {
89
+ if (adapter.getHostTransformPlugins) {
90
+ return adapter.getHostTransformPlugins();
91
+ }
92
+ return Promise.resolve([]);
93
+ },
94
+ {
95
+ immediate: !openPlugin.value,
96
+ default: () => [],
97
+ transform: function(plugins2) {
98
+ return plugins2.map((plugin) => {
99
+ return {
100
+ ...plugin,
101
+ label: getPluginLabel(plugin)
102
+ };
103
+ });
104
+ }
105
+ }
50
106
  );
107
+ const openPluginDefinition = computed(() => {
108
+ if (openPlugin.value) {
109
+ if (openPlugin.value.type === "block") {
110
+ return plugins.value.find((v) => v.id === openPlugin.value?.id) ?? null;
111
+ } else if (openPlugin.value.type === "host") {
112
+ return hostPlugins.value.find((v) => v.id === openPlugin.value?.id) ?? null;
113
+ }
114
+ }
115
+ return null;
116
+ });
117
+ function getPluginLabel(plugin) {
118
+ if (plugin.configInputs?.length) {
119
+ return plugin.label + "...";
120
+ }
121
+ return plugin.label;
122
+ }
123
+ function cancelTransform() {
124
+ openPlugin.value = null;
125
+ selectedUuids.value = [];
126
+ state.clearOverrideState();
127
+ }
51
128
  watch(selection.uuids, async () => {
52
129
  if (status.value === "idle") {
53
130
  execute();
54
131
  }
55
132
  });
56
- async function onTransform(plugin, uuids) {
133
+ watch(selection.hasHostSelected, () => {
134
+ if (statusHostPlugins.value === "idle") {
135
+ executeHostPlugins();
136
+ }
137
+ });
138
+ function onSelectBlockTransformPlugin(plugin, uuids) {
139
+ if (plugin.configInputs?.length) {
140
+ openPlugin.value = {
141
+ type: "block",
142
+ id: plugin.id
143
+ };
144
+ selectedUuids.value = [...selection.uuids.value];
145
+ return;
146
+ }
147
+ onTransformBlock(plugin, uuids, []);
148
+ }
149
+ function onSelectHostTransformPlugin(plugin) {
150
+ if (plugin.configInputs?.length) {
151
+ openPlugin.value = {
152
+ type: "host",
153
+ id: plugin.id
154
+ };
155
+ return;
156
+ }
157
+ onTransformHost(plugin, []);
158
+ }
159
+ async function onTransformBlock(plugin, uuids, values) {
57
160
  ui.setTransform(plugin.label);
161
+ openPlugin.value = null;
58
162
  await state.mutateWithLoadingState(
59
163
  () => adapter.applyTransformPlugin({
60
164
  uuids,
61
- pluginId: plugin.id
165
+ pluginId: plugin.id,
166
+ config: values
167
+ }),
168
+ $t(
169
+ "failedToTransform",
170
+ 'The action "@name" could not be executed.'
171
+ ).replace("@name", plugin.label)
172
+ );
173
+ ui.setTransform();
174
+ }
175
+ function onSubmitDialog(values) {
176
+ if (!openPluginDefinition.value) {
177
+ return;
178
+ }
179
+ if ("bundles" in openPluginDefinition.value) {
180
+ onTransformBlock(openPluginDefinition.value, selection.uuids.value, values);
181
+ } else {
182
+ onTransformHost(openPluginDefinition.value, values);
183
+ }
184
+ }
185
+ async function onTransformHost(plugin, values) {
186
+ if (!adapter.applyHostTransformPlugin) {
187
+ return;
188
+ }
189
+ ui.setTransform(plugin.label);
190
+ openPlugin.value = null;
191
+ await state.mutateWithLoadingState(
192
+ () => adapter.applyHostTransformPlugin({
193
+ pluginId: plugin.id,
194
+ config: values
62
195
  }),
63
196
  $t(
64
197
  "failedToTransform",
@@ -81,10 +214,12 @@ const possibleTransforms = computed(
81
214
  defineCommands(
82
215
  () => possibleTransforms.value.map((transform) => ({
83
216
  id: "transform:" + transform.id,
84
- label: transform.label,
217
+ label: getPluginLabel(transform),
85
218
  group: "selection",
86
219
  icon: "script",
87
- callback: () => onTransform(transform, selection.uuids.value)
220
+ callback: () => {
221
+ onSelectBlockTransformPlugin(transform, selection.uuids.value);
222
+ }
88
223
  }))
89
224
  );
90
225
  const getPossibleDropTransforms = (plugins2, allBlocks, dragItems) => {
@@ -98,7 +233,7 @@ const getPossibleDropTransforms = (plugins2, allBlocks, dragItems) => {
98
233
  const possibleTransforms2 = [];
99
234
  validPlugins.forEach((plugin) => {
100
235
  notDraggedBlocks.forEach((block) => {
101
- if (plugin.targetBundles.includes(block.itemBundle)) {
236
+ if (!plugin.targetBundles || plugin.targetBundles.includes(block.itemBundle)) {
102
237
  possibleTransforms2.push({
103
238
  plugin,
104
239
  block
@@ -108,30 +243,6 @@ const getPossibleDropTransforms = (plugins2, allBlocks, dragItems) => {
108
243
  });
109
244
  return possibleTransforms2;
110
245
  };
111
- defineDropAreas((dragItems) => {
112
- const existing = dragItems.filter(
113
- (v) => v.itemType === "existing"
114
- );
115
- if (!existing.length) {
116
- return;
117
- }
118
- const uuids = existing.map((v) => v.uuid);
119
- return getPossibleDropTransforms(
120
- plugins.value,
121
- dom.getAllBlocks(),
122
- existing
123
- ).map((v) => {
124
- return {
125
- id: `transform:${v.plugin.id}:${v.block.uuid}`,
126
- label: v.plugin.label,
127
- element: v.block.element(),
128
- onDrop: () => {
129
- const transformUuids = [v.block.uuid, ...uuids];
130
- return onTransform(v.plugin, transformUuids);
131
- }
132
- };
133
- });
134
- });
135
246
  </script>
136
247
 
137
248
  <script>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div>
3
+ <div class="bk-form-label">
4
+ {{ label }}<span v-if="required" class="bk-required-indicator">*</span>
5
+ </div>
6
+ <div>
7
+ <label v-for="option in options" :key="option.value" class="bk-radio">
8
+ <input
9
+ v-model="value"
10
+ type="radio"
11
+ :value="option.value"
12
+ :required
13
+ :name="id"
14
+ :disabled
15
+ />
16
+ <span>{{ option.label }}</span>
17
+ </label>
18
+ </div>
19
+ <div v-if="description" class="bk-form-description">{{ description }}</div>
20
+ </div>
21
+ </template>
22
+
23
+ <script setup>
24
+ defineProps({
25
+ id: { type: String, required: true },
26
+ label: { type: String, required: true },
27
+ options: { type: Array, required: true },
28
+ required: { type: Boolean, required: false },
29
+ disabled: { type: Boolean, required: false },
30
+ description: { type: String, required: false }
31
+ });
32
+ const value = defineModel({ type: String });
33
+ </script>
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ id: string;
3
+ label: string;
4
+ options: {
5
+ value: string;
6
+ label: string;
7
+ }[];
8
+ required?: boolean;
9
+ disabled?: boolean;
10
+ description?: string;
11
+ };
12
+ type __VLS_PublicProps = __VLS_Props & {
13
+ modelValue?: string;
14
+ };
15
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
+ "update:modelValue": (value: string | undefined) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;