@gxp-dev/mod-ui 2.0.0 → 2.0.3

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 (811) hide show
  1. package/.storybook/preview.ts +7 -0
  2. package/README.md +6 -6
  3. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  4. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  5. package/dist/action.d.ts +4 -0
  6. package/dist/action.d.ts.map +1 -0
  7. package/dist/action.js +9 -0
  8. package/dist/action.js.map +1 -0
  9. package/dist/adapters/fieldTypeMap.d.ts.map +1 -1
  10. package/dist/adapters/fieldTypeMap.js +4 -8
  11. package/dist/adapters/fieldTypeMap.js.map +1 -1
  12. package/dist/adapters/index.d.ts +1 -1
  13. package/dist/boolean.d.ts +5 -0
  14. package/dist/boolean.d.ts.map +1 -0
  15. package/dist/boolean.js +11 -0
  16. package/dist/boolean.js.map +1 -0
  17. package/dist/builder.d.ts +9 -0
  18. package/dist/builder.d.ts.map +1 -0
  19. package/dist/builder.js +19 -0
  20. package/dist/builder.js.map +1 -0
  21. package/dist/cards.d.ts +8 -0
  22. package/dist/cards.d.ts.map +1 -0
  23. package/dist/cards.js +17 -0
  24. package/dist/cards.js.map +1 -0
  25. package/dist/code.d.ts +6 -0
  26. package/dist/code.d.ts.map +1 -0
  27. package/dist/code.js +13 -0
  28. package/dist/code.js.map +1 -0
  29. package/dist/components/compositions/cards/CardListCard.vue.d.ts +30 -0
  30. package/dist/components/compositions/cards/CardListCard.vue.d.ts.map +1 -0
  31. package/dist/components/compositions/cards/CardListCard.vue.js +122 -2
  32. package/dist/components/compositions/cards/CardListCard.vue.js.map +1 -1
  33. package/dist/components/compositions/cards/CardListCard.vue2.js +2 -122
  34. package/dist/components/compositions/cards/CardListCard.vue2.js.map +1 -1
  35. package/dist/components/compositions/cards/DataTableCard.vue.d.ts +58 -0
  36. package/dist/components/compositions/cards/DataTableCard.vue.d.ts.map +1 -0
  37. package/dist/components/compositions/cards/DataTableCard.vue.js +387 -2
  38. package/dist/components/compositions/cards/DataTableCard.vue.js.map +1 -1
  39. package/dist/components/compositions/cards/DataTableCard.vue2.js +2 -387
  40. package/dist/components/compositions/cards/DataTableCard.vue2.js.map +1 -1
  41. package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts +16 -0
  42. package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts.map +1 -0
  43. package/dist/components/compositions/cards/ElementDisplayCard.vue.js +64 -2
  44. package/dist/components/compositions/cards/ElementDisplayCard.vue.js.map +1 -1
  45. package/dist/components/compositions/cards/ElementDisplayCard.vue2.js +2 -64
  46. package/dist/components/compositions/cards/ElementDisplayCard.vue2.js.map +1 -1
  47. package/dist/components/compositions/cards/ElementListCard.vue.d.ts +22 -0
  48. package/dist/components/compositions/cards/ElementListCard.vue.d.ts.map +1 -0
  49. package/dist/components/compositions/cards/ElementListCard.vue.js +92 -2
  50. package/dist/components/compositions/cards/ElementListCard.vue.js.map +1 -1
  51. package/dist/components/compositions/cards/ElementListCard.vue2.js +2 -92
  52. package/dist/components/compositions/cards/ElementListCard.vue2.js.map +1 -1
  53. package/dist/components/compositions/cards/GridViewCard.vue.d.ts +35 -0
  54. package/dist/components/compositions/cards/GridViewCard.vue.d.ts.map +1 -0
  55. package/dist/components/compositions/cards/GridViewCard.vue.js +128 -2
  56. package/dist/components/compositions/cards/GridViewCard.vue.js.map +1 -1
  57. package/dist/components/compositions/cards/GridViewCard.vue2.js +2 -128
  58. package/dist/components/compositions/cards/GridViewCard.vue2.js.map +1 -1
  59. package/dist/components/compositions/cards/InfoCard.vue.d.ts +24 -0
  60. package/dist/components/compositions/cards/InfoCard.vue.d.ts.map +1 -0
  61. package/dist/components/compositions/cards/InfoCard.vue.js +183 -2
  62. package/dist/components/compositions/cards/InfoCard.vue.js.map +1 -1
  63. package/dist/components/compositions/cards/InfoCard.vue2.js +2 -183
  64. package/dist/components/compositions/cards/InfoCard.vue2.js.map +1 -1
  65. package/dist/components/compositions/cards/TabListCard.vue.d.ts +36 -0
  66. package/dist/components/compositions/cards/TabListCard.vue.d.ts.map +1 -0
  67. package/dist/components/compositions/cards/TabListCard.vue.js +124 -2
  68. package/dist/components/compositions/cards/TabListCard.vue.js.map +1 -1
  69. package/dist/components/compositions/cards/TabListCard.vue2.js +2 -124
  70. package/dist/components/compositions/cards/TabListCard.vue2.js.map +1 -1
  71. package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts +42 -0
  72. package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts.map +1 -0
  73. package/dist/components/compositions/elements/action/ButtonAction.vue.js +157 -2
  74. package/dist/components/compositions/elements/action/ButtonAction.vue.js.map +1 -1
  75. package/dist/components/compositions/elements/action/ButtonAction.vue2.js +2 -157
  76. package/dist/components/compositions/elements/action/ButtonAction.vue2.js.map +1 -1
  77. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts +46 -0
  78. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts.map +1 -0
  79. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js +66 -2
  80. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js.map +1 -1
  81. package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js +2 -66
  82. package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js.map +1 -1
  83. package/dist/components/compositions/elements/action/LinkAction.vue.d.ts +30 -0
  84. package/dist/components/compositions/elements/action/LinkAction.vue.d.ts.map +1 -0
  85. package/dist/components/compositions/elements/action/LinkAction.vue.js +55 -2
  86. package/dist/components/compositions/elements/action/LinkAction.vue.js.map +1 -1
  87. package/dist/components/compositions/elements/action/LinkAction.vue2.js +2 -55
  88. package/dist/components/compositions/elements/action/LinkAction.vue2.js.map +1 -1
  89. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts +25 -0
  90. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts.map +1 -0
  91. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js +68 -2
  92. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js.map +1 -1
  93. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js +2 -68
  94. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js.map +1 -1
  95. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts +29 -0
  96. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts.map +1 -0
  97. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js +75 -2
  98. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js.map +1 -1
  99. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js +2 -75
  100. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js.map +1 -1
  101. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts +33 -0
  102. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts.map +1 -0
  103. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js +91 -2
  104. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js.map +1 -1
  105. package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js +2 -91
  106. package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js.map +1 -1
  107. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts +29 -0
  108. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts.map +1 -0
  109. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js +77 -2
  110. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js.map +1 -1
  111. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js +2 -77
  112. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js.map +1 -1
  113. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts +29 -0
  114. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts.map +1 -0
  115. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js +666 -2
  116. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js.map +1 -1
  117. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js +2 -666
  118. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js.map +1 -1
  119. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts +29 -0
  120. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts.map +1 -0
  121. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js +421 -2
  122. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js.map +1 -1
  123. package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js +2 -421
  124. package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js.map +1 -1
  125. package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts +30 -0
  126. package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts.map +1 -0
  127. package/dist/components/compositions/elements/builder/FormBuilder.vue.js +857 -2
  128. package/dist/components/compositions/elements/builder/FormBuilder.vue.js.map +1 -1
  129. package/dist/components/compositions/elements/builder/FormBuilder.vue2.js +2 -857
  130. package/dist/components/compositions/elements/builder/FormBuilder.vue2.js.map +1 -1
  131. package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts +37 -0
  132. package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts.map +1 -0
  133. package/dist/components/compositions/elements/builder/GridBuilder.vue.js +452 -2
  134. package/dist/components/compositions/elements/builder/GridBuilder.vue.js.map +1 -1
  135. package/dist/components/compositions/elements/builder/GridBuilder.vue2.js +2 -452
  136. package/dist/components/compositions/elements/builder/GridBuilder.vue2.js.map +1 -1
  137. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts +33 -0
  138. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts.map +1 -0
  139. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js +511 -2
  140. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js.map +1 -1
  141. package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js +2 -511
  142. package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js.map +1 -1
  143. package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts +29 -0
  144. package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts.map +1 -0
  145. package/dist/components/compositions/elements/builder/PresetBuilder.vue.js +163 -2
  146. package/dist/components/compositions/elements/builder/PresetBuilder.vue.js.map +1 -1
  147. package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js +2 -163
  148. package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js.map +1 -1
  149. package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts +34 -0
  150. package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts.map +1 -0
  151. package/dist/components/compositions/elements/builder/QuizBuilder.vue.js +591 -2
  152. package/dist/components/compositions/elements/builder/QuizBuilder.vue.js.map +1 -1
  153. package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js +2 -591
  154. package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js.map +1 -1
  155. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts +29 -0
  156. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts.map +1 -0
  157. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js +580 -2
  158. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js.map +1 -1
  159. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js +2 -580
  160. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js.map +1 -1
  161. package/dist/components/compositions/elements/card/ListCard.vue.d.ts +21 -0
  162. package/dist/components/compositions/elements/card/ListCard.vue.d.ts.map +1 -0
  163. package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts +43 -0
  164. package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts.map +1 -0
  165. package/dist/components/compositions/elements/code/BuildStatus.vue.js +246 -2
  166. package/dist/components/compositions/elements/code/BuildStatus.vue.js.map +1 -1
  167. package/dist/components/compositions/elements/code/BuildStatus.vue2.js +2 -246
  168. package/dist/components/compositions/elements/code/BuildStatus.vue2.js.map +1 -1
  169. package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts +39 -0
  170. package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts.map +1 -0
  171. package/dist/components/compositions/elements/code/ChatMessage.vue.js +267 -2
  172. package/dist/components/compositions/elements/code/ChatMessage.vue.js.map +1 -1
  173. package/dist/components/compositions/elements/code/ChatMessage.vue2.js +2 -267
  174. package/dist/components/compositions/elements/code/ChatMessage.vue2.js.map +1 -1
  175. package/dist/components/compositions/elements/code/FileTree.vue.d.ts +42 -0
  176. package/dist/components/compositions/elements/code/FileTree.vue.d.ts.map +1 -0
  177. package/dist/components/compositions/elements/code/FileTree.vue.js +251 -2
  178. package/dist/components/compositions/elements/code/FileTree.vue.js.map +1 -1
  179. package/dist/components/compositions/elements/code/FileTree.vue2.js +2 -251
  180. package/dist/components/compositions/elements/code/FileTree.vue2.js.map +1 -1
  181. package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts +54 -0
  182. package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts.map +1 -0
  183. package/dist/components/compositions/elements/code/GitCodeEditor.vue.js +273 -2
  184. package/dist/components/compositions/elements/code/GitCodeEditor.vue.js.map +1 -1
  185. package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js +2 -273
  186. package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js.map +1 -1
  187. package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts +46 -0
  188. package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts.map +1 -0
  189. package/dist/components/compositions/elements/code/PullRequestsList.vue.js +303 -2
  190. package/dist/components/compositions/elements/code/PullRequestsList.vue.js.map +1 -1
  191. package/dist/components/compositions/elements/code/PullRequestsList.vue2.js +2 -303
  192. package/dist/components/compositions/elements/code/PullRequestsList.vue2.js.map +1 -1
  193. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts +17 -0
  194. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts.map +1 -0
  195. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js +101 -2
  196. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js.map +1 -1
  197. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js +2 -101
  198. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js.map +1 -1
  199. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts +20 -0
  200. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts.map +1 -0
  201. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js +33 -2
  202. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js.map +1 -1
  203. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js +2 -33
  204. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js.map +1 -1
  205. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts +17 -0
  206. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts.map +1 -0
  207. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js +103 -2
  208. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js.map +1 -1
  209. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js +2 -103
  210. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js.map +1 -1
  211. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts +29 -0
  212. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts.map +1 -0
  213. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js +172 -2
  214. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js.map +1 -1
  215. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js +2 -140
  216. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js.map +1 -1
  217. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts +12 -0
  218. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts.map +1 -0
  219. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js +5 -0
  220. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js.map +1 -0
  221. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js +25 -0
  222. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js.map +1 -0
  223. package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts +13 -0
  224. package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts.map +1 -0
  225. package/dist/components/compositions/elements/display/BannerDisplay.vue.js +63 -2
  226. package/dist/components/compositions/elements/display/BannerDisplay.vue.js.map +1 -1
  227. package/dist/components/compositions/elements/display/BannerDisplay.vue2.js +2 -63
  228. package/dist/components/compositions/elements/display/BannerDisplay.vue2.js.map +1 -1
  229. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts +12 -0
  230. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts.map +1 -0
  231. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js +52 -2
  232. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js.map +1 -1
  233. package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js +2 -52
  234. package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js.map +1 -1
  235. package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts +27 -0
  236. package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts.map +1 -0
  237. package/dist/components/compositions/elements/display/CarouselDisplay.vue.js +144 -2
  238. package/dist/components/compositions/elements/display/CarouselDisplay.vue.js.map +1 -1
  239. package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js +2 -144
  240. package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js.map +1 -1
  241. package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts +17 -0
  242. package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts.map +1 -0
  243. package/dist/components/compositions/elements/display/ChartDisplay.vue.js +78 -2
  244. package/dist/components/compositions/elements/display/ChartDisplay.vue.js.map +1 -1
  245. package/dist/components/compositions/elements/display/ChartDisplay.vue2.js +2 -78
  246. package/dist/components/compositions/elements/display/ChartDisplay.vue2.js.map +1 -1
  247. package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts +7 -0
  248. package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts.map +1 -0
  249. package/dist/components/compositions/elements/display/HtmlDisplay.vue.js +20 -2
  250. package/dist/components/compositions/elements/display/HtmlDisplay.vue.js.map +1 -1
  251. package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js +2 -20
  252. package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js.map +1 -1
  253. package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts +10 -0
  254. package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts.map +1 -0
  255. package/dist/components/compositions/elements/display/IconDisplay.vue.js +55 -2
  256. package/dist/components/compositions/elements/display/IconDisplay.vue.js.map +1 -1
  257. package/dist/components/compositions/elements/display/IconDisplay.vue2.js +2 -55
  258. package/dist/components/compositions/elements/display/IconDisplay.vue2.js.map +1 -1
  259. package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts +11 -0
  260. package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts.map +1 -0
  261. package/dist/components/compositions/elements/display/IframeDisplay.vue.js +32 -2
  262. package/dist/components/compositions/elements/display/IframeDisplay.vue.js.map +1 -1
  263. package/dist/components/compositions/elements/display/IframeDisplay.vue2.js +2 -32
  264. package/dist/components/compositions/elements/display/IframeDisplay.vue2.js.map +1 -1
  265. package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts +8 -0
  266. package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts.map +1 -0
  267. package/dist/components/compositions/elements/display/ImageDisplay.vue.js +35 -2
  268. package/dist/components/compositions/elements/display/ImageDisplay.vue.js.map +1 -1
  269. package/dist/components/compositions/elements/display/ImageDisplay.vue2.js +2 -35
  270. package/dist/components/compositions/elements/display/ImageDisplay.vue2.js.map +1 -1
  271. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts +7 -0
  272. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts.map +1 -0
  273. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js +39 -2
  274. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js.map +1 -1
  275. package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js +2 -39
  276. package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js.map +1 -1
  277. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts +11 -0
  278. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts.map +1 -0
  279. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js +42 -2
  280. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js.map +1 -1
  281. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js +2 -42
  282. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js.map +1 -1
  283. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts +9 -0
  284. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts.map +1 -0
  285. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js +46 -2
  286. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js.map +1 -1
  287. package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js +2 -46
  288. package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js.map +1 -1
  289. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts +7 -0
  290. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts.map +1 -0
  291. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js +64 -2
  292. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js.map +1 -1
  293. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js +2 -64
  294. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js.map +1 -1
  295. package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts +7 -0
  296. package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts.map +1 -0
  297. package/dist/components/compositions/elements/display/SpriteDisplay.vue.js +64 -2
  298. package/dist/components/compositions/elements/display/SpriteDisplay.vue.js.map +1 -1
  299. package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js +2 -64
  300. package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js.map +1 -1
  301. package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts +11 -0
  302. package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts.map +1 -0
  303. package/dist/components/compositions/elements/display/TypeDisplay.vue.js +42 -2
  304. package/dist/components/compositions/elements/display/TypeDisplay.vue.js.map +1 -1
  305. package/dist/components/compositions/elements/display/TypeDisplay.vue2.js +2 -42
  306. package/dist/components/compositions/elements/display/TypeDisplay.vue2.js.map +1 -1
  307. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts +10 -0
  308. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts.map +1 -0
  309. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js +33 -2
  310. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js.map +1 -1
  311. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js +2 -33
  312. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js.map +1 -1
  313. package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts +33 -0
  314. package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts.map +1 -0
  315. package/dist/components/compositions/elements/editor/CodeEditor.vue.js +5 -2
  316. package/dist/components/compositions/elements/editor/CodeEditor.vue.js.map +1 -1
  317. package/dist/components/compositions/elements/editor/CodeEditor.vue2.js +211 -53
  318. package/dist/components/compositions/elements/editor/CodeEditor.vue2.js.map +1 -1
  319. package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts +24 -0
  320. package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts.map +1 -0
  321. package/dist/components/compositions/elements/editor/HtmlEditor.vue.js +5 -2
  322. package/dist/components/compositions/elements/editor/HtmlEditor.vue.js.map +1 -1
  323. package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js +1333 -50
  324. package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js.map +1 -1
  325. package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts +24 -0
  326. package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts.map +1 -0
  327. package/dist/components/compositions/elements/editor/ImageEditor.vue.js +67 -2
  328. package/dist/components/compositions/elements/editor/ImageEditor.vue.js.map +1 -1
  329. package/dist/components/compositions/elements/editor/ImageEditor.vue2.js +2 -67
  330. package/dist/components/compositions/elements/editor/ImageEditor.vue2.js.map +1 -1
  331. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts +28 -0
  332. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts.map +1 -0
  333. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js +82 -2
  334. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js.map +1 -1
  335. package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js +2 -82
  336. package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js.map +1 -1
  337. package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts +26 -0
  338. package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts.map +1 -0
  339. package/dist/components/compositions/elements/editor/RichTextEditor.vue.js +262 -2
  340. package/dist/components/compositions/elements/editor/RichTextEditor.vue.js.map +1 -1
  341. package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js +2 -262
  342. package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js.map +1 -1
  343. package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts +47 -0
  344. package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts.map +1 -0
  345. package/dist/components/compositions/elements/file/AssetPickerFile.vue.js +293 -2
  346. package/dist/components/compositions/elements/file/AssetPickerFile.vue.js.map +1 -1
  347. package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js +2 -293
  348. package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js.map +1 -1
  349. package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts +33 -0
  350. package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts.map +1 -0
  351. package/dist/components/compositions/elements/file/DropzoneFile.vue.js +171 -2
  352. package/dist/components/compositions/elements/file/DropzoneFile.vue.js.map +1 -1
  353. package/dist/components/compositions/elements/file/DropzoneFile.vue2.js +2 -171
  354. package/dist/components/compositions/elements/file/DropzoneFile.vue2.js.map +1 -1
  355. package/dist/components/compositions/elements/file/UploadFile.vue.d.ts +33 -0
  356. package/dist/components/compositions/elements/file/UploadFile.vue.d.ts.map +1 -0
  357. package/dist/components/compositions/elements/file/UploadFile.vue.js +149 -2
  358. package/dist/components/compositions/elements/file/UploadFile.vue.js.map +1 -1
  359. package/dist/components/compositions/elements/file/UploadFile.vue2.js +2 -149
  360. package/dist/components/compositions/elements/file/UploadFile.vue2.js.map +1 -1
  361. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts +48 -0
  362. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts.map +1 -0
  363. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js +166 -2
  364. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js.map +1 -1
  365. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js +2 -166
  366. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js.map +1 -1
  367. package/dist/components/compositions/elements/input/EmailInput.vue.d.ts +48 -0
  368. package/dist/components/compositions/elements/input/EmailInput.vue.d.ts.map +1 -0
  369. package/dist/components/compositions/elements/input/EmailInput.vue.js +62 -2
  370. package/dist/components/compositions/elements/input/EmailInput.vue.js.map +1 -1
  371. package/dist/components/compositions/elements/input/EmailInput.vue2.js +2 -62
  372. package/dist/components/compositions/elements/input/EmailInput.vue2.js.map +1 -1
  373. package/dist/components/compositions/elements/input/NumberInput.vue.d.ts +49 -0
  374. package/dist/components/compositions/elements/input/NumberInput.vue.d.ts.map +1 -0
  375. package/dist/components/compositions/elements/input/NumberInput.vue.js +73 -2
  376. package/dist/components/compositions/elements/input/NumberInput.vue.js.map +1 -1
  377. package/dist/components/compositions/elements/input/NumberInput.vue2.js +2 -73
  378. package/dist/components/compositions/elements/input/NumberInput.vue2.js.map +1 -1
  379. package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts +49 -0
  380. package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts.map +1 -0
  381. package/dist/components/compositions/elements/input/PasswordInput.vue.js +98 -2
  382. package/dist/components/compositions/elements/input/PasswordInput.vue.js.map +1 -1
  383. package/dist/components/compositions/elements/input/PasswordInput.vue2.js +2 -98
  384. package/dist/components/compositions/elements/input/PasswordInput.vue2.js.map +1 -1
  385. package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts +31 -0
  386. package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts.map +1 -0
  387. package/dist/components/compositions/elements/input/RangeSliderInput.vue.js +69 -2
  388. package/dist/components/compositions/elements/input/RangeSliderInput.vue.js.map +1 -1
  389. package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js +2 -69
  390. package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js.map +1 -1
  391. package/dist/components/compositions/elements/input/SearchInput.vue.d.ts +48 -0
  392. package/dist/components/compositions/elements/input/SearchInput.vue.d.ts.map +1 -0
  393. package/dist/components/compositions/elements/input/SearchInput.vue.js +69 -2
  394. package/dist/components/compositions/elements/input/SearchInput.vue.js.map +1 -1
  395. package/dist/components/compositions/elements/input/SearchInput.vue2.js +2 -69
  396. package/dist/components/compositions/elements/input/SearchInput.vue2.js.map +1 -1
  397. package/dist/components/compositions/elements/input/TelInput.vue.d.ts +48 -0
  398. package/dist/components/compositions/elements/input/TelInput.vue.d.ts.map +1 -0
  399. package/dist/components/compositions/elements/input/TelInput.vue.js +62 -2
  400. package/dist/components/compositions/elements/input/TelInput.vue.js.map +1 -1
  401. package/dist/components/compositions/elements/input/TelInput.vue2.js +2 -62
  402. package/dist/components/compositions/elements/input/TelInput.vue2.js.map +1 -1
  403. package/dist/components/compositions/elements/input/TextInput.vue.d.ts +48 -0
  404. package/dist/components/compositions/elements/input/TextInput.vue.d.ts.map +1 -0
  405. package/dist/components/compositions/elements/input/TextInput.vue.js +62 -2
  406. package/dist/components/compositions/elements/input/TextInput.vue.js.map +1 -1
  407. package/dist/components/compositions/elements/input/TextInput.vue2.js +2 -62
  408. package/dist/components/compositions/elements/input/TextInput.vue2.js.map +1 -1
  409. package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts +54 -0
  410. package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts.map +1 -0
  411. package/dist/components/compositions/elements/input/TextareaInput.vue.js +63 -2
  412. package/dist/components/compositions/elements/input/TextareaInput.vue.js.map +1 -1
  413. package/dist/components/compositions/elements/input/TextareaInput.vue2.js +2 -63
  414. package/dist/components/compositions/elements/input/TextareaInput.vue2.js.map +1 -1
  415. package/dist/components/compositions/elements/input/UrlInput.vue.d.ts +48 -0
  416. package/dist/components/compositions/elements/input/UrlInput.vue.d.ts.map +1 -0
  417. package/dist/components/compositions/elements/input/UrlInput.vue.js +62 -2
  418. package/dist/components/compositions/elements/input/UrlInput.vue.js.map +1 -1
  419. package/dist/components/compositions/elements/input/UrlInput.vue2.js +2 -62
  420. package/dist/components/compositions/elements/input/UrlInput.vue2.js.map +1 -1
  421. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts +44 -0
  422. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts.map +1 -0
  423. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js +167 -2
  424. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js.map +1 -1
  425. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js +2 -167
  426. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js.map +1 -1
  427. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts +31 -0
  428. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts.map +1 -0
  429. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js +121 -2
  430. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js.map +1 -1
  431. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js +2 -121
  432. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js.map +1 -1
  433. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts +29 -0
  434. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts.map +1 -0
  435. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js +87 -2
  436. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js.map +1 -1
  437. package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js +2 -87
  438. package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js.map +1 -1
  439. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts +41 -0
  440. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts.map +1 -0
  441. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js +237 -2
  442. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js.map +1 -1
  443. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js +2 -237
  444. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js.map +1 -1
  445. package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts +29 -0
  446. package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts.map +1 -0
  447. package/dist/components/compositions/elements/option-select/ListOption.vue.js +89 -2
  448. package/dist/components/compositions/elements/option-select/ListOption.vue.js.map +1 -1
  449. package/dist/components/compositions/elements/option-select/ListOption.vue2.js +2 -89
  450. package/dist/components/compositions/elements/option-select/ListOption.vue2.js.map +1 -1
  451. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts +28 -0
  452. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts.map +1 -0
  453. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js +85 -2
  454. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js.map +1 -1
  455. package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js +2 -85
  456. package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js.map +1 -1
  457. package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts +29 -0
  458. package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts.map +1 -0
  459. package/dist/components/compositions/elements/option-select/RadioOption.vue.js +98 -2
  460. package/dist/components/compositions/elements/option-select/RadioOption.vue.js.map +1 -1
  461. package/dist/components/compositions/elements/option-select/RadioOption.vue2.js +2 -98
  462. package/dist/components/compositions/elements/option-select/RadioOption.vue2.js.map +1 -1
  463. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts +29 -0
  464. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts.map +1 -0
  465. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js +151 -2
  466. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js.map +1 -1
  467. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js +2 -151
  468. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js.map +1 -1
  469. package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts +29 -0
  470. package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts.map +1 -0
  471. package/dist/components/compositions/elements/option-select/SelectOption.vue.js +116 -2
  472. package/dist/components/compositions/elements/option-select/SelectOption.vue.js.map +1 -1
  473. package/dist/components/compositions/elements/option-select/SelectOption.vue2.js +2 -116
  474. package/dist/components/compositions/elements/option-select/SelectOption.vue2.js.map +1 -1
  475. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts +40 -0
  476. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts.map +1 -0
  477. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js +182 -2
  478. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js.map +1 -1
  479. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js +2 -182
  480. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js.map +1 -1
  481. package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts +29 -0
  482. package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts.map +1 -0
  483. package/dist/components/compositions/elements/picker/ColorPicker.vue.js +155 -2
  484. package/dist/components/compositions/elements/picker/ColorPicker.vue.js.map +1 -1
  485. package/dist/components/compositions/elements/picker/ColorPicker.vue2.js +2 -155
  486. package/dist/components/compositions/elements/picker/ColorPicker.vue2.js.map +1 -1
  487. package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts +29 -0
  488. package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts.map +1 -0
  489. package/dist/components/compositions/elements/picker/DataModelPicker.vue.js +104 -2
  490. package/dist/components/compositions/elements/picker/DataModelPicker.vue.js.map +1 -1
  491. package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js +2 -104
  492. package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js.map +1 -1
  493. package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts +32 -0
  494. package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts.map +1 -0
  495. package/dist/components/compositions/elements/picker/DatePicker.vue.js +140 -2
  496. package/dist/components/compositions/elements/picker/DatePicker.vue.js.map +1 -1
  497. package/dist/components/compositions/elements/picker/DatePicker.vue2.js +2 -140
  498. package/dist/components/compositions/elements/picker/DatePicker.vue2.js.map +1 -1
  499. package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts +26 -0
  500. package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts.map +1 -0
  501. package/dist/components/compositions/elements/picker/DateTimePicker.vue.js +171 -2
  502. package/dist/components/compositions/elements/picker/DateTimePicker.vue.js.map +1 -1
  503. package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js +2 -171
  504. package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js.map +1 -1
  505. package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts +26 -0
  506. package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts.map +1 -0
  507. package/dist/components/compositions/elements/picker/IconPicker.vue.js +190 -2
  508. package/dist/components/compositions/elements/picker/IconPicker.vue.js.map +1 -1
  509. package/dist/components/compositions/elements/picker/IconPicker.vue2.js +2 -190
  510. package/dist/components/compositions/elements/picker/IconPicker.vue2.js.map +1 -1
  511. package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts +24 -0
  512. package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts.map +1 -0
  513. package/dist/components/compositions/elements/{components/IconPickerInline.vue2.js → picker/IconPickerInline.vue.js} +23 -23
  514. package/dist/components/compositions/elements/picker/IconPickerInline.vue.js.map +1 -0
  515. package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js +5 -0
  516. package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js.map +1 -0
  517. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts +41 -0
  518. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts.map +1 -0
  519. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js +271 -2
  520. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js.map +1 -1
  521. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js +2 -271
  522. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js.map +1 -1
  523. package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts +55 -0
  524. package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts.map +1 -0
  525. package/dist/components/compositions/elements/picker/MapPicker.vue.js +118 -2
  526. package/dist/components/compositions/elements/picker/MapPicker.vue.js.map +1 -1
  527. package/dist/components/compositions/elements/picker/MapPicker.vue2.js +2 -118
  528. package/dist/components/compositions/elements/picker/MapPicker.vue2.js.map +1 -1
  529. package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts +26 -0
  530. package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts.map +1 -0
  531. package/dist/components/compositions/elements/picker/TimePicker.vue.js +106 -2
  532. package/dist/components/compositions/elements/picker/TimePicker.vue.js.map +1 -1
  533. package/dist/components/compositions/elements/picker/TimePicker.vue2.js +2 -106
  534. package/dist/components/compositions/elements/picker/TimePicker.vue2.js.map +1 -1
  535. package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts +26 -0
  536. package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts.map +1 -0
  537. package/dist/components/compositions/elements/picker/TimezonePicker.vue.js +124 -2
  538. package/dist/components/compositions/elements/picker/TimezonePicker.vue.js.map +1 -1
  539. package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js +2 -124
  540. package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js.map +1 -1
  541. package/dist/components/ui/index.d.ts +3 -3
  542. package/dist/components/ui/toast/index.d.ts +1 -1
  543. package/dist/components/ui/toast/index.js.map +1 -1
  544. package/dist/configuration-block.d.ts +5 -0
  545. package/dist/configuration-block.d.ts.map +1 -0
  546. package/dist/configuration-block.js +11 -0
  547. package/dist/configuration-block.js.map +1 -0
  548. package/dist/definitions/elements/PickerElement.d.ts +1 -1
  549. package/dist/definitions/elements/PickerElement.d.ts.map +1 -1
  550. package/dist/definitions/elements/PickerElement.js +3 -2
  551. package/dist/definitions/elements/PickerElement.js.map +1 -1
  552. package/dist/definitions/elements/index.d.ts +1 -155
  553. package/dist/definitions/elements/index.d.ts.map +1 -1
  554. package/dist/definitions/elements/index.js +112 -121
  555. package/dist/definitions/elements/index.js.map +1 -1
  556. package/dist/definitions/index.d.ts +1 -1
  557. package/dist/definitions/shared/base.d.ts +1 -1
  558. package/dist/definitions/shared/base.d.ts.map +1 -1
  559. package/dist/definitions/shared/base.js.map +1 -1
  560. package/dist/display.d.ts +16 -0
  561. package/dist/display.d.ts.map +1 -0
  562. package/dist/display.js +33 -0
  563. package/dist/display.js.map +1 -0
  564. package/dist/editor.d.ts +6 -0
  565. package/dist/editor.d.ts.map +1 -0
  566. package/dist/editor.js +13 -0
  567. package/dist/editor.js.map +1 -0
  568. package/dist/engine/registry.d.ts +0 -2
  569. package/dist/engine/registry.d.ts.map +1 -1
  570. package/dist/engine/registry.js +1 -5
  571. package/dist/engine/registry.js.map +1 -1
  572. package/dist/engine/useCardLoader.js +1 -1
  573. package/dist/engine/useCardLoader.js.map +1 -1
  574. package/dist/engine/useElementLoader.js +1 -1
  575. package/dist/engine/useElementLoader.js.map +1 -1
  576. package/dist/engine/useFormData.d.ts.map +1 -1
  577. package/dist/engine/useFormData.js +13 -13
  578. package/dist/engine/useFormData.js.map +1 -1
  579. package/dist/file.d.ts +4 -0
  580. package/dist/file.d.ts.map +1 -0
  581. package/dist/file.js +9 -0
  582. package/dist/file.js.map +1 -0
  583. package/dist/index.d.ts +3 -3
  584. package/dist/index.js +71 -75
  585. package/dist/index.js.map +1 -1
  586. package/dist/input.d.ts +11 -0
  587. package/dist/input.d.ts.map +1 -0
  588. package/dist/input.js +23 -0
  589. package/dist/input.js.map +1 -0
  590. package/dist/lib/storybook.d.ts +45 -0
  591. package/dist/lib/storybook.d.ts.map +1 -0
  592. package/dist/option-select.d.ts +10 -0
  593. package/dist/option-select.d.ts.map +1 -0
  594. package/dist/option-select.js +21 -0
  595. package/dist/option-select.js.map +1 -0
  596. package/dist/pages/ShowPage.vue.js +1 -1
  597. package/dist/pages/ShowPage.vue.js.map +1 -1
  598. package/dist/picker.d.ts +12 -0
  599. package/dist/picker.d.ts.map +1 -0
  600. package/dist/picker.js +25 -0
  601. package/dist/picker.js.map +1 -0
  602. package/dist/stores/dependencyListBuilderStore.d.ts +1 -1
  603. package/dist/stores/dependencyListBuilderStore.js +5 -5
  604. package/dist/stores/dependencyListBuilderStore.js.map +1 -1
  605. package/dist/stores/elementListBuilderStore.d.ts +1 -1
  606. package/dist/stores/elementListBuilderStore.js +14 -14
  607. package/dist/stores/elementListBuilderStore.js.map +1 -1
  608. package/dist/stores/formBuilderStore.d.ts +1 -1
  609. package/dist/stores/formBuilderStore.js +5 -5
  610. package/dist/stores/formBuilderStore.js.map +1 -1
  611. package/dist/stores/formDataStore.d.ts +1 -1
  612. package/dist/stores/formDataStore.js +2 -2
  613. package/dist/stores/formDataStore.js.map +1 -1
  614. package/dist/stores/gridBuilderStore.d.ts +1 -1
  615. package/dist/stores/gridBuilderStore.js +11 -11
  616. package/dist/stores/gridBuilderStore.js.map +1 -1
  617. package/dist/stores/objectBuilderStore.d.ts +1 -1
  618. package/dist/stores/objectBuilderStore.js +1 -1
  619. package/dist/stores/objectBuilderStore.js.map +1 -1
  620. package/dist/stores/presetBuilderStore.d.ts +1 -1
  621. package/dist/stores/presetBuilderStore.js +12 -12
  622. package/dist/stores/presetBuilderStore.js.map +1 -1
  623. package/dist/stores/quizBuilderStore.d.ts +1 -1
  624. package/dist/stores/quizBuilderStore.js +1 -1
  625. package/dist/stores/quizBuilderStore.js.map +1 -1
  626. package/dist/stores/reactiveCanvasBuilderStore.d.ts +1 -1
  627. package/dist/stores/reactiveCanvasBuilderStore.js +40 -40
  628. package/dist/stores/reactiveCanvasBuilderStore.js.map +1 -1
  629. package/dist/styles/mod-ui.css +1 -0
  630. package/package.json +198 -37
  631. package/src/action.ts +3 -0
  632. package/src/adapters/fieldTypeMap.ts +3 -8
  633. package/src/adapters/index.ts +1 -1
  634. package/src/boolean.ts +4 -0
  635. package/src/builder.ts +8 -0
  636. package/src/cards.ts +7 -0
  637. package/src/code.ts +5 -0
  638. package/src/components/compositions/cards/CardListCard.stories.ts +2 -0
  639. package/src/components/compositions/cards/DataTableCard.stories.ts +2 -0
  640. package/src/components/compositions/cards/ElementDisplayCard.stories.ts +2 -0
  641. package/src/components/compositions/cards/ElementListCard.stories.ts +2 -0
  642. package/src/components/compositions/cards/GridViewCard.stories.ts +2 -0
  643. package/src/components/compositions/cards/InfoCard.stories.ts +2 -0
  644. package/src/components/compositions/cards/TabListCard.stories.ts +2 -0
  645. package/src/components/compositions/elements/action/ButtonAction.stories.ts +3 -1
  646. package/src/components/compositions/elements/action/ButtonGroupAction.stories.ts +3 -1
  647. package/src/components/compositions/elements/action/LinkAction.stories.ts +3 -1
  648. package/src/components/compositions/elements/boolean/CheckboxBoolean.stories.ts +3 -1
  649. package/src/components/compositions/elements/boolean/IconToggleBoolean.stories.ts +3 -1
  650. package/src/components/compositions/elements/boolean/RadioBoolean.stories.ts +3 -1
  651. package/src/components/compositions/elements/boolean/SwitchBoolean.stories.ts +3 -1
  652. package/src/components/compositions/elements/builder/DependencyListBuilder.stories.ts +1 -1
  653. package/src/components/compositions/elements/builder/ElementListBuilder.stories.ts +1 -1
  654. package/src/components/compositions/elements/builder/ElementListBuilder.test.ts +0 -1
  655. package/src/components/compositions/elements/builder/FormBuilder.stories.ts +2 -0
  656. package/src/components/compositions/elements/builder/FormBuilder.test.ts +0 -1
  657. package/src/components/compositions/elements/builder/GridBuilder.stories.ts +2 -0
  658. package/src/components/compositions/elements/builder/ObjectBuilder.stories.ts +1 -1
  659. package/src/components/compositions/elements/builder/PresetBuilder.stories.ts +1 -1
  660. package/src/components/compositions/elements/builder/QuizBuilder.stories.ts +2 -0
  661. package/src/components/compositions/elements/builder/ReactiveCanvasBuilder.stories.ts +1 -1
  662. package/src/components/compositions/elements/code/BuildStatus.stories.ts +3 -1
  663. package/src/components/compositions/elements/code/ChatMessage.stories.ts +1 -1
  664. package/src/components/compositions/elements/code/FileTree.stories.ts +3 -1
  665. package/src/components/compositions/elements/code/GitCodeEditor.stories.ts +3 -1
  666. package/src/components/compositions/elements/code/PullRequestsList.stories.ts +3 -1
  667. package/src/components/compositions/elements/configuration-block/DialogBlock.stories.ts +1 -1
  668. package/src/components/compositions/elements/configuration-block/ElementsBlock.stories.ts +1 -1
  669. package/src/components/compositions/elements/configuration-block/ModalBlock.stories.ts +2 -0
  670. package/src/components/compositions/elements/configuration-block/RepeatableBlock.stories.ts +45 -2
  671. package/src/components/compositions/elements/configuration-block/RepeatableBlock.test.ts +47 -16
  672. package/src/components/compositions/elements/configuration-block/RepeatableBlock.vue +161 -92
  673. package/src/components/compositions/elements/configuration-block/RepeatableRow.vue +36 -0
  674. package/src/components/compositions/elements/display/BannerDisplay.stories.ts +3 -1
  675. package/src/components/compositions/elements/display/BarcodeDisplay.stories.ts +3 -1
  676. package/src/components/compositions/elements/display/CarouselDisplay.stories.ts +3 -1
  677. package/src/components/compositions/elements/display/ChartDisplay.stories.ts +3 -1
  678. package/src/components/compositions/elements/display/HtmlDisplay.stories.ts +3 -1
  679. package/src/components/compositions/elements/display/IconDisplay.stories.ts +3 -1
  680. package/src/components/compositions/elements/display/IframeDisplay.stories.ts +3 -1
  681. package/src/components/compositions/elements/display/ImageDisplay.stories.ts +3 -1
  682. package/src/components/compositions/elements/display/MarkdownDisplay.stories.ts +3 -1
  683. package/src/components/compositions/elements/display/ProgressBarDisplay.stories.ts +3 -1
  684. package/src/components/compositions/elements/display/QrCodeDisplay.stories.ts +3 -1
  685. package/src/components/compositions/elements/display/ReactiveCanvasDisplay.stories.ts +3 -1
  686. package/src/components/compositions/elements/display/SpriteDisplay.stories.ts +3 -1
  687. package/src/components/compositions/elements/display/TypeDisplay.stories.ts +3 -1
  688. package/src/components/compositions/elements/display/VideoPlayerDisplay.stories.ts +3 -1
  689. package/src/components/compositions/elements/editor/CodeEditor.stories.ts +88 -12
  690. package/src/components/compositions/elements/editor/CodeEditor.test.ts +72 -41
  691. package/src/components/compositions/elements/editor/CodeEditor.vue +306 -38
  692. package/src/components/compositions/elements/editor/HtmlEditor.stories.ts +73 -6
  693. package/src/components/compositions/elements/editor/HtmlEditor.test.ts +59 -50
  694. package/src/components/compositions/elements/editor/HtmlEditor.vue +942 -41
  695. package/src/components/compositions/elements/editor/ImageEditor.stories.ts +3 -1
  696. package/src/components/compositions/elements/editor/MarkdownEditor.stories.ts +3 -1
  697. package/src/components/compositions/elements/editor/RichTextEditor.stories.ts +3 -1
  698. package/src/components/compositions/elements/file/AssetPickerFile.stories.ts +3 -1
  699. package/src/components/compositions/elements/file/DropzoneFile.stories.ts +3 -1
  700. package/src/components/compositions/elements/file/UploadFile.stories.ts +3 -1
  701. package/src/components/compositions/elements/input/BarcodeScannerInput.stories.ts +3 -1
  702. package/src/components/compositions/elements/input/EmailInput.stories.ts +3 -1
  703. package/src/components/compositions/elements/input/NumberInput.stories.ts +3 -1
  704. package/src/components/compositions/elements/input/PasswordInput.stories.ts +3 -1
  705. package/src/components/compositions/elements/input/RangeSliderInput.stories.ts +3 -1
  706. package/src/components/compositions/elements/input/SearchInput.stories.ts +3 -1
  707. package/src/components/compositions/elements/input/TelInput.stories.ts +3 -1
  708. package/src/components/compositions/elements/input/TextInput.stories.ts +3 -1
  709. package/src/components/compositions/elements/input/TextareaInput.stories.ts +3 -1
  710. package/src/components/compositions/elements/input/UrlInput.stories.ts +3 -1
  711. package/src/components/compositions/elements/option-select/AsyncSelectOption.stories.ts +3 -1
  712. package/src/components/compositions/elements/option-select/AutoCompleteOption.stories.ts +3 -1
  713. package/src/components/compositions/elements/option-select/CheckboxOption.stories.ts +3 -1
  714. package/src/components/compositions/elements/option-select/IntegrationConnectorOption.stories.ts +3 -1
  715. package/src/components/compositions/elements/option-select/ListOption.stories.ts +3 -1
  716. package/src/components/compositions/elements/option-select/PillSelectOption.stories.ts +3 -1
  717. package/src/components/compositions/elements/option-select/RadioOption.stories.ts +3 -1
  718. package/src/components/compositions/elements/option-select/SelectMultipleOption.stories.ts +3 -1
  719. package/src/components/compositions/elements/option-select/SelectOption.stories.ts +3 -1
  720. package/src/components/compositions/elements/picker/AsyncSelectPicker.stories.ts +3 -1
  721. package/src/components/compositions/elements/picker/ColorPicker.stories.ts +3 -1
  722. package/src/components/compositions/elements/picker/DataModelPicker.stories.ts +3 -1
  723. package/src/components/compositions/elements/picker/DatePicker.stories.ts +3 -1
  724. package/src/components/compositions/elements/picker/DateTimePicker.stories.ts +3 -1
  725. package/src/components/compositions/elements/picker/IconPicker.stories.ts +3 -1
  726. package/src/components/compositions/elements/{components → picker}/IconPickerInline.stories.ts +3 -1
  727. package/src/components/compositions/elements/{components → picker}/IconPickerInline.test.ts +8 -8
  728. package/src/components/compositions/elements/{components → picker}/IconPickerInline.vue +4 -4
  729. package/src/components/compositions/elements/picker/IntegrationConnectorPicker.stories.ts +3 -1
  730. package/src/components/compositions/elements/picker/MapPicker.stories.ts +3 -1
  731. package/src/components/compositions/elements/picker/TimePicker.stories.ts +3 -1
  732. package/src/components/compositions/elements/picker/TimezonePicker.stories.ts +3 -1
  733. package/src/components/ui/accordion/Accordion.stories.ts +2 -0
  734. package/src/components/ui/alert/Alert.stories.ts +2 -0
  735. package/src/components/ui/avatar/Avatar.stories.ts +2 -0
  736. package/src/components/ui/badge/Badge.stories.ts +2 -0
  737. package/src/components/ui/button/Button.stories.ts +5 -0
  738. package/src/components/ui/calendar/Calendar.stories.ts +2 -0
  739. package/src/components/ui/card/Card.stories.ts +2 -0
  740. package/src/components/ui/checkbox/Checkbox.stories.ts +2 -0
  741. package/src/components/ui/combobox/Combobox.stories.ts +2 -0
  742. package/src/components/ui/command/Command.stories.ts +2 -0
  743. package/src/components/ui/dialog/Dialog.stories.ts +2 -0
  744. package/src/components/ui/dropdown-menu/DropdownMenu.stories.ts +2 -0
  745. package/src/components/ui/field-frame/FieldFrame.stories.ts +1 -1
  746. package/src/components/ui/index.ts +3 -3
  747. package/src/components/ui/input/Input.stories.ts +2 -0
  748. package/src/components/ui/label/Label.stories.ts +2 -0
  749. package/src/components/ui/popover/Popover.stories.ts +2 -0
  750. package/src/components/ui/progress/Progress.stories.ts +2 -0
  751. package/src/components/ui/radio-group/RadioGroup.stories.ts +2 -0
  752. package/src/components/ui/select/Select.stories.ts +2 -0
  753. package/src/components/ui/separator/Separator.stories.ts +2 -0
  754. package/src/components/ui/sheet/Sheet.stories.ts +2 -0
  755. package/src/components/ui/skeleton/Skeleton.stories.ts +2 -0
  756. package/src/components/ui/slider/Slider.stories.ts +2 -0
  757. package/src/components/ui/switch/Switch.stories.ts +2 -0
  758. package/src/components/ui/table/Table.stories.ts +2 -0
  759. package/src/components/ui/tabs/Tabs.stories.ts +2 -0
  760. package/src/components/ui/textarea/Textarea.stories.ts +2 -0
  761. package/src/components/ui/toast/Toaster.stories.ts +2 -0
  762. package/src/components/ui/toast/index.ts +1 -1
  763. package/src/components/ui/toggle/Toggle.stories.ts +2 -0
  764. package/src/components/ui/tooltip/Tooltip.stories.ts +2 -0
  765. package/src/configuration-block.ts +4 -0
  766. package/src/definitions/__tests__/schema.test.ts +0 -1
  767. package/src/definitions/elements/PickerElement.ts +2 -0
  768. package/src/definitions/elements/index.ts +0 -18
  769. package/src/definitions/index.ts +1 -1
  770. package/src/definitions/shared/base.ts +0 -1
  771. package/src/display.ts +15 -0
  772. package/src/editor.ts +5 -0
  773. package/src/engine/registry.ts +1 -7
  774. package/src/engine/useFormData.ts +1 -1
  775. package/src/file.ts +3 -0
  776. package/src/index.ts +3 -3
  777. package/src/input.ts +10 -0
  778. package/src/lib/storybook.ts +67 -0
  779. package/src/option-select.ts +9 -0
  780. package/src/pages/IndexPage.stories.ts +2 -1
  781. package/src/pages/ShowPage.stories.ts +2 -1
  782. package/src/pages/ShowPage.vue +1 -1
  783. package/src/picker.ts +11 -0
  784. package/src/stores/dependencyListBuilderStore.ts +1 -1
  785. package/src/stores/elementListBuilderStore.ts +1 -1
  786. package/src/stores/formBuilderStore.ts +1 -1
  787. package/src/stores/formDataStore.ts +1 -1
  788. package/src/stores/gridBuilderStore.ts +1 -1
  789. package/src/stores/objectBuilderStore.ts +1 -1
  790. package/src/stores/presetBuilderStore.ts +1 -1
  791. package/src/stores/quizBuilderStore.ts +1 -1
  792. package/src/stores/reactiveCanvasBuilderStore.ts +1 -1
  793. package/src/styles/themes/dark.css +1 -1
  794. package/src/styles/themes/default.css +1 -1
  795. package/src/styles/themes/kiosk.css +1 -1
  796. package/dist/components/compositions/elements/components/IconBadge.vue.js +0 -5
  797. package/dist/components/compositions/elements/components/IconBadge.vue.js.map +0 -1
  798. package/dist/components/compositions/elements/components/IconBadge.vue2.js +0 -77
  799. package/dist/components/compositions/elements/components/IconBadge.vue2.js.map +0 -1
  800. package/dist/components/compositions/elements/components/IconPickerInline.vue.js +0 -5
  801. package/dist/components/compositions/elements/components/IconPickerInline.vue.js.map +0 -1
  802. package/dist/components/compositions/elements/components/IconPickerInline.vue2.js.map +0 -1
  803. package/dist/definitions/elements/ComponentsElement.d.ts +0 -187
  804. package/dist/definitions/elements/ComponentsElement.d.ts.map +0 -1
  805. package/dist/definitions/elements/ComponentsElement.js +0 -111
  806. package/dist/definitions/elements/ComponentsElement.js.map +0 -1
  807. package/dist/styles/index.css +0 -1
  808. package/src/components/compositions/elements/components/IconBadge.stories.ts +0 -96
  809. package/src/components/compositions/elements/components/IconBadge.test.ts +0 -70
  810. package/src/components/compositions/elements/components/IconBadge.vue +0 -121
  811. package/src/definitions/elements/ComponentsElement.ts +0 -149
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor.vue2.js","sources":["../../../../../src/components/compositions/elements/editor/MarkdownEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven markdown editor composition. Two-pane: editable source on\n * the left, naive markdown preview on the right. The previewer supports\n * bold, italics, headings, links, inline code, and lists — enough to be\n * useful as a draft tool. Heavier syntax (tables, footnotes, code-fence\n * highlighting) is left to a follow-up.\n *\n * <MarkdownEditor v-model=\"body\" label=\"Body\" />\n */\nimport { computed } from \"vue\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface MarkdownEditorProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n rows?: number\n}\n\nwithDefaults(defineProps<MarkdownEditorProps>(), {\n errors: () => [],\n rows: 12,\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\nconst source = computed<string>(() => model.value ?? \"\")\n\nfunction onInput(event: Event): void {\n const target = event.target as HTMLTextAreaElement | null\n model.value = target?.value ?? \"\"\n}\n\nconst previewHtml = computed<string>(() => renderMarkdown(source.value))\n\nfunction renderMarkdown(input: string): string {\n if (!input) {\n return \"\"\n }\n let html = escapeHtml(input)\n // Headings (h1..h6) — must run before other line-level rules.\n html = html.replace(/^######\\s+(.+)$/gm, \"<h6>$1</h6>\")\n html = html.replace(/^#####\\s+(.+)$/gm, \"<h5>$1</h5>\")\n html = html.replace(/^####\\s+(.+)$/gm, \"<h4>$1</h4>\")\n html = html.replace(/^###\\s+(.+)$/gm, \"<h3>$1</h3>\")\n html = html.replace(/^##\\s+(.+)$/gm, \"<h2>$1</h2>\")\n html = html.replace(/^#\\s+(.+)$/gm, \"<h1>$1</h1>\")\n // Bold + italic (greedy bold first, then italic).\n html = html.replace(/\\*\\*(.+?)\\*\\*/g, \"<strong>$1</strong>\")\n html = html.replace(/\\*(.+?)\\*/g, \"<em>$1</em>\")\n // Inline code.\n html = html.replace(/`([^`]+)`/g, \"<code>$1</code>\")\n // Links [text](url).\n html = html.replace(\n /\\[([^\\]]+)\\]\\(([^)]+)\\)/g,\n '<a href=\"$2\" rel=\"noopener noreferrer\" class=\"underline\">$1</a>',\n )\n // Unordered lists (consecutive lines starting with - or *).\n html = html.replace(/(^|\\n)([-*])\\s+(.+)/g, \"$1<li>$3</li>\")\n html = html.replace(/(<li>.*<\\/li>)/gs, (m) => `<ul>${m}</ul>`)\n // Paragraph wrap remaining bare lines.\n html = html\n .split(/\\n{2,}/)\n .map((block) => {\n const trimmed = block.trim()\n if (!trimmed) {\n return \"\"\n }\n if (/^<(h[1-6]|ul|ol|li|pre|code|a|strong|em)/.test(trimmed)) {\n return trimmed\n }\n return `<p>${trimmed}</p>`\n })\n .join(\"\\n\")\n return html\n}\n\nfunction escapeHtml(input: string): string {\n return input\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n}\n\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n data-testid=\"markdown-editor\"\n >\n <div class=\"grid grid-cols-1 gap-3 lg:grid-cols-2\">\n <textarea\n :id=\"id\"\n :name=\"name ?? undefined\"\n :placeholder=\"placeholder ?? 'Write markdown here...'\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :required=\"required\"\n :rows=\"rows\"\n :value=\"source\"\n :data-element-name=\"name ?? undefined\"\n data-testid=\"markdown-editor-source\"\n class=\"font-mono text-sm rounded-md border border-input bg-background px-3 py-2 shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n @input=\"onInput\"\n />\n <div\n class=\"prose prose-sm max-w-none rounded-md border bg-muted/30 px-3 py-2 dark:prose-invert\"\n data-testid=\"markdown-editor-preview\"\n v-html=\"previewHtml\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["model","_useModel","__props","source","computed","onInput","event","target","previewHtml","renderMarkdown","input","html","escapeHtml","m","block","trimmed","_createBlock","_unref","FieldFrame","_createElementVNode","_hoisted_1","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiCA,UAAMA,IAAQC,EAA0BC,GAAC,YAAY,GAE/CC,IAASC,EAAiB,MAAMJ,EAAM,SAAS,EAAE;AAEvD,aAASK,EAAQC,GAAoB;AACnC,YAAMC,IAASD,EAAM;AACrB,MAAAN,EAAM,SAAQO,KAAA,gBAAAA,EAAQ,UAAS;AAAA,IACjC;AAEA,UAAMC,IAAcJ,EAAiB,MAAMK,EAAeN,EAAO,KAAK,CAAC;AAEvE,aAASM,EAAeC,GAAuB;AAC7C,UAAI,CAACA;AACH,eAAO;AAET,UAAIC,IAAOC,EAAWF,CAAK;AAE3B,aAAAC,IAAOA,EAAK,QAAQ,qBAAqB,aAAa,GACtDA,IAAOA,EAAK,QAAQ,oBAAoB,aAAa,GACrDA,IAAOA,EAAK,QAAQ,mBAAmB,aAAa,GACpDA,IAAOA,EAAK,QAAQ,kBAAkB,aAAa,GACnDA,IAAOA,EAAK,QAAQ,iBAAiB,aAAa,GAClDA,IAAOA,EAAK,QAAQ,gBAAgB,aAAa,GAEjDA,IAAOA,EAAK,QAAQ,kBAAkB,qBAAqB,GAC3DA,IAAOA,EAAK,QAAQ,cAAc,aAAa,GAE/CA,IAAOA,EAAK,QAAQ,cAAc,iBAAiB,GAEnDA,IAAOA,EAAK;AAAA,QACV;AAAA,QACA;AAAA,MAAA,GAGFA,IAAOA,EAAK,QAAQ,wBAAwB,eAAe,GAC3DA,IAAOA,EAAK,QAAQ,oBAAoB,CAACE,MAAM,OAAOA,CAAC,OAAO,GAE9DF,IAAOA,EACJ,MAAM,QAAQ,EACd,IAAI,CAACG,MAAU;AACd,cAAMC,IAAUD,EAAM,KAAA;AACtB,eAAKC,IAGD,2CAA2C,KAAKA,CAAO,IAClDA,IAEF,MAAMA,CAAO,SALX;AAAA,MAMX,CAAC,EACA,KAAK;AAAA,CAAI,GACLJ;AAAA,IACT;AAEA,aAASC,EAAWF,GAAuB;AACzC,aAAOA,EACJ,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM;AAAA,IACzB;2BAKEM,EA+BaC,EAAAC,CAAA,GAAA;AAAA,MA9BV,OAAOhB,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,MACT,eAAY;AAAA,IAAA;iBAEZ,MAqBM;AAAA,QArBNiB,EAqBM,OArBNC,GAqBM;AAAA,UApBJD,EAcE,YAAA;AAAA,YAbC,IAAIjB,EAAA;AAAA,YACJ,MAAMA,EAAA,QAAQ;AAAA,YACd,aAAaA,EAAA,eAAW;AAAA,YACxB,UAAUA,EAAA;AAAA,YACV,UAAUA,EAAA;AAAA,YACV,UAAUA,EAAA;AAAA,YACV,MAAMA,EAAA;AAAA,YACN,OAAOC,EAAA;AAAA,YACP,qBAAmBD,EAAA,QAAQ;AAAA,YAC5B,eAAY;AAAA,YACZ,OAAKmB,EAAA,CAAC,8MACEnB,EAAA,OAAO,SAAM,wCAAA,EAAA,CAAA;AAAA,YACpB,SAAAG;AAAA,UAAA;UAEHc,EAIE,OAAA;AAAA,YAHA,OAAM;AAAA,YACN,eAAY;AAAA,YACZ,WAAQX,EAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"MarkdownEditor.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,26 @@
1
+ export interface RichTextEditorProps {
2
+ modelValue?: string | null;
3
+ id?: string;
4
+ name?: string;
5
+ label?: string;
6
+ hideLabel?: boolean;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ readonly?: boolean;
10
+ disabled?: boolean;
11
+ helpText?: string;
12
+ errors?: string[];
13
+ minHeight?: string;
14
+ extensions?: unknown[];
15
+ }
16
+ declare const _default: import('vue').DefineComponent<RichTextEditorProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
17
+ "update:modelValue": (value: string) => any;
18
+ }, string, import('vue').PublicProps, Readonly<RichTextEditorProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
+ }>, {
21
+ errors: string[];
22
+ minHeight: string;
23
+ extensions: unknown[];
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ export default _default;
26
+ //# sourceMappingURL=RichTextEditor.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextEditor.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/editor/RichTextEditor.vue"],"names":[],"mappings":"AAyTA,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;CACvB;;;;;;YAHU,MAAM,EAAE;eACL,MAAM;gBACL,OAAO,EAAE;;AA2UxB,wBASG"}
@@ -1,5 +1,265 @@
1
- import f from "./RichTextEditor.vue2.js";
1
+ import { defineComponent as B, watch as m, onBeforeUnmount as H, computed as r, openBlock as s, createBlock as u, unref as d, withCtx as b, createElementVNode as h, normalizeClass as f, createElementBlock as C, Fragment as L, renderList as q, resolveDynamicComponent as w, normalizeStyle as E, createCommentVNode as V } from "vue";
2
+ import { useEditor as z, EditorContent as S } from "@tiptap/vue-3";
3
+ import I from "@tiptap/starter-kit";
4
+ import { Bold as M, Italic as R, Strikethrough as T, Code as U, Heading1 as $, Heading2 as O, Heading3 as D, List as F, ListOrdered as N, Quote as P, Minus as _, Undo as K, Redo as Q } from "lucide-vue-next";
5
+ import "../../../ui/button/index.js";
6
+ import j from "../../../ui/field-frame/FieldFrame.vue.js";
7
+ import { cn as G } from "../../../../lib/utils.js";
8
+ import J from "../../../ui/button/Button.vue.js";
9
+ const W = ["data-element-name"], ae = /* @__PURE__ */ B({
10
+ __name: "RichTextEditor",
11
+ props: {
12
+ modelValue: {},
13
+ id: {},
14
+ name: {},
15
+ label: {},
16
+ hideLabel: { type: Boolean },
17
+ placeholder: {},
18
+ required: { type: Boolean },
19
+ readonly: { type: Boolean },
20
+ disabled: { type: Boolean },
21
+ helpText: {},
22
+ errors: { default: () => [] },
23
+ minHeight: { default: "12rem" },
24
+ extensions: { default: () => [] }
25
+ },
26
+ emits: ["update:modelValue"],
27
+ setup(a, { emit: g }) {
28
+ const i = a, y = g, t = z({
29
+ content: i.modelValue ?? "",
30
+ editable: !(i.disabled || i.readonly),
31
+ extensions: [
32
+ I,
33
+ ...i.extensions
34
+ ],
35
+ onUpdate: ({ editor: e }) => {
36
+ y("update:modelValue", e.getHTML());
37
+ }
38
+ });
39
+ m(
40
+ () => i.modelValue,
41
+ (e) => {
42
+ const n = t.value;
43
+ if (!n)
44
+ return;
45
+ const l = e ?? "";
46
+ l !== n.getHTML() && n.commands.setContent(l, { emitUpdate: !1 });
47
+ }
48
+ ), m(
49
+ () => [i.disabled, i.readonly],
50
+ ([e, n]) => {
51
+ var l;
52
+ (l = t.value) == null || l.setEditable(!(e || n));
53
+ }
54
+ ), H(() => {
55
+ var e;
56
+ (e = t.value) == null || e.destroy();
57
+ });
58
+ const k = r(() => i.errors.length > 0), c = r(() => !!i.disabled), p = r(() => !!i.readonly), v = r(() => c.value || p.value), x = r(() => ({
59
+ minHeight: i.minHeight
60
+ }));
61
+ function o(e, n) {
62
+ const l = t.value;
63
+ return l ? n ? l.isActive(e, n) : l.isActive(e) : !1;
64
+ }
65
+ const A = r(() => [
66
+ {
67
+ key: "bold",
68
+ label: "Bold",
69
+ icon: M,
70
+ isActive: () => o("bold"),
71
+ run: () => {
72
+ var e;
73
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleBold().run();
74
+ }
75
+ },
76
+ {
77
+ key: "italic",
78
+ label: "Italic",
79
+ icon: R,
80
+ isActive: () => o("italic"),
81
+ run: () => {
82
+ var e;
83
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleItalic().run();
84
+ }
85
+ },
86
+ {
87
+ key: "strike",
88
+ label: "Strikethrough",
89
+ icon: T,
90
+ isActive: () => o("strike"),
91
+ run: () => {
92
+ var e;
93
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleStrike().run();
94
+ }
95
+ },
96
+ {
97
+ key: "code",
98
+ label: "Inline code",
99
+ icon: U,
100
+ isActive: () => o("code"),
101
+ run: () => {
102
+ var e;
103
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleCode().run();
104
+ }
105
+ },
106
+ {
107
+ key: "h1",
108
+ label: "Heading 1",
109
+ icon: $,
110
+ isActive: () => o("heading", { level: 1 }),
111
+ run: () => {
112
+ var e;
113
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 1 }).run();
114
+ }
115
+ },
116
+ {
117
+ key: "h2",
118
+ label: "Heading 2",
119
+ icon: O,
120
+ isActive: () => o("heading", { level: 2 }),
121
+ run: () => {
122
+ var e;
123
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 2 }).run();
124
+ }
125
+ },
126
+ {
127
+ key: "h3",
128
+ label: "Heading 3",
129
+ icon: D,
130
+ isActive: () => o("heading", { level: 3 }),
131
+ run: () => {
132
+ var e;
133
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 3 }).run();
134
+ }
135
+ },
136
+ {
137
+ key: "bullet-list",
138
+ label: "Bullet list",
139
+ icon: F,
140
+ isActive: () => o("bulletList"),
141
+ run: () => {
142
+ var e;
143
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleBulletList().run();
144
+ }
145
+ },
146
+ {
147
+ key: "ordered-list",
148
+ label: "Ordered list",
149
+ icon: N,
150
+ isActive: () => o("orderedList"),
151
+ run: () => {
152
+ var e;
153
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleOrderedList().run();
154
+ }
155
+ },
156
+ {
157
+ key: "blockquote",
158
+ label: "Blockquote",
159
+ icon: P,
160
+ isActive: () => o("blockquote"),
161
+ run: () => {
162
+ var e;
163
+ return (e = t.value) == null ? void 0 : e.chain().focus().toggleBlockquote().run();
164
+ }
165
+ },
166
+ {
167
+ key: "horizontal-rule",
168
+ label: "Horizontal rule",
169
+ icon: _,
170
+ isActive: () => !1,
171
+ run: () => {
172
+ var e;
173
+ return (e = t.value) == null ? void 0 : e.chain().focus().setHorizontalRule().run();
174
+ }
175
+ },
176
+ {
177
+ key: "undo",
178
+ label: "Undo",
179
+ icon: K,
180
+ isActive: () => !1,
181
+ run: () => {
182
+ var e;
183
+ return (e = t.value) == null ? void 0 : e.chain().focus().undo().run();
184
+ },
185
+ disabled: () => {
186
+ var e;
187
+ return !((e = t.value) != null && e.can().chain().focus().undo().run());
188
+ }
189
+ },
190
+ {
191
+ key: "redo",
192
+ label: "Redo",
193
+ icon: Q,
194
+ isActive: () => !1,
195
+ run: () => {
196
+ var e;
197
+ return (e = t.value) == null ? void 0 : e.chain().focus().redo().run();
198
+ },
199
+ disabled: () => {
200
+ var e;
201
+ return !((e = t.value) != null && e.can().chain().focus().redo().run());
202
+ }
203
+ }
204
+ ]);
205
+ return (e, n) => (s(), u(d(j), {
206
+ label: a.label,
207
+ required: a.required,
208
+ "hide-label": a.hideLabel,
209
+ for: a.id,
210
+ "help-text": a.helpText,
211
+ errors: a.errors,
212
+ "data-testid": "rich-text-editor"
213
+ }, {
214
+ default: b(() => [
215
+ h("div", {
216
+ class: f(
217
+ d(G)(
218
+ "rounded-md border border-input bg-background shadow-sm overflow-hidden",
219
+ k.value ? "border-destructive ring-1 ring-destructive" : "",
220
+ c.value ? "opacity-60" : ""
221
+ )
222
+ ),
223
+ "data-element-name": a.name ?? void 0
224
+ }, [
225
+ h("div", {
226
+ class: f(["flex flex-wrap items-center gap-1 border-b bg-muted/30 px-2 py-1", v.value ? "pointer-events-none opacity-50" : ""]),
227
+ role: "toolbar",
228
+ "aria-label": "Formatting",
229
+ "data-testid": "rich-text-editor-toolbar"
230
+ }, [
231
+ (s(!0), C(L, null, q(A.value, (l) => (s(), u(d(J), {
232
+ key: l.key,
233
+ type: "button",
234
+ size: "icon-sm",
235
+ variant: l.isActive() ? "secondary" : "ghost",
236
+ disabled: v.value || (l.disabled ? l.disabled() : !1),
237
+ "aria-label": l.label,
238
+ title: l.label,
239
+ "data-testid": `rich-text-editor-toolbar-${l.key}`,
240
+ "aria-pressed": l.isActive(),
241
+ onClick: (X) => l.run()
242
+ }, {
243
+ default: b(() => [
244
+ (s(), u(w(l.icon)))
245
+ ]),
246
+ _: 2
247
+ }, 1032, ["variant", "disabled", "aria-label", "title", "data-testid", "aria-pressed", "onClick"]))), 128))
248
+ ], 2),
249
+ d(t) ? (s(), u(d(S), {
250
+ key: 0,
251
+ editor: d(t),
252
+ style: E(x.value),
253
+ class: "prose prose-sm max-w-none px-3 py-2 focus-within:outline-none dark:prose-invert [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none",
254
+ "data-testid": "rich-text-editor-content"
255
+ }, null, 8, ["editor", "style"])) : V("", !0)
256
+ ], 10, W)
257
+ ]),
258
+ _: 1
259
+ }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
260
+ }
261
+ });
2
262
  export {
3
- f as default
263
+ ae as default
4
264
  };
5
265
  //# sourceMappingURL=RichTextEditor.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditor.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"RichTextEditor.vue.js","sources":["../../../../../src/components/compositions/elements/editor/RichTextEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven rich-text editor composition. Wraps Tiptap (`@tiptap/vue-3`\n * + StarterKit) inside a FieldFrame, exposing the standard input chrome:\n * label / required / helpText / errors / hideLabel.\n *\n * The model is HTML — emits `update:modelValue` with `editor.getHTML()` on\n * every internal change.\n *\n * <RichTextEditor v-model=\"body\" label=\"Body\" />\n */\nimport { computed, onBeforeUnmount, watch } from \"vue\"\nimport { EditorContent, useEditor } from \"@tiptap/vue-3\"\nimport type { AnyExtension } from \"@tiptap/vue-3\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Italic,\n List,\n ListOrdered,\n Minus,\n Quote,\n Redo,\n Strikethrough,\n Undo,\n} from \"lucide-vue-next\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface RichTextEditorProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n minHeight?: string\n extensions?: unknown[]\n}\n\nconst props = withDefaults(defineProps<RichTextEditorProps>(), {\n errors: () => [],\n minHeight: \"12rem\",\n extensions: () => [],\n})\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", value: string): void\n}>()\n\nconst editor = useEditor({\n content: props.modelValue ?? \"\",\n editable: !(props.disabled || props.readonly),\n extensions: [\n StarterKit,\n ...(props.extensions as AnyExtension[]),\n ],\n onUpdate: ({ editor }) => {\n emit(\"update:modelValue\", editor.getHTML())\n },\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n const instance = editor.value\n if (!instance) {\n return\n }\n const next = value ?? \"\"\n if (next === instance.getHTML()) {\n return\n }\n instance.commands.setContent(next, { emitUpdate: false })\n },\n)\n\nwatch(\n () => [props.disabled, props.readonly] as const,\n ([disabled, readonly]) => {\n editor.value?.setEditable(!(disabled || readonly))\n },\n)\n\nonBeforeUnmount(() => {\n editor.value?.destroy()\n})\n\nconst hasErrors = computed<boolean>(() => props.errors.length > 0)\nconst isDisabled = computed<boolean>(() => Boolean(props.disabled))\nconst isReadonly = computed<boolean>(() => Boolean(props.readonly))\nconst isInert = computed<boolean>(() => isDisabled.value || isReadonly.value)\n\nconst contentStyle = computed<Record<string, string>>(() => ({\n minHeight: props.minHeight,\n}))\n\ninterface ToolbarAction {\n key: string\n label: string\n icon: typeof Bold\n isActive: () => boolean\n run: () => void\n disabled?: () => boolean\n}\n\nfunction active(name: string, attrs?: Record<string, unknown>): boolean {\n const instance = editor.value\n if (!instance) {\n return false\n }\n return attrs ? instance.isActive(name, attrs) : instance.isActive(name)\n}\n\nconst toolbarActions = computed<ToolbarAction[]>(() => [\n {\n key: \"bold\",\n label: \"Bold\",\n icon: Bold,\n isActive: () => active(\"bold\"),\n run: () => editor.value?.chain().focus().toggleBold().run(),\n },\n {\n key: \"italic\",\n label: \"Italic\",\n icon: Italic,\n isActive: () => active(\"italic\"),\n run: () => editor.value?.chain().focus().toggleItalic().run(),\n },\n {\n key: \"strike\",\n label: \"Strikethrough\",\n icon: Strikethrough,\n isActive: () => active(\"strike\"),\n run: () => editor.value?.chain().focus().toggleStrike().run(),\n },\n {\n key: \"code\",\n label: \"Inline code\",\n icon: Code,\n isActive: () => active(\"code\"),\n run: () => editor.value?.chain().focus().toggleCode().run(),\n },\n {\n key: \"h1\",\n label: \"Heading 1\",\n icon: Heading1,\n isActive: () => active(\"heading\", { level: 1 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 1 }).run(),\n },\n {\n key: \"h2\",\n label: \"Heading 2\",\n icon: Heading2,\n isActive: () => active(\"heading\", { level: 2 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 2 }).run(),\n },\n {\n key: \"h3\",\n label: \"Heading 3\",\n icon: Heading3,\n isActive: () => active(\"heading\", { level: 3 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 3 }).run(),\n },\n {\n key: \"bullet-list\",\n label: \"Bullet list\",\n icon: List,\n isActive: () => active(\"bulletList\"),\n run: () => editor.value?.chain().focus().toggleBulletList().run(),\n },\n {\n key: \"ordered-list\",\n label: \"Ordered list\",\n icon: ListOrdered,\n isActive: () => active(\"orderedList\"),\n run: () => editor.value?.chain().focus().toggleOrderedList().run(),\n },\n {\n key: \"blockquote\",\n label: \"Blockquote\",\n icon: Quote,\n isActive: () => active(\"blockquote\"),\n run: () => editor.value?.chain().focus().toggleBlockquote().run(),\n },\n {\n key: \"horizontal-rule\",\n label: \"Horizontal rule\",\n icon: Minus,\n isActive: () => false,\n run: () => editor.value?.chain().focus().setHorizontalRule().run(),\n },\n {\n key: \"undo\",\n label: \"Undo\",\n icon: Undo,\n isActive: () => false,\n run: () => editor.value?.chain().focus().undo().run(),\n disabled: () => !editor.value?.can().chain().focus().undo().run(),\n },\n {\n key: \"redo\",\n label: \"Redo\",\n icon: Redo,\n isActive: () => false,\n run: () => editor.value?.chain().focus().redo().run(),\n disabled: () => !editor.value?.can().chain().focus().redo().run(),\n },\n])\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n data-testid=\"rich-text-editor\"\n >\n <div\n :class=\"\n cn(\n 'rounded-md border border-input bg-background shadow-sm overflow-hidden',\n hasErrors ? 'border-destructive ring-1 ring-destructive' : '',\n isDisabled ? 'opacity-60' : '',\n )\n \"\n :data-element-name=\"name ?? undefined\"\n >\n <div\n class=\"flex flex-wrap items-center gap-1 border-b bg-muted/30 px-2 py-1\"\n :class=\"isInert ? 'pointer-events-none opacity-50' : ''\"\n role=\"toolbar\"\n aria-label=\"Formatting\"\n data-testid=\"rich-text-editor-toolbar\"\n >\n <Button\n v-for=\"action in toolbarActions\"\n :key=\"action.key\"\n type=\"button\"\n size=\"icon-sm\"\n :variant=\"action.isActive() ? 'secondary' : 'ghost'\"\n :disabled=\"isInert || (action.disabled ? action.disabled() : false)\"\n :aria-label=\"action.label\"\n :title=\"action.label\"\n :data-testid=\"`rich-text-editor-toolbar-${action.key}`\"\n :aria-pressed=\"action.isActive()\"\n @click=\"action.run()\"\n >\n <component :is=\"action.icon\" />\n </Button>\n </div>\n\n <EditorContent\n v-if=\"editor\"\n :editor=\"editor\"\n :style=\"contentStyle\"\n class=\"prose prose-sm max-w-none px-3 py-2 focus-within:outline-none dark:prose-invert [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none\"\n data-testid=\"rich-text-editor-content\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","emit","__emit","editor","useEditor","StarterKit","watch","value","instance","next","disabled","readonly","_a","onBeforeUnmount","hasErrors","computed","isDisabled","isReadonly","isInert","contentStyle","active","name","attrs","toolbarActions","Bold","Italic","Strikethrough","Code","Heading1","Heading2","Heading3","List","ListOrdered","Quote","Minus","Undo","Redo","_createBlock","_unref","FieldFrame","_createElementVNode","_normalizeClass","cn","_createElementBlock","_Fragment","_renderList","action","Button","$event","_resolveDynamicComponent","EditorContent"],"mappings":"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"}
@@ -1,265 +1,5 @@
1
- import { defineComponent as B, watch as m, onBeforeUnmount as H, computed as r, openBlock as s, createBlock as u, unref as d, withCtx as b, createElementVNode as h, normalizeClass as f, createElementBlock as C, Fragment as L, renderList as q, resolveDynamicComponent as w, normalizeStyle as E, createCommentVNode as V } from "vue";
2
- import { useEditor as z, EditorContent as S } from "@tiptap/vue-3";
3
- import I from "@tiptap/starter-kit";
4
- import { Bold as M, Italic as R, Strikethrough as T, Code as U, Heading1 as $, Heading2 as O, Heading3 as D, List as F, ListOrdered as N, Quote as P, Minus as _, Undo as K, Redo as Q } from "lucide-vue-next";
5
- import "../../../ui/button/index.js";
6
- import j from "../../../ui/field-frame/FieldFrame.vue.js";
7
- import { cn as G } from "../../../../lib/utils.js";
8
- import J from "../../../ui/button/Button.vue.js";
9
- const W = ["data-element-name"], ae = /* @__PURE__ */ B({
10
- __name: "RichTextEditor",
11
- props: {
12
- modelValue: {},
13
- id: {},
14
- name: {},
15
- label: {},
16
- hideLabel: { type: Boolean },
17
- placeholder: {},
18
- required: { type: Boolean },
19
- readonly: { type: Boolean },
20
- disabled: { type: Boolean },
21
- helpText: {},
22
- errors: { default: () => [] },
23
- minHeight: { default: "12rem" },
24
- extensions: { default: () => [] }
25
- },
26
- emits: ["update:modelValue"],
27
- setup(a, { emit: g }) {
28
- const i = a, y = g, t = z({
29
- content: i.modelValue ?? "",
30
- editable: !(i.disabled || i.readonly),
31
- extensions: [
32
- I,
33
- ...i.extensions
34
- ],
35
- onUpdate: ({ editor: e }) => {
36
- y("update:modelValue", e.getHTML());
37
- }
38
- });
39
- m(
40
- () => i.modelValue,
41
- (e) => {
42
- const n = t.value;
43
- if (!n)
44
- return;
45
- const l = e ?? "";
46
- l !== n.getHTML() && n.commands.setContent(l, { emitUpdate: !1 });
47
- }
48
- ), m(
49
- () => [i.disabled, i.readonly],
50
- ([e, n]) => {
51
- var l;
52
- (l = t.value) == null || l.setEditable(!(e || n));
53
- }
54
- ), H(() => {
55
- var e;
56
- (e = t.value) == null || e.destroy();
57
- });
58
- const k = r(() => i.errors.length > 0), c = r(() => !!i.disabled), p = r(() => !!i.readonly), v = r(() => c.value || p.value), x = r(() => ({
59
- minHeight: i.minHeight
60
- }));
61
- function o(e, n) {
62
- const l = t.value;
63
- return l ? n ? l.isActive(e, n) : l.isActive(e) : !1;
64
- }
65
- const A = r(() => [
66
- {
67
- key: "bold",
68
- label: "Bold",
69
- icon: M,
70
- isActive: () => o("bold"),
71
- run: () => {
72
- var e;
73
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleBold().run();
74
- }
75
- },
76
- {
77
- key: "italic",
78
- label: "Italic",
79
- icon: R,
80
- isActive: () => o("italic"),
81
- run: () => {
82
- var e;
83
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleItalic().run();
84
- }
85
- },
86
- {
87
- key: "strike",
88
- label: "Strikethrough",
89
- icon: T,
90
- isActive: () => o("strike"),
91
- run: () => {
92
- var e;
93
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleStrike().run();
94
- }
95
- },
96
- {
97
- key: "code",
98
- label: "Inline code",
99
- icon: U,
100
- isActive: () => o("code"),
101
- run: () => {
102
- var e;
103
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleCode().run();
104
- }
105
- },
106
- {
107
- key: "h1",
108
- label: "Heading 1",
109
- icon: $,
110
- isActive: () => o("heading", { level: 1 }),
111
- run: () => {
112
- var e;
113
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 1 }).run();
114
- }
115
- },
116
- {
117
- key: "h2",
118
- label: "Heading 2",
119
- icon: O,
120
- isActive: () => o("heading", { level: 2 }),
121
- run: () => {
122
- var e;
123
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 2 }).run();
124
- }
125
- },
126
- {
127
- key: "h3",
128
- label: "Heading 3",
129
- icon: D,
130
- isActive: () => o("heading", { level: 3 }),
131
- run: () => {
132
- var e;
133
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleHeading({ level: 3 }).run();
134
- }
135
- },
136
- {
137
- key: "bullet-list",
138
- label: "Bullet list",
139
- icon: F,
140
- isActive: () => o("bulletList"),
141
- run: () => {
142
- var e;
143
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleBulletList().run();
144
- }
145
- },
146
- {
147
- key: "ordered-list",
148
- label: "Ordered list",
149
- icon: N,
150
- isActive: () => o("orderedList"),
151
- run: () => {
152
- var e;
153
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleOrderedList().run();
154
- }
155
- },
156
- {
157
- key: "blockquote",
158
- label: "Blockquote",
159
- icon: P,
160
- isActive: () => o("blockquote"),
161
- run: () => {
162
- var e;
163
- return (e = t.value) == null ? void 0 : e.chain().focus().toggleBlockquote().run();
164
- }
165
- },
166
- {
167
- key: "horizontal-rule",
168
- label: "Horizontal rule",
169
- icon: _,
170
- isActive: () => !1,
171
- run: () => {
172
- var e;
173
- return (e = t.value) == null ? void 0 : e.chain().focus().setHorizontalRule().run();
174
- }
175
- },
176
- {
177
- key: "undo",
178
- label: "Undo",
179
- icon: K,
180
- isActive: () => !1,
181
- run: () => {
182
- var e;
183
- return (e = t.value) == null ? void 0 : e.chain().focus().undo().run();
184
- },
185
- disabled: () => {
186
- var e;
187
- return !((e = t.value) != null && e.can().chain().focus().undo().run());
188
- }
189
- },
190
- {
191
- key: "redo",
192
- label: "Redo",
193
- icon: Q,
194
- isActive: () => !1,
195
- run: () => {
196
- var e;
197
- return (e = t.value) == null ? void 0 : e.chain().focus().redo().run();
198
- },
199
- disabled: () => {
200
- var e;
201
- return !((e = t.value) != null && e.can().chain().focus().redo().run());
202
- }
203
- }
204
- ]);
205
- return (e, n) => (s(), u(d(j), {
206
- label: a.label,
207
- required: a.required,
208
- "hide-label": a.hideLabel,
209
- for: a.id,
210
- "help-text": a.helpText,
211
- errors: a.errors,
212
- "data-testid": "rich-text-editor"
213
- }, {
214
- default: b(() => [
215
- h("div", {
216
- class: f(
217
- d(G)(
218
- "rounded-md border border-input bg-background shadow-sm overflow-hidden",
219
- k.value ? "border-destructive ring-1 ring-destructive" : "",
220
- c.value ? "opacity-60" : ""
221
- )
222
- ),
223
- "data-element-name": a.name ?? void 0
224
- }, [
225
- h("div", {
226
- class: f(["flex flex-wrap items-center gap-1 border-b bg-muted/30 px-2 py-1", v.value ? "pointer-events-none opacity-50" : ""]),
227
- role: "toolbar",
228
- "aria-label": "Formatting",
229
- "data-testid": "rich-text-editor-toolbar"
230
- }, [
231
- (s(!0), C(L, null, q(A.value, (l) => (s(), u(d(J), {
232
- key: l.key,
233
- type: "button",
234
- size: "icon-sm",
235
- variant: l.isActive() ? "secondary" : "ghost",
236
- disabled: v.value || (l.disabled ? l.disabled() : !1),
237
- "aria-label": l.label,
238
- title: l.label,
239
- "data-testid": `rich-text-editor-toolbar-${l.key}`,
240
- "aria-pressed": l.isActive(),
241
- onClick: (X) => l.run()
242
- }, {
243
- default: b(() => [
244
- (s(), u(w(l.icon)))
245
- ]),
246
- _: 2
247
- }, 1032, ["variant", "disabled", "aria-label", "title", "data-testid", "aria-pressed", "onClick"]))), 128))
248
- ], 2),
249
- d(t) ? (s(), u(d(S), {
250
- key: 0,
251
- editor: d(t),
252
- style: E(x.value),
253
- class: "prose prose-sm max-w-none px-3 py-2 focus-within:outline-none dark:prose-invert [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none",
254
- "data-testid": "rich-text-editor-content"
255
- }, null, 8, ["editor", "style"])) : V("", !0)
256
- ], 10, W)
257
- ]),
258
- _: 1
259
- }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
260
- }
261
- });
1
+ import f from "./RichTextEditor.vue.js";
262
2
  export {
263
- ae as default
3
+ f as default
264
4
  };
265
5
  //# sourceMappingURL=RichTextEditor.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditor.vue2.js","sources":["../../../../../src/components/compositions/elements/editor/RichTextEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven rich-text editor composition. Wraps Tiptap (`@tiptap/vue-3`\n * + StarterKit) inside a FieldFrame, exposing the standard input chrome:\n * label / required / helpText / errors / hideLabel.\n *\n * The model is HTML — emits `update:modelValue` with `editor.getHTML()` on\n * every internal change.\n *\n * <RichTextEditor v-model=\"body\" label=\"Body\" />\n */\nimport { computed, onBeforeUnmount, watch } from \"vue\"\nimport { EditorContent, useEditor } from \"@tiptap/vue-3\"\nimport type { AnyExtension } from \"@tiptap/vue-3\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Italic,\n List,\n ListOrdered,\n Minus,\n Quote,\n Redo,\n Strikethrough,\n Undo,\n} from \"lucide-vue-next\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface RichTextEditorProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n minHeight?: string\n extensions?: unknown[]\n}\n\nconst props = withDefaults(defineProps<RichTextEditorProps>(), {\n errors: () => [],\n minHeight: \"12rem\",\n extensions: () => [],\n})\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", value: string): void\n}>()\n\nconst editor = useEditor({\n content: props.modelValue ?? \"\",\n editable: !(props.disabled || props.readonly),\n extensions: [\n StarterKit,\n ...(props.extensions as AnyExtension[]),\n ],\n onUpdate: ({ editor }) => {\n emit(\"update:modelValue\", editor.getHTML())\n },\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n const instance = editor.value\n if (!instance) {\n return\n }\n const next = value ?? \"\"\n if (next === instance.getHTML()) {\n return\n }\n instance.commands.setContent(next, { emitUpdate: false })\n },\n)\n\nwatch(\n () => [props.disabled, props.readonly] as const,\n ([disabled, readonly]) => {\n editor.value?.setEditable(!(disabled || readonly))\n },\n)\n\nonBeforeUnmount(() => {\n editor.value?.destroy()\n})\n\nconst hasErrors = computed<boolean>(() => props.errors.length > 0)\nconst isDisabled = computed<boolean>(() => Boolean(props.disabled))\nconst isReadonly = computed<boolean>(() => Boolean(props.readonly))\nconst isInert = computed<boolean>(() => isDisabled.value || isReadonly.value)\n\nconst contentStyle = computed<Record<string, string>>(() => ({\n minHeight: props.minHeight,\n}))\n\ninterface ToolbarAction {\n key: string\n label: string\n icon: typeof Bold\n isActive: () => boolean\n run: () => void\n disabled?: () => boolean\n}\n\nfunction active(name: string, attrs?: Record<string, unknown>): boolean {\n const instance = editor.value\n if (!instance) {\n return false\n }\n return attrs ? instance.isActive(name, attrs) : instance.isActive(name)\n}\n\nconst toolbarActions = computed<ToolbarAction[]>(() => [\n {\n key: \"bold\",\n label: \"Bold\",\n icon: Bold,\n isActive: () => active(\"bold\"),\n run: () => editor.value?.chain().focus().toggleBold().run(),\n },\n {\n key: \"italic\",\n label: \"Italic\",\n icon: Italic,\n isActive: () => active(\"italic\"),\n run: () => editor.value?.chain().focus().toggleItalic().run(),\n },\n {\n key: \"strike\",\n label: \"Strikethrough\",\n icon: Strikethrough,\n isActive: () => active(\"strike\"),\n run: () => editor.value?.chain().focus().toggleStrike().run(),\n },\n {\n key: \"code\",\n label: \"Inline code\",\n icon: Code,\n isActive: () => active(\"code\"),\n run: () => editor.value?.chain().focus().toggleCode().run(),\n },\n {\n key: \"h1\",\n label: \"Heading 1\",\n icon: Heading1,\n isActive: () => active(\"heading\", { level: 1 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 1 }).run(),\n },\n {\n key: \"h2\",\n label: \"Heading 2\",\n icon: Heading2,\n isActive: () => active(\"heading\", { level: 2 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 2 }).run(),\n },\n {\n key: \"h3\",\n label: \"Heading 3\",\n icon: Heading3,\n isActive: () => active(\"heading\", { level: 3 }),\n run: () =>\n editor.value?.chain().focus().toggleHeading({ level: 3 }).run(),\n },\n {\n key: \"bullet-list\",\n label: \"Bullet list\",\n icon: List,\n isActive: () => active(\"bulletList\"),\n run: () => editor.value?.chain().focus().toggleBulletList().run(),\n },\n {\n key: \"ordered-list\",\n label: \"Ordered list\",\n icon: ListOrdered,\n isActive: () => active(\"orderedList\"),\n run: () => editor.value?.chain().focus().toggleOrderedList().run(),\n },\n {\n key: \"blockquote\",\n label: \"Blockquote\",\n icon: Quote,\n isActive: () => active(\"blockquote\"),\n run: () => editor.value?.chain().focus().toggleBlockquote().run(),\n },\n {\n key: \"horizontal-rule\",\n label: \"Horizontal rule\",\n icon: Minus,\n isActive: () => false,\n run: () => editor.value?.chain().focus().setHorizontalRule().run(),\n },\n {\n key: \"undo\",\n label: \"Undo\",\n icon: Undo,\n isActive: () => false,\n run: () => editor.value?.chain().focus().undo().run(),\n disabled: () => !editor.value?.can().chain().focus().undo().run(),\n },\n {\n key: \"redo\",\n label: \"Redo\",\n icon: Redo,\n isActive: () => false,\n run: () => editor.value?.chain().focus().redo().run(),\n disabled: () => !editor.value?.can().chain().focus().redo().run(),\n },\n])\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n data-testid=\"rich-text-editor\"\n >\n <div\n :class=\"\n cn(\n 'rounded-md border border-input bg-background shadow-sm overflow-hidden',\n hasErrors ? 'border-destructive ring-1 ring-destructive' : '',\n isDisabled ? 'opacity-60' : '',\n )\n \"\n :data-element-name=\"name ?? undefined\"\n >\n <div\n class=\"flex flex-wrap items-center gap-1 border-b bg-muted/30 px-2 py-1\"\n :class=\"isInert ? 'pointer-events-none opacity-50' : ''\"\n role=\"toolbar\"\n aria-label=\"Formatting\"\n data-testid=\"rich-text-editor-toolbar\"\n >\n <Button\n v-for=\"action in toolbarActions\"\n :key=\"action.key\"\n type=\"button\"\n size=\"icon-sm\"\n :variant=\"action.isActive() ? 'secondary' : 'ghost'\"\n :disabled=\"isInert || (action.disabled ? action.disabled() : false)\"\n :aria-label=\"action.label\"\n :title=\"action.label\"\n :data-testid=\"`rich-text-editor-toolbar-${action.key}`\"\n :aria-pressed=\"action.isActive()\"\n @click=\"action.run()\"\n >\n <component :is=\"action.icon\" />\n </Button>\n </div>\n\n <EditorContent\n v-if=\"editor\"\n :editor=\"editor\"\n :style=\"contentStyle\"\n class=\"prose prose-sm max-w-none px-3 py-2 focus-within:outline-none dark:prose-invert [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none\"\n data-testid=\"rich-text-editor-content\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","emit","__emit","editor","useEditor","StarterKit","watch","value","instance","next","disabled","readonly","_a","onBeforeUnmount","hasErrors","computed","isDisabled","isReadonly","isInert","contentStyle","active","name","attrs","toolbarActions","Bold","Italic","Strikethrough","Code","Heading1","Heading2","Heading3","List","ListOrdered","Quote","Minus","Undo","Redo","_createBlock","_unref","FieldFrame","_createElementVNode","_normalizeClass","cn","_createElementBlock","_Fragment","_renderList","action","Button","$event","_resolveDynamicComponent","EditorContent"],"mappings":"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"}
1
+ {"version":3,"file":"RichTextEditor.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}