@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,174 +1,5 @@
1
- import { defineComponent as M, useModel as K, ref as y, watch as j, computed as F, openBlock as s, createBlock as D, unref as i, withCtx as u, createElementVNode as n, withKeys as $, withModifiers as h, normalizeClass as N, createVNode as c, toDisplayString as f, createElementBlock as b, createCommentVNode as w, Fragment as S, renderList as E, mergeModels as I } from "vue";
2
- import { UploadCloud as O, X as P } from "lucide-vue-next";
3
- import "../../../ui/button/index.js";
4
- import "../../../ui/card/index.js";
5
- import R from "../../../ui/field-frame/FieldFrame.vue.js";
6
- import { cn as U } from "../../../../lib/utils.js";
7
- import X from "../../../ui/card/Card.vue.js";
8
- import _ from "../../../ui/card/CardContent.vue.js";
9
- import G from "../../../ui/button/Button.vue.js";
10
- const H = ["data-drag-over", "data-element-name", "onKeydown"], J = { class: "text-sm font-medium" }, Q = {
11
- key: 0,
12
- class: "text-xs text-muted-foreground"
13
- }, W = ["accept", "multiple", "disabled", "required", "name"], Y = {
14
- key: 0,
15
- class: "flex flex-col gap-2"
16
- }, Z = { class: "flex flex-col" }, ee = { class: "text-sm font-medium" }, te = { class: "text-xs text-muted-foreground" }, fe = /* @__PURE__ */ M({
17
- __name: "DropzoneFile",
18
- props: /* @__PURE__ */ I({
19
- modelValue: {},
20
- id: {},
21
- name: {},
22
- label: {},
23
- hideLabel: { type: Boolean },
24
- placeholder: {},
25
- accept: {},
26
- acceptedFileTypes: { default: () => [] },
27
- multiple: { type: Boolean },
28
- maxFileSize: {},
29
- required: { type: Boolean },
30
- readonly: { type: Boolean },
31
- disabled: { type: Boolean },
32
- helpText: {},
33
- errors: { default: () => [] }
34
- }, {
35
- modelValue: {},
36
- modelModifiers: {}
37
- }),
38
- emits: ["update:modelValue"],
39
- setup(t) {
40
- const l = t, m = K(t, "modelValue"), g = y(null), d = y(!1), a = y([]);
41
- j(
42
- () => m.value,
43
- (e) => {
44
- e instanceof File ? a.value = [e] : Array.isArray(e) && e.every((r) => r instanceof File) ? a.value = e : a.value = [];
45
- },
46
- { immediate: !0 }
47
- );
48
- const v = F(() => {
49
- if (l.accept)
50
- return l.accept;
51
- const e = l.acceptedFileTypes;
52
- return Array.isArray(e) && e.length ? e.join(",") : "";
53
- }), x = F(() => l.maxFileSize);
54
- function k() {
55
- l.multiple ? m.value = a.value.slice() : m.value = a.value[0] ?? null;
56
- }
57
- function B(e) {
58
- !e.length || x.value && e.find((o) => o.size > x.value) || (l.multiple ? a.value = [...a.value, ...e] : a.value = [e[0]], k());
59
- }
60
- function C(e) {
61
- const r = e.target, o = r.files ? Array.from(r.files) : [];
62
- B(o), r.value = "";
63
- }
64
- function q(e) {
65
- if (e.preventDefault(), d.value = !1, l.disabled || l.readonly)
66
- return;
67
- const r = e.dataTransfer ? Array.from(e.dataTransfer.files) : [];
68
- B(r);
69
- }
70
- function V(e) {
71
- e.preventDefault(), !l.disabled && !l.readonly && (d.value = !0);
72
- }
73
- function A(e) {
74
- e.preventDefault(), d.value = !1;
75
- }
76
- function p() {
77
- var e;
78
- (e = g.value) == null || e.click();
79
- }
80
- function L(e) {
81
- a.value.splice(e, 1), k();
82
- }
83
- function T(e) {
84
- return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(2)} MB`;
85
- }
86
- return (e, r) => (s(), D(i(R), {
87
- label: t.label,
88
- required: t.required,
89
- "hide-label": t.hideLabel,
90
- "help-text": t.helpText,
91
- errors: t.errors
92
- }, {
93
- default: u(() => [
94
- n("div", {
95
- class: N(
96
- i(U)(
97
- "flex flex-col items-center justify-center gap-2 rounded-md border-2 border-dashed border-input bg-background px-6 py-10 text-center transition-colors",
98
- d.value && "border-primary bg-primary/5",
99
- (t.disabled || t.readonly) && "cursor-not-allowed opacity-50"
100
- )
101
- ),
102
- role: "button",
103
- tabindex: "0",
104
- "data-testid": "dropzone-target",
105
- "data-drag-over": d.value || void 0,
106
- "data-element-name": t.name ?? void 0,
107
- onClick: p,
108
- onKeydown: [
109
- $(h(p, ["prevent"]), ["enter"]),
110
- $(h(p, ["prevent"]), ["space"])
111
- ],
112
- onDrop: q,
113
- onDragover: V,
114
- onDragleave: A
115
- }, [
116
- c(i(O), { class: "size-8 text-muted-foreground" }),
117
- n("p", J, f(t.placeholder ?? "Drop files here, or click to browse"), 1),
118
- v.value ? (s(), b("p", Q, f(v.value), 1)) : w("", !0),
119
- n("input", {
120
- ref_key: "fileInput",
121
- ref: g,
122
- type: "file",
123
- class: "sr-only",
124
- accept: v.value || void 0,
125
- multiple: t.multiple,
126
- disabled: t.disabled || t.readonly,
127
- required: t.required,
128
- name: t.name ?? void 0,
129
- "data-testid": "dropzone-input",
130
- onChange: C
131
- }, null, 40, W)
132
- ], 42, H),
133
- a.value.length ? (s(), b("div", Y, [
134
- (s(!0), b(S, null, E(a.value, (o, z) => (s(), D(i(X), {
135
- key: `${o.name}-${z}`,
136
- class: "border"
137
- }, {
138
- default: u(() => [
139
- c(i(_), { class: "flex items-center justify-between gap-3 py-3" }, {
140
- default: u(() => [
141
- n("div", Z, [
142
- n("span", ee, f(o.name), 1),
143
- n("span", te, f(T(o.size)), 1)
144
- ]),
145
- c(i(G), {
146
- type: "button",
147
- variant: "ghost",
148
- size: "icon-sm",
149
- "aria-label": "Remove file",
150
- disabled: t.disabled || t.readonly,
151
- "data-testid": "dropzone-remove",
152
- onClick: h((ae) => L(z), ["stop"])
153
- }, {
154
- default: u(() => [
155
- c(i(P), { class: "size-4" })
156
- ]),
157
- _: 1
158
- }, 8, ["disabled", "onClick"])
159
- ]),
160
- _: 2
161
- }, 1024)
162
- ]),
163
- _: 2
164
- }, 1024))), 128))
165
- ])) : w("", !0)
166
- ]),
167
- _: 1
168
- }, 8, ["label", "required", "hide-label", "help-text", "errors"]));
169
- }
170
- });
1
+ import f from "./DropzoneFile.vue.js";
171
2
  export {
172
- fe as default
3
+ f as default
173
4
  };
174
5
  //# sourceMappingURL=DropzoneFile.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropzoneFile.vue2.js","sources":["../../../../../src/components/compositions/elements/file/DropzoneFile.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven dropzone composition.\n *\n * Drag-and-drop target backed by a hidden `<input type=\"file\">` for\n * click-to-browse. Same value contract as `UploadFile` — single `File`\n * or `File[]` when `multiple` is true.\n *\n * <DropzoneFile v-model=\"doc\" label=\"Document\" accept=\"application/pdf\" />\n */\nimport { computed, ref, watch } from \"vue\"\nimport { UploadCloud, X } from \"lucide-vue-next\"\nimport { Button } from \"@/components/ui/button\"\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface DropzoneFileProps {\n modelValue?: File | File[] | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n accept?: string\n acceptedFileTypes?: string[]\n multiple?: boolean\n maxFileSize?: number\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nconst props = withDefaults(defineProps<DropzoneFileProps>(), {\n errors: () => [],\n acceptedFileTypes: () => [],\n})\n\nconst model = defineModel<File | File[] | null>(\"modelValue\")\n\nconst fileInput = ref<HTMLInputElement | null>(null)\nconst dragOver = ref<boolean>(false)\nconst files = ref<File[]>([])\n\nwatch(\n () => model.value,\n (next) => {\n if (next instanceof File) {\n files.value = [next]\n } else if (Array.isArray(next) && next.every((f) => f instanceof File)) {\n files.value = next as File[]\n } else {\n files.value = []\n }\n },\n { immediate: true },\n)\n\nconst accept = computed<string>(() => {\n if (props.accept) {\n return props.accept\n }\n const list = props.acceptedFileTypes\n return Array.isArray(list) && list.length ? list.join(\",\") : \"\"\n})\n\nconst maxBytes = computed<number | undefined>(() => props.maxFileSize)\n\nfunction emitFiles(): void {\n if (props.multiple) {\n model.value = files.value.slice()\n } else {\n model.value = files.value[0] ?? null\n }\n}\n\nfunction ingest(incoming: File[]): void {\n if (!incoming.length) {\n return\n }\n const tooLarge = maxBytes.value\n ? incoming.find((f) => f.size > (maxBytes.value as number))\n : undefined\n if (tooLarge) {\n return\n }\n if (props.multiple) {\n files.value = [...files.value, ...incoming]\n } else {\n files.value = [incoming[0]!]\n }\n emitFiles()\n}\n\nfunction onChange(event: Event): void {\n const target = event.target as HTMLInputElement\n const list = target.files ? Array.from(target.files) : []\n ingest(list)\n target.value = \"\"\n}\n\nfunction onDrop(event: DragEvent): void {\n event.preventDefault()\n dragOver.value = false\n if (props.disabled || props.readonly) {\n return\n }\n const list = event.dataTransfer ? Array.from(event.dataTransfer.files) : []\n ingest(list)\n}\n\nfunction onDragOver(event: DragEvent): void {\n event.preventDefault()\n if (!props.disabled && !props.readonly) {\n dragOver.value = true\n }\n}\n\nfunction onDragLeave(event: DragEvent): void {\n event.preventDefault()\n dragOver.value = false\n}\n\nfunction openPicker(): void {\n fileInput.value?.click()\n}\n\nfunction removeFile(index: number): void {\n files.value.splice(index, 1)\n emitFiles()\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`\n }\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <div\n :class=\"\n cn(\n 'flex flex-col items-center justify-center gap-2 rounded-md border-2 border-dashed border-input bg-background px-6 py-10 text-center transition-colors',\n dragOver && 'border-primary bg-primary/5',\n (disabled || readonly) && 'cursor-not-allowed opacity-50',\n )\n \"\n role=\"button\"\n tabindex=\"0\"\n data-testid=\"dropzone-target\"\n :data-drag-over=\"dragOver || undefined\"\n :data-element-name=\"name ?? undefined\"\n @click=\"openPicker\"\n @keydown.enter.prevent=\"openPicker\"\n @keydown.space.prevent=\"openPicker\"\n @drop=\"onDrop\"\n @dragover=\"onDragOver\"\n @dragleave=\"onDragLeave\"\n >\n <UploadCloud class=\"size-8 text-muted-foreground\" />\n <p class=\"text-sm font-medium\">\n {{ placeholder ?? \"Drop files here, or click to browse\" }}\n </p>\n <p v-if=\"accept\" class=\"text-xs text-muted-foreground\">\n {{ accept }}\n </p>\n <input\n ref=\"fileInput\"\n type=\"file\"\n class=\"sr-only\"\n :accept=\"accept || undefined\"\n :multiple=\"multiple\"\n :disabled=\"disabled || readonly\"\n :required=\"required\"\n :name=\"name ?? undefined\"\n data-testid=\"dropzone-input\"\n @change=\"onChange\"\n >\n </div>\n\n <div v-if=\"files.length\" class=\"flex flex-col gap-2\">\n <Card\n v-for=\"(file, i) in files\"\n :key=\"`${file.name}-${i}`\"\n class=\"border\"\n >\n <CardContent class=\"flex items-center justify-between gap-3 py-3\">\n <div class=\"flex flex-col\">\n <span class=\"text-sm font-medium\">{{ file.name }}</span>\n <span class=\"text-xs text-muted-foreground\">{{ formatBytes(file.size) }}</span>\n </div>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove file\"\n :disabled=\"disabled || readonly\"\n data-testid=\"dropzone-remove\"\n @click.stop=\"removeFile(i)\"\n >\n <X class=\"size-4\" />\n </Button>\n </CardContent>\n </Card>\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","fileInput","ref","dragOver","files","watch","next","f","accept","computed","list","maxBytes","emitFiles","ingest","incoming","onChange","event","target","onDrop","onDragOver","onDragLeave","openPicker","_a","removeFile","index","formatBytes","bytes","_createBlock","_unref","FieldFrame","_createElementVNode","_normalizeClass","cn","_createVNode","UploadCloud","_hoisted_2","_toDisplayString","_createElementBlock","_hoisted_3","_openBlock","_hoisted_5","_Fragment","_renderList","file","i","Card","CardContent","_hoisted_6","_hoisted_7","_hoisted_8","Button","_withModifiers","$event","X"],"mappings":"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"}
1
+ {"version":3,"file":"DropzoneFile.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,33 @@
1
+ export interface UploadFileProps {
2
+ modelValue?: File | File[] | null;
3
+ id?: string;
4
+ name?: string;
5
+ label?: string;
6
+ hideLabel?: boolean;
7
+ placeholder?: string;
8
+ accept?: string;
9
+ acceptedFileTypes?: string[];
10
+ multiple?: boolean;
11
+ maxFileSize?: number;
12
+ required?: boolean;
13
+ readonly?: boolean;
14
+ disabled?: boolean;
15
+ helpText?: string;
16
+ errors?: string[];
17
+ }
18
+ type __VLS_Props = UploadFileProps;
19
+ type __VLS_PublicProps = {
20
+ "modelValue"?: File | File[] | null;
21
+ } & __VLS_Props;
22
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ "update:modelValue": (value: File | File[] | null) => any;
24
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
25
+ "onUpdate:modelValue"?: ((value: File | File[] | null) => any) | undefined;
26
+ }>, {
27
+ acceptedFileTypes: string[];
28
+ errors: string[];
29
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
30
+ fileInput: HTMLInputElement;
31
+ }, HTMLDivElement>;
32
+ export default _default;
33
+ //# sourceMappingURL=UploadFile.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadFile.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/file/UploadFile.vue"],"names":[],"mappings":"AAsMA,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IACjC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,KAAK,WAAW,GAAG,eAAe,CAAC;AA2FnC,KAAK,iBAAiB,GAAG;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CACnC,GAAG,WAAW,CAAC;;;;;;uBAvGM,MAAM,EAAE;YAOnB,MAAM,EAAE;;;;AAgTnB,wBAUG"}
@@ -1,5 +1,152 @@
1
- import f from "./UploadFile.vue2.js";
1
+ import { defineComponent as V, useModel as A, ref as b, watch as L, computed as g, openBlock as u, createBlock as x, unref as i, withCtx as d, createElementVNode as r, createVNode as s, toDisplayString as v, createElementBlock as B, Fragment as M, renderList as T, createCommentVNode as w, mergeModels as N } from "vue";
2
+ import { Upload as S, X as j } from "lucide-vue-next";
3
+ import "../../../ui/button/index.js";
4
+ import "../../../ui/card/index.js";
5
+ import E from "../../../ui/field-frame/FieldFrame.vue.js";
6
+ import F from "../../../ui/button/Button.vue.js";
7
+ import I from "../../../ui/card/Card.vue.js";
8
+ import U from "../../../ui/card/CardContent.vue.js";
9
+ const D = ["data-element-name"], K = ["accept", "multiple", "disabled", "required", "name"], P = {
10
+ key: 0,
11
+ class: "flex flex-col gap-2"
12
+ }, R = { class: "flex flex-col" }, X = { class: "text-sm font-medium" }, G = { class: "text-xs text-muted-foreground" }, ee = /* @__PURE__ */ V({
13
+ __name: "UploadFile",
14
+ props: /* @__PURE__ */ N({
15
+ modelValue: {},
16
+ id: {},
17
+ name: {},
18
+ label: {},
19
+ hideLabel: { type: Boolean },
20
+ placeholder: {},
21
+ accept: {},
22
+ acceptedFileTypes: { default: () => [] },
23
+ multiple: { type: Boolean },
24
+ maxFileSize: {},
25
+ required: { type: Boolean },
26
+ readonly: { type: Boolean },
27
+ disabled: { type: Boolean },
28
+ helpText: {},
29
+ errors: { default: () => [] }
30
+ }, {
31
+ modelValue: {},
32
+ modelModifiers: {}
33
+ }),
34
+ emits: ["update:modelValue"],
35
+ setup(l) {
36
+ const n = l, c = A(l, "modelValue"), p = b(null), t = b([]);
37
+ L(
38
+ () => c.value,
39
+ (e) => {
40
+ e instanceof File ? t.value = [e] : Array.isArray(e) && e.every((o) => o instanceof File) ? t.value = e : t.value = [];
41
+ },
42
+ { immediate: !0 }
43
+ );
44
+ const k = g(() => {
45
+ if (n.accept)
46
+ return n.accept;
47
+ const e = n.acceptedFileTypes;
48
+ return Array.isArray(e) && e.length ? e.join(",") : "";
49
+ }), h = g(() => n.maxFileSize);
50
+ function $() {
51
+ var e;
52
+ (e = p.value) == null || e.click();
53
+ }
54
+ function m() {
55
+ n.multiple ? c.value = t.value.slice() : c.value = t.value[0] ?? null;
56
+ }
57
+ function C(e) {
58
+ const o = e.target, a = o.files ? Array.from(o.files) : [];
59
+ if (!a.length)
60
+ return;
61
+ if (h.value ? a.find((y) => y.size > h.value) : void 0) {
62
+ m();
63
+ return;
64
+ }
65
+ n.multiple ? t.value = [...t.value, ...a] : t.value = [a[0]], m(), o.value = "";
66
+ }
67
+ function q(e) {
68
+ t.value.splice(e, 1), m();
69
+ }
70
+ function z(e) {
71
+ return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(2)} MB`;
72
+ }
73
+ return (e, o) => (u(), x(i(E), {
74
+ label: l.label,
75
+ required: l.required,
76
+ "hide-label": l.hideLabel,
77
+ "help-text": l.helpText,
78
+ errors: l.errors
79
+ }, {
80
+ default: d(() => [
81
+ r("div", {
82
+ "data-element-name": l.name ?? void 0
83
+ }, [
84
+ s(i(F), {
85
+ type: "button",
86
+ variant: "outline",
87
+ disabled: l.disabled || l.readonly,
88
+ "data-testid": "upload-trigger",
89
+ onClick: $
90
+ }, {
91
+ default: d(() => [
92
+ s(i(S), { class: "mr-2 size-4" }),
93
+ r("span", null, v(l.placeholder ?? (l.multiple ? "Add files" : "Choose file")), 1)
94
+ ]),
95
+ _: 1
96
+ }, 8, ["disabled"]),
97
+ r("input", {
98
+ ref_key: "fileInput",
99
+ ref: p,
100
+ type: "file",
101
+ class: "sr-only",
102
+ accept: k.value || void 0,
103
+ multiple: l.multiple,
104
+ disabled: l.disabled || l.readonly,
105
+ required: l.required,
106
+ name: l.name ?? void 0,
107
+ "data-testid": "upload-input",
108
+ onChange: C
109
+ }, null, 40, K)
110
+ ], 8, D),
111
+ t.value.length ? (u(), B("div", P, [
112
+ (u(!0), B(M, null, T(t.value, (a, f) => (u(), x(i(I), {
113
+ key: `${a.name}-${f}`,
114
+ class: "border"
115
+ }, {
116
+ default: d(() => [
117
+ s(i(U), { class: "flex items-center justify-between gap-3 py-3" }, {
118
+ default: d(() => [
119
+ r("div", R, [
120
+ r("span", X, v(a.name), 1),
121
+ r("span", G, v(z(a.size)), 1)
122
+ ]),
123
+ s(i(F), {
124
+ type: "button",
125
+ variant: "ghost",
126
+ size: "icon-sm",
127
+ "aria-label": "Remove file",
128
+ disabled: l.disabled || l.readonly,
129
+ "data-testid": "upload-remove",
130
+ onClick: (y) => q(f)
131
+ }, {
132
+ default: d(() => [
133
+ s(i(j), { class: "size-4" })
134
+ ]),
135
+ _: 1
136
+ }, 8, ["disabled", "onClick"])
137
+ ]),
138
+ _: 2
139
+ }, 1024)
140
+ ]),
141
+ _: 2
142
+ }, 1024))), 128))
143
+ ])) : w("", !0)
144
+ ]),
145
+ _: 1
146
+ }, 8, ["label", "required", "hide-label", "help-text", "errors"]));
147
+ }
148
+ });
2
149
  export {
3
- f as default
150
+ ee as default
4
151
  };
5
152
  //# sourceMappingURL=UploadFile.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"UploadFile.vue.js","sources":["../../../../../src/components/compositions/elements/file/UploadFile.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven file-upload composition.\n *\n * Visible Button triggers a hidden `<input type=\"file\">`. Selected files\n * render as info chips with name, formatted size and a Remove control.\n * Emits a `File` (single) or `File[]` (multiple).\n *\n * <UploadFile v-model=\"avatar\" label=\"Avatar\" accept=\"image/*\" />\n */\nimport { computed, ref, watch } from \"vue\"\nimport { Upload, X } from \"lucide-vue-next\"\nimport { Button } from \"@/components/ui/button\"\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface UploadFileProps {\n modelValue?: File | File[] | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n accept?: string\n acceptedFileTypes?: string[]\n multiple?: boolean\n maxFileSize?: number\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nconst props = withDefaults(defineProps<UploadFileProps>(), {\n errors: () => [],\n acceptedFileTypes: () => [],\n})\n\nconst model = defineModel<File | File[] | null>(\"modelValue\")\n\nconst fileInput = ref<HTMLInputElement | null>(null)\nconst files = ref<File[]>([])\n\nwatch(\n () => model.value,\n (next) => {\n if (next instanceof File) {\n files.value = [next]\n } else if (Array.isArray(next) && next.every((f) => f instanceof File)) {\n files.value = next as File[]\n } else {\n files.value = []\n }\n },\n { immediate: true },\n)\n\nconst accept = computed<string>(() => {\n if (props.accept) {\n return props.accept\n }\n const list = props.acceptedFileTypes\n return Array.isArray(list) && list.length ? list.join(\",\") : \"\"\n})\n\nconst maxBytes = computed<number | undefined>(() => props.maxFileSize)\n\nfunction openPicker(): void {\n fileInput.value?.click()\n}\n\nfunction emitFiles(): void {\n if (props.multiple) {\n model.value = files.value.slice()\n } else {\n model.value = files.value[0] ?? null\n }\n}\n\nfunction onChange(event: Event): void {\n const target = event.target as HTMLInputElement\n const incoming = target.files ? Array.from(target.files) : []\n if (!incoming.length) {\n return\n }\n const tooLarge = maxBytes.value\n ? incoming.find((f) => f.size > (maxBytes.value as number))\n : undefined\n if (tooLarge) {\n emitFiles()\n return\n }\n if (props.multiple) {\n files.value = [...files.value, ...incoming]\n } else {\n files.value = [incoming[0]!]\n }\n emitFiles()\n target.value = \"\"\n}\n\nfunction removeFile(index: number): void {\n files.value.splice(index, 1)\n emitFiles()\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`\n }\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <div :data-element-name=\"name ?? undefined\">\n <Button\n type=\"button\"\n variant=\"outline\"\n :disabled=\"disabled || readonly\"\n data-testid=\"upload-trigger\"\n @click=\"openPicker\"\n >\n <Upload class=\"mr-2 size-4\" />\n <span>{{ placeholder ?? (multiple ? \"Add files\" : \"Choose file\") }}</span>\n </Button>\n <input\n ref=\"fileInput\"\n type=\"file\"\n class=\"sr-only\"\n :accept=\"accept || undefined\"\n :multiple=\"multiple\"\n :disabled=\"disabled || readonly\"\n :required=\"required\"\n :name=\"name ?? undefined\"\n data-testid=\"upload-input\"\n @change=\"onChange\"\n >\n </div>\n\n <div\n v-if=\"files.length\"\n class=\"flex flex-col gap-2\"\n >\n <Card\n v-for=\"(file, i) in files\"\n :key=\"`${file.name}-${i}`\"\n class=\"border\"\n >\n <CardContent class=\"flex items-center justify-between gap-3 py-3\">\n <div class=\"flex flex-col\">\n <span class=\"text-sm font-medium\">{{ file.name }}</span>\n <span class=\"text-xs text-muted-foreground\">{{ formatBytes(file.size) }}</span>\n </div>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove file\"\n :disabled=\"disabled || readonly\"\n data-testid=\"upload-remove\"\n @click=\"removeFile(i)\"\n >\n <X class=\"size-4\" />\n </Button>\n </CardContent>\n </Card>\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","fileInput","ref","files","watch","next","f","accept","computed","list","maxBytes","openPicker","_a","emitFiles","onChange","event","target","incoming","removeFile","index","formatBytes","bytes","_createBlock","_unref","FieldFrame","_createElementVNode","_createVNode","Button","Upload","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","file","i","Card","CardContent","_hoisted_4","_hoisted_5","_hoisted_6","$event","X"],"mappings":"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"}
@@ -1,152 +1,5 @@
1
- import { defineComponent as V, useModel as A, ref as b, watch as L, computed as g, openBlock as u, createBlock as x, unref as i, withCtx as d, createElementVNode as r, createVNode as s, toDisplayString as v, createElementBlock as B, Fragment as M, renderList as T, createCommentVNode as w, mergeModels as N } from "vue";
2
- import { Upload as S, X as j } from "lucide-vue-next";
3
- import "../../../ui/button/index.js";
4
- import "../../../ui/card/index.js";
5
- import E from "../../../ui/field-frame/FieldFrame.vue.js";
6
- import F from "../../../ui/button/Button.vue.js";
7
- import I from "../../../ui/card/Card.vue.js";
8
- import U from "../../../ui/card/CardContent.vue.js";
9
- const D = ["data-element-name"], K = ["accept", "multiple", "disabled", "required", "name"], P = {
10
- key: 0,
11
- class: "flex flex-col gap-2"
12
- }, R = { class: "flex flex-col" }, X = { class: "text-sm font-medium" }, G = { class: "text-xs text-muted-foreground" }, ee = /* @__PURE__ */ V({
13
- __name: "UploadFile",
14
- props: /* @__PURE__ */ N({
15
- modelValue: {},
16
- id: {},
17
- name: {},
18
- label: {},
19
- hideLabel: { type: Boolean },
20
- placeholder: {},
21
- accept: {},
22
- acceptedFileTypes: { default: () => [] },
23
- multiple: { type: Boolean },
24
- maxFileSize: {},
25
- required: { type: Boolean },
26
- readonly: { type: Boolean },
27
- disabled: { type: Boolean },
28
- helpText: {},
29
- errors: { default: () => [] }
30
- }, {
31
- modelValue: {},
32
- modelModifiers: {}
33
- }),
34
- emits: ["update:modelValue"],
35
- setup(l) {
36
- const n = l, c = A(l, "modelValue"), p = b(null), t = b([]);
37
- L(
38
- () => c.value,
39
- (e) => {
40
- e instanceof File ? t.value = [e] : Array.isArray(e) && e.every((o) => o instanceof File) ? t.value = e : t.value = [];
41
- },
42
- { immediate: !0 }
43
- );
44
- const k = g(() => {
45
- if (n.accept)
46
- return n.accept;
47
- const e = n.acceptedFileTypes;
48
- return Array.isArray(e) && e.length ? e.join(",") : "";
49
- }), h = g(() => n.maxFileSize);
50
- function $() {
51
- var e;
52
- (e = p.value) == null || e.click();
53
- }
54
- function m() {
55
- n.multiple ? c.value = t.value.slice() : c.value = t.value[0] ?? null;
56
- }
57
- function C(e) {
58
- const o = e.target, a = o.files ? Array.from(o.files) : [];
59
- if (!a.length)
60
- return;
61
- if (h.value ? a.find((y) => y.size > h.value) : void 0) {
62
- m();
63
- return;
64
- }
65
- n.multiple ? t.value = [...t.value, ...a] : t.value = [a[0]], m(), o.value = "";
66
- }
67
- function q(e) {
68
- t.value.splice(e, 1), m();
69
- }
70
- function z(e) {
71
- return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(2)} MB`;
72
- }
73
- return (e, o) => (u(), x(i(E), {
74
- label: l.label,
75
- required: l.required,
76
- "hide-label": l.hideLabel,
77
- "help-text": l.helpText,
78
- errors: l.errors
79
- }, {
80
- default: d(() => [
81
- r("div", {
82
- "data-element-name": l.name ?? void 0
83
- }, [
84
- s(i(F), {
85
- type: "button",
86
- variant: "outline",
87
- disabled: l.disabled || l.readonly,
88
- "data-testid": "upload-trigger",
89
- onClick: $
90
- }, {
91
- default: d(() => [
92
- s(i(S), { class: "mr-2 size-4" }),
93
- r("span", null, v(l.placeholder ?? (l.multiple ? "Add files" : "Choose file")), 1)
94
- ]),
95
- _: 1
96
- }, 8, ["disabled"]),
97
- r("input", {
98
- ref_key: "fileInput",
99
- ref: p,
100
- type: "file",
101
- class: "sr-only",
102
- accept: k.value || void 0,
103
- multiple: l.multiple,
104
- disabled: l.disabled || l.readonly,
105
- required: l.required,
106
- name: l.name ?? void 0,
107
- "data-testid": "upload-input",
108
- onChange: C
109
- }, null, 40, K)
110
- ], 8, D),
111
- t.value.length ? (u(), B("div", P, [
112
- (u(!0), B(M, null, T(t.value, (a, f) => (u(), x(i(I), {
113
- key: `${a.name}-${f}`,
114
- class: "border"
115
- }, {
116
- default: d(() => [
117
- s(i(U), { class: "flex items-center justify-between gap-3 py-3" }, {
118
- default: d(() => [
119
- r("div", R, [
120
- r("span", X, v(a.name), 1),
121
- r("span", G, v(z(a.size)), 1)
122
- ]),
123
- s(i(F), {
124
- type: "button",
125
- variant: "ghost",
126
- size: "icon-sm",
127
- "aria-label": "Remove file",
128
- disabled: l.disabled || l.readonly,
129
- "data-testid": "upload-remove",
130
- onClick: (y) => q(f)
131
- }, {
132
- default: d(() => [
133
- s(i(j), { class: "size-4" })
134
- ]),
135
- _: 1
136
- }, 8, ["disabled", "onClick"])
137
- ]),
138
- _: 2
139
- }, 1024)
140
- ]),
141
- _: 2
142
- }, 1024))), 128))
143
- ])) : w("", !0)
144
- ]),
145
- _: 1
146
- }, 8, ["label", "required", "hide-label", "help-text", "errors"]));
147
- }
148
- });
1
+ import f from "./UploadFile.vue.js";
149
2
  export {
150
- ee as default
3
+ f as default
151
4
  };
152
5
  //# sourceMappingURL=UploadFile.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../src/components/compositions/elements/file/UploadFile.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven file-upload composition.\n *\n * Visible Button triggers a hidden `<input type=\"file\">`. Selected files\n * render as info chips with name, formatted size and a Remove control.\n * Emits a `File` (single) or `File[]` (multiple).\n *\n * <UploadFile v-model=\"avatar\" label=\"Avatar\" accept=\"image/*\" />\n */\nimport { computed, ref, watch } from \"vue\"\nimport { Upload, X } from \"lucide-vue-next\"\nimport { Button } from \"@/components/ui/button\"\nimport { Card, CardContent } from \"@/components/ui/card\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface UploadFileProps {\n modelValue?: File | File[] | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n accept?: string\n acceptedFileTypes?: string[]\n multiple?: boolean\n maxFileSize?: number\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nconst props = withDefaults(defineProps<UploadFileProps>(), {\n errors: () => [],\n acceptedFileTypes: () => [],\n})\n\nconst model = defineModel<File | File[] | null>(\"modelValue\")\n\nconst fileInput = ref<HTMLInputElement | null>(null)\nconst files = ref<File[]>([])\n\nwatch(\n () => model.value,\n (next) => {\n if (next instanceof File) {\n files.value = [next]\n } else if (Array.isArray(next) && next.every((f) => f instanceof File)) {\n files.value = next as File[]\n } else {\n files.value = []\n }\n },\n { immediate: true },\n)\n\nconst accept = computed<string>(() => {\n if (props.accept) {\n return props.accept\n }\n const list = props.acceptedFileTypes\n return Array.isArray(list) && list.length ? list.join(\",\") : \"\"\n})\n\nconst maxBytes = computed<number | undefined>(() => props.maxFileSize)\n\nfunction openPicker(): void {\n fileInput.value?.click()\n}\n\nfunction emitFiles(): void {\n if (props.multiple) {\n model.value = files.value.slice()\n } else {\n model.value = files.value[0] ?? null\n }\n}\n\nfunction onChange(event: Event): void {\n const target = event.target as HTMLInputElement\n const incoming = target.files ? Array.from(target.files) : []\n if (!incoming.length) {\n return\n }\n const tooLarge = maxBytes.value\n ? incoming.find((f) => f.size > (maxBytes.value as number))\n : undefined\n if (tooLarge) {\n emitFiles()\n return\n }\n if (props.multiple) {\n files.value = [...files.value, ...incoming]\n } else {\n files.value = [incoming[0]!]\n }\n emitFiles()\n target.value = \"\"\n}\n\nfunction removeFile(index: number): void {\n files.value.splice(index, 1)\n emitFiles()\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`\n }\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <div :data-element-name=\"name ?? undefined\">\n <Button\n type=\"button\"\n variant=\"outline\"\n :disabled=\"disabled || readonly\"\n data-testid=\"upload-trigger\"\n @click=\"openPicker\"\n >\n <Upload class=\"mr-2 size-4\" />\n <span>{{ placeholder ?? (multiple ? \"Add files\" : \"Choose file\") }}</span>\n </Button>\n <input\n ref=\"fileInput\"\n type=\"file\"\n class=\"sr-only\"\n :accept=\"accept || undefined\"\n :multiple=\"multiple\"\n :disabled=\"disabled || readonly\"\n :required=\"required\"\n :name=\"name ?? undefined\"\n data-testid=\"upload-input\"\n @change=\"onChange\"\n >\n </div>\n\n <div\n v-if=\"files.length\"\n class=\"flex flex-col gap-2\"\n >\n <Card\n v-for=\"(file, i) in files\"\n :key=\"`${file.name}-${i}`\"\n class=\"border\"\n >\n <CardContent class=\"flex items-center justify-between gap-3 py-3\">\n <div class=\"flex flex-col\">\n <span class=\"text-sm font-medium\">{{ file.name }}</span>\n <span class=\"text-xs text-muted-foreground\">{{ formatBytes(file.size) }}</span>\n </div>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove file\"\n :disabled=\"disabled || readonly\"\n data-testid=\"upload-remove\"\n @click=\"removeFile(i)\"\n >\n <X class=\"size-4\" />\n </Button>\n </CardContent>\n </Card>\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","fileInput","ref","files","watch","next","f","accept","computed","list","maxBytes","openPicker","_a","emitFiles","onChange","event","target","incoming","removeFile","index","formatBytes","bytes","_createBlock","_unref","FieldFrame","_createElementVNode","_createVNode","Button","Upload","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","file","i","Card","CardContent","_hoisted_4","_hoisted_5","_hoisted_6","$event","X"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,48 @@
1
+ export interface BarcodeScannerInputProps {
2
+ modelValue?: string | null;
3
+ id?: string;
4
+ name?: string;
5
+ label?: string;
6
+ hideLabel?: boolean;
7
+ required?: boolean;
8
+ readonly?: boolean;
9
+ disabled?: boolean;
10
+ helpText?: string;
11
+ errors?: string[];
12
+ /** Quagga barcode reader symbologies to recognise. */
13
+ scanFormats?: ReadonlyArray<string>;
14
+ /** Start scanning automatically when the component mounts. */
15
+ autoStart?: boolean;
16
+ /** Preferred camera facing mode. */
17
+ facingMode?: "environment" | "user";
18
+ }
19
+ type __VLS_Props = BarcodeScannerInputProps;
20
+ declare function stop(): Promise<void>;
21
+ declare function start(): Promise<void>;
22
+ /**
23
+ * Test hook — lets tests simulate a successful Quagga detection
24
+ * without spinning up a real camera. Not part of the public contract;
25
+ * exposed only via `wrapper.vm` in unit tests.
26
+ */
27
+ declare function __handleDetectedForTest(code: string): void;
28
+ type __VLS_PublicProps = {
29
+ "modelValue"?: string | null;
30
+ } & __VLS_Props;
31
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
32
+ __handleDetectedForTest: typeof __handleDetectedForTest;
33
+ start: typeof start;
34
+ stop: typeof stop;
35
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
36
+ "update:modelValue": (value: string | null) => any;
37
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
38
+ "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
39
+ }>, {
40
+ scanFormats: ReadonlyArray<string>;
41
+ errors: string[];
42
+ autoStart: boolean;
43
+ facingMode: "environment" | "user";
44
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
45
+ videoContainerRef: HTMLDivElement;
46
+ }, HTMLDivElement>;
47
+ export default _default;
48
+ //# sourceMappingURL=BarcodeScannerInput.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarcodeScannerInput.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/input/BarcodeScannerInput.vue"],"names":[],"mappings":"AAkRA,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,sDAAsD;IACtD,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oCAAoC;IACpC,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;CACpC;AAED,KAAK,WAAW,GAAG,wBAAwB,CAAC;AA+D5C,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBnC;AAED,iBAAe,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAyDpC;AAUD;;;;GAIG;AACH,iBAAS,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAInD;AA4BD,KAAK,iBAAiB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,WAAW,CAAC;;;;;;;;;;iBAlMA,aAAa,CAAC,MAAM,CAAC;YAF1B,MAAM,EAAE;eAIL,OAAO;gBAEN,aAAa,GAAG,MAAM;;;;AA+WrC,wBAWG"}