@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,5 +1,169 @@
1
- import f from "./BarcodeScannerInput.vue2.js";
1
+ import { defineComponent as R, useModel as T, useTemplateRef as z, ref as p, computed as C, onBeforeUnmount as F, openBlock as f, createBlock as m, unref as i, withCtx as M, createElementVNode as v, createVNode as k, normalizeClass as N, toDisplayString as U, withDirectives as $, vShow as H, mergeModels as I } from "vue";
2
+ import { Loader2 as j, StopCircle as A, Camera as G } from "lucide-vue-next";
3
+ import J from "../../../ui/input/Input.vue.js";
4
+ import "../../../ui/button/index.js";
5
+ import K from "../../../ui/field-frame/FieldFrame.vue.js";
6
+ import O from "../../../ui/button/Button.vue.js";
7
+ const P = ["data-element-name"], Q = { class: "flex items-center gap-2" }, te = /* @__PURE__ */ R({
8
+ __name: "BarcodeScannerInput",
9
+ props: /* @__PURE__ */ I({
10
+ modelValue: {},
11
+ id: {},
12
+ name: {},
13
+ label: {},
14
+ hideLabel: { type: Boolean },
15
+ required: { type: Boolean },
16
+ readonly: { type: Boolean },
17
+ disabled: { type: Boolean },
18
+ helpText: {},
19
+ errors: { default: () => [] },
20
+ scanFormats: { default: () => [
21
+ "code_128_reader",
22
+ "ean_reader",
23
+ "ean_8_reader",
24
+ "code_39_reader",
25
+ "upc_reader"
26
+ ] },
27
+ autoStart: { type: Boolean, default: !1 },
28
+ facingMode: { default: "environment" }
29
+ }, {
30
+ modelValue: {},
31
+ modelModifiers: {}
32
+ }),
33
+ emits: ["update:modelValue"],
34
+ setup(e, { expose: B }) {
35
+ const o = e, g = T(e, "modelValue"), w = z("videoContainerRef"), a = p(!1), t = p(!1), c = p("");
36
+ let n = null, u = null, d = null;
37
+ const q = C(() => t.value ? "Starting…" : a.value ? "Stop scanning" : "Scan"), D = C(() => c.value ? [...o.errors, c.value] : o.errors);
38
+ function E() {
39
+ if (u) {
40
+ for (const l of u.getTracks())
41
+ try {
42
+ l.stop();
43
+ } catch {
44
+ }
45
+ u = null;
46
+ }
47
+ }
48
+ async function s() {
49
+ if (n)
50
+ try {
51
+ d && n.offDetected(d), await n.stop();
52
+ } catch {
53
+ }
54
+ d = null, n = null, E(), a.value = !1, t.value = !1;
55
+ }
56
+ async function h() {
57
+ var l;
58
+ if (!(a.value || t.value)) {
59
+ c.value = "", t.value = !0;
60
+ try {
61
+ const r = typeof navigator < "u" ? navigator : void 0;
62
+ if (!((l = r == null ? void 0 : r.mediaDevices) != null && l.getUserMedia))
63
+ throw new Error("Camera access is not available in this environment.");
64
+ u = await r.mediaDevices.getUserMedia({
65
+ video: { facingMode: o.facingMode },
66
+ audio: !1
67
+ }), n = (await import("@ericblade/quagga2")).default;
68
+ const S = w.value;
69
+ if (!S)
70
+ throw new Error("Scanner viewport is not mounted.");
71
+ await n.init({
72
+ inputStream: {
73
+ type: "LiveStream",
74
+ target: S,
75
+ constraints: {
76
+ facingMode: o.facingMode
77
+ }
78
+ },
79
+ decoder: {
80
+ readers: [...o.scanFormats]
81
+ },
82
+ locate: !0
83
+ }), d = (y) => {
84
+ var x;
85
+ const b = (x = y == null ? void 0 : y.codeResult) == null ? void 0 : x.code;
86
+ typeof b == "string" && b.length > 0 && (g.value = b, s());
87
+ }, n.onDetected(d), n.start(), a.value = !0;
88
+ } catch (r) {
89
+ c.value = r instanceof Error ? r.message : "Failed to start scanner.", await s();
90
+ } finally {
91
+ t.value = !1;
92
+ }
93
+ }
94
+ }
95
+ async function V() {
96
+ a.value ? await s() : await h();
97
+ }
98
+ function L(l) {
99
+ l && (g.value = l);
100
+ }
101
+ return B({ __handleDetectedForTest: L, start: h, stop: s }), o.autoStart && h(), F(() => {
102
+ s();
103
+ }), (l, r) => (f(), m(i(K), {
104
+ label: e.label,
105
+ required: e.required,
106
+ "hide-label": e.hideLabel,
107
+ for: e.id,
108
+ "help-text": e.helpText,
109
+ errors: D.value
110
+ }, {
111
+ default: M(() => [
112
+ v("div", {
113
+ class: "flex flex-col gap-2",
114
+ "data-element-name": e.name ?? void 0
115
+ }, [
116
+ v("div", Q, [
117
+ k(i(J), {
118
+ id: e.id,
119
+ "model-value": g.value ?? void 0,
120
+ name: e.name ?? void 0,
121
+ type: "text",
122
+ readonly: "",
123
+ disabled: e.disabled,
124
+ required: e.required,
125
+ placeholder: "No code scanned yet",
126
+ "data-element-name": e.name ?? void 0,
127
+ class: N(e.errors.length ? "border-destructive ring-destructive" : "")
128
+ }, null, 8, ["id", "model-value", "name", "disabled", "required", "data-element-name", "class"]),
129
+ k(i(O), {
130
+ type: "button",
131
+ variant: a.value ? "destructive" : "default",
132
+ disabled: e.disabled || e.readonly || t.value,
133
+ "data-testid": "barcode-scan-toggle",
134
+ onClick: V
135
+ }, {
136
+ default: M(() => [
137
+ t.value ? (f(), m(i(j), {
138
+ key: 0,
139
+ class: "size-4 animate-spin"
140
+ })) : a.value ? (f(), m(i(A), {
141
+ key: 1,
142
+ class: "size-4"
143
+ })) : (f(), m(i(G), {
144
+ key: 2,
145
+ class: "size-4"
146
+ })),
147
+ v("span", null, U(q.value), 1)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["variant", "disabled"])
151
+ ]),
152
+ $(v("div", {
153
+ ref_key: "videoContainerRef",
154
+ ref: w,
155
+ "data-testid": "barcode-scan-viewport",
156
+ class: "relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted"
157
+ }, null, 512), [
158
+ [H, a.value || t.value]
159
+ ])
160
+ ], 8, P)
161
+ ]),
162
+ _: 1
163
+ }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
164
+ }
165
+ });
2
166
  export {
3
- f as default
167
+ te as default
4
168
  };
5
169
  //# sourceMappingURL=BarcodeScannerInput.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarcodeScannerInput.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"BarcodeScannerInput.vue.js","sources":["../../../../../src/components/compositions/elements/input/BarcodeScannerInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven barcode scanner input.\n *\n * Wraps `@ericblade/quagga2` to provide a live camera-driven barcode\n * scanner. Renders the last decoded value in a read-only Input plus a\n * \"Scan\" button that toggles a `<video>` viewport.\n *\n * The quagga library and the `getUserMedia` API are lazy-imported when\n * scanning starts so the component is safe to render in environments\n * without a camera (e.g. jsdom).\n *\n * <BarcodeScannerInput v-model=\"ticket\" label=\"Scan ticket\" />\n */\nimport { computed, onBeforeUnmount, ref, useTemplateRef } from \"vue\"\nimport { Camera, Loader2, StopCircle } from \"lucide-vue-next\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface BarcodeScannerInputProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n /** Quagga barcode reader symbologies to recognise. */\n scanFormats?: ReadonlyArray<string>\n /** Start scanning automatically when the component mounts. */\n autoStart?: boolean\n /** Preferred camera facing mode. */\n facingMode?: \"environment\" | \"user\"\n}\n\nconst props = withDefaults(defineProps<BarcodeScannerInputProps>(), {\n errors: () => [],\n scanFormats: () => [\n \"code_128_reader\",\n \"ean_reader\",\n \"ean_8_reader\",\n \"code_39_reader\",\n \"upc_reader\",\n ],\n autoStart: false,\n facingMode: \"environment\",\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\n/** Loose Quagga handle — type-definitions ship with the library but we\n * keep the references local rather than pulling its full type graph. */\ntype QuaggaResult = { codeResult?: { code?: string | null } }\ntype QuaggaHandle = {\n init: (config: Record<string, unknown>) => Promise<void>\n start: () => void\n stop: () => Promise<void> | void\n onDetected: (cb: (result: QuaggaResult) => void) => void\n offDetected: (cb: (result: QuaggaResult) => void) => void\n}\n\nconst videoContainerRef = useTemplateRef<HTMLDivElement>(\"videoContainerRef\")\nconst scanning = ref<boolean>(false)\nconst starting = ref<boolean>(false)\nconst scanError = ref<string>(\"\")\n\nlet quagga: QuaggaHandle | null = null\nlet mediaStream: MediaStream | null = null\nlet detectedHandler: ((result: QuaggaResult) => void) | null = null\n\nconst buttonLabel = computed<string>(() => {\n if (starting.value) {\n return \"Starting…\"\n }\n return scanning.value ? \"Stop scanning\" : \"Scan\"\n})\n\nconst allErrors = computed<string[]>(() => {\n if (scanError.value) {\n return [...props.errors, scanError.value]\n }\n return props.errors\n})\n\nfunction releaseStream(): void {\n if (mediaStream) {\n for (const track of mediaStream.getTracks()) {\n try {\n track.stop()\n } catch {\n /* ignore */\n }\n }\n mediaStream = null\n }\n}\n\nasync function stop(): Promise<void> {\n if (quagga) {\n try {\n if (detectedHandler) {\n quagga.offDetected(detectedHandler)\n }\n await quagga.stop()\n } catch {\n /* ignore */\n }\n }\n detectedHandler = null\n quagga = null\n releaseStream()\n scanning.value = false\n starting.value = false\n}\n\nasync function start(): Promise<void> {\n if (scanning.value || starting.value) {\n return\n }\n scanError.value = \"\"\n starting.value = true\n\n try {\n const nav = typeof navigator !== \"undefined\" ? navigator : undefined\n if (!nav?.mediaDevices?.getUserMedia) {\n throw new Error(\"Camera access is not available in this environment.\")\n }\n\n mediaStream = await nav.mediaDevices.getUserMedia({\n video: { facingMode: props.facingMode },\n audio: false,\n })\n\n const mod = await import(\"@ericblade/quagga2\")\n quagga = (mod as unknown as { default: QuaggaHandle }).default\n\n const target = videoContainerRef.value\n if (!target) {\n throw new Error(\"Scanner viewport is not mounted.\")\n }\n\n await quagga.init({\n inputStream: {\n type: \"LiveStream\",\n target,\n constraints: {\n facingMode: props.facingMode,\n },\n },\n decoder: {\n readers: [...props.scanFormats],\n },\n locate: true,\n })\n\n detectedHandler = (result: QuaggaResult): void => {\n const code = result?.codeResult?.code\n if (typeof code === \"string\" && code.length > 0) {\n model.value = code\n void stop()\n }\n }\n quagga.onDetected(detectedHandler)\n\n quagga.start()\n scanning.value = true\n } catch (e) {\n scanError.value = e instanceof Error ? e.message : \"Failed to start scanner.\"\n await stop()\n } finally {\n starting.value = false\n }\n}\n\nasync function toggleScan(): Promise<void> {\n if (scanning.value) {\n await stop()\n } else {\n await start()\n }\n}\n\n/**\n * Test hook — lets tests simulate a successful Quagga detection\n * without spinning up a real camera. Not part of the public contract;\n * exposed only via `wrapper.vm` in unit tests.\n */\nfunction __handleDetectedForTest(code: string): void {\n if (code) {\n model.value = code\n }\n}\n\ndefineExpose({ __handleDetectedForTest, start, stop })\n\nif (props.autoStart) {\n void start()\n}\n\nonBeforeUnmount(() => {\n void stop()\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"allErrors\"\n >\n <div class=\"flex flex-col gap-2\" :data-element-name=\"name ?? undefined\">\n <div class=\"flex items-center gap-2\">\n <Input\n :id=\"id\"\n :model-value=\"model ?? undefined\"\n :name=\"name ?? undefined\"\n type=\"text\"\n readonly\n :disabled=\"disabled\"\n :required=\"required\"\n placeholder=\"No code scanned yet\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n />\n <Button\n type=\"button\"\n :variant=\"scanning ? 'destructive' : 'default'\"\n :disabled=\"disabled || readonly || starting\"\n data-testid=\"barcode-scan-toggle\"\n @click=\"toggleScan\"\n >\n <Loader2 v-if=\"starting\" class=\"size-4 animate-spin\" />\n <StopCircle v-else-if=\"scanning\" class=\"size-4\" />\n <Camera v-else class=\"size-4\" />\n <span>{{ buttonLabel }}</span>\n </Button>\n </div>\n <div\n v-show=\"scanning || starting\"\n ref=\"videoContainerRef\"\n data-testid=\"barcode-scan-viewport\"\n class=\"relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","videoContainerRef","useTemplateRef","scanning","ref","starting","scanError","quagga","mediaStream","detectedHandler","buttonLabel","computed","allErrors","releaseStream","track","stop","start","nav","_a","target","result","code","e","toggleScan","__handleDetectedForTest","__expose","onBeforeUnmount","_createBlock","_unref","FieldFrame","_createElementVNode","_hoisted_2","_createVNode","Input","_normalizeClass","Button","Loader2","StopCircle","Camera","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAMA,IAAQC,GAaRC,IAAQC,EAA0BF,GAAC,YAAY,GAa/CG,IAAoBC,EAA+B,mBAAmB,GACtEC,IAAWC,EAAa,EAAK,GAC7BC,IAAWD,EAAa,EAAK,GAC7BE,IAAYF,EAAY,EAAE;AAEhC,QAAIG,IAA8B,MAC9BC,IAAkC,MAClCC,IAA2D;AAE/D,UAAMC,IAAcC,EAAiB,MAC/BN,EAAS,QACJ,cAEFF,EAAS,QAAQ,kBAAkB,MAC3C,GAEKS,IAAYD,EAAmB,MAC/BL,EAAU,QACL,CAAC,GAAGT,EAAM,QAAQS,EAAU,KAAK,IAEnCT,EAAM,MACd;AAED,aAASgB,IAAsB;AAC7B,UAAIL,GAAa;AACf,mBAAWM,KAASN,EAAY;AAC9B,cAAI;AACF,YAAAM,EAAM,KAAA;AAAA,UACR,QAAQ;AAAA,UAER;AAEF,QAAAN,IAAc;AAAA,MAChB;AAAA,IACF;AAEA,mBAAeO,IAAsB;AACnC,UAAIR;AACF,YAAI;AACF,UAAIE,KACFF,EAAO,YAAYE,CAAe,GAEpC,MAAMF,EAAO,KAAA;AAAA,QACf,QAAQ;AAAA,QAER;AAEF,MAAAE,IAAkB,MAClBF,IAAS,MACTM,EAAA,GACAV,EAAS,QAAQ,IACjBE,EAAS,QAAQ;AAAA,IACnB;AAEA,mBAAeW,IAAuB;;AACpC,UAAI,EAAAb,EAAS,SAASE,EAAS,QAG/B;AAAA,QAAAC,EAAU,QAAQ,IAClBD,EAAS,QAAQ;AAEjB,YAAI;AACF,gBAAMY,IAAM,OAAO,YAAc,MAAc,YAAY;AAC3D,cAAI,GAACC,IAAAD,KAAA,gBAAAA,EAAK,iBAAL,QAAAC,EAAmB;AACtB,kBAAM,IAAI,MAAM,qDAAqD;AAGvE,UAAAV,IAAc,MAAMS,EAAI,aAAa,aAAa;AAAA,YAChD,OAAO,EAAE,YAAYpB,EAAM,WAAA;AAAA,YAC3B,OAAO;AAAA,UAAA,CACR,GAGDU,KADY,MAAM,OAAO,oBAAoB,GACU;AAEvD,gBAAMY,IAASlB,EAAkB;AACjC,cAAI,CAACkB;AACH,kBAAM,IAAI,MAAM,kCAAkC;AAGpD,gBAAMZ,EAAO,KAAK;AAAA,YAChB,aAAa;AAAA,cACX,MAAM;AAAA,cACN,QAAAY;AAAA,cACA,aAAa;AAAA,gBACX,YAAYtB,EAAM;AAAA,cAAA;AAAA,YACpB;AAAA,YAEF,SAAS;AAAA,cACP,SAAS,CAAC,GAAGA,EAAM,WAAW;AAAA,YAAA;AAAA,YAEhC,QAAQ;AAAA,UAAA,CACT,GAEDY,IAAkB,CAACW,MAA+B;;AAChD,kBAAMC,KAAOH,IAAAE,KAAA,gBAAAA,EAAQ,eAAR,gBAAAF,EAAoB;AACjC,YAAI,OAAOG,KAAS,YAAYA,EAAK,SAAS,MAC5CtB,EAAM,QAAQsB,GACTN,EAAA;AAAA,UAET,GACAR,EAAO,WAAWE,CAAe,GAEjCF,EAAO,MAAA,GACPJ,EAAS,QAAQ;AAAA,QACnB,SAASmB,GAAG;AACV,UAAAhB,EAAU,QAAQgB,aAAa,QAAQA,EAAE,UAAU,4BACnD,MAAMP,EAAA;AAAA,QACR,UAAA;AACE,UAAAV,EAAS,QAAQ;AAAA,QACnB;AAAA;AAAA,IACF;AAEA,mBAAekB,IAA4B;AACzC,MAAIpB,EAAS,QACX,MAAMY,EAAA,IAEN,MAAMC,EAAA;AAAA,IAEV;AAOA,aAASQ,EAAwBH,GAAoB;AACnD,MAAIA,MACFtB,EAAM,QAAQsB;AAAA,IAElB;AAEA,WAAAI,EAAa,EAAE,yBAAAD,GAAyB,OAAAR,GAAO,MAAAD,EAAA,CAAM,GAEjDlB,EAAM,aACHmB,EAAA,GAGPU,EAAgB,MAAM;AACpB,MAAKX,EAAA;AAAA,IACP,CAAC,mBAICY,EA0CaC,EAAAC,CAAA,GAAA;AAAA,MAzCV,OAAO/B,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQc,EAAA;AAAA,IAAA;iBAET,MAiCM;AAAA,QAjCNkB,EAiCM,OAAA;AAAA,UAjCD,OAAM;AAAA,UAAuB,qBAAmBhC,EAAA,QAAQ;AAAA,QAAA;UAC3DgC,EAyBM,OAzBNC,GAyBM;AAAA,YAxBJC,EAWEJ,EAAAK,CAAA,GAAA;AAAA,cAVC,IAAInC,EAAA;AAAA,cACJ,eAAaC,EAAA,SAAS;AAAA,cACtB,MAAMD,EAAA,QAAQ;AAAA,cACf,MAAK;AAAA,cACL,UAAA;AAAA,cACC,UAAUA,EAAA;AAAA,cACV,UAAUA,EAAA;AAAA,cACX,aAAY;AAAA,cACX,qBAAmBA,EAAA,QAAQ;AAAA,cAC3B,OAAKoC,EAAEpC,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,YAAA;YAEvBkC,EAWSJ,EAAAO,CAAA,GAAA;AAAA,cAVP,MAAK;AAAA,cACJ,SAAShC,EAAA,QAAQ,gBAAA;AAAA,cACjB,UAAUL,EAAA,YAAYA,EAAA,YAAYO,EAAA;AAAA,cACnC,eAAY;AAAA,cACX,SAAOkB;AAAA,YAAA;yBAER,MAAuD;AAAA,gBAAxClB,EAAA,cAAfsB,EAAuDC,EAAAQ,CAAA,GAAA;AAAA;kBAA9B,OAAM;AAAA,gBAAA,MACRjC,EAAA,cAAvBwB,EAAkDC,EAAAS,CAAA,GAAA;AAAA;kBAAjB,OAAM;AAAA,gBAAA,YACvCV,EAAgCC,EAAAU,CAAA,GAAA;AAAA;kBAAjB,OAAM;AAAA,gBAAA;gBACrBR,EAA8B,gBAArBpB,EAAA,KAAW,GAAA,CAAA;AAAA,cAAA;;;;YAGxBoB,EAKE,OAAA;AAAA,qBAHI;AAAA,YAAJ,KAAI7B;AAAA,YACJ,eAAY;AAAA,YACZ,OAAM;AAAA,UAAA;YAHE,CAAAsC,GAAApC,EAAA,SAAYE,EAAA,KAAQ;AAAA,UAAA;;;;;;;"}
@@ -1,169 +1,5 @@
1
- import { defineComponent as R, useModel as T, useTemplateRef as z, ref as p, computed as C, onBeforeUnmount as F, openBlock as f, createBlock as m, unref as i, withCtx as M, createElementVNode as v, createVNode as k, normalizeClass as N, toDisplayString as U, withDirectives as $, vShow as H, mergeModels as I } from "vue";
2
- import { Loader2 as j, StopCircle as A, Camera as G } from "lucide-vue-next";
3
- import J from "../../../ui/input/Input.vue.js";
4
- import "../../../ui/button/index.js";
5
- import K from "../../../ui/field-frame/FieldFrame.vue.js";
6
- import O from "../../../ui/button/Button.vue.js";
7
- const P = ["data-element-name"], Q = { class: "flex items-center gap-2" }, te = /* @__PURE__ */ R({
8
- __name: "BarcodeScannerInput",
9
- props: /* @__PURE__ */ I({
10
- modelValue: {},
11
- id: {},
12
- name: {},
13
- label: {},
14
- hideLabel: { type: Boolean },
15
- required: { type: Boolean },
16
- readonly: { type: Boolean },
17
- disabled: { type: Boolean },
18
- helpText: {},
19
- errors: { default: () => [] },
20
- scanFormats: { default: () => [
21
- "code_128_reader",
22
- "ean_reader",
23
- "ean_8_reader",
24
- "code_39_reader",
25
- "upc_reader"
26
- ] },
27
- autoStart: { type: Boolean, default: !1 },
28
- facingMode: { default: "environment" }
29
- }, {
30
- modelValue: {},
31
- modelModifiers: {}
32
- }),
33
- emits: ["update:modelValue"],
34
- setup(e, { expose: B }) {
35
- const o = e, g = T(e, "modelValue"), w = z("videoContainerRef"), a = p(!1), t = p(!1), c = p("");
36
- let n = null, u = null, d = null;
37
- const q = C(() => t.value ? "Starting…" : a.value ? "Stop scanning" : "Scan"), D = C(() => c.value ? [...o.errors, c.value] : o.errors);
38
- function E() {
39
- if (u) {
40
- for (const l of u.getTracks())
41
- try {
42
- l.stop();
43
- } catch {
44
- }
45
- u = null;
46
- }
47
- }
48
- async function s() {
49
- if (n)
50
- try {
51
- d && n.offDetected(d), await n.stop();
52
- } catch {
53
- }
54
- d = null, n = null, E(), a.value = !1, t.value = !1;
55
- }
56
- async function h() {
57
- var l;
58
- if (!(a.value || t.value)) {
59
- c.value = "", t.value = !0;
60
- try {
61
- const r = typeof navigator < "u" ? navigator : void 0;
62
- if (!((l = r == null ? void 0 : r.mediaDevices) != null && l.getUserMedia))
63
- throw new Error("Camera access is not available in this environment.");
64
- u = await r.mediaDevices.getUserMedia({
65
- video: { facingMode: o.facingMode },
66
- audio: !1
67
- }), n = (await import("@ericblade/quagga2")).default;
68
- const S = w.value;
69
- if (!S)
70
- throw new Error("Scanner viewport is not mounted.");
71
- await n.init({
72
- inputStream: {
73
- type: "LiveStream",
74
- target: S,
75
- constraints: {
76
- facingMode: o.facingMode
77
- }
78
- },
79
- decoder: {
80
- readers: [...o.scanFormats]
81
- },
82
- locate: !0
83
- }), d = (y) => {
84
- var x;
85
- const b = (x = y == null ? void 0 : y.codeResult) == null ? void 0 : x.code;
86
- typeof b == "string" && b.length > 0 && (g.value = b, s());
87
- }, n.onDetected(d), n.start(), a.value = !0;
88
- } catch (r) {
89
- c.value = r instanceof Error ? r.message : "Failed to start scanner.", await s();
90
- } finally {
91
- t.value = !1;
92
- }
93
- }
94
- }
95
- async function V() {
96
- a.value ? await s() : await h();
97
- }
98
- function L(l) {
99
- l && (g.value = l);
100
- }
101
- return B({ __handleDetectedForTest: L, start: h, stop: s }), o.autoStart && h(), F(() => {
102
- s();
103
- }), (l, r) => (f(), m(i(K), {
104
- label: e.label,
105
- required: e.required,
106
- "hide-label": e.hideLabel,
107
- for: e.id,
108
- "help-text": e.helpText,
109
- errors: D.value
110
- }, {
111
- default: M(() => [
112
- v("div", {
113
- class: "flex flex-col gap-2",
114
- "data-element-name": e.name ?? void 0
115
- }, [
116
- v("div", Q, [
117
- k(i(J), {
118
- id: e.id,
119
- "model-value": g.value ?? void 0,
120
- name: e.name ?? void 0,
121
- type: "text",
122
- readonly: "",
123
- disabled: e.disabled,
124
- required: e.required,
125
- placeholder: "No code scanned yet",
126
- "data-element-name": e.name ?? void 0,
127
- class: N(e.errors.length ? "border-destructive ring-destructive" : "")
128
- }, null, 8, ["id", "model-value", "name", "disabled", "required", "data-element-name", "class"]),
129
- k(i(O), {
130
- type: "button",
131
- variant: a.value ? "destructive" : "default",
132
- disabled: e.disabled || e.readonly || t.value,
133
- "data-testid": "barcode-scan-toggle",
134
- onClick: V
135
- }, {
136
- default: M(() => [
137
- t.value ? (f(), m(i(j), {
138
- key: 0,
139
- class: "size-4 animate-spin"
140
- })) : a.value ? (f(), m(i(A), {
141
- key: 1,
142
- class: "size-4"
143
- })) : (f(), m(i(G), {
144
- key: 2,
145
- class: "size-4"
146
- })),
147
- v("span", null, U(q.value), 1)
148
- ]),
149
- _: 1
150
- }, 8, ["variant", "disabled"])
151
- ]),
152
- $(v("div", {
153
- ref_key: "videoContainerRef",
154
- ref: w,
155
- "data-testid": "barcode-scan-viewport",
156
- class: "relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted"
157
- }, null, 512), [
158
- [H, a.value || t.value]
159
- ])
160
- ], 8, P)
161
- ]),
162
- _: 1
163
- }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
164
- }
165
- });
1
+ import f from "./BarcodeScannerInput.vue.js";
166
2
  export {
167
- te as default
3
+ f as default
168
4
  };
169
5
  //# sourceMappingURL=BarcodeScannerInput.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarcodeScannerInput.vue2.js","sources":["../../../../../src/components/compositions/elements/input/BarcodeScannerInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven barcode scanner input.\n *\n * Wraps `@ericblade/quagga2` to provide a live camera-driven barcode\n * scanner. Renders the last decoded value in a read-only Input plus a\n * \"Scan\" button that toggles a `<video>` viewport.\n *\n * The quagga library and the `getUserMedia` API are lazy-imported when\n * scanning starts so the component is safe to render in environments\n * without a camera (e.g. jsdom).\n *\n * <BarcodeScannerInput v-model=\"ticket\" label=\"Scan ticket\" />\n */\nimport { computed, onBeforeUnmount, ref, useTemplateRef } from \"vue\"\nimport { Camera, Loader2, StopCircle } from \"lucide-vue-next\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface BarcodeScannerInputProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n /** Quagga barcode reader symbologies to recognise. */\n scanFormats?: ReadonlyArray<string>\n /** Start scanning automatically when the component mounts. */\n autoStart?: boolean\n /** Preferred camera facing mode. */\n facingMode?: \"environment\" | \"user\"\n}\n\nconst props = withDefaults(defineProps<BarcodeScannerInputProps>(), {\n errors: () => [],\n scanFormats: () => [\n \"code_128_reader\",\n \"ean_reader\",\n \"ean_8_reader\",\n \"code_39_reader\",\n \"upc_reader\",\n ],\n autoStart: false,\n facingMode: \"environment\",\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\n/** Loose Quagga handle — type-definitions ship with the library but we\n * keep the references local rather than pulling its full type graph. */\ntype QuaggaResult = { codeResult?: { code?: string | null } }\ntype QuaggaHandle = {\n init: (config: Record<string, unknown>) => Promise<void>\n start: () => void\n stop: () => Promise<void> | void\n onDetected: (cb: (result: QuaggaResult) => void) => void\n offDetected: (cb: (result: QuaggaResult) => void) => void\n}\n\nconst videoContainerRef = useTemplateRef<HTMLDivElement>(\"videoContainerRef\")\nconst scanning = ref<boolean>(false)\nconst starting = ref<boolean>(false)\nconst scanError = ref<string>(\"\")\n\nlet quagga: QuaggaHandle | null = null\nlet mediaStream: MediaStream | null = null\nlet detectedHandler: ((result: QuaggaResult) => void) | null = null\n\nconst buttonLabel = computed<string>(() => {\n if (starting.value) {\n return \"Starting…\"\n }\n return scanning.value ? \"Stop scanning\" : \"Scan\"\n})\n\nconst allErrors = computed<string[]>(() => {\n if (scanError.value) {\n return [...props.errors, scanError.value]\n }\n return props.errors\n})\n\nfunction releaseStream(): void {\n if (mediaStream) {\n for (const track of mediaStream.getTracks()) {\n try {\n track.stop()\n } catch {\n /* ignore */\n }\n }\n mediaStream = null\n }\n}\n\nasync function stop(): Promise<void> {\n if (quagga) {\n try {\n if (detectedHandler) {\n quagga.offDetected(detectedHandler)\n }\n await quagga.stop()\n } catch {\n /* ignore */\n }\n }\n detectedHandler = null\n quagga = null\n releaseStream()\n scanning.value = false\n starting.value = false\n}\n\nasync function start(): Promise<void> {\n if (scanning.value || starting.value) {\n return\n }\n scanError.value = \"\"\n starting.value = true\n\n try {\n const nav = typeof navigator !== \"undefined\" ? navigator : undefined\n if (!nav?.mediaDevices?.getUserMedia) {\n throw new Error(\"Camera access is not available in this environment.\")\n }\n\n mediaStream = await nav.mediaDevices.getUserMedia({\n video: { facingMode: props.facingMode },\n audio: false,\n })\n\n const mod = await import(\"@ericblade/quagga2\")\n quagga = (mod as unknown as { default: QuaggaHandle }).default\n\n const target = videoContainerRef.value\n if (!target) {\n throw new Error(\"Scanner viewport is not mounted.\")\n }\n\n await quagga.init({\n inputStream: {\n type: \"LiveStream\",\n target,\n constraints: {\n facingMode: props.facingMode,\n },\n },\n decoder: {\n readers: [...props.scanFormats],\n },\n locate: true,\n })\n\n detectedHandler = (result: QuaggaResult): void => {\n const code = result?.codeResult?.code\n if (typeof code === \"string\" && code.length > 0) {\n model.value = code\n void stop()\n }\n }\n quagga.onDetected(detectedHandler)\n\n quagga.start()\n scanning.value = true\n } catch (e) {\n scanError.value = e instanceof Error ? e.message : \"Failed to start scanner.\"\n await stop()\n } finally {\n starting.value = false\n }\n}\n\nasync function toggleScan(): Promise<void> {\n if (scanning.value) {\n await stop()\n } else {\n await start()\n }\n}\n\n/**\n * Test hook — lets tests simulate a successful Quagga detection\n * without spinning up a real camera. Not part of the public contract;\n * exposed only via `wrapper.vm` in unit tests.\n */\nfunction __handleDetectedForTest(code: string): void {\n if (code) {\n model.value = code\n }\n}\n\ndefineExpose({ __handleDetectedForTest, start, stop })\n\nif (props.autoStart) {\n void start()\n}\n\nonBeforeUnmount(() => {\n void stop()\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"allErrors\"\n >\n <div class=\"flex flex-col gap-2\" :data-element-name=\"name ?? undefined\">\n <div class=\"flex items-center gap-2\">\n <Input\n :id=\"id\"\n :model-value=\"model ?? undefined\"\n :name=\"name ?? undefined\"\n type=\"text\"\n readonly\n :disabled=\"disabled\"\n :required=\"required\"\n placeholder=\"No code scanned yet\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n />\n <Button\n type=\"button\"\n :variant=\"scanning ? 'destructive' : 'default'\"\n :disabled=\"disabled || readonly || starting\"\n data-testid=\"barcode-scan-toggle\"\n @click=\"toggleScan\"\n >\n <Loader2 v-if=\"starting\" class=\"size-4 animate-spin\" />\n <StopCircle v-else-if=\"scanning\" class=\"size-4\" />\n <Camera v-else class=\"size-4\" />\n <span>{{ buttonLabel }}</span>\n </Button>\n </div>\n <div\n v-show=\"scanning || starting\"\n ref=\"videoContainerRef\"\n data-testid=\"barcode-scan-viewport\"\n class=\"relative h-64 w-full overflow-hidden rounded-md border border-input bg-muted\"\n />\n </div>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","videoContainerRef","useTemplateRef","scanning","ref","starting","scanError","quagga","mediaStream","detectedHandler","buttonLabel","computed","allErrors","releaseStream","track","stop","start","nav","_a","target","result","code","e","toggleScan","__handleDetectedForTest","__expose","onBeforeUnmount","_createBlock","_unref","FieldFrame","_createElementVNode","_hoisted_2","_createVNode","Input","_normalizeClass","Button","Loader2","StopCircle","Camera","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"BarcodeScannerInput.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,48 @@
1
+ export interface EmailInputProps {
2
+ modelValue?: string;
3
+ id?: string;
4
+ name?: string;
5
+ label?: string;
6
+ hideLabel?: boolean;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ readonly?: boolean;
10
+ disabled?: boolean;
11
+ maxlength?: number;
12
+ minlength?: number;
13
+ helpText?: string;
14
+ errors?: string[];
15
+ autoFocus?: boolean;
16
+ }
17
+ type __VLS_Props = EmailInputProps;
18
+ type __VLS_PublicProps = {
19
+ "modelValue"?: string;
20
+ } & __VLS_Props;
21
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "update:modelValue": (value: string) => any;
23
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
24
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
25
+ }>, {
26
+ errors: string[];
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
28
+ inputRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
29
+ modelValue?: string | number | undefined;
30
+ } & import('../../../ui/input/Input.vue').InputProps> & Readonly<{
31
+ "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
32
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
33
+ "update:modelValue": (value: string | number | undefined) => any;
34
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLInputElement, import('vue').ComponentProvideOptions, {
35
+ P: {};
36
+ B: {};
37
+ D: {};
38
+ C: {};
39
+ M: {};
40
+ Defaults: {};
41
+ }, Readonly<{
42
+ modelValue?: string | number | undefined;
43
+ } & import('../../../ui/input/Input.vue').InputProps> & Readonly<{
44
+ "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
45
+ }>, {}, {}, {}, {}, {}> | null;
46
+ }, HTMLDivElement>;
47
+ export default _default;
48
+ //# sourceMappingURL=EmailInput.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailInput.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/input/EmailInput.vue"],"names":[],"mappings":"AAsFA,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,KAAK,WAAW,GAAG,eAAe,CAAC;AAqBnC,KAAK,iBAAiB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,WAAW,CAAC;;;;;;YA3BL,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;AAwInB,wBAUG"}
@@ -1,5 +1,65 @@
1
- import f from "./EmailInput.vue2.js";
1
+ import { defineComponent as r, useModel as m, useTemplateRef as u, onMounted as f, openBlock as c, createBlock as h, unref as o, withCtx as s, createVNode as b, normalizeClass as g, mergeModels as x } from "vue";
2
+ import y from "../../../ui/input/Input.vue.js";
3
+ import v from "../../../ui/field-frame/FieldFrame.vue.js";
4
+ const M = /* @__PURE__ */ r({
5
+ __name: "EmailInput",
6
+ props: /* @__PURE__ */ x({
7
+ modelValue: {},
8
+ id: {},
9
+ name: {},
10
+ label: {},
11
+ hideLabel: { type: Boolean },
12
+ placeholder: {},
13
+ required: { type: Boolean },
14
+ readonly: { type: Boolean },
15
+ disabled: { type: Boolean },
16
+ maxlength: {},
17
+ minlength: {},
18
+ helpText: {},
19
+ errors: { default: () => [] },
20
+ autoFocus: { type: Boolean }
21
+ }, {
22
+ modelValue: {},
23
+ modelModifiers: {}
24
+ }),
25
+ emits: ["update:modelValue"],
26
+ setup(e) {
27
+ const i = e, a = m(e, "modelValue"), t = u("inputRef");
28
+ return f(() => {
29
+ var l;
30
+ i.autoFocus && ((l = t.value) == null || l.focus());
31
+ }), (l, d) => (c(), h(o(v), {
32
+ label: e.label,
33
+ required: e.required,
34
+ "hide-label": e.hideLabel,
35
+ for: e.id,
36
+ "help-text": e.helpText,
37
+ errors: e.errors
38
+ }, {
39
+ default: s(() => [
40
+ b(o(y), {
41
+ ref_key: "inputRef",
42
+ ref: t,
43
+ "model-value": a.value ?? void 0,
44
+ id: e.id,
45
+ name: e.name ?? void 0,
46
+ type: "email",
47
+ placeholder: e.placeholder ?? "",
48
+ readonly: e.readonly,
49
+ disabled: e.disabled,
50
+ required: e.required,
51
+ maxlength: e.maxlength,
52
+ minlength: e.minlength,
53
+ "data-element-name": e.name ?? void 0,
54
+ class: g(e.errors.length ? "border-destructive ring-destructive" : ""),
55
+ "onUpdate:modelValue": d[0] || (d[0] = (n) => a.value = n == null ? "" : String(n))
56
+ }, null, 8, ["model-value", "id", "name", "placeholder", "readonly", "disabled", "required", "maxlength", "minlength", "data-element-name", "class"])
57
+ ]),
58
+ _: 1
59
+ }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
60
+ }
61
+ });
2
62
  export {
3
- f as default
63
+ M as default
4
64
  };
5
65
  //# sourceMappingURL=EmailInput.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailInput.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"EmailInput.vue.js","sources":["../../../../../src/components/compositions/elements/input/EmailInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven email input composition. Composes the shadcn `Input`\n * primitive (with `type=\"email\"`) and `FieldFrame` chrome.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <EmailInput v-model=\"email\" label=\"Email address\" required />\n */\nimport { onMounted, useTemplateRef } from \"vue\"\nimport { Input } from \"@/components/ui/input\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface EmailInputProps {\n modelValue?: string\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n maxlength?: number\n minlength?: number\n helpText?: string\n errors?: string[]\n autoFocus?: boolean\n}\n\nconst props = withDefaults(defineProps<EmailInputProps>(), {\n errors: () => [],\n})\n\nconst model = defineModel<string>(\"modelValue\")\n\nconst inputRef = useTemplateRef<HTMLInputElement>(\"inputRef\")\n\nonMounted(() => {\n if (props.autoFocus) {\n inputRef.value?.focus()\n }\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <Input\n ref=\"inputRef\"\n :model-value=\"model ?? undefined\"\n :id=\"id\"\n :name=\"name ?? undefined\"\n type=\"email\"\n :placeholder=\"placeholder ?? ''\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :required=\"required\"\n :maxlength=\"maxlength\"\n :minlength=\"minlength\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n @update:model-value=\"(v: string | number | undefined) => (model = v == null ? '' : String(v))\"\n />\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","inputRef","useTemplateRef","onMounted","_a","_createBlock","_unref","FieldFrame","_createVNode","Input","_normalizeClass","_cache","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,UAAMA,IAAQC,GAIRC,IAAQC,EAAmBF,GAAC,YAAY,GAExCG,IAAWC,EAAiC,UAAU;AAE5D,WAAAC,EAAU,MAAM;;AACd,MAAIN,EAAM,eACRO,IAAAH,EAAS,UAAT,QAAAG,EAAgB;AAAA,IAEpB,CAAC,mBAICC,EAwBaC,EAAAC,CAAA,GAAA;AAAA,MAvBV,OAAOT,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,IAAA;iBAET,MAeE;AAAA,QAfFU,EAeEF,EAAAG,CAAA,GAAA;AAAA,mBAdI;AAAA,UAAJ,KAAIR;AAAA,UACH,eAAaF,EAAA,SAAS;AAAA,UACtB,IAAID,EAAA;AAAA,UACJ,MAAMA,EAAA,QAAQ;AAAA,UACf,MAAK;AAAA,UACJ,aAAaA,EAAA,eAAW;AAAA,UACxB,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,WAAWA,EAAA;AAAA,UACX,WAAWA,EAAA;AAAA,UACX,qBAAmBA,EAAA,QAAQ;AAAA,UAC3B,OAAKY,EAAEZ,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,UACpB,uBAAkBa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAoCb,EAAA,QAAQa,KAAC,OAAA,KAAgB,OAAOA,CAAC;AAAA,QAAA;;;;;;"}
@@ -1,65 +1,5 @@
1
- import { defineComponent as r, useModel as m, useTemplateRef as u, onMounted as f, openBlock as c, createBlock as h, unref as o, withCtx as s, createVNode as b, normalizeClass as g, mergeModels as x } from "vue";
2
- import y from "../../../ui/input/Input.vue.js";
3
- import v from "../../../ui/field-frame/FieldFrame.vue.js";
4
- const M = /* @__PURE__ */ r({
5
- __name: "EmailInput",
6
- props: /* @__PURE__ */ x({
7
- modelValue: {},
8
- id: {},
9
- name: {},
10
- label: {},
11
- hideLabel: { type: Boolean },
12
- placeholder: {},
13
- required: { type: Boolean },
14
- readonly: { type: Boolean },
15
- disabled: { type: Boolean },
16
- maxlength: {},
17
- minlength: {},
18
- helpText: {},
19
- errors: { default: () => [] },
20
- autoFocus: { type: Boolean }
21
- }, {
22
- modelValue: {},
23
- modelModifiers: {}
24
- }),
25
- emits: ["update:modelValue"],
26
- setup(e) {
27
- const i = e, a = m(e, "modelValue"), t = u("inputRef");
28
- return f(() => {
29
- var l;
30
- i.autoFocus && ((l = t.value) == null || l.focus());
31
- }), (l, d) => (c(), h(o(v), {
32
- label: e.label,
33
- required: e.required,
34
- "hide-label": e.hideLabel,
35
- for: e.id,
36
- "help-text": e.helpText,
37
- errors: e.errors
38
- }, {
39
- default: s(() => [
40
- b(o(y), {
41
- ref_key: "inputRef",
42
- ref: t,
43
- "model-value": a.value ?? void 0,
44
- id: e.id,
45
- name: e.name ?? void 0,
46
- type: "email",
47
- placeholder: e.placeholder ?? "",
48
- readonly: e.readonly,
49
- disabled: e.disabled,
50
- required: e.required,
51
- maxlength: e.maxlength,
52
- minlength: e.minlength,
53
- "data-element-name": e.name ?? void 0,
54
- class: g(e.errors.length ? "border-destructive ring-destructive" : ""),
55
- "onUpdate:modelValue": d[0] || (d[0] = (n) => a.value = n == null ? "" : String(n))
56
- }, null, 8, ["model-value", "id", "name", "placeholder", "readonly", "disabled", "required", "maxlength", "minlength", "data-element-name", "class"])
57
- ]),
58
- _: 1
59
- }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
60
- }
61
- });
1
+ import f from "./EmailInput.vue.js";
62
2
  export {
63
- M as default
3
+ f as default
64
4
  };
65
5
  //# sourceMappingURL=EmailInput.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailInput.vue2.js","sources":["../../../../../src/components/compositions/elements/input/EmailInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven email input composition. Composes the shadcn `Input`\n * primitive (with `type=\"email\"`) and `FieldFrame` chrome.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <EmailInput v-model=\"email\" label=\"Email address\" required />\n */\nimport { onMounted, useTemplateRef } from \"vue\"\nimport { Input } from \"@/components/ui/input\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface EmailInputProps {\n modelValue?: string\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n maxlength?: number\n minlength?: number\n helpText?: string\n errors?: string[]\n autoFocus?: boolean\n}\n\nconst props = withDefaults(defineProps<EmailInputProps>(), {\n errors: () => [],\n})\n\nconst model = defineModel<string>(\"modelValue\")\n\nconst inputRef = useTemplateRef<HTMLInputElement>(\"inputRef\")\n\nonMounted(() => {\n if (props.autoFocus) {\n inputRef.value?.focus()\n }\n})\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <Input\n ref=\"inputRef\"\n :model-value=\"model ?? undefined\"\n :id=\"id\"\n :name=\"name ?? undefined\"\n type=\"email\"\n :placeholder=\"placeholder ?? ''\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :required=\"required\"\n :maxlength=\"maxlength\"\n :minlength=\"minlength\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n @update:model-value=\"(v: string | number | undefined) => (model = v == null ? '' : String(v))\"\n />\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","inputRef","useTemplateRef","onMounted","_a","_createBlock","_unref","FieldFrame","_createVNode","Input","_normalizeClass","_cache","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,UAAMA,IAAQC,GAIRC,IAAQC,EAAmBF,GAAC,YAAY,GAExCG,IAAWC,EAAiC,UAAU;AAE5D,WAAAC,EAAU,MAAM;;AACd,MAAIN,EAAM,eACRO,IAAAH,EAAS,UAAT,QAAAG,EAAgB;AAAA,IAEpB,CAAC,mBAICC,EAwBaC,EAAAC,CAAA,GAAA;AAAA,MAvBV,OAAOT,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,IAAA;iBAET,MAeE;AAAA,QAfFU,EAeEF,EAAAG,CAAA,GAAA;AAAA,mBAdI;AAAA,UAAJ,KAAIR;AAAA,UACH,eAAaF,EAAA,SAAS;AAAA,UACtB,IAAID,EAAA;AAAA,UACJ,MAAMA,EAAA,QAAQ;AAAA,UACf,MAAK;AAAA,UACJ,aAAaA,EAAA,eAAW;AAAA,UACxB,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,WAAWA,EAAA;AAAA,UACX,WAAWA,EAAA;AAAA,UACX,qBAAmBA,EAAA,QAAQ;AAAA,UAC3B,OAAKY,EAAEZ,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,UACpB,uBAAkBa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAoCb,EAAA,QAAQa,KAAC,OAAA,KAAgB,OAAOA,CAAC;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"EmailInput.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}