@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,270 +1,5 @@
1
- import { defineComponent as R, computed as i, ref as S, watch as O, openBlock as a, createElementBlock as l, normalizeClass as f, unref as r, createBlock as c, withCtx as p, createCommentVNode as o, createVNode as C, createTextVNode as x, toDisplayString as u, createElementVNode as v, Fragment as P, renderList as q, resolveDynamicComponent as G } from "vue";
2
- import { cva as J } from "class-variance-authority";
3
- import "../../../ui/avatar/index.js";
4
- import "../../../ui/badge/index.js";
5
- import "../../../ui/button/index.js";
6
- import { cn as g } from "../../../../lib/utils.js";
7
- import z from "../../../ui/avatar/Avatar.vue.js";
8
- import T from "../../../ui/avatar/AvatarImage.vue.js";
9
- import U from "../../../ui/avatar/AvatarFallback.vue.js";
10
- import K from "../../../ui/badge/Badge.vue.js";
11
- import Q from "../../../ui/button/Button.vue.js";
12
- const W = ["data-role", "data-align", "data-variant"], X = {
13
- key: 0,
14
- class: "font-medium",
15
- "data-testid": "chat-message-author"
16
- }, Y = {
17
- key: 1,
18
- class: "flex items-center gap-1 py-1",
19
- "data-testid": "chat-message-pending",
20
- "aria-label": "Typing"
21
- }, Z = ["innerHTML"], ee = {
22
- key: 3,
23
- class: "whitespace-pre-wrap leading-snug",
24
- "data-testid": "chat-message-body"
25
- }, te = {
26
- key: 0,
27
- class: "text-xs text-destructive",
28
- "data-testid": "chat-message-error"
29
- }, fe = /* @__PURE__ */ R({
30
- __name: "ChatMessage",
31
- props: {
32
- message: {},
33
- role: { default: "user" },
34
- authorName: {},
35
- authorAvatarUrl: {},
36
- authorAvatarFallback: {},
37
- timestamp: {},
38
- pending: { type: Boolean, default: !1 },
39
- error: {},
40
- actions: { default: () => [] },
41
- align: { default: "auto" },
42
- variant: {},
43
- allowHtml: { type: Boolean, default: !1 },
44
- classList: {}
45
- },
46
- emits: ["action"],
47
- setup(V, { emit: B }) {
48
- const e = V, F = B, b = i(() => e.align === "start" || e.align === "end" ? e.align : e.role === "user" ? "end" : "start"), d = i(() => b.value === "end"), L = {
49
- user: "accent",
50
- assistant: "muted",
51
- system: "default",
52
- tool: "muted"
53
- }, h = i(() => e.variant ? e.variant : L[e.role] ?? "default"), $ = J(
54
- "max-w-[36rem] min-w-0 break-words rounded-2xl border px-3 py-2 text-sm shadow-sm",
55
- {
56
- variants: {
57
- variant: {
58
- default: "bg-card text-card-foreground border-border",
59
- muted: "bg-muted text-foreground border-transparent",
60
- accent: "bg-primary text-primary-foreground border-transparent",
61
- destructive: "bg-destructive text-destructive-foreground border-transparent"
62
- },
63
- align: {
64
- start: "rounded-tl-sm",
65
- end: "rounded-tr-sm"
66
- }
67
- },
68
- defaultVariants: {
69
- variant: "default",
70
- align: "start"
71
- }
72
- }
73
- ), j = i(
74
- () => $({
75
- variant: h.value,
76
- align: b.value
77
- })
78
- ), k = i(() => {
79
- if (e.authorAvatarFallback)
80
- return e.authorAvatarFallback;
81
- const t = (e.authorName ?? e.role ?? "?").trim();
82
- return t ? t.charAt(0).toUpperCase() : "?";
83
- }), _ = i(() => {
84
- const t = e.timestamp;
85
- if (!t)
86
- return "";
87
- const s = t instanceof Date ? t : new Date(t);
88
- if (Number.isNaN(s.getTime()))
89
- return "";
90
- try {
91
- return new Intl.DateTimeFormat(void 0, {
92
- hour: "numeric",
93
- minute: "2-digit"
94
- }).format(s);
95
- } catch {
96
- return s.toISOString();
97
- }
98
- }), D = i(() => {
99
- const t = e.classList;
100
- return t ? Array.isArray(t) ? t.join(" ") : t : "";
101
- }), w = i(() => !!e.role && e.role !== "user"), y = S({});
102
- function I(t) {
103
- return t.replace(/[-_\s]+(.)?/g, (s, n) => n ? n.toUpperCase() : "").replace(/^(.)/, (s) => s.toUpperCase());
104
- }
105
- async function E(t) {
106
- const s = t.filter((m) => m.icon).map((m) => m.icon);
107
- if (s.length === 0)
108
- return;
109
- const A = await import("lucide-vue-next"), N = { ...y.value };
110
- for (const m of s) {
111
- const M = I(m);
112
- N[m] = A[M] ?? null;
113
- }
114
- y.value = N;
115
- }
116
- O(
117
- () => e.actions,
118
- (t) => {
119
- E(t ?? []);
120
- },
121
- { immediate: !0, deep: !0 }
122
- );
123
- function H(t) {
124
- F("action", { id: t });
125
- }
126
- return (t, s) => (a(), l("div", {
127
- class: f(
128
- r(g)(
129
- "flex w-full items-end gap-2",
130
- d.value ? "justify-end" : "justify-start",
131
- D.value
132
- )
133
- ),
134
- "data-role": e.role,
135
- "data-align": b.value,
136
- "data-variant": h.value,
137
- "data-testid": "chat-message"
138
- }, [
139
- d.value ? o("", !0) : (a(), c(r(z), {
140
- key: 0,
141
- size: "sm",
142
- class: "mb-1",
143
- "data-testid": "chat-message-avatar"
144
- }, {
145
- default: p(() => [
146
- e.authorAvatarUrl ? (a(), c(r(T), {
147
- key: 0,
148
- src: e.authorAvatarUrl,
149
- alt: e.authorName ?? e.role
150
- }, null, 8, ["src", "alt"])) : o("", !0),
151
- C(r(U), null, {
152
- default: p(() => [
153
- x(u(k.value), 1)
154
- ]),
155
- _: 1
156
- })
157
- ]),
158
- _: 1
159
- })),
160
- v("div", {
161
- class: f(
162
- r(g)(
163
- "flex min-w-0 flex-col gap-1",
164
- d.value ? "items-end" : "items-start"
165
- )
166
- )
167
- }, [
168
- v("div", {
169
- class: f(j.value),
170
- "data-testid": "chat-message-bubble"
171
- }, [
172
- e.authorName || w.value || _.value ? (a(), l("div", {
173
- key: 0,
174
- class: f(
175
- r(g)(
176
- "mb-1 flex w-full items-center gap-2 text-xs",
177
- d.value ? "flex-row-reverse" : "flex-row"
178
- )
179
- )
180
- }, [
181
- e.authorName ? (a(), l("span", X, u(e.authorName), 1)) : o("", !0),
182
- w.value ? (a(), c(r(K), {
183
- key: 1,
184
- variant: "outline",
185
- size: "sm",
186
- "data-testid": "chat-message-role-badge"
187
- }, {
188
- default: p(() => [
189
- x(u(e.role), 1)
190
- ]),
191
- _: 1
192
- })) : o("", !0),
193
- _.value ? (a(), l("span", {
194
- key: 2,
195
- class: f(
196
- r(g)(
197
- "text-[11px] opacity-70",
198
- h.value === "accent" || h.value === "destructive" ? "" : "text-muted-foreground",
199
- d.value ? "mr-auto" : "ml-auto"
200
- )
201
- ),
202
- "data-testid": "chat-message-timestamp"
203
- }, u(_.value), 3)) : o("", !0)
204
- ], 2)) : o("", !0),
205
- e.pending ? (a(), l("div", Y, [...s[0] || (s[0] = [
206
- v("span", { class: "size-1.5 animate-bounce rounded-full bg-current opacity-60" }, null, -1),
207
- v("span", { class: "size-1.5 animate-bounce rounded-full bg-current opacity-60 [animation-delay:150ms]" }, null, -1),
208
- v("span", { class: "size-1.5 animate-bounce rounded-full bg-current opacity-60 [animation-delay:300ms]" }, null, -1)
209
- ])])) : e.allowHtml && e.message ? (a(), l("div", {
210
- key: 2,
211
- class: "whitespace-pre-wrap leading-snug",
212
- "data-testid": "chat-message-body",
213
- innerHTML: e.message
214
- }, null, 8, Z)) : e.message ? (a(), l("div", ee, u(e.message), 1)) : o("", !0)
215
- ], 2),
216
- e.error ? (a(), l("p", te, u(e.error), 1)) : o("", !0),
217
- e.actions && e.actions.length > 0 ? (a(), l("div", {
218
- key: 1,
219
- class: f(
220
- r(g)(
221
- "flex flex-wrap gap-1",
222
- d.value ? "justify-end" : "justify-start"
223
- )
224
- ),
225
- "data-testid": "chat-message-actions"
226
- }, [
227
- (a(!0), l(P, null, q(e.actions, (n) => (a(), c(r(Q), {
228
- key: n.id,
229
- type: "button",
230
- variant: "ghost",
231
- size: "sm",
232
- "data-action-id": n.id,
233
- onClick: (A) => H(n.id)
234
- }, {
235
- default: p(() => [
236
- n.icon && y.value[n.icon] ? (a(), c(G(n.icon ? y.value[n.icon] : null), { key: 0 })) : o("", !0),
237
- v("span", null, u(n.label), 1)
238
- ]),
239
- _: 2
240
- }, 1032, ["data-action-id", "onClick"]))), 128))
241
- ], 2)) : o("", !0)
242
- ], 2),
243
- d.value ? (a(), c(r(z), {
244
- key: 1,
245
- size: "sm",
246
- class: "mb-1",
247
- "data-testid": "chat-message-avatar"
248
- }, {
249
- default: p(() => [
250
- e.authorAvatarUrl ? (a(), c(r(T), {
251
- key: 0,
252
- src: e.authorAvatarUrl,
253
- alt: e.authorName ?? e.role
254
- }, null, 8, ["src", "alt"])) : o("", !0),
255
- C(r(U), null, {
256
- default: p(() => [
257
- x(u(k.value), 1)
258
- ]),
259
- _: 1
260
- })
261
- ]),
262
- _: 1
263
- })) : o("", !0)
264
- ], 10, W));
265
- }
266
- });
1
+ import f from "./ChatMessage.vue.js";
267
2
  export {
268
- fe as default
3
+ f as default
269
4
  };
270
5
  //# sourceMappingURL=ChatMessage.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.vue2.js","sources":["../../../../../src/components/compositions/elements/code/ChatMessage.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Generic chat-message bubble composition.\n *\n * Display-only — renders a single chat bubble in the style of Slack /\n * Discord / iMessage. Side-aligned by role, color-tinted by variant,\n * optional avatar, role badge, timestamp, typing indicator, inline\n * error, and a row of ghost-button actions.\n *\n * No platform-specific integration. Form-data store is not touched.\n *\n * <ChatMessage\n * role=\"assistant\"\n * authorName=\"Assistant\"\n * message=\"Hello, how can I help?\"\n * :timestamp=\"new Date()\"\n * />\n */\nimport { computed, ref, watch, type Component } from \"vue\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport { cn } from \"@/lib/utils\"\n\nexport type ChatMessageAlign = \"auto\" | \"start\" | \"end\"\nexport type ChatMessageVariant =\n | \"default\"\n | \"muted\"\n | \"accent\"\n | \"destructive\"\n\nexport interface ChatMessageAction {\n id: string\n label: string\n icon?: string\n}\n\nexport interface ChatMessageProps {\n message?: string\n role?: \"user\" | \"assistant\" | \"system\" | \"tool\" | string\n authorName?: string\n authorAvatarUrl?: string\n authorAvatarFallback?: string\n timestamp?: string | Date\n pending?: boolean\n error?: string\n actions?: ChatMessageAction[]\n align?: ChatMessageAlign\n variant?: ChatMessageVariant\n allowHtml?: boolean\n classList?: string[] | string\n}\n\nconst props = withDefaults(defineProps<ChatMessageProps>(), {\n role: \"user\",\n align: \"auto\",\n pending: false,\n allowHtml: false,\n actions: () => [],\n})\n\nconst emit = defineEmits<{\n (e: \"action\", payload: { id: string }): void\n}>()\n\n/* ---------- alignment ---------- */\n\nconst resolvedAlign = computed<\"start\" | \"end\">(() => {\n if (props.align === \"start\" || props.align === \"end\") {\n return props.align\n }\n return props.role === \"user\" ? \"end\" : \"start\"\n})\n\nconst isEnd = computed<boolean>(() => resolvedAlign.value === \"end\")\n\n/* ---------- variant ---------- */\n\nconst ROLE_VARIANT: Record<string, ChatMessageVariant> = {\n user: \"accent\",\n assistant: \"muted\",\n system: \"default\",\n tool: \"muted\",\n}\n\nconst resolvedVariant = computed<ChatMessageVariant>(() => {\n if (props.variant) {\n return props.variant\n }\n return ROLE_VARIANT[props.role] ?? \"default\"\n})\n\nconst bubbleVariants = cva(\n \"max-w-[36rem] min-w-0 break-words rounded-2xl border px-3 py-2 text-sm shadow-sm\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground border-border\",\n muted: \"bg-muted text-foreground border-transparent\",\n accent: \"bg-primary text-primary-foreground border-transparent\",\n destructive:\n \"bg-destructive text-destructive-foreground border-transparent\",\n },\n align: {\n start: \"rounded-tl-sm\",\n end: \"rounded-tr-sm\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n align: \"start\",\n },\n },\n)\n\ntype BubbleVariants = VariantProps<typeof bubbleVariants>\n\nconst bubbleClass = computed<string>(() =>\n bubbleVariants({\n variant: resolvedVariant.value as BubbleVariants[\"variant\"],\n align: resolvedAlign.value,\n }),\n)\n\n/* ---------- avatar fallback ---------- */\n\nconst derivedAvatarFallback = computed<string>(() => {\n if (props.authorAvatarFallback) {\n return props.authorAvatarFallback\n }\n const source = (props.authorName ?? props.role ?? \"?\").trim()\n return source ? source.charAt(0).toUpperCase() : \"?\"\n})\n\n/* ---------- timestamp ---------- */\n\nconst formattedTimestamp = computed<string>(() => {\n const ts = props.timestamp\n if (!ts) {\n return \"\"\n }\n const date = ts instanceof Date ? ts : new Date(ts)\n if (Number.isNaN(date.getTime())) {\n return \"\"\n }\n try {\n return new Intl.DateTimeFormat(undefined, {\n hour: \"numeric\",\n minute: \"2-digit\",\n }).format(date)\n } catch {\n return date.toISOString()\n }\n})\n\n/* ---------- root class ---------- */\n\nconst rootClass = computed<string>(() => {\n const cl = props.classList\n if (!cl) {\n return \"\"\n }\n return Array.isArray(cl) ? cl.join(\" \") : cl\n})\n\n/* ---------- role badge ---------- */\n\nconst showRoleBadge = computed<boolean>(() => {\n return Boolean(props.role) && props.role !== \"user\"\n})\n\n/* ---------- actions (lucide icons, lazy) ---------- */\n\nconst ActionIcons = ref<Record<string, Component | null>>({})\n\nfunction toPascalCase(input: string): string {\n return input\n .replace(/[-_\\s]+(.)?/g, (_, ch?: string) => (ch ? ch.toUpperCase() : \"\"))\n .replace(/^(.)/, (m) => m.toUpperCase())\n}\n\nasync function loadActionIcons(actions: ChatMessageAction[]): Promise<void> {\n const needed = actions.filter((a) => a.icon).map((a) => a.icon as string)\n if (needed.length === 0) {\n return\n }\n const mod = await import(\"lucide-vue-next\")\n const registry = mod as unknown as Record<string, Component | undefined>\n const next: Record<string, Component | null> = { ...ActionIcons.value }\n for (const raw of needed) {\n const name = toPascalCase(raw)\n next[raw] = registry[name] ?? null\n }\n ActionIcons.value = next\n}\n\nwatch(\n () => props.actions,\n (next) => {\n void loadActionIcons(next ?? [])\n },\n { immediate: true, deep: true },\n)\n\nfunction onAction(id: string): void {\n emit(\"action\", { id })\n}\n</script>\n\n<template>\n <div\n :class=\"\n cn(\n 'flex w-full items-end gap-2',\n isEnd ? 'justify-end' : 'justify-start',\n rootClass,\n )\n \"\n :data-role=\"props.role\"\n :data-align=\"resolvedAlign\"\n :data-variant=\"resolvedVariant\"\n data-testid=\"chat-message\"\n >\n <!-- left-side avatar -->\n <Avatar\n v-if=\"!isEnd\"\n size=\"sm\"\n class=\"mb-1\"\n data-testid=\"chat-message-avatar\"\n >\n <AvatarImage\n v-if=\"props.authorAvatarUrl\"\n :src=\"props.authorAvatarUrl\"\n :alt=\"props.authorName ?? props.role\"\n />\n <AvatarFallback>{{ derivedAvatarFallback }}</AvatarFallback>\n </Avatar>\n\n <div\n :class=\"\n cn(\n 'flex min-w-0 flex-col gap-1',\n isEnd ? 'items-end' : 'items-start',\n )\n \"\n >\n <!-- bubble -->\n <div :class=\"bubbleClass\" data-testid=\"chat-message-bubble\">\n <!-- header -->\n <div\n v-if=\"props.authorName || showRoleBadge || formattedTimestamp\"\n :class=\"\n cn(\n 'mb-1 flex w-full items-center gap-2 text-xs',\n isEnd ? 'flex-row-reverse' : 'flex-row',\n )\n \"\n >\n <span\n v-if=\"props.authorName\"\n class=\"font-medium\"\n data-testid=\"chat-message-author\"\n >\n {{ props.authorName }}\n </span>\n <Badge\n v-if=\"showRoleBadge\"\n variant=\"outline\"\n size=\"sm\"\n data-testid=\"chat-message-role-badge\"\n >\n {{ props.role }}\n </Badge>\n <span\n v-if=\"formattedTimestamp\"\n :class=\"\n cn(\n 'text-[11px] opacity-70',\n resolvedVariant === 'accent' || resolvedVariant === 'destructive'\n ? ''\n : 'text-muted-foreground',\n isEnd ? 'mr-auto' : 'ml-auto',\n )\n \"\n data-testid=\"chat-message-timestamp\"\n >\n {{ formattedTimestamp }}\n </span>\n </div>\n\n <!-- body -->\n <div\n v-if=\"props.pending\"\n class=\"flex items-center gap-1 py-1\"\n data-testid=\"chat-message-pending\"\n aria-label=\"Typing\"\n >\n <span class=\"size-1.5 animate-bounce rounded-full bg-current opacity-60\" />\n <span\n class=\"size-1.5 animate-bounce rounded-full bg-current opacity-60 [animation-delay:150ms]\"\n />\n <span\n class=\"size-1.5 animate-bounce rounded-full bg-current opacity-60 [animation-delay:300ms]\"\n />\n </div>\n <div\n v-else-if=\"props.allowHtml && props.message\"\n class=\"whitespace-pre-wrap leading-snug\"\n data-testid=\"chat-message-body\"\n v-html=\"props.message\"\n />\n <div\n v-else-if=\"props.message\"\n class=\"whitespace-pre-wrap leading-snug\"\n data-testid=\"chat-message-body\"\n >\n {{ props.message }}\n </div>\n </div>\n\n <!-- error -->\n <p\n v-if=\"props.error\"\n class=\"text-xs text-destructive\"\n data-testid=\"chat-message-error\"\n >\n {{ props.error }}\n </p>\n\n <!-- actions -->\n <div\n v-if=\"props.actions && props.actions.length > 0\"\n :class=\"\n cn(\n 'flex flex-wrap gap-1',\n isEnd ? 'justify-end' : 'justify-start',\n )\n \"\n data-testid=\"chat-message-actions\"\n >\n <Button\n v-for=\"action in props.actions\"\n :key=\"action.id\"\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n :data-action-id=\"action.id\"\n @click=\"onAction(action.id)\"\n >\n <component\n :is=\"action.icon ? ActionIcons[action.icon] : null\"\n v-if=\"action.icon && ActionIcons[action.icon]\"\n />\n <span>{{ action.label }}</span>\n </Button>\n </div>\n </div>\n\n <!-- right-side avatar -->\n <Avatar\n v-if=\"isEnd\"\n size=\"sm\"\n class=\"mb-1\"\n data-testid=\"chat-message-avatar\"\n >\n <AvatarImage\n v-if=\"props.authorAvatarUrl\"\n :src=\"props.authorAvatarUrl\"\n :alt=\"props.authorName ?? props.role\"\n />\n <AvatarFallback>{{ derivedAvatarFallback }}</AvatarFallback>\n </Avatar>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","resolvedAlign","computed","isEnd","ROLE_VARIANT","resolvedVariant","bubbleVariants","cva","bubbleClass","derivedAvatarFallback","source","formattedTimestamp","ts","date","rootClass","cl","showRoleBadge","ActionIcons","ref","toPascalCase","input","_","ch","m","loadActionIcons","actions","needed","a","registry","next","raw","name","watch","onAction","id","_createElementBlock","_normalizeClass","_unref","cn","_createBlock","Avatar","AvatarImage","_createVNode","AvatarFallback","_createElementVNode","_openBlock","_hoisted_2","_toDisplayString","Badge","_createTextVNode","_hoisted_3","_cache","_hoisted_5","_hoisted_6","_Fragment","_renderList","action","Button","$event","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,42 @@
1
+ export interface TreeNode {
2
+ /** Full path from the root, e.g. `src/components/Button.vue`. */
3
+ path: string;
4
+ /** Display name (typically the trailing path segment). */
5
+ name: string;
6
+ kind: "file" | "directory";
7
+ /** Pre-loaded children. When omitted for a directory, the loader is
8
+ * invoked the first time the node is expanded. */
9
+ children?: TreeNode[];
10
+ }
11
+ export interface FileTreeProps {
12
+ /** Root path. Passed to `onLoadTree` on mount. */
13
+ path?: string;
14
+ /** REQUIRED loader for children at a given path. */
15
+ onLoadTree: (path: string) => Promise<TreeNode[]>;
16
+ /** Current selected file path (v-modelable as `selectedPath`). */
17
+ selectedPath?: string;
18
+ /** Called when the user clicks a file. */
19
+ onSelectPath?: (path: string) => void;
20
+ /** Controlled expanded directory paths (v-modelable as `expandedPaths`). */
21
+ expandedPaths?: string[];
22
+ /** Fired when the set of expanded paths changes. */
23
+ onExpandedChange?: (paths: string[]) => void;
24
+ label?: string;
25
+ name?: string | null;
26
+ classList?: string[] | string;
27
+ }
28
+ declare function loadRoot(): Promise<void>;
29
+ declare const _default: import('vue').DefineComponent<FileTreeProps, {
30
+ reload: typeof loadRoot;
31
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
32
+ "update:selectedPath": (path: string) => any;
33
+ "update:expandedPaths": (paths: string[]) => any;
34
+ }, string, import('vue').PublicProps, Readonly<FileTreeProps> & Readonly<{
35
+ "onUpdate:selectedPath"?: ((path: string) => any) | undefined;
36
+ "onUpdate:expandedPaths"?: ((paths: string[]) => any) | undefined;
37
+ }>, {
38
+ label: string;
39
+ path: string;
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
41
+ export default _default;
42
+ //# sourceMappingURL=FileTree.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileTree.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/code/FileTree.vue"],"names":[],"mappings":"AA8YA,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B;uDACmD;IACnD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjD,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;CAC9B;AAoED,iBAAe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAYvC;;;;;;;;;;WAnFS,MAAM;UAXP,MAAM;;AA8cf,wBAUG"}
@@ -1,5 +1,254 @@
1
- import f from "./FileTree.vue2.js";
1
+ import { defineComponent as R, ref as m, computed as V, watch as C, onMounted as M, openBlock as i, createBlock as E, unref as l, normalizeClass as G, withCtx as x, createVNode as o, createElementVNode as H, toDisplayString as P, createElementBlock as u, Fragment as J, renderList as K, h as r } from "vue";
2
+ import { Folder as S, ChevronDown as Q, ChevronRight as U, File as W, FolderOpen as X } from "lucide-vue-next";
3
+ import "../../../ui/card/index.js";
4
+ import g from "../../../ui/skeleton/Skeleton.vue.js";
5
+ import { cn as Y } from "../../../../lib/utils.js";
6
+ import Z from "../../../ui/card/Card.vue.js";
7
+ import ee from "../../../ui/card/CardHeader.vue.js";
8
+ import te from "../../../ui/card/CardTitle.vue.js";
9
+ import ae from "../../../ui/card/CardContent.vue.js";
10
+ const re = {
11
+ key: 0,
12
+ "data-testid": "file-tree-loading",
13
+ class: "flex flex-col gap-1.5 px-2"
14
+ }, le = {
15
+ key: 1,
16
+ class: "px-2 text-sm text-destructive",
17
+ "data-testid": "file-tree-error",
18
+ role: "alert"
19
+ }, se = {
20
+ key: 2,
21
+ class: "px-2 text-sm text-muted-foreground",
22
+ "data-testid": "file-tree-empty"
23
+ }, ne = {
24
+ key: 3,
25
+ class: "flex flex-col",
26
+ role: "tree",
27
+ "data-testid": "file-tree-list"
28
+ }, xe = /* @__PURE__ */ R({
29
+ __name: "FileTree",
30
+ props: {
31
+ path: { default: "" },
32
+ onLoadTree: {},
33
+ selectedPath: {},
34
+ onSelectPath: {},
35
+ expandedPaths: {},
36
+ onExpandedChange: {},
37
+ label: { default: "File Tree" },
38
+ name: {},
39
+ classList: {}
40
+ },
41
+ emits: ["update:selectedPath", "update:expandedPaths"],
42
+ setup(F, { expose: L, emit: b }) {
43
+ const a = F, k = b;
44
+ function y(e) {
45
+ return {
46
+ path: e.path,
47
+ name: e.name,
48
+ kind: e.kind,
49
+ loading: !1,
50
+ loaded: Array.isArray(e.children),
51
+ error: null,
52
+ childNodes: Array.isArray(e.children) ? e.children.map(y) : []
53
+ };
54
+ }
55
+ const h = m([]), v = m(!1), f = m(null), d = m(
56
+ new Set(a.expandedPaths ?? [])
57
+ ), A = V(
58
+ () => Array.from(d.value)
59
+ );
60
+ C(
61
+ () => a.expandedPaths,
62
+ (e) => {
63
+ e !== void 0 && (d.value = new Set(e));
64
+ }
65
+ );
66
+ function T() {
67
+ const e = A.value;
68
+ k("update:expandedPaths", e), a.onExpandedChange && a.onExpandedChange(e);
69
+ }
70
+ async function _() {
71
+ v.value = !0, f.value = null;
72
+ try {
73
+ const e = await a.onLoadTree(a.path ?? "");
74
+ h.value = Array.isArray(e) ? e.map(y) : [];
75
+ } catch (e) {
76
+ f.value = e instanceof Error ? e.message : String(e), h.value = [];
77
+ } finally {
78
+ v.value = !1;
79
+ }
80
+ }
81
+ async function z(e) {
82
+ if (e.kind === "directory" && !(e.loading || e.loaded)) {
83
+ e.loading = !0, e.error = null;
84
+ try {
85
+ const t = await a.onLoadTree(e.path);
86
+ e.childNodes = Array.isArray(t) ? t.map(y) : [], e.loaded = !0;
87
+ } catch (t) {
88
+ e.error = t instanceof Error ? t.message : String(t), e.childNodes = [];
89
+ } finally {
90
+ e.loading = !1;
91
+ }
92
+ }
93
+ }
94
+ function B(e) {
95
+ return d.value.has(e);
96
+ }
97
+ async function D(e) {
98
+ const t = new Set(d.value);
99
+ t.has(e.path) ? t.delete(e.path) : (t.add(e.path), e.loaded || await z(e)), d.value = t, T();
100
+ }
101
+ function j(e) {
102
+ e.kind === "file" && (k("update:selectedPath", e.path), a.onSelectPath && a.onSelectPath(e.path));
103
+ }
104
+ M(() => {
105
+ _();
106
+ }), C(
107
+ () => a.path,
108
+ () => {
109
+ _();
110
+ }
111
+ );
112
+ const w = {
113
+ name: "FileTreeNode",
114
+ props: {
115
+ node: {
116
+ type: Object,
117
+ required: !0
118
+ },
119
+ depth: { type: Number, required: !0 }
120
+ },
121
+ setup(e) {
122
+ return () => {
123
+ const t = e.node, s = B(t.path), q = { paddingLeft: `${e.depth * 16 + 8}px` }, n = t.kind === "file", $ = n && a.selectedPath === t.path, I = [
124
+ "flex items-center gap-1.5 rounded-sm py-1 pr-2 text-sm cursor-pointer hover:bg-accent hover:text-accent-foreground",
125
+ $ ? "bg-accent text-accent-foreground font-medium" : ""
126
+ ].join(" "), O = r(
127
+ "div",
128
+ {
129
+ class: I,
130
+ style: q,
131
+ role: "treeitem",
132
+ "data-testid": `file-tree-row-${t.path}`,
133
+ "data-kind": t.kind,
134
+ "aria-expanded": n ? void 0 : String(s),
135
+ "aria-selected": n ? String($) : void 0,
136
+ onClick: (p) => {
137
+ p.stopPropagation(), n ? j(t) : D(t);
138
+ }
139
+ },
140
+ [
141
+ n ? r("span", { class: "inline-block w-4 shrink-0" }) : r(s ? Q : U, {
142
+ class: "size-4 shrink-0 text-muted-foreground",
143
+ "data-testid": s ? `file-tree-chevron-down-${t.path}` : `file-tree-chevron-right-${t.path}`
144
+ }),
145
+ n ? r(W, {
146
+ class: "size-4 shrink-0 text-muted-foreground"
147
+ }) : r(s ? X : S, {
148
+ class: "size-4 shrink-0 text-muted-foreground"
149
+ }),
150
+ r("span", { class: "truncate" }, t.name)
151
+ ]
152
+ ), c = [];
153
+ if (!n && s) {
154
+ const p = {
155
+ paddingLeft: `${(e.depth + 1) * 16 + 8}px`
156
+ };
157
+ if (t.loading)
158
+ c.push(
159
+ r(
160
+ "li",
161
+ {
162
+ class: "py-1",
163
+ style: p,
164
+ "data-testid": `file-tree-child-loading-${t.path}`
165
+ },
166
+ [r(g, { class: "h-4 w-1/2" })]
167
+ )
168
+ );
169
+ else if (t.error)
170
+ c.push(
171
+ r(
172
+ "li",
173
+ {
174
+ class: "py-1 text-sm text-destructive",
175
+ style: p,
176
+ role: "alert",
177
+ "data-testid": `file-tree-child-error-${t.path}`
178
+ },
179
+ t.error
180
+ )
181
+ );
182
+ else if (t.childNodes.length === 0)
183
+ c.push(
184
+ r(
185
+ "li",
186
+ {
187
+ class: "py-1 text-sm italic text-muted-foreground",
188
+ style: p,
189
+ "data-testid": `file-tree-child-empty-${t.path}`
190
+ },
191
+ "(empty)"
192
+ )
193
+ );
194
+ else
195
+ for (const N of t.childNodes)
196
+ c.push(
197
+ r(w, {
198
+ key: N.path,
199
+ node: N,
200
+ depth: e.depth + 1
201
+ })
202
+ );
203
+ }
204
+ return r(
205
+ "li",
206
+ { class: "flex list-none flex-col" },
207
+ [O, ...c]
208
+ );
209
+ };
210
+ }
211
+ };
212
+ return L({ reload: _ }), (e, t) => (i(), E(l(Z), {
213
+ class: G(l(Y)(a.classList)),
214
+ "data-element-name": a.name ?? void 0,
215
+ "data-testid": "file-tree"
216
+ }, {
217
+ default: x(() => [
218
+ o(l(ee), null, {
219
+ default: x(() => [
220
+ o(l(te), { class: "flex items-center gap-2 text-base" }, {
221
+ default: x(() => [
222
+ o(l(S), { class: "size-5 text-muted-foreground" }),
223
+ H("span", null, P(a.label), 1)
224
+ ]),
225
+ _: 1
226
+ })
227
+ ]),
228
+ _: 1
229
+ }),
230
+ o(l(ae), { class: "px-2 pb-4" }, {
231
+ default: x(() => [
232
+ v.value ? (i(), u("div", re, [
233
+ o(l(g), { class: "h-5 w-3/4" }),
234
+ o(l(g), { class: "h-5 w-2/3" }),
235
+ o(l(g), { class: "h-5 w-1/2" })
236
+ ])) : f.value ? (i(), u("p", le, P(f.value), 1)) : h.value.length === 0 ? (i(), u("p", se, " No files. ")) : (i(), u("ul", ne, [
237
+ (i(!0), u(J, null, K(h.value, (s) => (i(), E(w, {
238
+ key: s.path,
239
+ node: s,
240
+ depth: 0
241
+ }, null, 8, ["node"]))), 128))
242
+ ]))
243
+ ]),
244
+ _: 1
245
+ })
246
+ ]),
247
+ _: 1
248
+ }, 8, ["class", "data-element-name"]));
249
+ }
250
+ });
2
251
  export {
3
- f as default
252
+ xe as default
4
253
  };
5
254
  //# sourceMappingURL=FileTree.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileTree.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"FileTree.vue.js","sources":["../../../../../src/components/compositions/elements/code/FileTree.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven file tree composition. Renders a recursive list of files\n * and folders sourced by a `onLoadTree` callback. The composition makes\n * no HTTP calls itself — the consumer provides a Promise-returning\n * loader for each node.\n *\n * <FileTree\n * :on-load-tree=\"(path) => fetch(`/api/tree?path=${path}`).then(r => r.json())\"\n * v-model:selected-path=\"selected\"\n * v-model:expanded-paths=\"expanded\"\n * />\n */\nimport { computed, h, onMounted, ref, watch, type PropType } from \"vue\"\nimport {\n ChevronDown,\n ChevronRight,\n File as FileIcon,\n Folder,\n FolderOpen,\n} from \"lucide-vue-next\"\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { Skeleton } from \"@/components/ui/skeleton\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TreeNode {\n /** Full path from the root, e.g. `src/components/Button.vue`. */\n path: string\n /** Display name (typically the trailing path segment). */\n name: string\n kind: \"file\" | \"directory\"\n /** Pre-loaded children. When omitted for a directory, the loader is\n * invoked the first time the node is expanded. */\n children?: TreeNode[]\n}\n\nexport interface FileTreeProps {\n /** Root path. Passed to `onLoadTree` on mount. */\n path?: string\n /** REQUIRED loader for children at a given path. */\n onLoadTree: (path: string) => Promise<TreeNode[]>\n /** Current selected file path (v-modelable as `selectedPath`). */\n selectedPath?: string\n /** Called when the user clicks a file. */\n onSelectPath?: (path: string) => void\n /** Controlled expanded directory paths (v-modelable as `expandedPaths`). */\n expandedPaths?: string[]\n /** Fired when the set of expanded paths changes. */\n onExpandedChange?: (paths: string[]) => void\n label?: string\n name?: string | null\n classList?: string[] | string\n}\n\nconst props = withDefaults(defineProps<FileTreeProps>(), {\n path: \"\",\n label: \"File Tree\",\n})\n\nconst emit = defineEmits<{\n \"update:selectedPath\": [path: string]\n \"update:expandedPaths\": [paths: string[]]\n}>()\n\ninterface InternalNode {\n path: string\n name: string\n kind: \"file\" | \"directory\"\n loading: boolean\n loaded: boolean\n error: string | null\n childNodes: InternalNode[]\n}\n\nfunction toInternal(node: TreeNode): InternalNode {\n return {\n path: node.path,\n name: node.name,\n kind: node.kind,\n loading: false,\n loaded: Array.isArray(node.children),\n error: null,\n childNodes: Array.isArray(node.children)\n ? node.children.map(toInternal)\n : [],\n }\n}\n\nconst rootNodes = ref<InternalNode[]>([])\nconst rootLoading = ref<boolean>(false)\nconst rootError = ref<string | null>(null)\n\nconst localExpanded = ref<Set<string>>(\n new Set<string>(props.expandedPaths ?? []),\n)\n\nconst expandedPathsList = computed<string[]>(() =>\n Array.from(localExpanded.value),\n)\n\nwatch(\n () => props.expandedPaths,\n (next) => {\n if (next === undefined) {\n return\n }\n localExpanded.value = new Set(next)\n },\n)\n\nfunction notifyExpanded(): void {\n const list = expandedPathsList.value\n emit(\"update:expandedPaths\", list)\n if (props.onExpandedChange) {\n props.onExpandedChange(list)\n }\n}\n\nasync function loadRoot(): Promise<void> {\n rootLoading.value = true\n rootError.value = null\n try {\n const result = await props.onLoadTree(props.path ?? \"\")\n rootNodes.value = Array.isArray(result) ? result.map(toInternal) : []\n } catch (err) {\n rootError.value = err instanceof Error ? err.message : String(err)\n rootNodes.value = []\n } finally {\n rootLoading.value = false\n }\n}\n\nasync function loadChildren(node: InternalNode): Promise<void> {\n if (node.kind !== \"directory\") {\n return\n }\n if (node.loading || node.loaded) {\n return\n }\n node.loading = true\n node.error = null\n try {\n const result = await props.onLoadTree(node.path)\n node.childNodes = Array.isArray(result) ? result.map(toInternal) : []\n node.loaded = true\n } catch (err) {\n node.error = err instanceof Error ? err.message : String(err)\n node.childNodes = []\n } finally {\n node.loading = false\n }\n}\n\nfunction isExpanded(path: string): boolean {\n return localExpanded.value.has(path)\n}\n\nasync function toggleDirectory(node: InternalNode): Promise<void> {\n const next = new Set(localExpanded.value)\n if (next.has(node.path)) {\n next.delete(node.path)\n } else {\n next.add(node.path)\n if (!node.loaded) {\n await loadChildren(node)\n }\n }\n localExpanded.value = next\n notifyExpanded()\n}\n\nfunction selectFile(node: InternalNode): void {\n if (node.kind !== \"file\") {\n return\n }\n emit(\"update:selectedPath\", node.path)\n if (props.onSelectPath) {\n props.onSelectPath(node.path)\n }\n}\n\nonMounted(() => {\n void loadRoot()\n})\n\nwatch(\n () => props.path,\n () => {\n void loadRoot()\n },\n)\n\nconst FileTreeNode = {\n name: \"FileTreeNode\",\n props: {\n node: {\n type: Object as PropType<InternalNode>,\n required: true as const,\n },\n depth: { type: Number, required: true as const },\n },\n setup(nodeProps: { node: InternalNode; depth: number }) {\n return () => {\n const node = nodeProps.node\n const expanded = isExpanded(node.path)\n const indent = { paddingLeft: `${nodeProps.depth * 16 + 8}px` }\n const isFile = node.kind === \"file\"\n const selected = isFile && props.selectedPath === node.path\n const rowClass = [\n \"flex items-center gap-1.5 rounded-sm py-1 pr-2 text-sm cursor-pointer hover:bg-accent hover:text-accent-foreground\",\n selected ? \"bg-accent text-accent-foreground font-medium\" : \"\",\n ].join(\" \")\n\n const row = h(\n \"div\",\n {\n class: rowClass,\n style: indent,\n role: \"treeitem\",\n \"data-testid\": `file-tree-row-${node.path}`,\n \"data-kind\": node.kind,\n \"aria-expanded\": isFile ? undefined : String(expanded),\n \"aria-selected\": isFile ? String(selected) : undefined,\n onClick: (e: Event) => {\n e.stopPropagation()\n if (isFile) {\n selectFile(node)\n } else {\n void toggleDirectory(node)\n }\n },\n },\n [\n isFile\n ? h(\"span\", { class: \"inline-block w-4 shrink-0\" })\n : h(expanded ? ChevronDown : ChevronRight, {\n class: \"size-4 shrink-0 text-muted-foreground\",\n \"data-testid\": expanded\n ? `file-tree-chevron-down-${node.path}`\n : `file-tree-chevron-right-${node.path}`,\n }),\n isFile\n ? h(FileIcon, {\n class: \"size-4 shrink-0 text-muted-foreground\",\n })\n : h(expanded ? FolderOpen : Folder, {\n class: \"size-4 shrink-0 text-muted-foreground\",\n }),\n h(\"span\", { class: \"truncate\" }, node.name),\n ],\n )\n\n const children: ReturnType<typeof h>[] = []\n if (!isFile && expanded) {\n const childIndent = {\n paddingLeft: `${(nodeProps.depth + 1) * 16 + 8}px`,\n }\n if (node.loading) {\n children.push(\n h(\n \"li\",\n {\n class: \"py-1\",\n style: childIndent,\n \"data-testid\": `file-tree-child-loading-${node.path}`,\n },\n [h(Skeleton, { class: \"h-4 w-1/2\" })],\n ),\n )\n } else if (node.error) {\n children.push(\n h(\n \"li\",\n {\n class: \"py-1 text-sm text-destructive\",\n style: childIndent,\n role: \"alert\",\n \"data-testid\": `file-tree-child-error-${node.path}`,\n },\n node.error,\n ),\n )\n } else if (node.childNodes.length === 0) {\n children.push(\n h(\n \"li\",\n {\n class: \"py-1 text-sm italic text-muted-foreground\",\n style: childIndent,\n \"data-testid\": `file-tree-child-empty-${node.path}`,\n },\n \"(empty)\",\n ),\n )\n } else {\n for (const child of node.childNodes) {\n children.push(\n h(FileTreeNode, {\n key: child.path,\n node: child,\n depth: nodeProps.depth + 1,\n }),\n )\n }\n }\n }\n\n return h(\n \"li\",\n { class: \"flex list-none flex-col\" },\n [row, ...children],\n )\n }\n },\n}\n\ndefineExpose({ reload: loadRoot })\n</script>\n\n<template>\n <Card\n :class=\"cn(props.classList)\"\n :data-element-name=\"props.name ?? undefined\"\n data-testid=\"file-tree\"\n >\n <CardHeader>\n <CardTitle class=\"flex items-center gap-2 text-base\">\n <Folder class=\"size-5 text-muted-foreground\" />\n <span>{{ props.label }}</span>\n </CardTitle>\n </CardHeader>\n <CardContent class=\"px-2 pb-4\">\n <div\n v-if=\"rootLoading\"\n data-testid=\"file-tree-loading\"\n class=\"flex flex-col gap-1.5 px-2\"\n >\n <Skeleton class=\"h-5 w-3/4\" />\n <Skeleton class=\"h-5 w-2/3\" />\n <Skeleton class=\"h-5 w-1/2\" />\n </div>\n <p\n v-else-if=\"rootError\"\n class=\"px-2 text-sm text-destructive\"\n data-testid=\"file-tree-error\"\n role=\"alert\"\n >\n {{ rootError }}\n </p>\n <p\n v-else-if=\"rootNodes.length === 0\"\n class=\"px-2 text-sm text-muted-foreground\"\n data-testid=\"file-tree-empty\"\n >\n No files.\n </p>\n <ul\n v-else\n class=\"flex flex-col\"\n role=\"tree\"\n data-testid=\"file-tree-list\"\n >\n <FileTreeNode\n v-for=\"node in rootNodes\"\n :key=\"node.path\"\n :node=\"node\"\n :depth=\"0\"\n />\n </ul>\n </CardContent>\n </Card>\n</template>\n"],"names":["props","__props","emit","__emit","toInternal","node","rootNodes","ref","rootLoading","rootError","localExpanded","expandedPathsList","computed","watch","next","notifyExpanded","list","loadRoot","result","err","loadChildren","isExpanded","path","toggleDirectory","selectFile","onMounted","FileTreeNode","nodeProps","expanded","indent","isFile","selected","rowClass","row","h","e","ChevronDown","ChevronRight","FileIcon","FolderOpen","Folder","children","childIndent","Skeleton","child","__expose","_createBlock","_unref","Card","_normalizeClass","cn","_createVNode","CardHeader","CardTitle","_createElementVNode","_toDisplayString","CardContent","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_Fragment","_renderList"],"mappings":"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"}