@gxp-dev/mod-ui 2.0.0 → 2.0.1

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 +85 -20
  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":"TabListCard.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"TabListCard.vue.js","sources":["../../../../src/components/compositions/cards/TabListCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven `tab-list` composition — renders the shadcn-vue Tabs\n * primitive where each panel is a nested DisplayCard rendered via\n * `CardRenderer`. Each tab is a fully-resolved DisplayCard (not an ID\n * lookup).\n *\n * Self-contained — directly mountable in any Vue app:\n *\n * <TabListCard\n * v-model=\"activeTab\"\n * :tabs=\"[generalCard, advancedCard]\"\n * :item=\"dataModel\"\n * />\n *\n * The tab label comes from the child card's `title`, falling back to\n * the card's `id`. The first child is the default active tab.\n */\nimport { computed, ref, watch } from \"vue\"\nimport type { DisplayCard } from \"@/definitions/cards\"\nimport type { TabListCardStyle } from \"@/definitions/cards/TabListCard\"\nimport CardRenderer from \"@/engine/CardRenderer.vue\"\nimport {\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from \"@/components/ui/tabs\"\n\nexport interface TabListCardProps {\n title?: string\n subtitle?: string\n showCard?: boolean\n /** Resolved tab cards (NOT IDs). */\n tabs?: DisplayCard[]\n /** Page-level data model passed through to child renderers. */\n item?: Record<string, unknown>\n /** Initial active tab id. Falls back to the first tab. */\n defaultTab?: string\n /** Vertical or horizontal nav layout. */\n style?: TabListCardStyle\n /** Force the nav bar to render above the panel content. */\n navOnTop?: boolean\n /** Hide the nav bar entirely (used when an external nav controls the tabs). */\n hideNav?: boolean\n}\n\nconst props = withDefaults(defineProps<TabListCardProps>(), {\n tabs: () => [],\n item: () => ({}),\n style: \"default\",\n navOnTop: false,\n hideNav: false,\n})\n\nconst activeTab = defineModel<string>(\"modelValue\")\n\nconst tabList = computed<DisplayCard[]>(() => props.tabs ?? [])\n\nconst tabIds = computed<string[]>(() => tabList.value.map((t) => t.id))\n\nfunction labelFor(card: DisplayCard): string {\n if (card.title) {\n return card.title\n }\n return card.id\n}\n\nconst internalActive = ref<string>(\n activeTab.value ?? props.defaultTab ?? tabIds.value[0] ?? \"\",\n)\n\nwatch(\n () => activeTab.value,\n (next) => {\n if (next !== undefined && next !== internalActive.value) {\n internalActive.value = next\n }\n },\n)\n\nwatch(\n () => tabIds.value,\n (next) => {\n if (!next.includes(internalActive.value)) {\n internalActive.value = next[0] ?? \"\"\n if (activeTab.value !== internalActive.value) {\n activeTab.value = internalActive.value\n }\n }\n },\n)\n\nfunction onTabChange(value: string | number): void {\n const id = String(value)\n internalActive.value = id\n activeTab.value = id\n}\n\nconst navOnTopComputed = computed<boolean>(\n () => props.style === \"horizontal\" || props.navOnTop === true,\n)\n\nconst wrapperClass = computed(() => [\n \"gxp-tab-list\",\n navOnTopComputed.value ? \"flex flex-col gap-3\" : \"flex flex-row gap-3\",\n])\n</script>\n\n<template>\n <header v-if=\"title || subtitle\" class=\"mb-3 flex flex-col gap-0.5\">\n <h3 v-if=\"title\" class=\"text-base font-semibold\">{{ title }}</h3>\n <p v-if=\"subtitle\" class=\"text-sm text-muted-foreground\">\n {{ subtitle }}\n </p>\n </header>\n <Tabs\n v-if=\"tabList.length > 0\"\n :model-value=\"internalActive\"\n :default-value=\"defaultTab ?? tabIds[0]\"\n :class=\"wrapperClass\"\n :orientation=\"navOnTopComputed ? 'horizontal' : 'vertical'\"\n @update:model-value=\"onTabChange\"\n >\n <TabsList\n v-if=\"!hideNav\"\n :class=\"[\n 'inline-flex items-center rounded-md bg-muted p-1',\n navOnTopComputed ? 'flex-row' : 'flex-col h-auto',\n ]\"\n >\n <TabsTrigger\n v-for=\"tab in tabList\"\n :key=\"tab.id\"\n :value=\"tab.id\"\n :data-tab-id=\"tab.id\"\n class=\"rounded-sm px-3 py-1.5 text-sm font-medium data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\"\n >\n {{ labelFor(tab) }}\n </TabsTrigger>\n </TabsList>\n <div class=\"flex-1\">\n <TabsContent\n v-for=\"tab in tabList\"\n :key=\"tab.id\"\n :value=\"tab.id\"\n :data-tab-panel-id=\"tab.id\"\n >\n <CardRenderer :card=\"tab\" :item=\"item\" />\n </TabsContent>\n </div>\n </Tabs>\n <p\n v-else\n class=\"text-sm text-muted-foreground italic\"\n data-testid=\"tab-list-empty\"\n >\n No tabs to display.\n </p>\n</template>\n"],"names":["props","__props","activeTab","_useModel","tabList","computed","tabIds","t","labelFor","card","internalActive","ref","watch","next","onTabChange","value","id","navOnTopComputed","wrapperClass","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_toDisplayString","_hoisted_3","_createBlock","_unref","Tabs","TabsList","_normalizeClass","_Fragment","_renderList","tab","TabsTrigger","_createTextVNode","_createElementVNode","_hoisted_4","TabsContent","_createVNode","CardRenderer","_hoisted_5"],"mappings":"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"}
@@ -1,127 +1,5 @@
1
- import { defineComponent as V, useModel as w, computed as n, ref as N, watch as y, openBlock as a, createElementBlock as u, Fragment as x, toDisplayString as h, createCommentVNode as r, createBlock as c, unref as m, normalizeClass as g, withCtx as f, renderList as k, createTextVNode as B, createElementVNode as $, createVNode as z, mergeModels as L } from "vue";
2
- import M from "../../../engine/CardRenderer.vue.js";
3
- import "../../ui/tabs/index.js";
4
- import O from "../../ui/tabs/Tabs.vue.js";
5
- import E from "../../ui/tabs/TabsList.vue.js";
6
- import F from "../../ui/tabs/TabsTrigger.vue.js";
7
- import S from "../../ui/tabs/TabsContent.vue.js";
8
- const A = {
9
- key: 0,
10
- class: "mb-3 flex flex-col gap-0.5"
11
- }, D = {
12
- key: 0,
13
- class: "text-base font-semibold"
14
- }, I = {
15
- key: 1,
16
- class: "text-sm text-muted-foreground"
17
- }, U = { class: "flex-1" }, j = {
18
- key: 2,
19
- class: "text-sm text-muted-foreground italic",
20
- "data-testid": "tab-list-empty"
21
- }, R = /* @__PURE__ */ V({
22
- __name: "TabListCard",
23
- props: /* @__PURE__ */ L({
24
- title: {},
25
- subtitle: {},
26
- showCard: { type: Boolean },
27
- tabs: { default: () => [] },
28
- item: { default: () => ({}) },
29
- defaultTab: {},
30
- style: { default: "default" },
31
- navOnTop: { type: Boolean, default: !1 },
32
- hideNav: { type: Boolean, default: !1 }
33
- }, {
34
- modelValue: {},
35
- modelModifiers: {}
36
- }),
37
- emits: ["update:modelValue"],
38
- setup(t) {
39
- const d = t, i = w(t, "modelValue"), s = n(() => d.tabs ?? []), v = n(() => s.value.map((e) => e.id));
40
- function T(e) {
41
- return e.title ? e.title : e.id;
42
- }
43
- const o = N(
44
- i.value ?? d.defaultTab ?? v.value[0] ?? ""
45
- );
46
- y(
47
- () => i.value,
48
- (e) => {
49
- e !== void 0 && e !== o.value && (o.value = e);
50
- }
51
- ), y(
52
- () => v.value,
53
- (e) => {
54
- e.includes(o.value) || (o.value = e[0] ?? "", i.value !== o.value && (i.value = o.value));
55
- }
56
- );
57
- function _(e) {
58
- const p = String(e);
59
- o.value = p, i.value = p;
60
- }
61
- const b = n(
62
- () => d.style === "horizontal" || d.navOnTop === !0
63
- ), C = n(() => [
64
- "gxp-tab-list",
65
- b.value ? "flex flex-col gap-3" : "flex flex-row gap-3"
66
- ]);
67
- return (e, p) => (a(), u(x, null, [
68
- t.title || t.subtitle ? (a(), u("header", A, [
69
- t.title ? (a(), u("h3", D, h(t.title), 1)) : r("", !0),
70
- t.subtitle ? (a(), u("p", I, h(t.subtitle), 1)) : r("", !0)
71
- ])) : r("", !0),
72
- s.value.length > 0 ? (a(), c(m(O), {
73
- key: 1,
74
- "model-value": o.value,
75
- "default-value": t.defaultTab ?? v.value[0],
76
- class: g(C.value),
77
- orientation: b.value ? "horizontal" : "vertical",
78
- "onUpdate:modelValue": _
79
- }, {
80
- default: f(() => [
81
- t.hideNav ? r("", !0) : (a(), c(m(E), {
82
- key: 0,
83
- class: g([
84
- "inline-flex items-center rounded-md bg-muted p-1",
85
- b.value ? "flex-row" : "flex-col h-auto"
86
- ])
87
- }, {
88
- default: f(() => [
89
- (a(!0), u(x, null, k(s.value, (l) => (a(), c(m(F), {
90
- key: l.id,
91
- value: l.id,
92
- "data-tab-id": l.id,
93
- class: "rounded-sm px-3 py-1.5 text-sm font-medium data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm"
94
- }, {
95
- default: f(() => [
96
- B(h(T(l)), 1)
97
- ]),
98
- _: 2
99
- }, 1032, ["value", "data-tab-id"]))), 128))
100
- ]),
101
- _: 1
102
- }, 8, ["class"])),
103
- $("div", U, [
104
- (a(!0), u(x, null, k(s.value, (l) => (a(), c(m(S), {
105
- key: l.id,
106
- value: l.id,
107
- "data-tab-panel-id": l.id
108
- }, {
109
- default: f(() => [
110
- z(M, {
111
- card: l,
112
- item: t.item
113
- }, null, 8, ["card", "item"])
114
- ]),
115
- _: 2
116
- }, 1032, ["value", "data-tab-panel-id"]))), 128))
117
- ])
118
- ]),
119
- _: 1
120
- }, 8, ["model-value", "default-value", "class", "orientation"])) : (a(), u("p", j, " No tabs to display. "))
121
- ], 64));
122
- }
123
- });
1
+ import f from "./TabListCard.vue.js";
124
2
  export {
125
- R as default
3
+ f as default
126
4
  };
127
5
  //# sourceMappingURL=TabListCard.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabListCard.vue2.js","sources":["../../../../src/components/compositions/cards/TabListCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven `tab-list` composition — renders the shadcn-vue Tabs\n * primitive where each panel is a nested DisplayCard rendered via\n * `CardRenderer`. Each tab is a fully-resolved DisplayCard (not an ID\n * lookup).\n *\n * Self-contained — directly mountable in any Vue app:\n *\n * <TabListCard\n * v-model=\"activeTab\"\n * :tabs=\"[generalCard, advancedCard]\"\n * :item=\"dataModel\"\n * />\n *\n * The tab label comes from the child card's `title`, falling back to\n * the card's `id`. The first child is the default active tab.\n */\nimport { computed, ref, watch } from \"vue\"\nimport type { DisplayCard } from \"@/definitions/cards\"\nimport type { TabListCardStyle } from \"@/definitions/cards/TabListCard\"\nimport CardRenderer from \"@/engine/CardRenderer.vue\"\nimport {\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from \"@/components/ui/tabs\"\n\nexport interface TabListCardProps {\n title?: string\n subtitle?: string\n showCard?: boolean\n /** Resolved tab cards (NOT IDs). */\n tabs?: DisplayCard[]\n /** Page-level data model passed through to child renderers. */\n item?: Record<string, unknown>\n /** Initial active tab id. Falls back to the first tab. */\n defaultTab?: string\n /** Vertical or horizontal nav layout. */\n style?: TabListCardStyle\n /** Force the nav bar to render above the panel content. */\n navOnTop?: boolean\n /** Hide the nav bar entirely (used when an external nav controls the tabs). */\n hideNav?: boolean\n}\n\nconst props = withDefaults(defineProps<TabListCardProps>(), {\n tabs: () => [],\n item: () => ({}),\n style: \"default\",\n navOnTop: false,\n hideNav: false,\n})\n\nconst activeTab = defineModel<string>(\"modelValue\")\n\nconst tabList = computed<DisplayCard[]>(() => props.tabs ?? [])\n\nconst tabIds = computed<string[]>(() => tabList.value.map((t) => t.id))\n\nfunction labelFor(card: DisplayCard): string {\n if (card.title) {\n return card.title\n }\n return card.id\n}\n\nconst internalActive = ref<string>(\n activeTab.value ?? props.defaultTab ?? tabIds.value[0] ?? \"\",\n)\n\nwatch(\n () => activeTab.value,\n (next) => {\n if (next !== undefined && next !== internalActive.value) {\n internalActive.value = next\n }\n },\n)\n\nwatch(\n () => tabIds.value,\n (next) => {\n if (!next.includes(internalActive.value)) {\n internalActive.value = next[0] ?? \"\"\n if (activeTab.value !== internalActive.value) {\n activeTab.value = internalActive.value\n }\n }\n },\n)\n\nfunction onTabChange(value: string | number): void {\n const id = String(value)\n internalActive.value = id\n activeTab.value = id\n}\n\nconst navOnTopComputed = computed<boolean>(\n () => props.style === \"horizontal\" || props.navOnTop === true,\n)\n\nconst wrapperClass = computed(() => [\n \"gxp-tab-list\",\n navOnTopComputed.value ? \"flex flex-col gap-3\" : \"flex flex-row gap-3\",\n])\n</script>\n\n<template>\n <header v-if=\"title || subtitle\" class=\"mb-3 flex flex-col gap-0.5\">\n <h3 v-if=\"title\" class=\"text-base font-semibold\">{{ title }}</h3>\n <p v-if=\"subtitle\" class=\"text-sm text-muted-foreground\">\n {{ subtitle }}\n </p>\n </header>\n <Tabs\n v-if=\"tabList.length > 0\"\n :model-value=\"internalActive\"\n :default-value=\"defaultTab ?? tabIds[0]\"\n :class=\"wrapperClass\"\n :orientation=\"navOnTopComputed ? 'horizontal' : 'vertical'\"\n @update:model-value=\"onTabChange\"\n >\n <TabsList\n v-if=\"!hideNav\"\n :class=\"[\n 'inline-flex items-center rounded-md bg-muted p-1',\n navOnTopComputed ? 'flex-row' : 'flex-col h-auto',\n ]\"\n >\n <TabsTrigger\n v-for=\"tab in tabList\"\n :key=\"tab.id\"\n :value=\"tab.id\"\n :data-tab-id=\"tab.id\"\n class=\"rounded-sm px-3 py-1.5 text-sm font-medium data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\"\n >\n {{ labelFor(tab) }}\n </TabsTrigger>\n </TabsList>\n <div class=\"flex-1\">\n <TabsContent\n v-for=\"tab in tabList\"\n :key=\"tab.id\"\n :value=\"tab.id\"\n :data-tab-panel-id=\"tab.id\"\n >\n <CardRenderer :card=\"tab\" :item=\"item\" />\n </TabsContent>\n </div>\n </Tabs>\n <p\n v-else\n class=\"text-sm text-muted-foreground italic\"\n data-testid=\"tab-list-empty\"\n >\n No tabs to display.\n </p>\n</template>\n"],"names":["props","__props","activeTab","_useModel","tabList","computed","tabIds","t","labelFor","card","internalActive","ref","watch","next","onTabChange","value","id","navOnTopComputed","wrapperClass","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_toDisplayString","_hoisted_3","_createBlock","_unref","Tabs","TabsList","_normalizeClass","_Fragment","_renderList","tab","TabsTrigger","_createTextVNode","_createElementVNode","_hoisted_4","TabsContent","_createVNode","CardRenderer","_hoisted_5"],"mappings":"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"}
1
+ {"version":3,"file":"TabListCard.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,42 @@
1
+ export type ButtonActionVariant = "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "success" | "warning" | "info";
2
+ export type ButtonActionSize = "sm" | "md" | "lg";
3
+ export interface ButtonActionProps {
4
+ label?: string;
5
+ variant?: ButtonActionVariant;
6
+ size?: ButtonActionSize;
7
+ /** Lucide icon name rendered before the label. */
8
+ icon?: string;
9
+ /** Navigation target — renders as an anchor when set and confirm is false. */
10
+ href?: string;
11
+ target?: "_self" | "_blank" | "_parent" | "_top";
12
+ /** Custom event name emitted via `action` when clicked. */
13
+ emit?: string;
14
+ /** Show a confirmation dialog before firing. */
15
+ confirm?: boolean;
16
+ /** Confirmation message displayed in the dialog. */
17
+ confirmMessage?: string;
18
+ disabled?: boolean;
19
+ /** Render full width. */
20
+ block?: boolean;
21
+ /** HTML name attribute. */
22
+ name?: string;
23
+ /** HTML id attribute. */
24
+ id?: string;
25
+ }
26
+ declare const _default: import('vue').DefineComponent<ButtonActionProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
27
+ action: (payload: {
28
+ name: string;
29
+ }) => any;
30
+ click: (event: MouseEvent) => any;
31
+ }, string, import('vue').PublicProps, Readonly<ButtonActionProps> & Readonly<{
32
+ onAction?: ((payload: {
33
+ name: string;
34
+ }) => any) | undefined;
35
+ onClick?: ((event: MouseEvent) => any) | undefined;
36
+ }>, {
37
+ variant: ButtonActionVariant;
38
+ size: ButtonActionSize;
39
+ target: "_self" | "_blank" | "_parent" | "_top";
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
41
+ export default _default;
42
+ //# sourceMappingURL=ButtonAction.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonAction.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/action/ButtonAction.vue"],"names":[],"mappings":"AAyNA,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAChD,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;;;cAWgC,MAAM;;;;;cAAN,MAAM;;;;aA/B3B,mBAAmB;UACtB,gBAAgB;YAKd,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM;;AAiTlD,wBAQG"}
@@ -1,5 +1,160 @@
1
- import f from "./ButtonAction.vue2.js";
1
+ import { defineComponent as N, computed as d, ref as M, openBlock as m, createElementBlock as g, Fragment as V, createVNode as l, unref as i, normalizeClass as _, withCtx as o, createBlock as C, resolveDynamicComponent as I, createCommentVNode as p, toDisplayString as w, createTextVNode as u } from "vue";
2
+ import * as L from "lucide-vue-next";
3
+ import "../../../ui/button/index.js";
4
+ import S from "../../../ui/dialog/Dialog.vue.js";
5
+ import "reka-ui";
6
+ import U from "../../../ui/dialog/DialogContent.vue.js";
7
+ import j from "../../../ui/dialog/DialogDescription.vue.js";
8
+ import E from "../../../ui/dialog/DialogFooter.vue.js";
9
+ import F from "../../../ui/dialog/DialogHeader.vue.js";
10
+ import "@vueuse/core";
11
+ import "clsx";
12
+ import "tailwind-merge";
13
+ import O from "../../../ui/dialog/DialogTitle.vue.js";
14
+ import v from "../../../ui/button/Button.vue.js";
15
+ const T = { key: 1 }, te = /* @__PURE__ */ N({
16
+ __name: "ButtonAction",
17
+ props: {
18
+ label: {},
19
+ variant: { default: "default" },
20
+ size: { default: "md" },
21
+ icon: {},
22
+ href: {},
23
+ target: { default: "_self" },
24
+ emit: {},
25
+ confirm: { type: Boolean },
26
+ confirmMessage: {},
27
+ disabled: { type: Boolean },
28
+ block: { type: Boolean },
29
+ name: {},
30
+ id: {}
31
+ },
32
+ emits: ["click", "action"],
33
+ setup(t, { emit: B }) {
34
+ const e = t, c = B, h = {
35
+ sm: "sm",
36
+ md: "default",
37
+ lg: "lg"
38
+ }, z = d(
39
+ () => h[e.size] ?? "default"
40
+ ), b = L;
41
+ function $(a) {
42
+ if (!a)
43
+ return;
44
+ const n = a.split(/[-_\s]/).filter(Boolean).map((f) => f.charAt(0).toUpperCase() + f.slice(1)).join("");
45
+ return b[n] ?? b[a];
46
+ }
47
+ const k = d(() => $(e.icon)), r = M(!1);
48
+ function y() {
49
+ if (e.href) {
50
+ e.target === "_blank" ? window.open(e.href, "_blank") : window.location.assign(e.href);
51
+ return;
52
+ }
53
+ e.emit && c("action", { name: e.emit });
54
+ }
55
+ function A(a) {
56
+ if (c("click", a), e.confirm) {
57
+ a.preventDefault(), r.value = !0;
58
+ return;
59
+ }
60
+ if (!e.href && e.emit) {
61
+ a.preventDefault(), y();
62
+ return;
63
+ }
64
+ !e.href && !e.emit && a.preventDefault();
65
+ }
66
+ function D() {
67
+ r.value = !1, y();
68
+ }
69
+ function x() {
70
+ r.value = !1;
71
+ }
72
+ const s = d(
73
+ () => e.href && !e.confirm ? "a" : "button"
74
+ );
75
+ return (a, n) => (m(), g(V, null, [
76
+ l(i(v), {
77
+ id: t.id,
78
+ as: s.value,
79
+ variant: t.variant,
80
+ size: z.value,
81
+ disabled: t.disabled,
82
+ class: _(t.block ? "w-full" : ""),
83
+ "data-action-name": c ?? t.label,
84
+ "data-element-name": t.name ?? void 0,
85
+ href: s.value === "a" ? t.href : void 0,
86
+ target: s.value === "a" ? t.target : void 0,
87
+ onClick: A
88
+ }, {
89
+ default: o(() => [
90
+ k.value ? (m(), C(I(k.value), {
91
+ key: 0,
92
+ class: "h-4 w-4"
93
+ })) : p("", !0),
94
+ t.label ? (m(), g("span", T, w(t.label), 1)) : p("", !0)
95
+ ]),
96
+ _: 1
97
+ }, 8, ["id", "as", "variant", "size", "disabled", "class", "data-action-name", "data-element-name", "href", "target"]),
98
+ t.confirm ? (m(), C(i(S), {
99
+ key: 0,
100
+ open: r.value,
101
+ "onUpdate:open": n[0] || (n[0] = (f) => r.value = f)
102
+ }, {
103
+ default: o(() => [
104
+ l(i(U), null, {
105
+ default: o(() => [
106
+ l(i(F), null, {
107
+ default: o(() => [
108
+ l(i(O), null, {
109
+ default: o(() => [...n[1] || (n[1] = [
110
+ u("Confirm action", -1)
111
+ ])]),
112
+ _: 1
113
+ }),
114
+ l(i(j), null, {
115
+ default: o(() => [
116
+ u(w(t.confirmMessage ?? "Are you sure you want to continue?"), 1)
117
+ ]),
118
+ _: 1
119
+ })
120
+ ]),
121
+ _: 1
122
+ }),
123
+ l(i(E), null, {
124
+ default: o(() => [
125
+ l(i(v), {
126
+ variant: "outline",
127
+ type: "button",
128
+ onClick: x
129
+ }, {
130
+ default: o(() => [...n[2] || (n[2] = [
131
+ u(" Cancel ", -1)
132
+ ])]),
133
+ _: 1
134
+ }),
135
+ l(i(v), {
136
+ variant: "default",
137
+ type: "button",
138
+ onClick: D
139
+ }, {
140
+ default: o(() => [...n[3] || (n[3] = [
141
+ u(" Confirm ", -1)
142
+ ])]),
143
+ _: 1
144
+ })
145
+ ]),
146
+ _: 1
147
+ })
148
+ ]),
149
+ _: 1
150
+ })
151
+ ]),
152
+ _: 1
153
+ }, 8, ["open"])) : p("", !0)
154
+ ], 64));
155
+ }
156
+ });
2
157
  export {
3
- f as default
158
+ te as default
4
159
  };
5
160
  //# sourceMappingURL=ButtonAction.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonAction.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"ButtonAction.vue.js","sources":["../../../../../src/components/compositions/elements/action/ButtonAction.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven button composition. Composes the shadcn `Button`\n * primitive with click / href / emit / confirm behaviour.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <ButtonAction label=\"Save\" variant=\"default\" @click=\"save\" />\n * <ButtonAction label=\"Docs\" href=\"https://example.com\" target=\"_blank\" />\n * <ButtonAction label=\"Delete\" variant=\"destructive\" confirm @action=\"onDelete\" />\n *\n * Action elements do NOT use FieldFrame — they're not form inputs and\n * don't need label/help/error chrome.\n */\nimport { computed, ref } from \"vue\"\nimport * as LucideIcons from \"lucide-vue-next\"\nimport type { FunctionalComponent } from \"vue\"\n\ntype LucideIcon = FunctionalComponent\n\nimport { Button, type ButtonVariants } from \"@/components/ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\"\n\nexport type ButtonActionVariant =\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"ghost\"\n | \"link\"\n | \"success\"\n | \"warning\"\n | \"info\"\n\nexport type ButtonActionSize = \"sm\" | \"md\" | \"lg\"\n\nexport interface ButtonActionProps {\n label?: string\n variant?: ButtonActionVariant\n size?: ButtonActionSize\n /** Lucide icon name rendered before the label. */\n icon?: string\n /** Navigation target — renders as an anchor when set and confirm is false. */\n href?: string\n target?: \"_self\" | \"_blank\" | \"_parent\" | \"_top\"\n /** Custom event name emitted via `action` when clicked. */\n emit?: string\n /** Show a confirmation dialog before firing. */\n confirm?: boolean\n /** Confirmation message displayed in the dialog. */\n confirmMessage?: string\n disabled?: boolean\n /** Render full width. */\n block?: boolean\n /** HTML name attribute. */\n name?: string\n /** HTML id attribute. */\n id?: string\n}\n\nconst props = withDefaults(defineProps<ButtonActionProps>(), {\n variant: \"default\",\n size: \"md\",\n target: \"_self\",\n})\n\nconst emit = defineEmits<{\n (e: \"click\", event: MouseEvent): void\n (e: \"action\", payload: { name: string }): void\n}>()\n\nconst sizeMap: Record<ButtonActionSize, ButtonVariants[\"size\"]> = {\n sm: \"sm\",\n md: \"default\",\n lg: \"lg\",\n}\n\nconst mappedSize = computed<ButtonVariants[\"size\"]>(\n () => sizeMap[props.size] ?? \"default\",\n)\n\nconst iconLibrary = LucideIcons as unknown as Record<string, LucideIcon>\nfunction resolveIcon(name: string | undefined): LucideIcon | undefined {\n if (!name) {\n return undefined\n }\n const pascal = name\n .split(/[-_\\s]/)\n .filter(Boolean)\n .map((s) => s.charAt(0).toUpperCase() + s.slice(1))\n .join(\"\")\n return iconLibrary[pascal] ?? iconLibrary[name]\n}\nconst icon = computed(() => resolveIcon(props.icon))\n\nconst confirmOpen = ref(false)\n\nfunction performAction(): void {\n if (props.href) {\n if (props.target === \"_blank\") {\n window.open(props.href, \"_blank\")\n } else {\n window.location.assign(props.href)\n }\n return\n }\n if (props.emit) {\n emit(\"action\", { name: props.emit })\n }\n}\n\nfunction onClick(event: MouseEvent): void {\n emit(\"click\", event)\n if (props.confirm) {\n event.preventDefault()\n confirmOpen.value = true\n return\n }\n if (!props.href && props.emit) {\n event.preventDefault()\n performAction()\n return\n }\n if (!props.href && !props.emit) {\n event.preventDefault()\n }\n}\n\nfunction confirmYes(): void {\n confirmOpen.value = false\n performAction()\n}\n\nfunction confirmNo(): void {\n confirmOpen.value = false\n}\n\nconst renderAs = computed<\"a\" | \"button\">(() =>\n props.href && !props.confirm ? \"a\" : \"button\",\n)\n</script>\n\n<template>\n <Button\n :id=\"id\"\n :as=\"renderAs\"\n :variant=\"variant\"\n :size=\"mappedSize\"\n :disabled=\"disabled\"\n :class=\"block ? 'w-full' : ''\"\n :data-action-name=\"emit ?? label\"\n :data-element-name=\"name ?? undefined\"\n :href=\"renderAs === 'a' ? href : undefined\"\n :target=\"renderAs === 'a' ? target : undefined\"\n @click=\"onClick\"\n >\n <component :is=\"icon\" v-if=\"icon\" class=\"h-4 w-4\" />\n <span v-if=\"label\">{{ label }}</span>\n </Button>\n\n <Dialog v-if=\"confirm\" v-model:open=\"confirmOpen\">\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Confirm action</DialogTitle>\n <DialogDescription>\n {{ confirmMessage ?? \"Are you sure you want to continue?\" }}\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <Button variant=\"outline\" type=\"button\" @click=\"confirmNo\">\n Cancel\n </Button>\n <Button variant=\"default\" type=\"button\" @click=\"confirmYes\">\n Confirm\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n</template>\n"],"names":["props","__props","emit","__emit","sizeMap","mappedSize","computed","iconLibrary","LucideIcons","resolveIcon","name","pascal","s","icon","confirmOpen","ref","performAction","onClick","event","confirmYes","confirmNo","renderAs","_createVNode","_unref","Button","_openBlock","_createBlock","_resolveDynamicComponent","_createElementBlock","Dialog","$event","DialogContent","DialogHeader","DialogTitle","_cache","DialogDescription","DialogFooter"],"mappings":"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"}
@@ -1,160 +1,5 @@
1
- import { defineComponent as N, computed as d, ref as M, openBlock as m, createElementBlock as g, Fragment as V, createVNode as l, unref as i, normalizeClass as _, withCtx as o, createBlock as C, resolveDynamicComponent as I, createCommentVNode as p, toDisplayString as w, createTextVNode as u } from "vue";
2
- import * as L from "lucide-vue-next";
3
- import "../../../ui/button/index.js";
4
- import S from "../../../ui/dialog/Dialog.vue.js";
5
- import "reka-ui";
6
- import U from "../../../ui/dialog/DialogContent.vue.js";
7
- import j from "../../../ui/dialog/DialogDescription.vue.js";
8
- import E from "../../../ui/dialog/DialogFooter.vue.js";
9
- import F from "../../../ui/dialog/DialogHeader.vue.js";
10
- import "@vueuse/core";
11
- import "clsx";
12
- import "tailwind-merge";
13
- import O from "../../../ui/dialog/DialogTitle.vue.js";
14
- import v from "../../../ui/button/Button.vue.js";
15
- const T = { key: 1 }, te = /* @__PURE__ */ N({
16
- __name: "ButtonAction",
17
- props: {
18
- label: {},
19
- variant: { default: "default" },
20
- size: { default: "md" },
21
- icon: {},
22
- href: {},
23
- target: { default: "_self" },
24
- emit: {},
25
- confirm: { type: Boolean },
26
- confirmMessage: {},
27
- disabled: { type: Boolean },
28
- block: { type: Boolean },
29
- name: {},
30
- id: {}
31
- },
32
- emits: ["click", "action"],
33
- setup(t, { emit: B }) {
34
- const e = t, c = B, h = {
35
- sm: "sm",
36
- md: "default",
37
- lg: "lg"
38
- }, z = d(
39
- () => h[e.size] ?? "default"
40
- ), b = L;
41
- function $(a) {
42
- if (!a)
43
- return;
44
- const n = a.split(/[-_\s]/).filter(Boolean).map((f) => f.charAt(0).toUpperCase() + f.slice(1)).join("");
45
- return b[n] ?? b[a];
46
- }
47
- const k = d(() => $(e.icon)), r = M(!1);
48
- function y() {
49
- if (e.href) {
50
- e.target === "_blank" ? window.open(e.href, "_blank") : window.location.assign(e.href);
51
- return;
52
- }
53
- e.emit && c("action", { name: e.emit });
54
- }
55
- function A(a) {
56
- if (c("click", a), e.confirm) {
57
- a.preventDefault(), r.value = !0;
58
- return;
59
- }
60
- if (!e.href && e.emit) {
61
- a.preventDefault(), y();
62
- return;
63
- }
64
- !e.href && !e.emit && a.preventDefault();
65
- }
66
- function D() {
67
- r.value = !1, y();
68
- }
69
- function x() {
70
- r.value = !1;
71
- }
72
- const s = d(
73
- () => e.href && !e.confirm ? "a" : "button"
74
- );
75
- return (a, n) => (m(), g(V, null, [
76
- l(i(v), {
77
- id: t.id,
78
- as: s.value,
79
- variant: t.variant,
80
- size: z.value,
81
- disabled: t.disabled,
82
- class: _(t.block ? "w-full" : ""),
83
- "data-action-name": c ?? t.label,
84
- "data-element-name": t.name ?? void 0,
85
- href: s.value === "a" ? t.href : void 0,
86
- target: s.value === "a" ? t.target : void 0,
87
- onClick: A
88
- }, {
89
- default: o(() => [
90
- k.value ? (m(), C(I(k.value), {
91
- key: 0,
92
- class: "h-4 w-4"
93
- })) : p("", !0),
94
- t.label ? (m(), g("span", T, w(t.label), 1)) : p("", !0)
95
- ]),
96
- _: 1
97
- }, 8, ["id", "as", "variant", "size", "disabled", "class", "data-action-name", "data-element-name", "href", "target"]),
98
- t.confirm ? (m(), C(i(S), {
99
- key: 0,
100
- open: r.value,
101
- "onUpdate:open": n[0] || (n[0] = (f) => r.value = f)
102
- }, {
103
- default: o(() => [
104
- l(i(U), null, {
105
- default: o(() => [
106
- l(i(F), null, {
107
- default: o(() => [
108
- l(i(O), null, {
109
- default: o(() => [...n[1] || (n[1] = [
110
- u("Confirm action", -1)
111
- ])]),
112
- _: 1
113
- }),
114
- l(i(j), null, {
115
- default: o(() => [
116
- u(w(t.confirmMessage ?? "Are you sure you want to continue?"), 1)
117
- ]),
118
- _: 1
119
- })
120
- ]),
121
- _: 1
122
- }),
123
- l(i(E), null, {
124
- default: o(() => [
125
- l(i(v), {
126
- variant: "outline",
127
- type: "button",
128
- onClick: x
129
- }, {
130
- default: o(() => [...n[2] || (n[2] = [
131
- u(" Cancel ", -1)
132
- ])]),
133
- _: 1
134
- }),
135
- l(i(v), {
136
- variant: "default",
137
- type: "button",
138
- onClick: D
139
- }, {
140
- default: o(() => [...n[3] || (n[3] = [
141
- u(" Confirm ", -1)
142
- ])]),
143
- _: 1
144
- })
145
- ]),
146
- _: 1
147
- })
148
- ]),
149
- _: 1
150
- })
151
- ]),
152
- _: 1
153
- }, 8, ["open"])) : p("", !0)
154
- ], 64));
155
- }
156
- });
1
+ import f from "./ButtonAction.vue.js";
157
2
  export {
158
- te as default
3
+ f as default
159
4
  };
160
5
  //# sourceMappingURL=ButtonAction.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonAction.vue2.js","sources":["../../../../../src/components/compositions/elements/action/ButtonAction.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven button composition. Composes the shadcn `Button`\n * primitive with click / href / emit / confirm behaviour.\n *\n * Self-contained — usable directly in any Vue app:\n *\n * <ButtonAction label=\"Save\" variant=\"default\" @click=\"save\" />\n * <ButtonAction label=\"Docs\" href=\"https://example.com\" target=\"_blank\" />\n * <ButtonAction label=\"Delete\" variant=\"destructive\" confirm @action=\"onDelete\" />\n *\n * Action elements do NOT use FieldFrame — they're not form inputs and\n * don't need label/help/error chrome.\n */\nimport { computed, ref } from \"vue\"\nimport * as LucideIcons from \"lucide-vue-next\"\nimport type { FunctionalComponent } from \"vue\"\n\ntype LucideIcon = FunctionalComponent\n\nimport { Button, type ButtonVariants } from \"@/components/ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\"\n\nexport type ButtonActionVariant =\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"ghost\"\n | \"link\"\n | \"success\"\n | \"warning\"\n | \"info\"\n\nexport type ButtonActionSize = \"sm\" | \"md\" | \"lg\"\n\nexport interface ButtonActionProps {\n label?: string\n variant?: ButtonActionVariant\n size?: ButtonActionSize\n /** Lucide icon name rendered before the label. */\n icon?: string\n /** Navigation target — renders as an anchor when set and confirm is false. */\n href?: string\n target?: \"_self\" | \"_blank\" | \"_parent\" | \"_top\"\n /** Custom event name emitted via `action` when clicked. */\n emit?: string\n /** Show a confirmation dialog before firing. */\n confirm?: boolean\n /** Confirmation message displayed in the dialog. */\n confirmMessage?: string\n disabled?: boolean\n /** Render full width. */\n block?: boolean\n /** HTML name attribute. */\n name?: string\n /** HTML id attribute. */\n id?: string\n}\n\nconst props = withDefaults(defineProps<ButtonActionProps>(), {\n variant: \"default\",\n size: \"md\",\n target: \"_self\",\n})\n\nconst emit = defineEmits<{\n (e: \"click\", event: MouseEvent): void\n (e: \"action\", payload: { name: string }): void\n}>()\n\nconst sizeMap: Record<ButtonActionSize, ButtonVariants[\"size\"]> = {\n sm: \"sm\",\n md: \"default\",\n lg: \"lg\",\n}\n\nconst mappedSize = computed<ButtonVariants[\"size\"]>(\n () => sizeMap[props.size] ?? \"default\",\n)\n\nconst iconLibrary = LucideIcons as unknown as Record<string, LucideIcon>\nfunction resolveIcon(name: string | undefined): LucideIcon | undefined {\n if (!name) {\n return undefined\n }\n const pascal = name\n .split(/[-_\\s]/)\n .filter(Boolean)\n .map((s) => s.charAt(0).toUpperCase() + s.slice(1))\n .join(\"\")\n return iconLibrary[pascal] ?? iconLibrary[name]\n}\nconst icon = computed(() => resolveIcon(props.icon))\n\nconst confirmOpen = ref(false)\n\nfunction performAction(): void {\n if (props.href) {\n if (props.target === \"_blank\") {\n window.open(props.href, \"_blank\")\n } else {\n window.location.assign(props.href)\n }\n return\n }\n if (props.emit) {\n emit(\"action\", { name: props.emit })\n }\n}\n\nfunction onClick(event: MouseEvent): void {\n emit(\"click\", event)\n if (props.confirm) {\n event.preventDefault()\n confirmOpen.value = true\n return\n }\n if (!props.href && props.emit) {\n event.preventDefault()\n performAction()\n return\n }\n if (!props.href && !props.emit) {\n event.preventDefault()\n }\n}\n\nfunction confirmYes(): void {\n confirmOpen.value = false\n performAction()\n}\n\nfunction confirmNo(): void {\n confirmOpen.value = false\n}\n\nconst renderAs = computed<\"a\" | \"button\">(() =>\n props.href && !props.confirm ? \"a\" : \"button\",\n)\n</script>\n\n<template>\n <Button\n :id=\"id\"\n :as=\"renderAs\"\n :variant=\"variant\"\n :size=\"mappedSize\"\n :disabled=\"disabled\"\n :class=\"block ? 'w-full' : ''\"\n :data-action-name=\"emit ?? label\"\n :data-element-name=\"name ?? undefined\"\n :href=\"renderAs === 'a' ? href : undefined\"\n :target=\"renderAs === 'a' ? target : undefined\"\n @click=\"onClick\"\n >\n <component :is=\"icon\" v-if=\"icon\" class=\"h-4 w-4\" />\n <span v-if=\"label\">{{ label }}</span>\n </Button>\n\n <Dialog v-if=\"confirm\" v-model:open=\"confirmOpen\">\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Confirm action</DialogTitle>\n <DialogDescription>\n {{ confirmMessage ?? \"Are you sure you want to continue?\" }}\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <Button variant=\"outline\" type=\"button\" @click=\"confirmNo\">\n Cancel\n </Button>\n <Button variant=\"default\" type=\"button\" @click=\"confirmYes\">\n Confirm\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n</template>\n"],"names":["props","__props","emit","__emit","sizeMap","mappedSize","computed","iconLibrary","LucideIcons","resolveIcon","name","pascal","s","icon","confirmOpen","ref","performAction","onClick","event","confirmYes","confirmNo","renderAs","_createVNode","_unref","Button","_openBlock","_createBlock","_resolveDynamicComponent","_createElementBlock","Dialog","$event","DialogContent","DialogHeader","DialogTitle","_cache","DialogDescription","DialogFooter"],"mappings":"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"}
1
+ {"version":3,"file":"ButtonAction.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,46 @@
1
+ import { ButtonActionSize, ButtonActionVariant } from './ButtonAction.vue';
2
+ export interface ButtonGroupItem {
3
+ id?: string;
4
+ label: string;
5
+ /** Lucide icon name rendered before the label. */
6
+ icon?: string;
7
+ /** Navigation target — renders as an anchor when set. */
8
+ href?: string;
9
+ target?: "_self" | "_blank" | "_parent" | "_top";
10
+ /** Visual variant; falls back to the group's variant prop. */
11
+ variant?: ButtonActionVariant;
12
+ /** Custom event name emitted via `action` when clicked. */
13
+ emit?: string;
14
+ disabled?: boolean;
15
+ }
16
+ export interface ButtonGroupActionProps {
17
+ items?: ButtonGroupItem[];
18
+ /** Default variant applied to items that don't specify one. */
19
+ variant?: ButtonActionVariant;
20
+ size?: ButtonActionSize;
21
+ /** Render the group stretched (each child becomes flex-1). */
22
+ block?: boolean;
23
+ /** Group HTML id. */
24
+ id?: string;
25
+ /** Group name (used as `data-element-name`). */
26
+ name?: string;
27
+ }
28
+ declare const _default: import('vue').DefineComponent<ButtonGroupActionProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
29
+ action: (payload: {
30
+ name: string;
31
+ item: ButtonGroupItem;
32
+ }) => any;
33
+ click: (event: MouseEvent, item: ButtonGroupItem) => any;
34
+ }, string, import('vue').PublicProps, Readonly<ButtonGroupActionProps> & Readonly<{
35
+ onAction?: ((payload: {
36
+ name: string;
37
+ item: ButtonGroupItem;
38
+ }) => any) | undefined;
39
+ onClick?: ((event: MouseEvent, item: ButtonGroupItem) => any) | undefined;
40
+ }>, {
41
+ variant: ButtonActionVariant;
42
+ size: ButtonActionSize;
43
+ items: ButtonGroupItem[];
44
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
45
+ export default _default;
46
+ //# sourceMappingURL=ButtonGroupAction.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroupAction.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/compositions/elements/action/ButtonGroupAction.vue"],"names":[],"mappings":"AA0JA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAChD,8DAA8D;IAC9D,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;IACzB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qBAAqB;IACrB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;;;cAYoB,MAAM;cAAQ,eAAe;;;;;cAA7B,MAAM;cAAQ,eAAe;;;;aApBtC,mBAAmB;UACtB,gBAAgB;WAHf,eAAe,EAAE;;AAuK3B,wBASG"}