@gxp-dev/mod-ui 2.0.0 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) hide show
  1. package/.storybook/preview.ts +7 -0
  2. package/README.md +6 -6
  3. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  4. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  5. package/dist/action.d.ts +4 -0
  6. package/dist/action.d.ts.map +1 -0
  7. package/dist/action.js +9 -0
  8. package/dist/action.js.map +1 -0
  9. package/dist/adapters/fieldTypeMap.d.ts.map +1 -1
  10. package/dist/adapters/fieldTypeMap.js +4 -8
  11. package/dist/adapters/fieldTypeMap.js.map +1 -1
  12. package/dist/adapters/index.d.ts +1 -1
  13. package/dist/boolean.d.ts +5 -0
  14. package/dist/boolean.d.ts.map +1 -0
  15. package/dist/boolean.js +11 -0
  16. package/dist/boolean.js.map +1 -0
  17. package/dist/builder.d.ts +9 -0
  18. package/dist/builder.d.ts.map +1 -0
  19. package/dist/builder.js +19 -0
  20. package/dist/builder.js.map +1 -0
  21. package/dist/cards.d.ts +8 -0
  22. package/dist/cards.d.ts.map +1 -0
  23. package/dist/cards.js +17 -0
  24. package/dist/cards.js.map +1 -0
  25. package/dist/code.d.ts +6 -0
  26. package/dist/code.d.ts.map +1 -0
  27. package/dist/code.js +13 -0
  28. package/dist/code.js.map +1 -0
  29. package/dist/components/compositions/cards/CardListCard.vue.d.ts +30 -0
  30. package/dist/components/compositions/cards/CardListCard.vue.d.ts.map +1 -0
  31. package/dist/components/compositions/cards/CardListCard.vue.js +122 -2
  32. package/dist/components/compositions/cards/CardListCard.vue.js.map +1 -1
  33. package/dist/components/compositions/cards/CardListCard.vue2.js +2 -122
  34. package/dist/components/compositions/cards/CardListCard.vue2.js.map +1 -1
  35. package/dist/components/compositions/cards/DataTableCard.vue.d.ts +58 -0
  36. package/dist/components/compositions/cards/DataTableCard.vue.d.ts.map +1 -0
  37. package/dist/components/compositions/cards/DataTableCard.vue.js +387 -2
  38. package/dist/components/compositions/cards/DataTableCard.vue.js.map +1 -1
  39. package/dist/components/compositions/cards/DataTableCard.vue2.js +2 -387
  40. package/dist/components/compositions/cards/DataTableCard.vue2.js.map +1 -1
  41. package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts +16 -0
  42. package/dist/components/compositions/cards/ElementDisplayCard.vue.d.ts.map +1 -0
  43. package/dist/components/compositions/cards/ElementDisplayCard.vue.js +64 -2
  44. package/dist/components/compositions/cards/ElementDisplayCard.vue.js.map +1 -1
  45. package/dist/components/compositions/cards/ElementDisplayCard.vue2.js +2 -64
  46. package/dist/components/compositions/cards/ElementDisplayCard.vue2.js.map +1 -1
  47. package/dist/components/compositions/cards/ElementListCard.vue.d.ts +22 -0
  48. package/dist/components/compositions/cards/ElementListCard.vue.d.ts.map +1 -0
  49. package/dist/components/compositions/cards/ElementListCard.vue.js +92 -2
  50. package/dist/components/compositions/cards/ElementListCard.vue.js.map +1 -1
  51. package/dist/components/compositions/cards/ElementListCard.vue2.js +2 -92
  52. package/dist/components/compositions/cards/ElementListCard.vue2.js.map +1 -1
  53. package/dist/components/compositions/cards/GridViewCard.vue.d.ts +35 -0
  54. package/dist/components/compositions/cards/GridViewCard.vue.d.ts.map +1 -0
  55. package/dist/components/compositions/cards/GridViewCard.vue.js +128 -2
  56. package/dist/components/compositions/cards/GridViewCard.vue.js.map +1 -1
  57. package/dist/components/compositions/cards/GridViewCard.vue2.js +2 -128
  58. package/dist/components/compositions/cards/GridViewCard.vue2.js.map +1 -1
  59. package/dist/components/compositions/cards/InfoCard.vue.d.ts +24 -0
  60. package/dist/components/compositions/cards/InfoCard.vue.d.ts.map +1 -0
  61. package/dist/components/compositions/cards/InfoCard.vue.js +183 -2
  62. package/dist/components/compositions/cards/InfoCard.vue.js.map +1 -1
  63. package/dist/components/compositions/cards/InfoCard.vue2.js +2 -183
  64. package/dist/components/compositions/cards/InfoCard.vue2.js.map +1 -1
  65. package/dist/components/compositions/cards/TabListCard.vue.d.ts +36 -0
  66. package/dist/components/compositions/cards/TabListCard.vue.d.ts.map +1 -0
  67. package/dist/components/compositions/cards/TabListCard.vue.js +124 -2
  68. package/dist/components/compositions/cards/TabListCard.vue.js.map +1 -1
  69. package/dist/components/compositions/cards/TabListCard.vue2.js +2 -124
  70. package/dist/components/compositions/cards/TabListCard.vue2.js.map +1 -1
  71. package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts +42 -0
  72. package/dist/components/compositions/elements/action/ButtonAction.vue.d.ts.map +1 -0
  73. package/dist/components/compositions/elements/action/ButtonAction.vue.js +157 -2
  74. package/dist/components/compositions/elements/action/ButtonAction.vue.js.map +1 -1
  75. package/dist/components/compositions/elements/action/ButtonAction.vue2.js +2 -157
  76. package/dist/components/compositions/elements/action/ButtonAction.vue2.js.map +1 -1
  77. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts +46 -0
  78. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.d.ts.map +1 -0
  79. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js +66 -2
  80. package/dist/components/compositions/elements/action/ButtonGroupAction.vue.js.map +1 -1
  81. package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js +2 -66
  82. package/dist/components/compositions/elements/action/ButtonGroupAction.vue2.js.map +1 -1
  83. package/dist/components/compositions/elements/action/LinkAction.vue.d.ts +30 -0
  84. package/dist/components/compositions/elements/action/LinkAction.vue.d.ts.map +1 -0
  85. package/dist/components/compositions/elements/action/LinkAction.vue.js +55 -2
  86. package/dist/components/compositions/elements/action/LinkAction.vue.js.map +1 -1
  87. package/dist/components/compositions/elements/action/LinkAction.vue2.js +2 -55
  88. package/dist/components/compositions/elements/action/LinkAction.vue2.js.map +1 -1
  89. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts +25 -0
  90. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.d.ts.map +1 -0
  91. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js +68 -2
  92. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue.js.map +1 -1
  93. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js +2 -68
  94. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue2.js.map +1 -1
  95. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts +29 -0
  96. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.d.ts.map +1 -0
  97. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js +75 -2
  98. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue.js.map +1 -1
  99. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js +2 -75
  100. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue2.js.map +1 -1
  101. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts +33 -0
  102. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.d.ts.map +1 -0
  103. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js +91 -2
  104. package/dist/components/compositions/elements/boolean/RadioBoolean.vue.js.map +1 -1
  105. package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js +2 -91
  106. package/dist/components/compositions/elements/boolean/RadioBoolean.vue2.js.map +1 -1
  107. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts +29 -0
  108. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.d.ts.map +1 -0
  109. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js +77 -2
  110. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue.js.map +1 -1
  111. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js +2 -77
  112. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue2.js.map +1 -1
  113. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts +29 -0
  114. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.d.ts.map +1 -0
  115. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js +666 -2
  116. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue.js.map +1 -1
  117. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js +2 -666
  118. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue2.js.map +1 -1
  119. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts +29 -0
  120. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.d.ts.map +1 -0
  121. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js +421 -2
  122. package/dist/components/compositions/elements/builder/ElementListBuilder.vue.js.map +1 -1
  123. package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js +2 -421
  124. package/dist/components/compositions/elements/builder/ElementListBuilder.vue2.js.map +1 -1
  125. package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts +30 -0
  126. package/dist/components/compositions/elements/builder/FormBuilder.vue.d.ts.map +1 -0
  127. package/dist/components/compositions/elements/builder/FormBuilder.vue.js +857 -2
  128. package/dist/components/compositions/elements/builder/FormBuilder.vue.js.map +1 -1
  129. package/dist/components/compositions/elements/builder/FormBuilder.vue2.js +2 -857
  130. package/dist/components/compositions/elements/builder/FormBuilder.vue2.js.map +1 -1
  131. package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts +37 -0
  132. package/dist/components/compositions/elements/builder/GridBuilder.vue.d.ts.map +1 -0
  133. package/dist/components/compositions/elements/builder/GridBuilder.vue.js +452 -2
  134. package/dist/components/compositions/elements/builder/GridBuilder.vue.js.map +1 -1
  135. package/dist/components/compositions/elements/builder/GridBuilder.vue2.js +2 -452
  136. package/dist/components/compositions/elements/builder/GridBuilder.vue2.js.map +1 -1
  137. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts +33 -0
  138. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.d.ts.map +1 -0
  139. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js +511 -2
  140. package/dist/components/compositions/elements/builder/ObjectBuilder.vue.js.map +1 -1
  141. package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js +2 -511
  142. package/dist/components/compositions/elements/builder/ObjectBuilder.vue2.js.map +1 -1
  143. package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts +29 -0
  144. package/dist/components/compositions/elements/builder/PresetBuilder.vue.d.ts.map +1 -0
  145. package/dist/components/compositions/elements/builder/PresetBuilder.vue.js +163 -2
  146. package/dist/components/compositions/elements/builder/PresetBuilder.vue.js.map +1 -1
  147. package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js +2 -163
  148. package/dist/components/compositions/elements/builder/PresetBuilder.vue2.js.map +1 -1
  149. package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts +34 -0
  150. package/dist/components/compositions/elements/builder/QuizBuilder.vue.d.ts.map +1 -0
  151. package/dist/components/compositions/elements/builder/QuizBuilder.vue.js +591 -2
  152. package/dist/components/compositions/elements/builder/QuizBuilder.vue.js.map +1 -1
  153. package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js +2 -591
  154. package/dist/components/compositions/elements/builder/QuizBuilder.vue2.js.map +1 -1
  155. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts +29 -0
  156. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.d.ts.map +1 -0
  157. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js +580 -2
  158. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue.js.map +1 -1
  159. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js +2 -580
  160. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue2.js.map +1 -1
  161. package/dist/components/compositions/elements/card/ListCard.vue.d.ts +21 -0
  162. package/dist/components/compositions/elements/card/ListCard.vue.d.ts.map +1 -0
  163. package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts +43 -0
  164. package/dist/components/compositions/elements/code/BuildStatus.vue.d.ts.map +1 -0
  165. package/dist/components/compositions/elements/code/BuildStatus.vue.js +246 -2
  166. package/dist/components/compositions/elements/code/BuildStatus.vue.js.map +1 -1
  167. package/dist/components/compositions/elements/code/BuildStatus.vue2.js +2 -246
  168. package/dist/components/compositions/elements/code/BuildStatus.vue2.js.map +1 -1
  169. package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts +39 -0
  170. package/dist/components/compositions/elements/code/ChatMessage.vue.d.ts.map +1 -0
  171. package/dist/components/compositions/elements/code/ChatMessage.vue.js +267 -2
  172. package/dist/components/compositions/elements/code/ChatMessage.vue.js.map +1 -1
  173. package/dist/components/compositions/elements/code/ChatMessage.vue2.js +2 -267
  174. package/dist/components/compositions/elements/code/ChatMessage.vue2.js.map +1 -1
  175. package/dist/components/compositions/elements/code/FileTree.vue.d.ts +42 -0
  176. package/dist/components/compositions/elements/code/FileTree.vue.d.ts.map +1 -0
  177. package/dist/components/compositions/elements/code/FileTree.vue.js +251 -2
  178. package/dist/components/compositions/elements/code/FileTree.vue.js.map +1 -1
  179. package/dist/components/compositions/elements/code/FileTree.vue2.js +2 -251
  180. package/dist/components/compositions/elements/code/FileTree.vue2.js.map +1 -1
  181. package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts +54 -0
  182. package/dist/components/compositions/elements/code/GitCodeEditor.vue.d.ts.map +1 -0
  183. package/dist/components/compositions/elements/code/GitCodeEditor.vue.js +273 -2
  184. package/dist/components/compositions/elements/code/GitCodeEditor.vue.js.map +1 -1
  185. package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js +2 -273
  186. package/dist/components/compositions/elements/code/GitCodeEditor.vue2.js.map +1 -1
  187. package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts +46 -0
  188. package/dist/components/compositions/elements/code/PullRequestsList.vue.d.ts.map +1 -0
  189. package/dist/components/compositions/elements/code/PullRequestsList.vue.js +303 -2
  190. package/dist/components/compositions/elements/code/PullRequestsList.vue.js.map +1 -1
  191. package/dist/components/compositions/elements/code/PullRequestsList.vue2.js +2 -303
  192. package/dist/components/compositions/elements/code/PullRequestsList.vue2.js.map +1 -1
  193. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts +17 -0
  194. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.d.ts.map +1 -0
  195. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js +101 -2
  196. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue.js.map +1 -1
  197. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js +2 -101
  198. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue2.js.map +1 -1
  199. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts +20 -0
  200. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.d.ts.map +1 -0
  201. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js +33 -2
  202. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue.js.map +1 -1
  203. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js +2 -33
  204. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue2.js.map +1 -1
  205. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts +17 -0
  206. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.d.ts.map +1 -0
  207. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js +103 -2
  208. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue.js.map +1 -1
  209. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js +2 -103
  210. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue2.js.map +1 -1
  211. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts +29 -0
  212. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.d.ts.map +1 -0
  213. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js +172 -2
  214. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue.js.map +1 -1
  215. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js +2 -140
  216. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue2.js.map +1 -1
  217. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts +12 -0
  218. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.d.ts.map +1 -0
  219. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js +5 -0
  220. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue.js.map +1 -0
  221. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js +25 -0
  222. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue2.js.map +1 -0
  223. package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts +13 -0
  224. package/dist/components/compositions/elements/display/BannerDisplay.vue.d.ts.map +1 -0
  225. package/dist/components/compositions/elements/display/BannerDisplay.vue.js +63 -2
  226. package/dist/components/compositions/elements/display/BannerDisplay.vue.js.map +1 -1
  227. package/dist/components/compositions/elements/display/BannerDisplay.vue2.js +2 -63
  228. package/dist/components/compositions/elements/display/BannerDisplay.vue2.js.map +1 -1
  229. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts +12 -0
  230. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.d.ts.map +1 -0
  231. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js +52 -2
  232. package/dist/components/compositions/elements/display/BarcodeDisplay.vue.js.map +1 -1
  233. package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js +2 -52
  234. package/dist/components/compositions/elements/display/BarcodeDisplay.vue2.js.map +1 -1
  235. package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts +27 -0
  236. package/dist/components/compositions/elements/display/CarouselDisplay.vue.d.ts.map +1 -0
  237. package/dist/components/compositions/elements/display/CarouselDisplay.vue.js +144 -2
  238. package/dist/components/compositions/elements/display/CarouselDisplay.vue.js.map +1 -1
  239. package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js +2 -144
  240. package/dist/components/compositions/elements/display/CarouselDisplay.vue2.js.map +1 -1
  241. package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts +17 -0
  242. package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts.map +1 -0
  243. package/dist/components/compositions/elements/display/ChartDisplay.vue.js +78 -2
  244. package/dist/components/compositions/elements/display/ChartDisplay.vue.js.map +1 -1
  245. package/dist/components/compositions/elements/display/ChartDisplay.vue2.js +2 -78
  246. package/dist/components/compositions/elements/display/ChartDisplay.vue2.js.map +1 -1
  247. package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts +7 -0
  248. package/dist/components/compositions/elements/display/HtmlDisplay.vue.d.ts.map +1 -0
  249. package/dist/components/compositions/elements/display/HtmlDisplay.vue.js +20 -2
  250. package/dist/components/compositions/elements/display/HtmlDisplay.vue.js.map +1 -1
  251. package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js +2 -20
  252. package/dist/components/compositions/elements/display/HtmlDisplay.vue2.js.map +1 -1
  253. package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts +10 -0
  254. package/dist/components/compositions/elements/display/IconDisplay.vue.d.ts.map +1 -0
  255. package/dist/components/compositions/elements/display/IconDisplay.vue.js +55 -2
  256. package/dist/components/compositions/elements/display/IconDisplay.vue.js.map +1 -1
  257. package/dist/components/compositions/elements/display/IconDisplay.vue2.js +2 -55
  258. package/dist/components/compositions/elements/display/IconDisplay.vue2.js.map +1 -1
  259. package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts +11 -0
  260. package/dist/components/compositions/elements/display/IframeDisplay.vue.d.ts.map +1 -0
  261. package/dist/components/compositions/elements/display/IframeDisplay.vue.js +32 -2
  262. package/dist/components/compositions/elements/display/IframeDisplay.vue.js.map +1 -1
  263. package/dist/components/compositions/elements/display/IframeDisplay.vue2.js +2 -32
  264. package/dist/components/compositions/elements/display/IframeDisplay.vue2.js.map +1 -1
  265. package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts +8 -0
  266. package/dist/components/compositions/elements/display/ImageDisplay.vue.d.ts.map +1 -0
  267. package/dist/components/compositions/elements/display/ImageDisplay.vue.js +35 -2
  268. package/dist/components/compositions/elements/display/ImageDisplay.vue.js.map +1 -1
  269. package/dist/components/compositions/elements/display/ImageDisplay.vue2.js +2 -35
  270. package/dist/components/compositions/elements/display/ImageDisplay.vue2.js.map +1 -1
  271. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts +7 -0
  272. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.d.ts.map +1 -0
  273. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js +39 -2
  274. package/dist/components/compositions/elements/display/MarkdownDisplay.vue.js.map +1 -1
  275. package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js +2 -39
  276. package/dist/components/compositions/elements/display/MarkdownDisplay.vue2.js.map +1 -1
  277. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts +11 -0
  278. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.d.ts.map +1 -0
  279. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js +42 -2
  280. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue.js.map +1 -1
  281. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js +2 -42
  282. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue2.js.map +1 -1
  283. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts +9 -0
  284. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts.map +1 -0
  285. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js +46 -2
  286. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.js.map +1 -1
  287. package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js +2 -46
  288. package/dist/components/compositions/elements/display/QrCodeDisplay.vue2.js.map +1 -1
  289. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts +7 -0
  290. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.d.ts.map +1 -0
  291. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js +64 -2
  292. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue.js.map +1 -1
  293. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js +2 -64
  294. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue2.js.map +1 -1
  295. package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts +7 -0
  296. package/dist/components/compositions/elements/display/SpriteDisplay.vue.d.ts.map +1 -0
  297. package/dist/components/compositions/elements/display/SpriteDisplay.vue.js +64 -2
  298. package/dist/components/compositions/elements/display/SpriteDisplay.vue.js.map +1 -1
  299. package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js +2 -64
  300. package/dist/components/compositions/elements/display/SpriteDisplay.vue2.js.map +1 -1
  301. package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts +11 -0
  302. package/dist/components/compositions/elements/display/TypeDisplay.vue.d.ts.map +1 -0
  303. package/dist/components/compositions/elements/display/TypeDisplay.vue.js +42 -2
  304. package/dist/components/compositions/elements/display/TypeDisplay.vue.js.map +1 -1
  305. package/dist/components/compositions/elements/display/TypeDisplay.vue2.js +2 -42
  306. package/dist/components/compositions/elements/display/TypeDisplay.vue2.js.map +1 -1
  307. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts +10 -0
  308. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.d.ts.map +1 -0
  309. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js +33 -2
  310. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue.js.map +1 -1
  311. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js +2 -33
  312. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue2.js.map +1 -1
  313. package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts +33 -0
  314. package/dist/components/compositions/elements/editor/CodeEditor.vue.d.ts.map +1 -0
  315. package/dist/components/compositions/elements/editor/CodeEditor.vue.js +5 -2
  316. package/dist/components/compositions/elements/editor/CodeEditor.vue.js.map +1 -1
  317. package/dist/components/compositions/elements/editor/CodeEditor.vue2.js +211 -53
  318. package/dist/components/compositions/elements/editor/CodeEditor.vue2.js.map +1 -1
  319. package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts +24 -0
  320. package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts.map +1 -0
  321. package/dist/components/compositions/elements/editor/HtmlEditor.vue.js +5 -2
  322. package/dist/components/compositions/elements/editor/HtmlEditor.vue.js.map +1 -1
  323. package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js +1333 -50
  324. package/dist/components/compositions/elements/editor/HtmlEditor.vue2.js.map +1 -1
  325. package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts +24 -0
  326. package/dist/components/compositions/elements/editor/ImageEditor.vue.d.ts.map +1 -0
  327. package/dist/components/compositions/elements/editor/ImageEditor.vue.js +67 -2
  328. package/dist/components/compositions/elements/editor/ImageEditor.vue.js.map +1 -1
  329. package/dist/components/compositions/elements/editor/ImageEditor.vue2.js +2 -67
  330. package/dist/components/compositions/elements/editor/ImageEditor.vue2.js.map +1 -1
  331. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts +28 -0
  332. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.d.ts.map +1 -0
  333. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js +82 -2
  334. package/dist/components/compositions/elements/editor/MarkdownEditor.vue.js.map +1 -1
  335. package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js +2 -82
  336. package/dist/components/compositions/elements/editor/MarkdownEditor.vue2.js.map +1 -1
  337. package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts +26 -0
  338. package/dist/components/compositions/elements/editor/RichTextEditor.vue.d.ts.map +1 -0
  339. package/dist/components/compositions/elements/editor/RichTextEditor.vue.js +262 -2
  340. package/dist/components/compositions/elements/editor/RichTextEditor.vue.js.map +1 -1
  341. package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js +2 -262
  342. package/dist/components/compositions/elements/editor/RichTextEditor.vue2.js.map +1 -1
  343. package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts +47 -0
  344. package/dist/components/compositions/elements/file/AssetPickerFile.vue.d.ts.map +1 -0
  345. package/dist/components/compositions/elements/file/AssetPickerFile.vue.js +293 -2
  346. package/dist/components/compositions/elements/file/AssetPickerFile.vue.js.map +1 -1
  347. package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js +2 -293
  348. package/dist/components/compositions/elements/file/AssetPickerFile.vue2.js.map +1 -1
  349. package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts +33 -0
  350. package/dist/components/compositions/elements/file/DropzoneFile.vue.d.ts.map +1 -0
  351. package/dist/components/compositions/elements/file/DropzoneFile.vue.js +171 -2
  352. package/dist/components/compositions/elements/file/DropzoneFile.vue.js.map +1 -1
  353. package/dist/components/compositions/elements/file/DropzoneFile.vue2.js +2 -171
  354. package/dist/components/compositions/elements/file/DropzoneFile.vue2.js.map +1 -1
  355. package/dist/components/compositions/elements/file/UploadFile.vue.d.ts +33 -0
  356. package/dist/components/compositions/elements/file/UploadFile.vue.d.ts.map +1 -0
  357. package/dist/components/compositions/elements/file/UploadFile.vue.js +149 -2
  358. package/dist/components/compositions/elements/file/UploadFile.vue.js.map +1 -1
  359. package/dist/components/compositions/elements/file/UploadFile.vue2.js +2 -149
  360. package/dist/components/compositions/elements/file/UploadFile.vue2.js.map +1 -1
  361. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts +48 -0
  362. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.d.ts.map +1 -0
  363. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js +166 -2
  364. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue.js.map +1 -1
  365. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js +2 -166
  366. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue2.js.map +1 -1
  367. package/dist/components/compositions/elements/input/EmailInput.vue.d.ts +48 -0
  368. package/dist/components/compositions/elements/input/EmailInput.vue.d.ts.map +1 -0
  369. package/dist/components/compositions/elements/input/EmailInput.vue.js +62 -2
  370. package/dist/components/compositions/elements/input/EmailInput.vue.js.map +1 -1
  371. package/dist/components/compositions/elements/input/EmailInput.vue2.js +2 -62
  372. package/dist/components/compositions/elements/input/EmailInput.vue2.js.map +1 -1
  373. package/dist/components/compositions/elements/input/NumberInput.vue.d.ts +49 -0
  374. package/dist/components/compositions/elements/input/NumberInput.vue.d.ts.map +1 -0
  375. package/dist/components/compositions/elements/input/NumberInput.vue.js +73 -2
  376. package/dist/components/compositions/elements/input/NumberInput.vue.js.map +1 -1
  377. package/dist/components/compositions/elements/input/NumberInput.vue2.js +2 -73
  378. package/dist/components/compositions/elements/input/NumberInput.vue2.js.map +1 -1
  379. package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts +49 -0
  380. package/dist/components/compositions/elements/input/PasswordInput.vue.d.ts.map +1 -0
  381. package/dist/components/compositions/elements/input/PasswordInput.vue.js +98 -2
  382. package/dist/components/compositions/elements/input/PasswordInput.vue.js.map +1 -1
  383. package/dist/components/compositions/elements/input/PasswordInput.vue2.js +2 -98
  384. package/dist/components/compositions/elements/input/PasswordInput.vue2.js.map +1 -1
  385. package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts +31 -0
  386. package/dist/components/compositions/elements/input/RangeSliderInput.vue.d.ts.map +1 -0
  387. package/dist/components/compositions/elements/input/RangeSliderInput.vue.js +69 -2
  388. package/dist/components/compositions/elements/input/RangeSliderInput.vue.js.map +1 -1
  389. package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js +2 -69
  390. package/dist/components/compositions/elements/input/RangeSliderInput.vue2.js.map +1 -1
  391. package/dist/components/compositions/elements/input/SearchInput.vue.d.ts +48 -0
  392. package/dist/components/compositions/elements/input/SearchInput.vue.d.ts.map +1 -0
  393. package/dist/components/compositions/elements/input/SearchInput.vue.js +69 -2
  394. package/dist/components/compositions/elements/input/SearchInput.vue.js.map +1 -1
  395. package/dist/components/compositions/elements/input/SearchInput.vue2.js +2 -69
  396. package/dist/components/compositions/elements/input/SearchInput.vue2.js.map +1 -1
  397. package/dist/components/compositions/elements/input/TelInput.vue.d.ts +48 -0
  398. package/dist/components/compositions/elements/input/TelInput.vue.d.ts.map +1 -0
  399. package/dist/components/compositions/elements/input/TelInput.vue.js +62 -2
  400. package/dist/components/compositions/elements/input/TelInput.vue.js.map +1 -1
  401. package/dist/components/compositions/elements/input/TelInput.vue2.js +2 -62
  402. package/dist/components/compositions/elements/input/TelInput.vue2.js.map +1 -1
  403. package/dist/components/compositions/elements/input/TextInput.vue.d.ts +48 -0
  404. package/dist/components/compositions/elements/input/TextInput.vue.d.ts.map +1 -0
  405. package/dist/components/compositions/elements/input/TextInput.vue.js +62 -2
  406. package/dist/components/compositions/elements/input/TextInput.vue.js.map +1 -1
  407. package/dist/components/compositions/elements/input/TextInput.vue2.js +2 -62
  408. package/dist/components/compositions/elements/input/TextInput.vue2.js.map +1 -1
  409. package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts +54 -0
  410. package/dist/components/compositions/elements/input/TextareaInput.vue.d.ts.map +1 -0
  411. package/dist/components/compositions/elements/input/TextareaInput.vue.js +63 -2
  412. package/dist/components/compositions/elements/input/TextareaInput.vue.js.map +1 -1
  413. package/dist/components/compositions/elements/input/TextareaInput.vue2.js +2 -63
  414. package/dist/components/compositions/elements/input/TextareaInput.vue2.js.map +1 -1
  415. package/dist/components/compositions/elements/input/UrlInput.vue.d.ts +48 -0
  416. package/dist/components/compositions/elements/input/UrlInput.vue.d.ts.map +1 -0
  417. package/dist/components/compositions/elements/input/UrlInput.vue.js +62 -2
  418. package/dist/components/compositions/elements/input/UrlInput.vue.js.map +1 -1
  419. package/dist/components/compositions/elements/input/UrlInput.vue2.js +2 -62
  420. package/dist/components/compositions/elements/input/UrlInput.vue2.js.map +1 -1
  421. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts +44 -0
  422. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.d.ts.map +1 -0
  423. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js +167 -2
  424. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue.js.map +1 -1
  425. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js +2 -167
  426. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue2.js.map +1 -1
  427. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts +31 -0
  428. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.d.ts.map +1 -0
  429. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js +121 -2
  430. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue.js.map +1 -1
  431. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js +2 -121
  432. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue2.js.map +1 -1
  433. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts +29 -0
  434. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.d.ts.map +1 -0
  435. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js +87 -2
  436. package/dist/components/compositions/elements/option-select/CheckboxOption.vue.js.map +1 -1
  437. package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js +2 -87
  438. package/dist/components/compositions/elements/option-select/CheckboxOption.vue2.js.map +1 -1
  439. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts +41 -0
  440. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.d.ts.map +1 -0
  441. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js +237 -2
  442. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue.js.map +1 -1
  443. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js +2 -237
  444. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue2.js.map +1 -1
  445. package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts +29 -0
  446. package/dist/components/compositions/elements/option-select/ListOption.vue.d.ts.map +1 -0
  447. package/dist/components/compositions/elements/option-select/ListOption.vue.js +89 -2
  448. package/dist/components/compositions/elements/option-select/ListOption.vue.js.map +1 -1
  449. package/dist/components/compositions/elements/option-select/ListOption.vue2.js +2 -89
  450. package/dist/components/compositions/elements/option-select/ListOption.vue2.js.map +1 -1
  451. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts +28 -0
  452. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.d.ts.map +1 -0
  453. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js +85 -2
  454. package/dist/components/compositions/elements/option-select/PillSelectOption.vue.js.map +1 -1
  455. package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js +2 -85
  456. package/dist/components/compositions/elements/option-select/PillSelectOption.vue2.js.map +1 -1
  457. package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts +29 -0
  458. package/dist/components/compositions/elements/option-select/RadioOption.vue.d.ts.map +1 -0
  459. package/dist/components/compositions/elements/option-select/RadioOption.vue.js +98 -2
  460. package/dist/components/compositions/elements/option-select/RadioOption.vue.js.map +1 -1
  461. package/dist/components/compositions/elements/option-select/RadioOption.vue2.js +2 -98
  462. package/dist/components/compositions/elements/option-select/RadioOption.vue2.js.map +1 -1
  463. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts +29 -0
  464. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.d.ts.map +1 -0
  465. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js +151 -2
  466. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue.js.map +1 -1
  467. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js +2 -151
  468. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue2.js.map +1 -1
  469. package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts +29 -0
  470. package/dist/components/compositions/elements/option-select/SelectOption.vue.d.ts.map +1 -0
  471. package/dist/components/compositions/elements/option-select/SelectOption.vue.js +116 -2
  472. package/dist/components/compositions/elements/option-select/SelectOption.vue.js.map +1 -1
  473. package/dist/components/compositions/elements/option-select/SelectOption.vue2.js +2 -116
  474. package/dist/components/compositions/elements/option-select/SelectOption.vue2.js.map +1 -1
  475. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts +40 -0
  476. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.d.ts.map +1 -0
  477. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js +182 -2
  478. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue.js.map +1 -1
  479. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js +2 -182
  480. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue2.js.map +1 -1
  481. package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts +29 -0
  482. package/dist/components/compositions/elements/picker/ColorPicker.vue.d.ts.map +1 -0
  483. package/dist/components/compositions/elements/picker/ColorPicker.vue.js +155 -2
  484. package/dist/components/compositions/elements/picker/ColorPicker.vue.js.map +1 -1
  485. package/dist/components/compositions/elements/picker/ColorPicker.vue2.js +2 -155
  486. package/dist/components/compositions/elements/picker/ColorPicker.vue2.js.map +1 -1
  487. package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts +29 -0
  488. package/dist/components/compositions/elements/picker/DataModelPicker.vue.d.ts.map +1 -0
  489. package/dist/components/compositions/elements/picker/DataModelPicker.vue.js +104 -2
  490. package/dist/components/compositions/elements/picker/DataModelPicker.vue.js.map +1 -1
  491. package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js +2 -104
  492. package/dist/components/compositions/elements/picker/DataModelPicker.vue2.js.map +1 -1
  493. package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts +32 -0
  494. package/dist/components/compositions/elements/picker/DatePicker.vue.d.ts.map +1 -0
  495. package/dist/components/compositions/elements/picker/DatePicker.vue.js +140 -2
  496. package/dist/components/compositions/elements/picker/DatePicker.vue.js.map +1 -1
  497. package/dist/components/compositions/elements/picker/DatePicker.vue2.js +2 -140
  498. package/dist/components/compositions/elements/picker/DatePicker.vue2.js.map +1 -1
  499. package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts +26 -0
  500. package/dist/components/compositions/elements/picker/DateTimePicker.vue.d.ts.map +1 -0
  501. package/dist/components/compositions/elements/picker/DateTimePicker.vue.js +171 -2
  502. package/dist/components/compositions/elements/picker/DateTimePicker.vue.js.map +1 -1
  503. package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js +2 -171
  504. package/dist/components/compositions/elements/picker/DateTimePicker.vue2.js.map +1 -1
  505. package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts +26 -0
  506. package/dist/components/compositions/elements/picker/IconPicker.vue.d.ts.map +1 -0
  507. package/dist/components/compositions/elements/picker/IconPicker.vue.js +190 -2
  508. package/dist/components/compositions/elements/picker/IconPicker.vue.js.map +1 -1
  509. package/dist/components/compositions/elements/picker/IconPicker.vue2.js +2 -190
  510. package/dist/components/compositions/elements/picker/IconPicker.vue2.js.map +1 -1
  511. package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts +24 -0
  512. package/dist/components/compositions/elements/picker/IconPickerInline.vue.d.ts.map +1 -0
  513. package/dist/components/compositions/elements/{components/IconPickerInline.vue2.js → picker/IconPickerInline.vue.js} +23 -23
  514. package/dist/components/compositions/elements/picker/IconPickerInline.vue.js.map +1 -0
  515. package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js +5 -0
  516. package/dist/components/compositions/elements/picker/IconPickerInline.vue2.js.map +1 -0
  517. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts +41 -0
  518. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.d.ts.map +1 -0
  519. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js +271 -2
  520. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue.js.map +1 -1
  521. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js +2 -271
  522. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue2.js.map +1 -1
  523. package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts +55 -0
  524. package/dist/components/compositions/elements/picker/MapPicker.vue.d.ts.map +1 -0
  525. package/dist/components/compositions/elements/picker/MapPicker.vue.js +118 -2
  526. package/dist/components/compositions/elements/picker/MapPicker.vue.js.map +1 -1
  527. package/dist/components/compositions/elements/picker/MapPicker.vue2.js +2 -118
  528. package/dist/components/compositions/elements/picker/MapPicker.vue2.js.map +1 -1
  529. package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts +26 -0
  530. package/dist/components/compositions/elements/picker/TimePicker.vue.d.ts.map +1 -0
  531. package/dist/components/compositions/elements/picker/TimePicker.vue.js +106 -2
  532. package/dist/components/compositions/elements/picker/TimePicker.vue.js.map +1 -1
  533. package/dist/components/compositions/elements/picker/TimePicker.vue2.js +2 -106
  534. package/dist/components/compositions/elements/picker/TimePicker.vue2.js.map +1 -1
  535. package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts +26 -0
  536. package/dist/components/compositions/elements/picker/TimezonePicker.vue.d.ts.map +1 -0
  537. package/dist/components/compositions/elements/picker/TimezonePicker.vue.js +124 -2
  538. package/dist/components/compositions/elements/picker/TimezonePicker.vue.js.map +1 -1
  539. package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js +2 -124
  540. package/dist/components/compositions/elements/picker/TimezonePicker.vue2.js.map +1 -1
  541. package/dist/components/ui/index.d.ts +3 -3
  542. package/dist/components/ui/toast/index.d.ts +1 -1
  543. package/dist/components/ui/toast/index.js.map +1 -1
  544. package/dist/configuration-block.d.ts +5 -0
  545. package/dist/configuration-block.d.ts.map +1 -0
  546. package/dist/configuration-block.js +11 -0
  547. package/dist/configuration-block.js.map +1 -0
  548. package/dist/definitions/elements/PickerElement.d.ts +1 -1
  549. package/dist/definitions/elements/PickerElement.d.ts.map +1 -1
  550. package/dist/definitions/elements/PickerElement.js +3 -2
  551. package/dist/definitions/elements/PickerElement.js.map +1 -1
  552. package/dist/definitions/elements/index.d.ts +1 -155
  553. package/dist/definitions/elements/index.d.ts.map +1 -1
  554. package/dist/definitions/elements/index.js +112 -121
  555. package/dist/definitions/elements/index.js.map +1 -1
  556. package/dist/definitions/index.d.ts +1 -1
  557. package/dist/definitions/shared/base.d.ts +1 -1
  558. package/dist/definitions/shared/base.d.ts.map +1 -1
  559. package/dist/definitions/shared/base.js.map +1 -1
  560. package/dist/display.d.ts +16 -0
  561. package/dist/display.d.ts.map +1 -0
  562. package/dist/display.js +33 -0
  563. package/dist/display.js.map +1 -0
  564. package/dist/editor.d.ts +6 -0
  565. package/dist/editor.d.ts.map +1 -0
  566. package/dist/editor.js +13 -0
  567. package/dist/editor.js.map +1 -0
  568. package/dist/engine/registry.d.ts +0 -2
  569. package/dist/engine/registry.d.ts.map +1 -1
  570. package/dist/engine/registry.js +1 -5
  571. package/dist/engine/registry.js.map +1 -1
  572. package/dist/engine/useCardLoader.js +1 -1
  573. package/dist/engine/useCardLoader.js.map +1 -1
  574. package/dist/engine/useElementLoader.js +1 -1
  575. package/dist/engine/useElementLoader.js.map +1 -1
  576. package/dist/engine/useFormData.d.ts.map +1 -1
  577. package/dist/engine/useFormData.js +13 -13
  578. package/dist/engine/useFormData.js.map +1 -1
  579. package/dist/file.d.ts +4 -0
  580. package/dist/file.d.ts.map +1 -0
  581. package/dist/file.js +9 -0
  582. package/dist/file.js.map +1 -0
  583. package/dist/index.d.ts +3 -3
  584. package/dist/index.js +71 -75
  585. package/dist/index.js.map +1 -1
  586. package/dist/input.d.ts +11 -0
  587. package/dist/input.d.ts.map +1 -0
  588. package/dist/input.js +23 -0
  589. package/dist/input.js.map +1 -0
  590. package/dist/lib/storybook.d.ts +45 -0
  591. package/dist/lib/storybook.d.ts.map +1 -0
  592. package/dist/option-select.d.ts +10 -0
  593. package/dist/option-select.d.ts.map +1 -0
  594. package/dist/option-select.js +21 -0
  595. package/dist/option-select.js.map +1 -0
  596. package/dist/pages/ShowPage.vue.js +1 -1
  597. package/dist/pages/ShowPage.vue.js.map +1 -1
  598. package/dist/picker.d.ts +12 -0
  599. package/dist/picker.d.ts.map +1 -0
  600. package/dist/picker.js +25 -0
  601. package/dist/picker.js.map +1 -0
  602. package/dist/stores/dependencyListBuilderStore.d.ts +1 -1
  603. package/dist/stores/dependencyListBuilderStore.js +5 -5
  604. package/dist/stores/dependencyListBuilderStore.js.map +1 -1
  605. package/dist/stores/elementListBuilderStore.d.ts +1 -1
  606. package/dist/stores/elementListBuilderStore.js +14 -14
  607. package/dist/stores/elementListBuilderStore.js.map +1 -1
  608. package/dist/stores/formBuilderStore.d.ts +1 -1
  609. package/dist/stores/formBuilderStore.js +5 -5
  610. package/dist/stores/formBuilderStore.js.map +1 -1
  611. package/dist/stores/formDataStore.d.ts +1 -1
  612. package/dist/stores/formDataStore.js +2 -2
  613. package/dist/stores/formDataStore.js.map +1 -1
  614. package/dist/stores/gridBuilderStore.d.ts +1 -1
  615. package/dist/stores/gridBuilderStore.js +11 -11
  616. package/dist/stores/gridBuilderStore.js.map +1 -1
  617. package/dist/stores/objectBuilderStore.d.ts +1 -1
  618. package/dist/stores/objectBuilderStore.js +1 -1
  619. package/dist/stores/objectBuilderStore.js.map +1 -1
  620. package/dist/stores/presetBuilderStore.d.ts +1 -1
  621. package/dist/stores/presetBuilderStore.js +12 -12
  622. package/dist/stores/presetBuilderStore.js.map +1 -1
  623. package/dist/stores/quizBuilderStore.d.ts +1 -1
  624. package/dist/stores/quizBuilderStore.js +1 -1
  625. package/dist/stores/quizBuilderStore.js.map +1 -1
  626. package/dist/stores/reactiveCanvasBuilderStore.d.ts +1 -1
  627. package/dist/stores/reactiveCanvasBuilderStore.js +40 -40
  628. package/dist/stores/reactiveCanvasBuilderStore.js.map +1 -1
  629. package/dist/styles/mod-ui.css +1 -0
  630. package/package.json +198 -37
  631. package/src/action.ts +3 -0
  632. package/src/adapters/fieldTypeMap.ts +3 -8
  633. package/src/adapters/index.ts +1 -1
  634. package/src/boolean.ts +4 -0
  635. package/src/builder.ts +8 -0
  636. package/src/cards.ts +7 -0
  637. package/src/code.ts +5 -0
  638. package/src/components/compositions/cards/CardListCard.stories.ts +2 -0
  639. package/src/components/compositions/cards/DataTableCard.stories.ts +2 -0
  640. package/src/components/compositions/cards/ElementDisplayCard.stories.ts +2 -0
  641. package/src/components/compositions/cards/ElementListCard.stories.ts +2 -0
  642. package/src/components/compositions/cards/GridViewCard.stories.ts +2 -0
  643. package/src/components/compositions/cards/InfoCard.stories.ts +2 -0
  644. package/src/components/compositions/cards/TabListCard.stories.ts +2 -0
  645. package/src/components/compositions/elements/action/ButtonAction.stories.ts +3 -1
  646. package/src/components/compositions/elements/action/ButtonGroupAction.stories.ts +3 -1
  647. package/src/components/compositions/elements/action/LinkAction.stories.ts +3 -1
  648. package/src/components/compositions/elements/boolean/CheckboxBoolean.stories.ts +3 -1
  649. package/src/components/compositions/elements/boolean/IconToggleBoolean.stories.ts +3 -1
  650. package/src/components/compositions/elements/boolean/RadioBoolean.stories.ts +3 -1
  651. package/src/components/compositions/elements/boolean/SwitchBoolean.stories.ts +3 -1
  652. package/src/components/compositions/elements/builder/DependencyListBuilder.stories.ts +1 -1
  653. package/src/components/compositions/elements/builder/ElementListBuilder.stories.ts +1 -1
  654. package/src/components/compositions/elements/builder/ElementListBuilder.test.ts +0 -1
  655. package/src/components/compositions/elements/builder/FormBuilder.stories.ts +2 -0
  656. package/src/components/compositions/elements/builder/FormBuilder.test.ts +0 -1
  657. package/src/components/compositions/elements/builder/GridBuilder.stories.ts +2 -0
  658. package/src/components/compositions/elements/builder/ObjectBuilder.stories.ts +1 -1
  659. package/src/components/compositions/elements/builder/PresetBuilder.stories.ts +1 -1
  660. package/src/components/compositions/elements/builder/QuizBuilder.stories.ts +2 -0
  661. package/src/components/compositions/elements/builder/ReactiveCanvasBuilder.stories.ts +1 -1
  662. package/src/components/compositions/elements/code/BuildStatus.stories.ts +3 -1
  663. package/src/components/compositions/elements/code/ChatMessage.stories.ts +1 -1
  664. package/src/components/compositions/elements/code/FileTree.stories.ts +3 -1
  665. package/src/components/compositions/elements/code/GitCodeEditor.stories.ts +3 -1
  666. package/src/components/compositions/elements/code/PullRequestsList.stories.ts +3 -1
  667. package/src/components/compositions/elements/configuration-block/DialogBlock.stories.ts +1 -1
  668. package/src/components/compositions/elements/configuration-block/ElementsBlock.stories.ts +1 -1
  669. package/src/components/compositions/elements/configuration-block/ModalBlock.stories.ts +2 -0
  670. package/src/components/compositions/elements/configuration-block/RepeatableBlock.stories.ts +45 -2
  671. package/src/components/compositions/elements/configuration-block/RepeatableBlock.test.ts +47 -16
  672. package/src/components/compositions/elements/configuration-block/RepeatableBlock.vue +161 -92
  673. package/src/components/compositions/elements/configuration-block/RepeatableRow.vue +36 -0
  674. package/src/components/compositions/elements/display/BannerDisplay.stories.ts +3 -1
  675. package/src/components/compositions/elements/display/BarcodeDisplay.stories.ts +3 -1
  676. package/src/components/compositions/elements/display/CarouselDisplay.stories.ts +3 -1
  677. package/src/components/compositions/elements/display/ChartDisplay.stories.ts +3 -1
  678. package/src/components/compositions/elements/display/HtmlDisplay.stories.ts +3 -1
  679. package/src/components/compositions/elements/display/IconDisplay.stories.ts +3 -1
  680. package/src/components/compositions/elements/display/IframeDisplay.stories.ts +3 -1
  681. package/src/components/compositions/elements/display/ImageDisplay.stories.ts +3 -1
  682. package/src/components/compositions/elements/display/MarkdownDisplay.stories.ts +3 -1
  683. package/src/components/compositions/elements/display/ProgressBarDisplay.stories.ts +3 -1
  684. package/src/components/compositions/elements/display/QrCodeDisplay.stories.ts +3 -1
  685. package/src/components/compositions/elements/display/ReactiveCanvasDisplay.stories.ts +3 -1
  686. package/src/components/compositions/elements/display/SpriteDisplay.stories.ts +3 -1
  687. package/src/components/compositions/elements/display/TypeDisplay.stories.ts +3 -1
  688. package/src/components/compositions/elements/display/VideoPlayerDisplay.stories.ts +3 -1
  689. package/src/components/compositions/elements/editor/CodeEditor.stories.ts +88 -12
  690. package/src/components/compositions/elements/editor/CodeEditor.test.ts +72 -41
  691. package/src/components/compositions/elements/editor/CodeEditor.vue +306 -38
  692. package/src/components/compositions/elements/editor/HtmlEditor.stories.ts +73 -6
  693. package/src/components/compositions/elements/editor/HtmlEditor.test.ts +59 -50
  694. package/src/components/compositions/elements/editor/HtmlEditor.vue +942 -41
  695. package/src/components/compositions/elements/editor/ImageEditor.stories.ts +3 -1
  696. package/src/components/compositions/elements/editor/MarkdownEditor.stories.ts +3 -1
  697. package/src/components/compositions/elements/editor/RichTextEditor.stories.ts +3 -1
  698. package/src/components/compositions/elements/file/AssetPickerFile.stories.ts +3 -1
  699. package/src/components/compositions/elements/file/DropzoneFile.stories.ts +3 -1
  700. package/src/components/compositions/elements/file/UploadFile.stories.ts +3 -1
  701. package/src/components/compositions/elements/input/BarcodeScannerInput.stories.ts +3 -1
  702. package/src/components/compositions/elements/input/EmailInput.stories.ts +3 -1
  703. package/src/components/compositions/elements/input/NumberInput.stories.ts +3 -1
  704. package/src/components/compositions/elements/input/PasswordInput.stories.ts +3 -1
  705. package/src/components/compositions/elements/input/RangeSliderInput.stories.ts +3 -1
  706. package/src/components/compositions/elements/input/SearchInput.stories.ts +3 -1
  707. package/src/components/compositions/elements/input/TelInput.stories.ts +3 -1
  708. package/src/components/compositions/elements/input/TextInput.stories.ts +3 -1
  709. package/src/components/compositions/elements/input/TextareaInput.stories.ts +3 -1
  710. package/src/components/compositions/elements/input/UrlInput.stories.ts +3 -1
  711. package/src/components/compositions/elements/option-select/AsyncSelectOption.stories.ts +3 -1
  712. package/src/components/compositions/elements/option-select/AutoCompleteOption.stories.ts +3 -1
  713. package/src/components/compositions/elements/option-select/CheckboxOption.stories.ts +3 -1
  714. package/src/components/compositions/elements/option-select/IntegrationConnectorOption.stories.ts +3 -1
  715. package/src/components/compositions/elements/option-select/ListOption.stories.ts +3 -1
  716. package/src/components/compositions/elements/option-select/PillSelectOption.stories.ts +3 -1
  717. package/src/components/compositions/elements/option-select/RadioOption.stories.ts +3 -1
  718. package/src/components/compositions/elements/option-select/SelectMultipleOption.stories.ts +3 -1
  719. package/src/components/compositions/elements/option-select/SelectOption.stories.ts +3 -1
  720. package/src/components/compositions/elements/picker/AsyncSelectPicker.stories.ts +3 -1
  721. package/src/components/compositions/elements/picker/ColorPicker.stories.ts +3 -1
  722. package/src/components/compositions/elements/picker/DataModelPicker.stories.ts +3 -1
  723. package/src/components/compositions/elements/picker/DatePicker.stories.ts +3 -1
  724. package/src/components/compositions/elements/picker/DateTimePicker.stories.ts +3 -1
  725. package/src/components/compositions/elements/picker/IconPicker.stories.ts +3 -1
  726. package/src/components/compositions/elements/{components → picker}/IconPickerInline.stories.ts +3 -1
  727. package/src/components/compositions/elements/{components → picker}/IconPickerInline.test.ts +8 -8
  728. package/src/components/compositions/elements/{components → picker}/IconPickerInline.vue +4 -4
  729. package/src/components/compositions/elements/picker/IntegrationConnectorPicker.stories.ts +3 -1
  730. package/src/components/compositions/elements/picker/MapPicker.stories.ts +3 -1
  731. package/src/components/compositions/elements/picker/TimePicker.stories.ts +3 -1
  732. package/src/components/compositions/elements/picker/TimezonePicker.stories.ts +3 -1
  733. package/src/components/ui/accordion/Accordion.stories.ts +2 -0
  734. package/src/components/ui/alert/Alert.stories.ts +2 -0
  735. package/src/components/ui/avatar/Avatar.stories.ts +2 -0
  736. package/src/components/ui/badge/Badge.stories.ts +2 -0
  737. package/src/components/ui/button/Button.stories.ts +5 -0
  738. package/src/components/ui/calendar/Calendar.stories.ts +2 -0
  739. package/src/components/ui/card/Card.stories.ts +2 -0
  740. package/src/components/ui/checkbox/Checkbox.stories.ts +2 -0
  741. package/src/components/ui/combobox/Combobox.stories.ts +2 -0
  742. package/src/components/ui/command/Command.stories.ts +2 -0
  743. package/src/components/ui/dialog/Dialog.stories.ts +2 -0
  744. package/src/components/ui/dropdown-menu/DropdownMenu.stories.ts +2 -0
  745. package/src/components/ui/field-frame/FieldFrame.stories.ts +1 -1
  746. package/src/components/ui/index.ts +3 -3
  747. package/src/components/ui/input/Input.stories.ts +2 -0
  748. package/src/components/ui/label/Label.stories.ts +2 -0
  749. package/src/components/ui/popover/Popover.stories.ts +2 -0
  750. package/src/components/ui/progress/Progress.stories.ts +2 -0
  751. package/src/components/ui/radio-group/RadioGroup.stories.ts +2 -0
  752. package/src/components/ui/select/Select.stories.ts +2 -0
  753. package/src/components/ui/separator/Separator.stories.ts +2 -0
  754. package/src/components/ui/sheet/Sheet.stories.ts +2 -0
  755. package/src/components/ui/skeleton/Skeleton.stories.ts +2 -0
  756. package/src/components/ui/slider/Slider.stories.ts +2 -0
  757. package/src/components/ui/switch/Switch.stories.ts +2 -0
  758. package/src/components/ui/table/Table.stories.ts +2 -0
  759. package/src/components/ui/tabs/Tabs.stories.ts +2 -0
  760. package/src/components/ui/textarea/Textarea.stories.ts +2 -0
  761. package/src/components/ui/toast/Toaster.stories.ts +2 -0
  762. package/src/components/ui/toast/index.ts +1 -1
  763. package/src/components/ui/toggle/Toggle.stories.ts +2 -0
  764. package/src/components/ui/tooltip/Tooltip.stories.ts +2 -0
  765. package/src/configuration-block.ts +4 -0
  766. package/src/definitions/__tests__/schema.test.ts +0 -1
  767. package/src/definitions/elements/PickerElement.ts +2 -0
  768. package/src/definitions/elements/index.ts +0 -18
  769. package/src/definitions/index.ts +1 -1
  770. package/src/definitions/shared/base.ts +0 -1
  771. package/src/display.ts +15 -0
  772. package/src/editor.ts +5 -0
  773. package/src/engine/registry.ts +1 -7
  774. package/src/engine/useFormData.ts +1 -1
  775. package/src/file.ts +3 -0
  776. package/src/index.ts +3 -3
  777. package/src/input.ts +10 -0
  778. package/src/lib/storybook.ts +67 -0
  779. package/src/option-select.ts +9 -0
  780. package/src/pages/IndexPage.stories.ts +2 -1
  781. package/src/pages/ShowPage.stories.ts +2 -1
  782. package/src/pages/ShowPage.vue +1 -1
  783. package/src/picker.ts +11 -0
  784. package/src/stores/dependencyListBuilderStore.ts +1 -1
  785. package/src/stores/elementListBuilderStore.ts +1 -1
  786. package/src/stores/formBuilderStore.ts +1 -1
  787. package/src/stores/formDataStore.ts +1 -1
  788. package/src/stores/gridBuilderStore.ts +1 -1
  789. package/src/stores/objectBuilderStore.ts +1 -1
  790. package/src/stores/presetBuilderStore.ts +1 -1
  791. package/src/stores/quizBuilderStore.ts +1 -1
  792. package/src/stores/reactiveCanvasBuilderStore.ts +1 -1
  793. package/src/styles/themes/dark.css +1 -1
  794. package/src/styles/themes/default.css +1 -1
  795. package/src/styles/themes/kiosk.css +1 -1
  796. package/dist/components/compositions/elements/components/IconBadge.vue.js +0 -5
  797. package/dist/components/compositions/elements/components/IconBadge.vue.js.map +0 -1
  798. package/dist/components/compositions/elements/components/IconBadge.vue2.js +0 -77
  799. package/dist/components/compositions/elements/components/IconBadge.vue2.js.map +0 -1
  800. package/dist/components/compositions/elements/components/IconPickerInline.vue.js +0 -5
  801. package/dist/components/compositions/elements/components/IconPickerInline.vue.js.map +0 -1
  802. package/dist/components/compositions/elements/components/IconPickerInline.vue2.js.map +0 -1
  803. package/dist/definitions/elements/ComponentsElement.d.ts +0 -187
  804. package/dist/definitions/elements/ComponentsElement.d.ts.map +0 -1
  805. package/dist/definitions/elements/ComponentsElement.js +0 -111
  806. package/dist/definitions/elements/ComponentsElement.js.map +0 -1
  807. package/dist/styles/index.css +0 -1
  808. package/src/components/compositions/elements/components/IconBadge.stories.ts +0 -96
  809. package/src/components/compositions/elements/components/IconBadge.test.ts +0 -70
  810. package/src/components/compositions/elements/components/IconBadge.vue +0 -121
  811. package/src/definitions/elements/ComponentsElement.ts +0 -149
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOption.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"SelectOption.vue.js","sources":["../../../../../src/components/compositions/elements/option-select/SelectOption.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven single-select composition. Composes the shadcn `Select`\n * primitive with `FieldFrame` chrome.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <SelectOption v-model=\"role\" :options=\"[...]\" label=\"Role\" />\n *\n * The JSON-driven engine renders this via `ElementRenderer`, which binds\n * `modelValue` / `errors` to the form-data store automatically.\n */\nimport { computed } from \"vue\"\nimport type { SelectOptionLike } from \"@/definitions/shared/select-options\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface SelectOptionProps {\n modelValue?: string | number | null\n options?: SelectOptionLike[]\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nconst props = withDefaults(defineProps<SelectOptionProps>(), {\n errors: () => [],\n options: () => [],\n})\n\nconst model = defineModel<string | number | null>(\"modelValue\")\n\ninterface NormalisedOption {\n label: string\n value: string\n disabled: boolean\n}\n\nfunction normaliseOption(opt: SelectOptionLike): NormalisedOption {\n if (typeof opt === \"string\") {\n return { label: opt, value: opt, disabled: false }\n }\n return {\n label: opt.label,\n value: String(opt.value),\n disabled: Boolean(opt.disabled),\n }\n}\n\nconst normalised = computed<NormalisedOption[]>(() =>\n (props.options ?? []).map(normaliseOption),\n)\n\nconst triggerValue = computed<string | undefined>(() => {\n if (model.value === undefined || model.value === null) {\n return undefined\n }\n return String(model.value)\n})\n\nfunction onUpdate(next: unknown): void {\n if (next === undefined || next === null) {\n model.value = null\n return\n }\n if (typeof next === \"string\" || typeof next === \"number\") {\n model.value = next\n return\n }\n if (Array.isArray(next)) {\n const first = next[0]\n model.value =\n typeof first === \"string\" || typeof first === \"number\" ? first : null\n return\n }\n model.value = String(next)\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 <Select\n :model-value=\"triggerValue\"\n :disabled=\"disabled || readonly\"\n :name=\"name\"\n :required=\"required\"\n @update:model-value=\"onUpdate\"\n >\n <SelectTrigger\n :id=\"id\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n >\n <SelectValue :placeholder=\"placeholder ?? 'Select…'\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n v-for=\"opt in normalised\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n :disabled=\"opt.disabled\"\n >\n {{ opt.label }}\n </SelectItem>\n </SelectContent>\n </Select>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","normaliseOption","opt","normalised","computed","triggerValue","onUpdate","next","first","_createBlock","_unref","FieldFrame","_createVNode","Select","SelectTrigger","_normalizeClass","SelectValue","SelectContent","_createElementBlock","_Fragment","_renderList","SelectItem","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,UAAMA,IAAQC,GAKRC,IAAQC,KAAoC,YAAY;AAQ9D,aAASC,EAAgBC,GAAyC;AAChE,aAAI,OAAOA,KAAQ,WACV,EAAE,OAAOA,GAAK,OAAOA,GAAK,UAAU,GAAA,IAEtC;AAAA,QACL,OAAOA,EAAI;AAAA,QACX,OAAO,OAAOA,EAAI,KAAK;AAAA,QACvB,UAAU,EAAQA,EAAI;AAAA,MAAQ;AAAA,IAElC;AAEA,UAAMC,IAAaC;AAAA,MAA6B,OAC7CP,EAAM,WAAW,CAAA,GAAI,IAAII,CAAe;AAAA,IAAA,GAGrCI,IAAeD,EAA6B,MAAM;AACtD,UAAI,EAAAL,EAAM,UAAU,UAAaA,EAAM,UAAU;AAGjD,eAAO,OAAOA,EAAM,KAAK;AAAA,IAC3B,CAAC;AAED,aAASO,EAASC,GAAqB;AACrC,UAA0BA,KAAS,MAAM;AACvC,QAAAR,EAAM,QAAQ;AACd;AAAA,MACF;AACA,UAAI,OAAOQ,KAAS,YAAY,OAAOA,KAAS,UAAU;AACxD,QAAAR,EAAM,QAAQQ;AACd;AAAA,MACF;AACA,UAAI,MAAM,QAAQA,CAAI,GAAG;AACvB,cAAMC,IAAQD,EAAK,CAAC;AACpB,QAAAR,EAAM,QACJ,OAAOS,KAAU,YAAY,OAAOA,KAAU,WAAWA,IAAQ;AACnE;AAAA,MACF;AACA,MAAAT,EAAM,QAAQ,OAAOQ,CAAI;AAAA,IAC3B;2BAIEE,EAiCaC,EAAAC,CAAA,GAAA;AAAA,MAhCV,OAAOb,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,IAAA;iBAET,MAwBS;AAAA,QAxBTc,EAwBSF,EAAAG,CAAA,GAAA;AAAA,UAvBN,eAAaR,EAAA;AAAA,UACb,UAAUP,EAAA,YAAYA,EAAA;AAAA,UACtB,MAAMA,EAAA;AAAA,UACN,UAAUA,EAAA;AAAA,UACV,uBAAoBQ;AAAA,QAAA;qBAErB,MAMgB;AAAA,YANhBM,EAMgBF,EAAAI,CAAA,GAAA;AAAA,cALb,IAAIhB,EAAA;AAAA,cACJ,qBAAmBA,EAAA,QAAQ;AAAA,cAC3B,OAAKiB,EAAEjB,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,YAAA;yBAErB,MAAuD;AAAA,gBAAvDc,EAAuDF,EAAAM,CAAA,GAAA;AAAA,kBAAzC,aAAalB,EAAA,eAAW;AAAA,gBAAA;;;;YAExCc,EASgBF,EAAAO,CAAA,GAAA,MAAA;AAAA,yBAPZ,MAAyB;AAAA,wBAD3BC,EAOaC,GAAA,MAAAC,EANGjB,EAAA,OAAU,CAAjBD,YADTO,EAOaC,EAAAW,CAAA,GAAA;AAAA,kBALV,KAAKnB,EAAI;AAAA,kBACT,OAAOA,EAAI;AAAA,kBACX,UAAUA,EAAI;AAAA,gBAAA;6BAEf,MAAe;AAAA,oBAAZoB,EAAAC,EAAArB,EAAI,KAAK,GAAA,CAAA;AAAA,kBAAA;;;;;;;;;;;;;;"}
@@ -1,119 +1,5 @@
1
- import { defineComponent as h, useModel as y, computed as u, openBlock as n, createBlock as m, unref as r, withCtx as i, createVNode as o, normalizeClass as g, createElementBlock as p, Fragment as B, renderList as V, createTextVNode as q, toDisplayString as S, mergeModels as $ } from "vue";
2
- import k from "../../../ui/select/Select.vue.js";
3
- import C from "../../../ui/select/SelectContent.vue.js";
4
- import "@vueuse/core";
5
- import "reka-ui";
6
- import "clsx";
7
- import "tailwind-merge";
8
- import L from "../../../ui/select/SelectItem.vue.js";
9
- import "lucide-vue-next";
10
- import M from "../../../ui/select/SelectTrigger.vue.js";
11
- import T from "../../../ui/select/SelectValue.vue.js";
12
- import A from "../../../ui/field-frame/FieldFrame.vue.js";
13
- const I = /* @__PURE__ */ h({
14
- __name: "SelectOption",
15
- props: /* @__PURE__ */ $({
16
- modelValue: {},
17
- options: { default: () => [] },
18
- id: {},
19
- name: {},
20
- label: {},
21
- hideLabel: { type: Boolean },
22
- placeholder: {},
23
- required: { type: Boolean },
24
- readonly: { type: Boolean },
25
- disabled: { type: Boolean },
26
- helpText: {},
27
- errors: { default: () => [] }
28
- }, {
29
- modelValue: {},
30
- modelModifiers: {}
31
- }),
32
- emits: ["update:modelValue"],
33
- setup(e) {
34
- const f = e, a = y(e, "modelValue");
35
- function s(l) {
36
- return typeof l == "string" ? { label: l, value: l, disabled: !1 } : {
37
- label: l.label,
38
- value: String(l.value),
39
- disabled: !!l.disabled
40
- };
41
- }
42
- const c = u(
43
- () => (f.options ?? []).map(s)
44
- ), b = u(() => {
45
- if (!(a.value === void 0 || a.value === null))
46
- return String(a.value);
47
- });
48
- function v(l) {
49
- if (l == null) {
50
- a.value = null;
51
- return;
52
- }
53
- if (typeof l == "string" || typeof l == "number") {
54
- a.value = l;
55
- return;
56
- }
57
- if (Array.isArray(l)) {
58
- const t = l[0];
59
- a.value = typeof t == "string" || typeof t == "number" ? t : null;
60
- return;
61
- }
62
- a.value = String(l);
63
- }
64
- return (l, t) => (n(), m(r(A), {
65
- label: e.label,
66
- required: e.required,
67
- "hide-label": e.hideLabel,
68
- for: e.id,
69
- "help-text": e.helpText,
70
- errors: e.errors
71
- }, {
72
- default: i(() => [
73
- o(r(k), {
74
- "model-value": b.value,
75
- disabled: e.disabled || e.readonly,
76
- name: e.name,
77
- required: e.required,
78
- "onUpdate:modelValue": v
79
- }, {
80
- default: i(() => [
81
- o(r(M), {
82
- id: e.id,
83
- "data-element-name": e.name ?? void 0,
84
- class: g(e.errors.length ? "border-destructive ring-destructive" : "")
85
- }, {
86
- default: i(() => [
87
- o(r(T), {
88
- placeholder: e.placeholder ?? "Select…"
89
- }, null, 8, ["placeholder"])
90
- ]),
91
- _: 1
92
- }, 8, ["id", "data-element-name", "class"]),
93
- o(r(C), null, {
94
- default: i(() => [
95
- (n(!0), p(B, null, V(c.value, (d) => (n(), m(r(L), {
96
- key: d.value,
97
- value: d.value,
98
- disabled: d.disabled
99
- }, {
100
- default: i(() => [
101
- q(S(d.label), 1)
102
- ]),
103
- _: 2
104
- }, 1032, ["value", "disabled"]))), 128))
105
- ]),
106
- _: 1
107
- })
108
- ]),
109
- _: 1
110
- }, 8, ["model-value", "disabled", "name", "required"])
111
- ]),
112
- _: 1
113
- }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
114
- }
115
- });
1
+ import f from "./SelectOption.vue.js";
116
2
  export {
117
- I as default
3
+ f as default
118
4
  };
119
5
  //# sourceMappingURL=SelectOption.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOption.vue2.js","sources":["../../../../../src/components/compositions/elements/option-select/SelectOption.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven single-select composition. Composes the shadcn `Select`\n * primitive with `FieldFrame` chrome.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <SelectOption v-model=\"role\" :options=\"[...]\" label=\"Role\" />\n *\n * The JSON-driven engine renders this via `ElementRenderer`, which binds\n * `modelValue` / `errors` to the form-data store automatically.\n */\nimport { computed } from \"vue\"\nimport type { SelectOptionLike } from \"@/definitions/shared/select-options\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface SelectOptionProps {\n modelValue?: string | number | null\n options?: SelectOptionLike[]\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nconst props = withDefaults(defineProps<SelectOptionProps>(), {\n errors: () => [],\n options: () => [],\n})\n\nconst model = defineModel<string | number | null>(\"modelValue\")\n\ninterface NormalisedOption {\n label: string\n value: string\n disabled: boolean\n}\n\nfunction normaliseOption(opt: SelectOptionLike): NormalisedOption {\n if (typeof opt === \"string\") {\n return { label: opt, value: opt, disabled: false }\n }\n return {\n label: opt.label,\n value: String(opt.value),\n disabled: Boolean(opt.disabled),\n }\n}\n\nconst normalised = computed<NormalisedOption[]>(() =>\n (props.options ?? []).map(normaliseOption),\n)\n\nconst triggerValue = computed<string | undefined>(() => {\n if (model.value === undefined || model.value === null) {\n return undefined\n }\n return String(model.value)\n})\n\nfunction onUpdate(next: unknown): void {\n if (next === undefined || next === null) {\n model.value = null\n return\n }\n if (typeof next === \"string\" || typeof next === \"number\") {\n model.value = next\n return\n }\n if (Array.isArray(next)) {\n const first = next[0]\n model.value =\n typeof first === \"string\" || typeof first === \"number\" ? first : null\n return\n }\n model.value = String(next)\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 <Select\n :model-value=\"triggerValue\"\n :disabled=\"disabled || readonly\"\n :name=\"name\"\n :required=\"required\"\n @update:model-value=\"onUpdate\"\n >\n <SelectTrigger\n :id=\"id\"\n :data-element-name=\"name ?? undefined\"\n :class=\"errors.length ? 'border-destructive ring-destructive' : ''\"\n >\n <SelectValue :placeholder=\"placeholder ?? 'Select…'\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n v-for=\"opt in normalised\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n :disabled=\"opt.disabled\"\n >\n {{ opt.label }}\n </SelectItem>\n </SelectContent>\n </Select>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","normaliseOption","opt","normalised","computed","triggerValue","onUpdate","next","first","_createBlock","_unref","FieldFrame","_createVNode","Select","SelectTrigger","_normalizeClass","SelectValue","SelectContent","_createElementBlock","_Fragment","_renderList","SelectItem","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,UAAMA,IAAQC,GAKRC,IAAQC,KAAoC,YAAY;AAQ9D,aAASC,EAAgBC,GAAyC;AAChE,aAAI,OAAOA,KAAQ,WACV,EAAE,OAAOA,GAAK,OAAOA,GAAK,UAAU,GAAA,IAEtC;AAAA,QACL,OAAOA,EAAI;AAAA,QACX,OAAO,OAAOA,EAAI,KAAK;AAAA,QACvB,UAAU,EAAQA,EAAI;AAAA,MAAQ;AAAA,IAElC;AAEA,UAAMC,IAAaC;AAAA,MAA6B,OAC7CP,EAAM,WAAW,CAAA,GAAI,IAAII,CAAe;AAAA,IAAA,GAGrCI,IAAeD,EAA6B,MAAM;AACtD,UAAI,EAAAL,EAAM,UAAU,UAAaA,EAAM,UAAU;AAGjD,eAAO,OAAOA,EAAM,KAAK;AAAA,IAC3B,CAAC;AAED,aAASO,EAASC,GAAqB;AACrC,UAA0BA,KAAS,MAAM;AACvC,QAAAR,EAAM,QAAQ;AACd;AAAA,MACF;AACA,UAAI,OAAOQ,KAAS,YAAY,OAAOA,KAAS,UAAU;AACxD,QAAAR,EAAM,QAAQQ;AACd;AAAA,MACF;AACA,UAAI,MAAM,QAAQA,CAAI,GAAG;AACvB,cAAMC,IAAQD,EAAK,CAAC;AACpB,QAAAR,EAAM,QACJ,OAAOS,KAAU,YAAY,OAAOA,KAAU,WAAWA,IAAQ;AACnE;AAAA,MACF;AACA,MAAAT,EAAM,QAAQ,OAAOQ,CAAI;AAAA,IAC3B;2BAIEE,EAiCaC,EAAAC,CAAA,GAAA;AAAA,MAhCV,OAAOb,EAAA;AAAA,MACP,UAAUA,EAAA;AAAA,MACV,cAAYA,EAAA;AAAA,MACZ,KAAKA,EAAA;AAAA,MACL,aAAWA,EAAA;AAAA,MACX,QAAQA,EAAA;AAAA,IAAA;iBAET,MAwBS;AAAA,QAxBTc,EAwBSF,EAAAG,CAAA,GAAA;AAAA,UAvBN,eAAaR,EAAA;AAAA,UACb,UAAUP,EAAA,YAAYA,EAAA;AAAA,UACtB,MAAMA,EAAA;AAAA,UACN,UAAUA,EAAA;AAAA,UACV,uBAAoBQ;AAAA,QAAA;qBAErB,MAMgB;AAAA,YANhBM,EAMgBF,EAAAI,CAAA,GAAA;AAAA,cALb,IAAIhB,EAAA;AAAA,cACJ,qBAAmBA,EAAA,QAAQ;AAAA,cAC3B,OAAKiB,EAAEjB,EAAA,OAAO,SAAM,wCAAA,EAAA;AAAA,YAAA;yBAErB,MAAuD;AAAA,gBAAvDc,EAAuDF,EAAAM,CAAA,GAAA;AAAA,kBAAzC,aAAalB,EAAA,eAAW;AAAA,gBAAA;;;;YAExCc,EASgBF,EAAAO,CAAA,GAAA,MAAA;AAAA,yBAPZ,MAAyB;AAAA,wBAD3BC,EAOaC,GAAA,MAAAC,EANGjB,EAAA,OAAU,CAAjBD,YADTO,EAOaC,EAAAW,CAAA,GAAA;AAAA,kBALV,KAAKnB,EAAI;AAAA,kBACT,OAAOA,EAAI;AAAA,kBACX,UAAUA,EAAI;AAAA,gBAAA;6BAEf,MAAe;AAAA,oBAAZoB,EAAAC,EAAArB,EAAI,KAAK,GAAA,CAAA;AAAA,kBAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SelectOption.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,40 @@
1
+ import { SelectOptionLike } from '../../../../definitions/shared/select-options';
2
+ export interface AsyncSelectPickerProps {
3
+ modelValue?: string | number | null;
4
+ id?: string;
5
+ name?: string;
6
+ label?: string;
7
+ hideLabel?: boolean;
8
+ placeholder?: string;
9
+ required?: boolean;
10
+ readonly?: boolean;
11
+ disabled?: boolean;
12
+ helpText?: string;
13
+ errors?: string[];
14
+ onSearch?: (query: string) => Promise<SelectOptionLike[]>;
15
+ initialOptions?: SelectOptionLike[];
16
+ minSearchLength?: number;
17
+ debounceMs?: number;
18
+ loadingText?: string;
19
+ emptyText?: string;
20
+ }
21
+ type __VLS_Props = AsyncSelectPickerProps;
22
+ type __VLS_PublicProps = {
23
+ "modelValue"?: string | number | null;
24
+ } & __VLS_Props;
25
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
26
+ trigger: (next: string) => void;
27
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
28
+ "update:modelValue": (value: string | number | null) => any;
29
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onUpdate:modelValue"?: ((value: string | number | null) => any) | undefined;
31
+ }>, {
32
+ minSearchLength: number;
33
+ emptyText: string;
34
+ errors: string[];
35
+ initialOptions: SelectOptionLike[];
36
+ debounceMs: number;
37
+ loadingText: string;
38
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
39
+ export default _default;
40
+ //# sourceMappingURL=AsyncSelectPicker.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncSelectPicker.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/picker/AsyncSelectPicker.vue"],"names":[],"mappings":"AA8OA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAa3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACzD,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACnC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,KAAK,WAAW,GAAG,sBAAsB,CAAC;AA8G1C,KAAK,iBAAiB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACrC,GAAG,WAAW,CAAC;;;;;;;;qBAtHI,MAAM;eAGZ,MAAM;YANT,MAAM,EAAE;oBAEA,gBAAgB,EAAE;gBAEtB,MAAM;iBACL,MAAM;;AAgXtB,wBAUG"}
@@ -1,5 +1,185 @@
1
- import f from "./AsyncSelectPicker.vue2.js";
1
+ import { defineComponent as T, useModel as A, watch as C, computed as f, openBlock as i, createBlock as h, unref as t, withCtx as d, createVNode as r, normalizeClass as q, createElementBlock as v, toDisplayString as c, createElementVNode as N, createCommentVNode as L, createTextVNode as V, Fragment as U, renderList as _, mergeModels as D } from "vue";
2
+ import { ChevronsUpDown as E, Search as R, Loader2 as j } from "lucide-vue-next";
3
+ import z from "../../../ui/combobox/Combobox.vue.js";
4
+ import F from "../../../ui/combobox/ComboboxAnchor.vue.js";
5
+ import I from "../../../ui/combobox/ComboboxContent.vue.js";
6
+ import P from "../../../ui/combobox/ComboboxEmpty.vue.js";
7
+ import "@vueuse/core";
8
+ import "reka-ui";
9
+ import "clsx";
10
+ import "tailwind-merge";
11
+ import G from "../../../ui/combobox/ComboboxInput.vue.js";
12
+ import H from "../../../ui/combobox/ComboboxItem.vue.js";
13
+ import J from "../../../ui/combobox/ComboboxItemIndicator.vue.js";
14
+ import K from "../../../ui/field-frame/FieldFrame.vue.js";
15
+ import { useAsyncSearch as Q } from "../../../../composables/useAsyncSearch.js";
16
+ const W = {
17
+ key: 0,
18
+ class: "truncate text-sm",
19
+ "data-testid": "async-picker-label"
20
+ }, X = {
21
+ key: 1,
22
+ class: "text-sm text-muted-foreground"
23
+ }, Y = { class: "flex items-center border-b px-2 py-1.5" }, Z = {
24
+ key: 0,
25
+ class: "px-2 py-2 text-sm text-muted-foreground",
26
+ "data-testid": "async-picker-loading-text"
27
+ }, ve = /* @__PURE__ */ T({
28
+ __name: "AsyncSelectPicker",
29
+ props: /* @__PURE__ */ D({
30
+ modelValue: {},
31
+ id: {},
32
+ name: {},
33
+ label: {},
34
+ hideLabel: { type: Boolean },
35
+ placeholder: {},
36
+ required: { type: Boolean },
37
+ readonly: { type: Boolean },
38
+ disabled: { type: Boolean },
39
+ helpText: {},
40
+ errors: { default: () => [] },
41
+ onSearch: {},
42
+ initialOptions: { default: () => [] },
43
+ minSearchLength: { default: 1 },
44
+ debounceMs: { default: 250 },
45
+ loadingText: { default: "Loading..." },
46
+ emptyText: { default: "No results" }
47
+ }, {
48
+ modelValue: {},
49
+ modelModifiers: {}
50
+ }),
51
+ emits: ["update:modelValue"],
52
+ setup(a, { expose: O }) {
53
+ const l = a, s = A(a, "modelValue");
54
+ function g(e) {
55
+ return typeof e == "string" ? { label: e, value: e, disabled: !1 } : {
56
+ label: e.label,
57
+ value: String(e.value),
58
+ disabled: !!e.disabled
59
+ };
60
+ }
61
+ const { query: p, results: b, isLoading: x, trigger: k } = Q({
62
+ onSearch: l.onSearch,
63
+ initialOptions: l.initialOptions,
64
+ minSearchLength: l.minSearchLength,
65
+ debounceMs: l.debounceMs
66
+ });
67
+ C(
68
+ () => l.initialOptions,
69
+ (e) => {
70
+ p.value.length < l.minSearchLength && (b.value = e ? [...e] : []);
71
+ }
72
+ );
73
+ const y = f(
74
+ () => (b.value ?? []).map(g)
75
+ ), w = f(() => {
76
+ const e = (l.initialOptions ?? []).map(g), o = y.value, n = /* @__PURE__ */ new Map();
77
+ for (const u of e)
78
+ n.set(u.value, u);
79
+ for (const u of o)
80
+ n.set(u.value, u);
81
+ return Array.from(n.values());
82
+ }), m = f(() => {
83
+ if (!(s.value === void 0 || s.value === null))
84
+ return String(s.value);
85
+ }), S = f(() => {
86
+ if (m.value === void 0)
87
+ return "";
88
+ const e = w.value.find((o) => o.value === m.value);
89
+ return e ? e.label : m.value;
90
+ });
91
+ function B(e) {
92
+ const o = e.target.value;
93
+ k(o);
94
+ }
95
+ function $(e) {
96
+ if (Array.isArray(e)) {
97
+ s.value = e[0] === void 0 ? null : e[0];
98
+ return;
99
+ }
100
+ s.value = e === void 0 ? null : e;
101
+ }
102
+ function M(e) {
103
+ e && p.value === "" && (b.value = l.initialOptions ? [...l.initialOptions] : []);
104
+ }
105
+ return O({ trigger: k }), (e, o) => (i(), h(t(K), {
106
+ label: a.label,
107
+ required: a.required,
108
+ "hide-label": a.hideLabel,
109
+ for: a.id,
110
+ "help-text": a.helpText,
111
+ errors: a.errors
112
+ }, {
113
+ default: d(() => [
114
+ r(t(z), {
115
+ "model-value": m.value,
116
+ disabled: a.disabled || a.readonly,
117
+ "ignore-filter": "",
118
+ "onUpdate:modelValue": $,
119
+ "onUpdate:open": M
120
+ }, {
121
+ default: d(() => [
122
+ r(t(F), {
123
+ "data-element-name": a.name ?? void 0,
124
+ "data-testid": "async-picker-anchor",
125
+ class: q([
126
+ "justify-between text-left",
127
+ a.errors.length ? "border-destructive ring-destructive" : ""
128
+ ])
129
+ }, {
130
+ default: d(() => [
131
+ S.value ? (i(), v("span", W, c(S.value), 1)) : (i(), v("span", X, c(a.placeholder ?? "Select…"), 1)),
132
+ r(t(E), { class: "ml-2 h-4 w-4 shrink-0 opacity-50" })
133
+ ]),
134
+ _: 1
135
+ }, 8, ["data-element-name", "class"]),
136
+ r(t(I), null, {
137
+ default: d(() => [
138
+ N("div", Y, [
139
+ r(t(R), { class: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
140
+ r(t(G), {
141
+ id: a.id,
142
+ "model-value": t(p),
143
+ placeholder: a.placeholder ?? "Search…",
144
+ class: "h-8",
145
+ "data-testid": "async-picker-input",
146
+ onInput: B
147
+ }, null, 8, ["id", "model-value", "placeholder"]),
148
+ t(x) ? (i(), h(t(j), {
149
+ key: 0,
150
+ "data-testid": "async-picker-loader",
151
+ class: "ml-2 h-4 w-4 shrink-0 animate-spin text-muted-foreground"
152
+ })) : L("", !0)
153
+ ]),
154
+ t(x) ? (i(), v("div", Z, c(a.loadingText), 1)) : y.value.length === 0 ? (i(), h(t(P), { key: 1 }, {
155
+ default: d(() => [
156
+ V(c(a.emptyText), 1)
157
+ ]),
158
+ _: 1
159
+ })) : L("", !0),
160
+ (i(!0), v(U, null, _(y.value, (n) => (i(), h(t(H), {
161
+ key: n.value,
162
+ value: n.value,
163
+ disabled: n.disabled
164
+ }, {
165
+ default: d(() => [
166
+ r(t(J)),
167
+ V(" " + c(n.label), 1)
168
+ ]),
169
+ _: 2
170
+ }, 1032, ["value", "disabled"]))), 128))
171
+ ]),
172
+ _: 1
173
+ })
174
+ ]),
175
+ _: 1
176
+ }, 8, ["model-value", "disabled"])
177
+ ]),
178
+ _: 1
179
+ }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
180
+ }
181
+ });
2
182
  export {
3
- f as default
183
+ ve as default
4
184
  };
5
185
  //# sourceMappingURL=AsyncSelectPicker.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncSelectPicker.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"AsyncSelectPicker.vue.js","sources":["../../../../../src/components/compositions/elements/picker/AsyncSelectPicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven async select picker composition. Same callback-driven\n * search surface as `AsyncSelectOption` but presented as a button-style\n * picker — the trigger reads as a single selected value with a chevron,\n * and the Combobox panel appears beneath it.\n *\n * <AsyncSelectPicker\n * v-model=\"userId\"\n * label=\"User\"\n * :on-search=\"(q) => fetch(`/users?q=${q}`).then(r => r.json())\"\n * />\n */\nimport { computed, watch } from \"vue\"\nimport { ChevronsUpDown, Loader2, Search } from \"lucide-vue-next\"\nimport type { SelectOptionLike } from \"@/definitions/shared/select-options\"\nimport {\n Combobox,\n ComboboxAnchor,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxItemIndicator,\n} from \"@/components/ui/combobox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { useAsyncSearch } from \"@/composables/useAsyncSearch\"\n\nexport interface AsyncSelectPickerProps {\n modelValue?: string | number | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n onSearch?: (query: string) => Promise<SelectOptionLike[]>\n initialOptions?: SelectOptionLike[]\n minSearchLength?: number\n debounceMs?: number\n loadingText?: string\n emptyText?: string\n}\n\nconst props = withDefaults(defineProps<AsyncSelectPickerProps>(), {\n errors: () => [],\n initialOptions: () => [],\n minSearchLength: 1,\n debounceMs: 250,\n loadingText: \"Loading...\",\n emptyText: \"No results\",\n})\n\nconst model = defineModel<string | number | null>(\"modelValue\")\n\ninterface NormalisedOption {\n label: string\n value: string\n disabled: boolean\n}\n\nfunction normaliseOption(opt: SelectOptionLike): NormalisedOption {\n if (typeof opt === \"string\") {\n return { label: opt, value: opt, disabled: false }\n }\n return {\n label: opt.label,\n value: String(opt.value),\n disabled: Boolean(opt.disabled),\n }\n}\n\nconst { query, results, isLoading, trigger } = useAsyncSearch({\n onSearch: props.onSearch,\n initialOptions: props.initialOptions,\n minSearchLength: props.minSearchLength,\n debounceMs: props.debounceMs,\n})\n\nwatch(\n () => props.initialOptions,\n (next) => {\n if (query.value.length < props.minSearchLength) {\n results.value = next ? [...next] : []\n }\n },\n)\n\nconst normalisedResults = computed<NormalisedOption[]>(() =>\n (results.value ?? []).map(normaliseOption),\n)\n\nconst normalisedAll = computed<NormalisedOption[]>(() => {\n const initial = (props.initialOptions ?? []).map(normaliseOption)\n const fromResults = normalisedResults.value\n const merged = new Map<string, NormalisedOption>()\n for (const o of initial) {\n merged.set(o.value, o)\n }\n for (const o of fromResults) {\n merged.set(o.value, o)\n }\n return Array.from(merged.values())\n})\n\nconst currentValue = computed<string | undefined>(() => {\n if (model.value === undefined || model.value === null) {\n return undefined\n }\n return String(model.value)\n})\n\nconst selectedLabel = computed<string>(() => {\n if (currentValue.value === undefined) {\n return \"\"\n }\n const match = normalisedAll.value.find((o) => o.value === currentValue.value)\n return match ? match.label : currentValue.value\n})\n\nfunction onInput(event: Event): void {\n const next = (event.target as HTMLInputElement).value\n trigger(next)\n}\n\nfunction onUpdate(next: unknown): void {\n if (Array.isArray(next)) {\n model.value = next[0] === undefined ? null : (next[0] as string | number)\n return\n }\n model.value = next === undefined ? null : (next as string | number)\n}\n\nfunction onOpenChange(open: boolean): void {\n if (open && query.value === \"\") {\n results.value = props.initialOptions ? [...props.initialOptions] : []\n }\n}\n\ndefineExpose({ trigger })\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 <Combobox\n :model-value=\"currentValue\"\n :disabled=\"disabled || readonly\"\n ignore-filter\n @update:model-value=\"onUpdate\"\n @update:open=\"onOpenChange\"\n >\n <ComboboxAnchor\n :data-element-name=\"name ?? undefined\"\n data-testid=\"async-picker-anchor\"\n :class=\"[\n 'justify-between text-left',\n errors.length ? 'border-destructive ring-destructive' : '',\n ]\"\n >\n <span\n v-if=\"selectedLabel\"\n class=\"truncate text-sm\"\n data-testid=\"async-picker-label\"\n >\n {{ selectedLabel }}\n </span>\n <span v-else class=\"text-sm text-muted-foreground\">\n {{ placeholder ?? \"Select…\" }}\n </span>\n <ChevronsUpDown class=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </ComboboxAnchor>\n <ComboboxContent>\n <div class=\"flex items-center border-b px-2 py-1.5\">\n <Search class=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <ComboboxInput\n :id=\"id\"\n :model-value=\"query\"\n :placeholder=\"placeholder ?? 'Search…'\"\n class=\"h-8\"\n data-testid=\"async-picker-input\"\n @input=\"onInput\"\n />\n <Loader2\n v-if=\"isLoading\"\n data-testid=\"async-picker-loader\"\n class=\"ml-2 h-4 w-4 shrink-0 animate-spin text-muted-foreground\"\n />\n </div>\n <div\n v-if=\"isLoading\"\n class=\"px-2 py-2 text-sm text-muted-foreground\"\n data-testid=\"async-picker-loading-text\"\n >\n {{ loadingText }}\n </div>\n <ComboboxEmpty v-else-if=\"normalisedResults.length === 0\">\n {{ emptyText }}\n </ComboboxEmpty>\n <ComboboxItem\n v-for=\"opt in normalisedResults\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n :disabled=\"opt.disabled\"\n >\n <ComboboxItemIndicator />\n {{ opt.label }}\n </ComboboxItem>\n </ComboboxContent>\n </Combobox>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","normaliseOption","opt","query","results","isLoading","trigger","useAsyncSearch","watch","next","normalisedResults","computed","normalisedAll","initial","fromResults","merged","o","currentValue","selectedLabel","match","onInput","event","onUpdate","onOpenChange","open","__expose","_createBlock","_unref","FieldFrame","_createVNode","Combobox","ComboboxAnchor","_normalizeClass","_createElementBlock","_hoisted_1","_toDisplayString","_hoisted_2","ChevronsUpDown","ComboboxContent","_createElementVNode","_hoisted_3","Search","ComboboxInput","Loader2","_hoisted_4","ComboboxEmpty","_Fragment","_renderList","ComboboxItem","ComboboxItemIndicator"],"mappings":"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"}
@@ -1,185 +1,5 @@
1
- import { defineComponent as T, useModel as A, watch as C, computed as f, openBlock as i, createBlock as h, unref as t, withCtx as d, createVNode as r, normalizeClass as q, createElementBlock as v, toDisplayString as c, createElementVNode as N, createCommentVNode as L, createTextVNode as V, Fragment as U, renderList as _, mergeModels as D } from "vue";
2
- import { ChevronsUpDown as E, Search as R, Loader2 as j } from "lucide-vue-next";
3
- import z from "../../../ui/combobox/Combobox.vue.js";
4
- import F from "../../../ui/combobox/ComboboxAnchor.vue.js";
5
- import I from "../../../ui/combobox/ComboboxContent.vue.js";
6
- import P from "../../../ui/combobox/ComboboxEmpty.vue.js";
7
- import "@vueuse/core";
8
- import "reka-ui";
9
- import "clsx";
10
- import "tailwind-merge";
11
- import G from "../../../ui/combobox/ComboboxInput.vue.js";
12
- import H from "../../../ui/combobox/ComboboxItem.vue.js";
13
- import J from "../../../ui/combobox/ComboboxItemIndicator.vue.js";
14
- import K from "../../../ui/field-frame/FieldFrame.vue.js";
15
- import { useAsyncSearch as Q } from "../../../../composables/useAsyncSearch.js";
16
- const W = {
17
- key: 0,
18
- class: "truncate text-sm",
19
- "data-testid": "async-picker-label"
20
- }, X = {
21
- key: 1,
22
- class: "text-sm text-muted-foreground"
23
- }, Y = { class: "flex items-center border-b px-2 py-1.5" }, Z = {
24
- key: 0,
25
- class: "px-2 py-2 text-sm text-muted-foreground",
26
- "data-testid": "async-picker-loading-text"
27
- }, ve = /* @__PURE__ */ T({
28
- __name: "AsyncSelectPicker",
29
- props: /* @__PURE__ */ D({
30
- modelValue: {},
31
- id: {},
32
- name: {},
33
- label: {},
34
- hideLabel: { type: Boolean },
35
- placeholder: {},
36
- required: { type: Boolean },
37
- readonly: { type: Boolean },
38
- disabled: { type: Boolean },
39
- helpText: {},
40
- errors: { default: () => [] },
41
- onSearch: {},
42
- initialOptions: { default: () => [] },
43
- minSearchLength: { default: 1 },
44
- debounceMs: { default: 250 },
45
- loadingText: { default: "Loading..." },
46
- emptyText: { default: "No results" }
47
- }, {
48
- modelValue: {},
49
- modelModifiers: {}
50
- }),
51
- emits: ["update:modelValue"],
52
- setup(a, { expose: O }) {
53
- const l = a, s = A(a, "modelValue");
54
- function g(e) {
55
- return typeof e == "string" ? { label: e, value: e, disabled: !1 } : {
56
- label: e.label,
57
- value: String(e.value),
58
- disabled: !!e.disabled
59
- };
60
- }
61
- const { query: p, results: b, isLoading: x, trigger: k } = Q({
62
- onSearch: l.onSearch,
63
- initialOptions: l.initialOptions,
64
- minSearchLength: l.minSearchLength,
65
- debounceMs: l.debounceMs
66
- });
67
- C(
68
- () => l.initialOptions,
69
- (e) => {
70
- p.value.length < l.minSearchLength && (b.value = e ? [...e] : []);
71
- }
72
- );
73
- const y = f(
74
- () => (b.value ?? []).map(g)
75
- ), w = f(() => {
76
- const e = (l.initialOptions ?? []).map(g), o = y.value, n = /* @__PURE__ */ new Map();
77
- for (const u of e)
78
- n.set(u.value, u);
79
- for (const u of o)
80
- n.set(u.value, u);
81
- return Array.from(n.values());
82
- }), m = f(() => {
83
- if (!(s.value === void 0 || s.value === null))
84
- return String(s.value);
85
- }), S = f(() => {
86
- if (m.value === void 0)
87
- return "";
88
- const e = w.value.find((o) => o.value === m.value);
89
- return e ? e.label : m.value;
90
- });
91
- function B(e) {
92
- const o = e.target.value;
93
- k(o);
94
- }
95
- function $(e) {
96
- if (Array.isArray(e)) {
97
- s.value = e[0] === void 0 ? null : e[0];
98
- return;
99
- }
100
- s.value = e === void 0 ? null : e;
101
- }
102
- function M(e) {
103
- e && p.value === "" && (b.value = l.initialOptions ? [...l.initialOptions] : []);
104
- }
105
- return O({ trigger: k }), (e, o) => (i(), h(t(K), {
106
- label: a.label,
107
- required: a.required,
108
- "hide-label": a.hideLabel,
109
- for: a.id,
110
- "help-text": a.helpText,
111
- errors: a.errors
112
- }, {
113
- default: d(() => [
114
- r(t(z), {
115
- "model-value": m.value,
116
- disabled: a.disabled || a.readonly,
117
- "ignore-filter": "",
118
- "onUpdate:modelValue": $,
119
- "onUpdate:open": M
120
- }, {
121
- default: d(() => [
122
- r(t(F), {
123
- "data-element-name": a.name ?? void 0,
124
- "data-testid": "async-picker-anchor",
125
- class: q([
126
- "justify-between text-left",
127
- a.errors.length ? "border-destructive ring-destructive" : ""
128
- ])
129
- }, {
130
- default: d(() => [
131
- S.value ? (i(), v("span", W, c(S.value), 1)) : (i(), v("span", X, c(a.placeholder ?? "Select…"), 1)),
132
- r(t(E), { class: "ml-2 h-4 w-4 shrink-0 opacity-50" })
133
- ]),
134
- _: 1
135
- }, 8, ["data-element-name", "class"]),
136
- r(t(I), null, {
137
- default: d(() => [
138
- N("div", Y, [
139
- r(t(R), { class: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
140
- r(t(G), {
141
- id: a.id,
142
- "model-value": t(p),
143
- placeholder: a.placeholder ?? "Search…",
144
- class: "h-8",
145
- "data-testid": "async-picker-input",
146
- onInput: B
147
- }, null, 8, ["id", "model-value", "placeholder"]),
148
- t(x) ? (i(), h(t(j), {
149
- key: 0,
150
- "data-testid": "async-picker-loader",
151
- class: "ml-2 h-4 w-4 shrink-0 animate-spin text-muted-foreground"
152
- })) : L("", !0)
153
- ]),
154
- t(x) ? (i(), v("div", Z, c(a.loadingText), 1)) : y.value.length === 0 ? (i(), h(t(P), { key: 1 }, {
155
- default: d(() => [
156
- V(c(a.emptyText), 1)
157
- ]),
158
- _: 1
159
- })) : L("", !0),
160
- (i(!0), v(U, null, _(y.value, (n) => (i(), h(t(H), {
161
- key: n.value,
162
- value: n.value,
163
- disabled: n.disabled
164
- }, {
165
- default: d(() => [
166
- r(t(J)),
167
- V(" " + c(n.label), 1)
168
- ]),
169
- _: 2
170
- }, 1032, ["value", "disabled"]))), 128))
171
- ]),
172
- _: 1
173
- })
174
- ]),
175
- _: 1
176
- }, 8, ["model-value", "disabled"])
177
- ]),
178
- _: 1
179
- }, 8, ["label", "required", "hide-label", "for", "help-text", "errors"]));
180
- }
181
- });
1
+ import f from "./AsyncSelectPicker.vue.js";
182
2
  export {
183
- ve as default
3
+ f as default
184
4
  };
185
5
  //# sourceMappingURL=AsyncSelectPicker.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncSelectPicker.vue2.js","sources":["../../../../../src/components/compositions/elements/picker/AsyncSelectPicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven async select picker composition. Same callback-driven\n * search surface as `AsyncSelectOption` but presented as a button-style\n * picker — the trigger reads as a single selected value with a chevron,\n * and the Combobox panel appears beneath it.\n *\n * <AsyncSelectPicker\n * v-model=\"userId\"\n * label=\"User\"\n * :on-search=\"(q) => fetch(`/users?q=${q}`).then(r => r.json())\"\n * />\n */\nimport { computed, watch } from \"vue\"\nimport { ChevronsUpDown, Loader2, Search } from \"lucide-vue-next\"\nimport type { SelectOptionLike } from \"@/definitions/shared/select-options\"\nimport {\n Combobox,\n ComboboxAnchor,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxItemIndicator,\n} from \"@/components/ui/combobox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { useAsyncSearch } from \"@/composables/useAsyncSearch\"\n\nexport interface AsyncSelectPickerProps {\n modelValue?: string | number | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n onSearch?: (query: string) => Promise<SelectOptionLike[]>\n initialOptions?: SelectOptionLike[]\n minSearchLength?: number\n debounceMs?: number\n loadingText?: string\n emptyText?: string\n}\n\nconst props = withDefaults(defineProps<AsyncSelectPickerProps>(), {\n errors: () => [],\n initialOptions: () => [],\n minSearchLength: 1,\n debounceMs: 250,\n loadingText: \"Loading...\",\n emptyText: \"No results\",\n})\n\nconst model = defineModel<string | number | null>(\"modelValue\")\n\ninterface NormalisedOption {\n label: string\n value: string\n disabled: boolean\n}\n\nfunction normaliseOption(opt: SelectOptionLike): NormalisedOption {\n if (typeof opt === \"string\") {\n return { label: opt, value: opt, disabled: false }\n }\n return {\n label: opt.label,\n value: String(opt.value),\n disabled: Boolean(opt.disabled),\n }\n}\n\nconst { query, results, isLoading, trigger } = useAsyncSearch({\n onSearch: props.onSearch,\n initialOptions: props.initialOptions,\n minSearchLength: props.minSearchLength,\n debounceMs: props.debounceMs,\n})\n\nwatch(\n () => props.initialOptions,\n (next) => {\n if (query.value.length < props.minSearchLength) {\n results.value = next ? [...next] : []\n }\n },\n)\n\nconst normalisedResults = computed<NormalisedOption[]>(() =>\n (results.value ?? []).map(normaliseOption),\n)\n\nconst normalisedAll = computed<NormalisedOption[]>(() => {\n const initial = (props.initialOptions ?? []).map(normaliseOption)\n const fromResults = normalisedResults.value\n const merged = new Map<string, NormalisedOption>()\n for (const o of initial) {\n merged.set(o.value, o)\n }\n for (const o of fromResults) {\n merged.set(o.value, o)\n }\n return Array.from(merged.values())\n})\n\nconst currentValue = computed<string | undefined>(() => {\n if (model.value === undefined || model.value === null) {\n return undefined\n }\n return String(model.value)\n})\n\nconst selectedLabel = computed<string>(() => {\n if (currentValue.value === undefined) {\n return \"\"\n }\n const match = normalisedAll.value.find((o) => o.value === currentValue.value)\n return match ? match.label : currentValue.value\n})\n\nfunction onInput(event: Event): void {\n const next = (event.target as HTMLInputElement).value\n trigger(next)\n}\n\nfunction onUpdate(next: unknown): void {\n if (Array.isArray(next)) {\n model.value = next[0] === undefined ? null : (next[0] as string | number)\n return\n }\n model.value = next === undefined ? null : (next as string | number)\n}\n\nfunction onOpenChange(open: boolean): void {\n if (open && query.value === \"\") {\n results.value = props.initialOptions ? [...props.initialOptions] : []\n }\n}\n\ndefineExpose({ trigger })\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 <Combobox\n :model-value=\"currentValue\"\n :disabled=\"disabled || readonly\"\n ignore-filter\n @update:model-value=\"onUpdate\"\n @update:open=\"onOpenChange\"\n >\n <ComboboxAnchor\n :data-element-name=\"name ?? undefined\"\n data-testid=\"async-picker-anchor\"\n :class=\"[\n 'justify-between text-left',\n errors.length ? 'border-destructive ring-destructive' : '',\n ]\"\n >\n <span\n v-if=\"selectedLabel\"\n class=\"truncate text-sm\"\n data-testid=\"async-picker-label\"\n >\n {{ selectedLabel }}\n </span>\n <span v-else class=\"text-sm text-muted-foreground\">\n {{ placeholder ?? \"Select…\" }}\n </span>\n <ChevronsUpDown class=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </ComboboxAnchor>\n <ComboboxContent>\n <div class=\"flex items-center border-b px-2 py-1.5\">\n <Search class=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <ComboboxInput\n :id=\"id\"\n :model-value=\"query\"\n :placeholder=\"placeholder ?? 'Search…'\"\n class=\"h-8\"\n data-testid=\"async-picker-input\"\n @input=\"onInput\"\n />\n <Loader2\n v-if=\"isLoading\"\n data-testid=\"async-picker-loader\"\n class=\"ml-2 h-4 w-4 shrink-0 animate-spin text-muted-foreground\"\n />\n </div>\n <div\n v-if=\"isLoading\"\n class=\"px-2 py-2 text-sm text-muted-foreground\"\n data-testid=\"async-picker-loading-text\"\n >\n {{ loadingText }}\n </div>\n <ComboboxEmpty v-else-if=\"normalisedResults.length === 0\">\n {{ emptyText }}\n </ComboboxEmpty>\n <ComboboxItem\n v-for=\"opt in normalisedResults\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n :disabled=\"opt.disabled\"\n >\n <ComboboxItemIndicator />\n {{ opt.label }}\n </ComboboxItem>\n </ComboboxContent>\n </Combobox>\n </FieldFrame>\n</template>\n"],"names":["props","__props","model","_useModel","normaliseOption","opt","query","results","isLoading","trigger","useAsyncSearch","watch","next","normalisedResults","computed","normalisedAll","initial","fromResults","merged","o","currentValue","selectedLabel","match","onInput","event","onUpdate","onOpenChange","open","__expose","_createBlock","_unref","FieldFrame","_createVNode","Combobox","ComboboxAnchor","_normalizeClass","_createElementBlock","_hoisted_1","_toDisplayString","_hoisted_2","ChevronsUpDown","ComboboxContent","_createElementVNode","_hoisted_3","Search","ComboboxInput","Loader2","_hoisted_4","ComboboxEmpty","_Fragment","_renderList","ComboboxItem","ComboboxItemIndicator"],"mappings":"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"}
1
+ {"version":3,"file":"AsyncSelectPicker.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,29 @@
1
+ export interface ColorPickerProps {
2
+ modelValue?: string | null;
3
+ id?: string;
4
+ name?: string;
5
+ label?: string;
6
+ hideLabel?: boolean;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ readonly?: boolean;
10
+ disabled?: boolean;
11
+ helpText?: string;
12
+ errors?: string[];
13
+ colorFormat?: "hex" | "rgb" | "hsl";
14
+ swatches?: string[];
15
+ }
16
+ type __VLS_Props = ColorPickerProps;
17
+ type __VLS_PublicProps = {
18
+ "modelValue"?: string | null;
19
+ } & __VLS_Props;
20
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "update:modelValue": (value: string | null) => any;
22
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
23
+ "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
24
+ }>, {
25
+ swatches: string[];
26
+ errors: string[];
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
28
+ export default _default;
29
+ //# sourceMappingURL=ColorPicker.vue.d.ts.map