@gxp-dev/mod-ui 2.0.12 → 2.0.14

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 (1470) hide show
  1. package/dist/_styles.d.ts +1 -0
  2. package/dist/_styles.d.ts.map +1 -0
  3. package/dist/_styles.js +2 -0
  4. package/dist/action.d.ts.map +1 -1
  5. package/dist/action.js +4 -5
  6. package/dist/boolean.d.ts.map +1 -1
  7. package/dist/boolean.js +5 -6
  8. package/dist/builder/dependency-list-builder.d.ts +2 -0
  9. package/dist/builder/dependency-list-builder.js +3 -0
  10. package/dist/builder/element-list-builder.d.ts +2 -0
  11. package/dist/builder/element-list-builder.js +3 -0
  12. package/dist/builder/form-builder.d.ts +2 -0
  13. package/dist/builder/form-builder.js +3 -0
  14. package/dist/builder/grid-builder.d.ts +2 -0
  15. package/dist/builder/grid-builder.js +3 -0
  16. package/dist/builder/object-builder.d.ts +2 -0
  17. package/dist/builder/object-builder.js +3 -0
  18. package/dist/builder/preset-builder.d.ts +2 -0
  19. package/dist/builder/preset-builder.js +3 -0
  20. package/dist/builder/quiz-builder.d.ts +2 -0
  21. package/dist/builder/quiz-builder.js +3 -0
  22. package/dist/builder/reactive-canvas-builder.d.ts +2 -0
  23. package/dist/builder/reactive-canvas-builder.js +3 -0
  24. package/dist/builder.d.ts.map +1 -1
  25. package/dist/builder.js +9 -10
  26. package/dist/cards/card-list.d.ts +2 -0
  27. package/dist/cards/card-list.js +3 -0
  28. package/dist/cards/data-table.d.ts +2 -0
  29. package/dist/cards/data-table.js +3 -0
  30. package/dist/cards/element-display.d.ts +2 -0
  31. package/dist/cards/element-display.js +3 -0
  32. package/dist/cards/element-list.d.ts +2 -0
  33. package/dist/cards/element-list.js +3 -0
  34. package/dist/cards/grid-view.d.ts +2 -0
  35. package/dist/cards/grid-view.js +3 -0
  36. package/dist/cards/info.d.ts +2 -0
  37. package/dist/cards/info.js +3 -0
  38. package/dist/cards/tab-list.d.ts +2 -0
  39. package/dist/cards/tab-list.js +3 -0
  40. package/dist/cards.d.ts.map +1 -1
  41. package/dist/cards.js +8 -9
  42. package/dist/chunks/AssetPickerFile-J5SVi2VJ.js +252 -0
  43. package/dist/chunks/AssetPickerFile-J5SVi2VJ.js.map +1 -0
  44. package/dist/chunks/AsyncSelectOption-DD4PTdGr.js +155 -0
  45. package/dist/chunks/AsyncSelectOption-DD4PTdGr.js.map +1 -0
  46. package/dist/chunks/AsyncSelectPicker-PwS8Aa6W.js +167 -0
  47. package/dist/chunks/AsyncSelectPicker-PwS8Aa6W.js.map +1 -0
  48. package/dist/chunks/AutoCompleteOption-BRUgf-NE.js +112 -0
  49. package/dist/chunks/AutoCompleteOption-BRUgf-NE.js.map +1 -0
  50. package/dist/chunks/BannerDisplay-CiuAyiqo.js +56 -0
  51. package/dist/chunks/BannerDisplay-CiuAyiqo.js.map +1 -0
  52. package/dist/chunks/BarcodeDisplay-kdnMuers.js +50 -0
  53. package/dist/chunks/BarcodeDisplay-kdnMuers.js.map +1 -0
  54. package/dist/chunks/BarcodeScannerInput-gclsYW45.js +165 -0
  55. package/dist/chunks/BarcodeScannerInput-gclsYW45.js.map +1 -0
  56. package/dist/chunks/BuildStatus-BYU2VteT.js +189 -0
  57. package/dist/chunks/BuildStatus-BYU2VteT.js.map +1 -0
  58. package/dist/chunks/ButtonAction-hCdoVUTw.js +131 -0
  59. package/dist/chunks/ButtonAction-hCdoVUTw.js.map +1 -0
  60. package/dist/chunks/ButtonGroupAction-CNKJcaR9.js +73 -0
  61. package/dist/chunks/ButtonGroupAction-CNKJcaR9.js.map +1 -0
  62. package/dist/chunks/CardListCard-BipufbBz.js +105 -0
  63. package/dist/chunks/CardListCard-BipufbBz.js.map +1 -0
  64. package/dist/chunks/CardRenderer-N4R08uDO.js +140 -0
  65. package/dist/chunks/CardRenderer-N4R08uDO.js.map +1 -0
  66. package/dist/chunks/CarouselDisplay-rn7JL3jv.js +141 -0
  67. package/dist/chunks/CarouselDisplay-rn7JL3jv.js.map +1 -0
  68. package/dist/chunks/ChartDisplay-CjXvzzQv.js +68 -0
  69. package/dist/chunks/ChartDisplay-CjXvzzQv.js.map +1 -0
  70. package/dist/chunks/ChatMessage-Bp6bw3Xo.js +215 -0
  71. package/dist/chunks/ChatMessage-Bp6bw3Xo.js.map +1 -0
  72. package/dist/chunks/CheckboxBoolean-Br3cEUia.js +79 -0
  73. package/dist/chunks/CheckboxBoolean-Br3cEUia.js.map +1 -0
  74. package/dist/chunks/CheckboxOption-CckqMgyH.js +96 -0
  75. package/dist/chunks/CheckboxOption-CckqMgyH.js.map +1 -0
  76. package/dist/chunks/CodeEditor-DOln7VTZ.js +7219 -0
  77. package/dist/chunks/CodeEditor-DOln7VTZ.js.map +1 -0
  78. package/dist/chunks/ColorPicker-qCaoBqPV.js +151 -0
  79. package/dist/chunks/ColorPicker-qCaoBqPV.js.map +1 -0
  80. package/dist/chunks/DataModelPicker-8xyYcLdo.js +95 -0
  81. package/dist/chunks/DataModelPicker-8xyYcLdo.js.map +1 -0
  82. package/dist/chunks/DataTableCard-BpsxPMb7.js +322 -0
  83. package/dist/chunks/DataTableCard-BpsxPMb7.js.map +1 -0
  84. package/dist/chunks/DatatableCard-BNMi1Bqa.js +114 -0
  85. package/dist/chunks/DatatableCard-BNMi1Bqa.js.map +1 -0
  86. package/dist/chunks/DatePicker-Cr_aYdU2.js +131 -0
  87. package/dist/chunks/DatePicker-Cr_aYdU2.js.map +1 -0
  88. package/dist/chunks/DateTimePicker-mDoHjV_R.js +160 -0
  89. package/dist/chunks/DateTimePicker-mDoHjV_R.js.map +1 -0
  90. package/dist/chunks/DependencyListBuilder-Cf8AMMJM.js +557 -0
  91. package/dist/chunks/DependencyListBuilder-Cf8AMMJM.js.map +1 -0
  92. package/dist/chunks/DialogBlock-BuZTVRb2.js +79 -0
  93. package/dist/chunks/DialogBlock-BuZTVRb2.js.map +1 -0
  94. package/dist/chunks/DropzoneFile-CTl8bEtC.js +156 -0
  95. package/dist/chunks/DropzoneFile-CTl8bEtC.js.map +1 -0
  96. package/dist/chunks/ElementDisplayCard-CgWTdKNZ.js +51 -0
  97. package/dist/chunks/ElementDisplayCard-CgWTdKNZ.js.map +1 -0
  98. package/dist/chunks/ElementListBuilder-Dcz13diI.js +275 -0
  99. package/dist/chunks/ElementListBuilder-Dcz13diI.js.map +1 -0
  100. package/dist/chunks/ElementListCard-B8oVHSqE.js +75 -0
  101. package/dist/chunks/ElementListCard-B8oVHSqE.js.map +1 -0
  102. package/dist/chunks/ElementRenderer-DUhlfnFD.js +161 -0
  103. package/dist/chunks/ElementRenderer-DUhlfnFD.js.map +1 -0
  104. package/dist/chunks/ElementsBlock-CP_rXLwA.js +52 -0
  105. package/dist/chunks/ElementsBlock-CP_rXLwA.js.map +1 -0
  106. package/dist/chunks/EmailInput-Pdtb58_R.js +83 -0
  107. package/dist/chunks/EmailInput-Pdtb58_R.js.map +1 -0
  108. package/dist/chunks/FileTree-C2NAMTsO.js +191 -0
  109. package/dist/chunks/FileTree-C2NAMTsO.js.map +1 -0
  110. package/dist/chunks/FormBuilder-D314W1mI.js +663 -0
  111. package/dist/chunks/FormBuilder-D314W1mI.js.map +1 -0
  112. package/dist/chunks/GitCodeEditor-CQnTM-xQ.js +244 -0
  113. package/dist/chunks/GitCodeEditor-CQnTM-xQ.js.map +1 -0
  114. package/dist/chunks/GridBuilder-BxaojA1u.js +380 -0
  115. package/dist/chunks/GridBuilder-BxaojA1u.js.map +1 -0
  116. package/dist/chunks/GridCard-Chdn2wRI.js +64 -0
  117. package/dist/chunks/GridCard-Chdn2wRI.js.map +1 -0
  118. package/dist/chunks/GridViewCard-BxiLP409.js +110 -0
  119. package/dist/chunks/GridViewCard-BxiLP409.js.map +1 -0
  120. package/dist/chunks/HtmlDisplay-B9AZpx_5.js +25 -0
  121. package/dist/chunks/HtmlDisplay-B9AZpx_5.js.map +1 -0
  122. package/dist/chunks/HtmlEditor-DmR-g-YR.js +1038 -0
  123. package/dist/chunks/HtmlEditor-DmR-g-YR.js.map +1 -0
  124. package/dist/chunks/IconDisplay-CXT7HaLS.js +53 -0
  125. package/dist/chunks/IconDisplay-CXT7HaLS.js.map +1 -0
  126. package/dist/chunks/IconPicker-B0sf3xsj.js +109 -0
  127. package/dist/chunks/IconPicker-B0sf3xsj.js.map +1 -0
  128. package/dist/chunks/IconPickerInline-D8b5_XxF.js +118 -0
  129. package/dist/chunks/IconPickerInline-D8b5_XxF.js.map +1 -0
  130. package/dist/chunks/IconToggleBoolean-CPIcs--Q.js +84 -0
  131. package/dist/chunks/IconToggleBoolean-CPIcs--Q.js.map +1 -0
  132. package/dist/chunks/IframeDisplay-CTQ16HhD.js +39 -0
  133. package/dist/chunks/IframeDisplay-CTQ16HhD.js.map +1 -0
  134. package/dist/chunks/ImageDisplay-CJA_mjzo.js +36 -0
  135. package/dist/chunks/ImageDisplay-CJA_mjzo.js.map +1 -0
  136. package/dist/chunks/ImageEditor-HEbjO2Db.js +70 -0
  137. package/dist/chunks/ImageEditor-HEbjO2Db.js.map +1 -0
  138. package/dist/chunks/InfoCard-1LxVfz7I.js +141 -0
  139. package/dist/chunks/InfoCard-1LxVfz7I.js.map +1 -0
  140. package/dist/chunks/InfoCard-CnnX07eL.js +92 -0
  141. package/dist/chunks/InfoCard-CnnX07eL.js.map +1 -0
  142. package/dist/chunks/IntegrationConnectorOption-Bv5geOlD.js +214 -0
  143. package/dist/chunks/IntegrationConnectorOption-Bv5geOlD.js.map +1 -0
  144. package/dist/chunks/IntegrationConnectorPicker-D_CjfiX7.js +238 -0
  145. package/dist/chunks/IntegrationConnectorPicker-D_CjfiX7.js.map +1 -0
  146. package/dist/chunks/LinkAction-Cz5utmrZ.js +59 -0
  147. package/dist/chunks/LinkAction-Cz5utmrZ.js.map +1 -0
  148. package/dist/chunks/ListCard-BK8nRz13.js +72 -0
  149. package/dist/chunks/ListCard-BK8nRz13.js.map +1 -0
  150. package/dist/chunks/ListOption-Bo64Nai8.js +97 -0
  151. package/dist/chunks/ListOption-Bo64Nai8.js.map +1 -0
  152. package/dist/chunks/MapPicker-SC23gptf.js +121 -0
  153. package/dist/chunks/MapPicker-SC23gptf.js.map +1 -0
  154. package/dist/chunks/MarkdownDisplay-Df5zuwlv.js +38 -0
  155. package/dist/chunks/MarkdownDisplay-Df5zuwlv.js.map +1 -0
  156. package/dist/chunks/MarkdownEditor-BXLLj4ol.js +93 -0
  157. package/dist/chunks/MarkdownEditor-BXLLj4ol.js.map +1 -0
  158. package/dist/chunks/ModalBlock-B1EezrzH.js +82 -0
  159. package/dist/chunks/ModalBlock-B1EezrzH.js.map +1 -0
  160. package/dist/chunks/NumberInput-DNQo57YU.js +95 -0
  161. package/dist/chunks/NumberInput-DNQo57YU.js.map +1 -0
  162. package/dist/chunks/ObjectBuilder-2gxFY61a.js +381 -0
  163. package/dist/chunks/ObjectBuilder-2gxFY61a.js.map +1 -0
  164. package/dist/chunks/PasswordInput-D9Ok_2e6.js +109 -0
  165. package/dist/chunks/PasswordInput-D9Ok_2e6.js.map +1 -0
  166. package/dist/chunks/PillSelectOption-BF_982xH.js +93 -0
  167. package/dist/chunks/PillSelectOption-BF_982xH.js.map +1 -0
  168. package/dist/chunks/PresetBuilder-bfko3eAb.js +130 -0
  169. package/dist/chunks/PresetBuilder-bfko3eAb.js.map +1 -0
  170. package/dist/chunks/ProgressBarDisplay-CnOulmUw.js +40 -0
  171. package/dist/chunks/ProgressBarDisplay-CnOulmUw.js.map +1 -0
  172. package/dist/chunks/PullRequestsList-Dg-zowrz.js +253 -0
  173. package/dist/chunks/PullRequestsList-Dg-zowrz.js.map +1 -0
  174. package/dist/chunks/QrCodeDisplay-xmSCGxgu.js +47 -0
  175. package/dist/chunks/QrCodeDisplay-xmSCGxgu.js.map +1 -0
  176. package/dist/chunks/QuizBuilder-CRhL-P6I.js +442 -0
  177. package/dist/chunks/QuizBuilder-CRhL-P6I.js.map +1 -0
  178. package/dist/chunks/RadioBoolean-DLoE2Ckl.js +95 -0
  179. package/dist/chunks/RadioBoolean-DLoE2Ckl.js.map +1 -0
  180. package/dist/chunks/RadioOption-BtElSWLx.js +110 -0
  181. package/dist/chunks/RadioOption-BtElSWLx.js.map +1 -0
  182. package/dist/chunks/RangeSliderInput-Bizx2rv5.js +82 -0
  183. package/dist/chunks/RangeSliderInput-Bizx2rv5.js.map +1 -0
  184. package/dist/chunks/ReactiveCanvasBuilder-COIZYfDx.js +459 -0
  185. package/dist/chunks/ReactiveCanvasBuilder-COIZYfDx.js.map +1 -0
  186. package/dist/chunks/ReactiveCanvasDisplay-CmStQoGO.js +49 -0
  187. package/dist/chunks/ReactiveCanvasDisplay-CmStQoGO.js.map +1 -0
  188. package/dist/chunks/RepeatableBlock-vSZem8Oa.js +140 -0
  189. package/dist/chunks/RepeatableBlock-vSZem8Oa.js.map +1 -0
  190. package/dist/chunks/RepeatableRow-CtJm_xGm.js +24 -0
  191. package/dist/chunks/RepeatableRow-CtJm_xGm.js.map +1 -0
  192. package/dist/chunks/RichTextEditor-BjUtQx6D.js +207 -0
  193. package/dist/chunks/RichTextEditor-BjUtQx6D.js.map +1 -0
  194. package/dist/chunks/SearchInput-Bc0p16ND.js +84 -0
  195. package/dist/chunks/SearchInput-Bc0p16ND.js.map +1 -0
  196. package/dist/chunks/SelectMultipleOption-qwlcwb88.js +127 -0
  197. package/dist/chunks/SelectMultipleOption-qwlcwb88.js.map +1 -0
  198. package/dist/chunks/SelectOption-Crk-kANq.js +116 -0
  199. package/dist/chunks/SelectOption-Crk-kANq.js.map +1 -0
  200. package/dist/chunks/SpriteDisplay-BQPEj5P8.js +49 -0
  201. package/dist/chunks/SpriteDisplay-BQPEj5P8.js.map +1 -0
  202. package/dist/chunks/SwitchBoolean-B9KYU4Ko.js +84 -0
  203. package/dist/chunks/SwitchBoolean-B9KYU4Ko.js.map +1 -0
  204. package/dist/chunks/TabCard-0so26E89.js +112 -0
  205. package/dist/chunks/TabCard-0so26E89.js.map +1 -0
  206. package/dist/chunks/TabListCard-DTtWVg57.js +103 -0
  207. package/dist/chunks/TabListCard-DTtWVg57.js.map +1 -0
  208. package/dist/chunks/TelInput-C14K40Ew.js +83 -0
  209. package/dist/chunks/TelInput-C14K40Ew.js.map +1 -0
  210. package/dist/chunks/TextInput-BzL0CCd5.js +83 -0
  211. package/dist/chunks/TextInput-BzL0CCd5.js.map +1 -0
  212. package/dist/chunks/TextareaInput-BY8BMgJ9.js +85 -0
  213. package/dist/chunks/TextareaInput-BY8BMgJ9.js.map +1 -0
  214. package/dist/chunks/TimePicker-C_71cBmo.js +125 -0
  215. package/dist/chunks/TimePicker-C_71cBmo.js.map +1 -0
  216. package/dist/chunks/TimezonePicker-5XokaK-n.js +113 -0
  217. package/dist/chunks/TimezonePicker-5XokaK-n.js.map +1 -0
  218. package/dist/chunks/TypeDisplay-D8R6boEc.js +77 -0
  219. package/dist/chunks/TypeDisplay-D8R6boEc.js.map +1 -0
  220. package/dist/chunks/UploadFile-CB5QsfE3.js +134 -0
  221. package/dist/chunks/UploadFile-CB5QsfE3.js.map +1 -0
  222. package/dist/chunks/UrlInput-BFGNlZTC.js +83 -0
  223. package/dist/chunks/UrlInput-BFGNlZTC.js.map +1 -0
  224. package/dist/chunks/VideoPlayerDisplay-DKnCfE05.js +41 -0
  225. package/dist/chunks/VideoPlayerDisplay-DKnCfE05.js.map +1 -0
  226. package/dist/chunks/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  227. package/dist/chunks/alert-BaV_rA2M.js +64 -0
  228. package/dist/chunks/alert-BaV_rA2M.js.map +1 -0
  229. package/dist/chunks/avatar-D__e2bNE.js +80 -0
  230. package/dist/chunks/avatar-D__e2bNE.js.map +1 -0
  231. package/dist/chunks/badge-4iQG4kuk.js +65 -0
  232. package/dist/chunks/badge-4iQG4kuk.js.map +1 -0
  233. package/dist/chunks/button-BAwcISlK.js +71 -0
  234. package/dist/chunks/button-BAwcISlK.js.map +1 -0
  235. package/dist/chunks/calendar-Cy0jbT6X.js +305 -0
  236. package/dist/chunks/calendar-Cy0jbT6X.js.map +1 -0
  237. package/dist/chunks/card-DAfWnvro.js +113 -0
  238. package/dist/chunks/card-DAfWnvro.js.map +1 -0
  239. package/dist/chunks/checkbox-BunQDZRV.js +45 -0
  240. package/dist/chunks/checkbox-BunQDZRV.js.map +1 -0
  241. package/dist/chunks/combobox-BrYBRIqW.js +257 -0
  242. package/dist/chunks/combobox-BrYBRIqW.js.map +1 -0
  243. package/dist/chunks/dependencyListBuilderStore-CVWhMyuq.js +237 -0
  244. package/dist/chunks/dependencyListBuilderStore-CVWhMyuq.js.map +1 -0
  245. package/dist/chunks/dialog-BoGlhUrd.js +188 -0
  246. package/dist/chunks/dialog-BoGlhUrd.js.map +1 -0
  247. package/dist/chunks/dropdown-menu-NlgvL0wb.js +347 -0
  248. package/dist/chunks/dropdown-menu-NlgvL0wb.js.map +1 -0
  249. package/dist/chunks/elementListBuilderStore-CRgJ3FaY.js +94 -0
  250. package/dist/chunks/elementListBuilderStore-CRgJ3FaY.js.map +1 -0
  251. package/dist/chunks/elements-Du8w4W8Q.js +2354 -0
  252. package/dist/chunks/elements-Du8w4W8Q.js.map +1 -0
  253. package/dist/chunks/field-frame-n5oLDNBT.js +59 -0
  254. package/dist/chunks/field-frame-n5oLDNBT.js.map +1 -0
  255. package/dist/chunks/formBuilderStore-D-G-ujKs.js +384 -0
  256. package/dist/chunks/formBuilderStore-D-G-ujKs.js.map +1 -0
  257. package/dist/chunks/gridBuilderStore-CDco4GeM.js +123 -0
  258. package/dist/chunks/gridBuilderStore-CDco4GeM.js.map +1 -0
  259. package/dist/chunks/input-tw5ZQGKQ.js +33 -0
  260. package/dist/chunks/input-tw5ZQGKQ.js.map +1 -0
  261. package/dist/chunks/label-I5voJX5E.js +40 -0
  262. package/dist/chunks/label-I5voJX5E.js.map +1 -0
  263. package/dist/chunks/objectBuilderStore-BE7Yqs0o.js +132 -0
  264. package/dist/chunks/objectBuilderStore-BE7Yqs0o.js.map +1 -0
  265. package/dist/chunks/popover-_VzKSUl8.js +156 -0
  266. package/dist/chunks/popover-_VzKSUl8.js.map +1 -0
  267. package/dist/chunks/presetBuilderStore-DK4cmCJz.js +64 -0
  268. package/dist/chunks/presetBuilderStore-DK4cmCJz.js.map +1 -0
  269. package/dist/chunks/progress-DqH3yH0e.js +58 -0
  270. package/dist/chunks/progress-DqH3yH0e.js.map +1 -0
  271. package/dist/chunks/quizBuilderStore-C1KSXs0j.js +182 -0
  272. package/dist/chunks/quizBuilderStore-C1KSXs0j.js.map +1 -0
  273. package/dist/chunks/radio-group-WeXB9v-D.js +69 -0
  274. package/dist/chunks/radio-group-WeXB9v-D.js.map +1 -0
  275. package/dist/chunks/reactiveCanvasBuilderStore-DXwaTopz.js +128 -0
  276. package/dist/chunks/reactiveCanvasBuilderStore-DXwaTopz.js.map +1 -0
  277. package/dist/chunks/registry-DF6UGvEI.js +148 -0
  278. package/dist/chunks/registry-DF6UGvEI.js.map +1 -0
  279. package/dist/chunks/rolldown-runtime-Dy4uBu1J.js +11 -0
  280. package/dist/chunks/select-DZcdBLiy.js +262 -0
  281. package/dist/chunks/select-DZcdBLiy.js.map +1 -0
  282. package/dist/chunks/sheet-7uxecGyn.js +202 -0
  283. package/dist/chunks/sheet-7uxecGyn.js.map +1 -0
  284. package/dist/chunks/skeleton-DG95C9ZP.js +22 -0
  285. package/dist/chunks/skeleton-DG95C9ZP.js.map +1 -0
  286. package/dist/chunks/slider-DcpAnoUx.js +106 -0
  287. package/dist/chunks/slider-DcpAnoUx.js.map +1 -0
  288. package/dist/chunks/switch--qhuMfjn.js +60 -0
  289. package/dist/chunks/switch--qhuMfjn.js.map +1 -0
  290. package/dist/chunks/table-CanciZAw.js +112 -0
  291. package/dist/chunks/table-CanciZAw.js.map +1 -0
  292. package/dist/chunks/tabs-6wUJf_yA.js +120 -0
  293. package/dist/chunks/tabs-6wUJf_yA.js.map +1 -0
  294. package/dist/chunks/textarea-lgNOfYRH.js +36 -0
  295. package/dist/chunks/textarea-lgNOfYRH.js.map +1 -0
  296. package/dist/chunks/toggle-Mpe_iE71.js +85 -0
  297. package/dist/chunks/toggle-Mpe_iE71.js.map +1 -0
  298. package/dist/chunks/useAsyncSearch-CS_CQauO.js +43 -0
  299. package/dist/chunks/useAsyncSearch-CS_CQauO.js.map +1 -0
  300. package/dist/chunks/useConnectorLoader-D1SuPu3P.js +49 -0
  301. package/dist/chunks/useConnectorLoader-D1SuPu3P.js.map +1 -0
  302. package/dist/chunks/useDisplayConditions-Dopsa2vu.js +212 -0
  303. package/dist/chunks/useDisplayConditions-Dopsa2vu.js.map +1 -0
  304. package/dist/chunks/utils-DAErOi9O.js +16 -0
  305. package/dist/chunks/utils-DAErOi9O.js.map +1 -0
  306. package/dist/code.d.ts.map +1 -1
  307. package/dist/code.js +6 -7
  308. package/dist/components/compositions/elements/display/ChartDisplay.vue.d.ts.map +1 -1
  309. package/dist/components/compositions/elements/display/QrCodeDisplay.vue.d.ts.map +1 -1
  310. package/dist/components/compositions/elements/editor/HtmlEditor.vue.d.ts.map +1 -1
  311. package/dist/configuration-block.d.ts.map +1 -1
  312. package/dist/configuration-block.js +5 -6
  313. package/dist/display.d.ts.map +1 -1
  314. package/dist/display.js +16 -17
  315. package/dist/editor/code-editor.d.ts +2 -0
  316. package/dist/editor/code-editor.js +3 -0
  317. package/dist/editor/html-editor.d.ts +2 -0
  318. package/dist/editor/html-editor.js +3 -0
  319. package/dist/editor/image-editor.d.ts +2 -0
  320. package/dist/editor/image-editor.js +3 -0
  321. package/dist/editor/markdown-editor.d.ts +2 -0
  322. package/dist/editor/markdown-editor.js +3 -0
  323. package/dist/editor/rich-text-editor.d.ts +2 -0
  324. package/dist/editor/rich-text-editor.js +3 -0
  325. package/dist/editor.d.ts.map +1 -1
  326. package/dist/editor.js +6 -7
  327. package/dist/entries/builder/dependency-list-builder.d.ts +2 -0
  328. package/dist/entries/builder/dependency-list-builder.d.ts.map +1 -0
  329. package/dist/entries/builder/element-list-builder.d.ts +2 -0
  330. package/dist/entries/builder/element-list-builder.d.ts.map +1 -0
  331. package/dist/entries/builder/form-builder.d.ts +2 -0
  332. package/dist/entries/builder/form-builder.d.ts.map +1 -0
  333. package/dist/entries/builder/grid-builder.d.ts +2 -0
  334. package/dist/entries/builder/grid-builder.d.ts.map +1 -0
  335. package/dist/entries/builder/object-builder.d.ts +2 -0
  336. package/dist/entries/builder/object-builder.d.ts.map +1 -0
  337. package/dist/entries/builder/preset-builder.d.ts +2 -0
  338. package/dist/entries/builder/preset-builder.d.ts.map +1 -0
  339. package/dist/entries/builder/quiz-builder.d.ts +2 -0
  340. package/dist/entries/builder/quiz-builder.d.ts.map +1 -0
  341. package/dist/entries/builder/reactive-canvas-builder.d.ts +2 -0
  342. package/dist/entries/builder/reactive-canvas-builder.d.ts.map +1 -0
  343. package/dist/entries/cards/card-list.d.ts +2 -0
  344. package/dist/entries/cards/card-list.d.ts.map +1 -0
  345. package/dist/entries/cards/data-table.d.ts +2 -0
  346. package/dist/entries/cards/data-table.d.ts.map +1 -0
  347. package/dist/entries/cards/element-display.d.ts +2 -0
  348. package/dist/entries/cards/element-display.d.ts.map +1 -0
  349. package/dist/entries/cards/element-list.d.ts +2 -0
  350. package/dist/entries/cards/element-list.d.ts.map +1 -0
  351. package/dist/entries/cards/grid-view.d.ts +2 -0
  352. package/dist/entries/cards/grid-view.d.ts.map +1 -0
  353. package/dist/entries/cards/info.d.ts +2 -0
  354. package/dist/entries/cards/info.d.ts.map +1 -0
  355. package/dist/entries/cards/tab-list.d.ts +2 -0
  356. package/dist/entries/cards/tab-list.d.ts.map +1 -0
  357. package/dist/entries/editor/code-editor.d.ts +2 -0
  358. package/dist/entries/editor/code-editor.d.ts.map +1 -0
  359. package/dist/entries/editor/html-editor.d.ts +2 -0
  360. package/dist/entries/editor/html-editor.d.ts.map +1 -0
  361. package/dist/entries/editor/image-editor.d.ts +2 -0
  362. package/dist/entries/editor/image-editor.d.ts.map +1 -0
  363. package/dist/entries/editor/markdown-editor.d.ts +2 -0
  364. package/dist/entries/editor/markdown-editor.d.ts.map +1 -0
  365. package/dist/entries/editor/rich-text-editor.d.ts +2 -0
  366. package/dist/entries/editor/rich-text-editor.d.ts.map +1 -0
  367. package/dist/file.d.ts.map +1 -1
  368. package/dist/file.js +4 -5
  369. package/dist/index.d.ts.map +1 -1
  370. package/dist/index.js +1783 -200
  371. package/dist/index.js.map +1 -0
  372. package/dist/input.d.ts.map +1 -1
  373. package/dist/input.js +11 -12
  374. package/dist/option-select.d.ts.map +1 -1
  375. package/dist/option-select.js +10 -11
  376. package/dist/picker.d.ts.map +1 -1
  377. package/dist/picker.js +12 -13
  378. package/package.json +98 -43
  379. package/src/_styles.ts +16 -0
  380. package/src/action.ts +2 -0
  381. package/src/boolean.ts +2 -0
  382. package/src/builder.ts +2 -0
  383. package/src/cards.ts +2 -0
  384. package/src/code.ts +2 -0
  385. package/src/components/compositions/elements/builder/GridBuilder.test.ts +42 -23
  386. package/src/components/compositions/elements/builder/ReactiveCanvasBuilder.test.ts +37 -26
  387. package/src/components/compositions/elements/display/ChartDisplay.vue +33 -0
  388. package/src/components/compositions/elements/display/QrCodeDisplay.vue +12 -1
  389. package/src/components/compositions/elements/editor/HtmlEditor.vue +4 -3
  390. package/src/configuration-block.ts +2 -0
  391. package/src/display.ts +2 -0
  392. package/src/editor.ts +2 -0
  393. package/src/entries/builder/dependency-list-builder.ts +3 -0
  394. package/src/entries/builder/element-list-builder.ts +3 -0
  395. package/src/entries/builder/form-builder.ts +3 -0
  396. package/src/entries/builder/grid-builder.ts +3 -0
  397. package/src/entries/builder/object-builder.ts +3 -0
  398. package/src/entries/builder/preset-builder.ts +3 -0
  399. package/src/entries/builder/quiz-builder.ts +3 -0
  400. package/src/entries/builder/reactive-canvas-builder.ts +3 -0
  401. package/src/entries/cards/card-list.ts +3 -0
  402. package/src/entries/cards/data-table.ts +3 -0
  403. package/src/entries/cards/element-display.ts +3 -0
  404. package/src/entries/cards/element-list.ts +3 -0
  405. package/src/entries/cards/grid-view.ts +3 -0
  406. package/src/entries/cards/info.ts +3 -0
  407. package/src/entries/cards/tab-list.ts +3 -0
  408. package/src/entries/editor/code-editor.ts +3 -0
  409. package/src/entries/editor/html-editor.ts +3 -0
  410. package/src/entries/editor/image-editor.ts +3 -0
  411. package/src/entries/editor/markdown-editor.ts +3 -0
  412. package/src/entries/editor/rich-text-editor.ts +3 -0
  413. package/src/file.ts +2 -0
  414. package/src/index.ts +4 -4
  415. package/src/input.ts +2 -0
  416. package/src/option-select.ts +2 -0
  417. package/src/picker.ts +2 -0
  418. package/src/test/setup.ts +20 -0
  419. package/dist/_virtual/_plugin-vue_export-helper.js +0 -8
  420. package/dist/adapters/cardTypeMap.js +0 -29
  421. package/dist/adapters/cardTypeMap.js.map +0 -1
  422. package/dist/adapters/conditionMap.js +0 -106
  423. package/dist/adapters/conditionMap.js.map +0 -1
  424. package/dist/adapters/detect.js +0 -29
  425. package/dist/adapters/detect.js.map +0 -1
  426. package/dist/adapters/fieldTypeMap.js +0 -219
  427. package/dist/adapters/fieldTypeMap.js.map +0 -1
  428. package/dist/adapters/v1ToV2.js +0 -147
  429. package/dist/adapters/v1ToV2.js.map +0 -1
  430. package/dist/adapters/v2ToV1.js +0 -82
  431. package/dist/adapters/v2ToV1.js.map +0 -1
  432. package/dist/components/compositions/cards/CardListCard.js +0 -7
  433. package/dist/components/compositions/cards/CardListCard.js.map +0 -1
  434. package/dist/components/compositions/cards/CardListCard.vue_vue_type_script_setup_true_lang.js +0 -109
  435. package/dist/components/compositions/cards/CardListCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  436. package/dist/components/compositions/cards/DataTableCard.js +0 -7
  437. package/dist/components/compositions/cards/DataTableCard.js.map +0 -1
  438. package/dist/components/compositions/cards/DataTableCard.vue_vue_type_script_setup_true_lang.js +0 -317
  439. package/dist/components/compositions/cards/DataTableCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  440. package/dist/components/compositions/cards/ElementDisplayCard.js +0 -7
  441. package/dist/components/compositions/cards/ElementDisplayCard.js.map +0 -1
  442. package/dist/components/compositions/cards/ElementDisplayCard.vue_vue_type_script_setup_true_lang.js +0 -55
  443. package/dist/components/compositions/cards/ElementDisplayCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  444. package/dist/components/compositions/cards/ElementListCard.js +0 -7
  445. package/dist/components/compositions/cards/ElementListCard.js.map +0 -1
  446. package/dist/components/compositions/cards/ElementListCard.vue_vue_type_script_setup_true_lang.js +0 -79
  447. package/dist/components/compositions/cards/ElementListCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  448. package/dist/components/compositions/cards/GridViewCard.js +0 -7
  449. package/dist/components/compositions/cards/GridViewCard.js.map +0 -1
  450. package/dist/components/compositions/cards/GridViewCard.vue_vue_type_script_setup_true_lang.js +0 -109
  451. package/dist/components/compositions/cards/GridViewCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  452. package/dist/components/compositions/cards/InfoCard.js +0 -7
  453. package/dist/components/compositions/cards/InfoCard.js.map +0 -1
  454. package/dist/components/compositions/cards/InfoCard.vue_vue_type_script_setup_true_lang.js +0 -145
  455. package/dist/components/compositions/cards/InfoCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  456. package/dist/components/compositions/cards/TabListCard.js +0 -7
  457. package/dist/components/compositions/cards/TabListCard.js.map +0 -1
  458. package/dist/components/compositions/cards/TabListCard.vue_vue_type_script_setup_true_lang.js +0 -106
  459. package/dist/components/compositions/cards/TabListCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  460. package/dist/components/compositions/cards/useDataTableData.js +0 -17
  461. package/dist/components/compositions/cards/useDataTableData.js.map +0 -1
  462. package/dist/components/compositions/elements/action/ButtonAction.js +0 -7
  463. package/dist/components/compositions/elements/action/ButtonAction.js.map +0 -1
  464. package/dist/components/compositions/elements/action/ButtonAction.vue_vue_type_script_setup_true_lang.js +0 -137
  465. package/dist/components/compositions/elements/action/ButtonAction.vue_vue_type_script_setup_true_lang.js.map +0 -1
  466. package/dist/components/compositions/elements/action/ButtonGroupAction.js +0 -7
  467. package/dist/components/compositions/elements/action/ButtonGroupAction.js.map +0 -1
  468. package/dist/components/compositions/elements/action/ButtonGroupAction.vue_vue_type_script_setup_true_lang.js +0 -73
  469. package/dist/components/compositions/elements/action/ButtonGroupAction.vue_vue_type_script_setup_true_lang.js.map +0 -1
  470. package/dist/components/compositions/elements/action/LinkAction.js +0 -7
  471. package/dist/components/compositions/elements/action/LinkAction.js.map +0 -1
  472. package/dist/components/compositions/elements/action/LinkAction.vue_vue_type_script_setup_true_lang.js +0 -59
  473. package/dist/components/compositions/elements/action/LinkAction.vue_vue_type_script_setup_true_lang.js.map +0 -1
  474. package/dist/components/compositions/elements/boolean/CheckboxBoolean.js +0 -7
  475. package/dist/components/compositions/elements/boolean/CheckboxBoolean.js.map +0 -1
  476. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue_vue_type_script_setup_true_lang.js +0 -81
  477. package/dist/components/compositions/elements/boolean/CheckboxBoolean.vue_vue_type_script_setup_true_lang.js.map +0 -1
  478. package/dist/components/compositions/elements/boolean/IconToggleBoolean.js +0 -7
  479. package/dist/components/compositions/elements/boolean/IconToggleBoolean.js.map +0 -1
  480. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue_vue_type_script_setup_true_lang.js +0 -85
  481. package/dist/components/compositions/elements/boolean/IconToggleBoolean.vue_vue_type_script_setup_true_lang.js.map +0 -1
  482. package/dist/components/compositions/elements/boolean/RadioBoolean.js +0 -7
  483. package/dist/components/compositions/elements/boolean/RadioBoolean.js.map +0 -1
  484. package/dist/components/compositions/elements/boolean/RadioBoolean.vue_vue_type_script_setup_true_lang.js +0 -98
  485. package/dist/components/compositions/elements/boolean/RadioBoolean.vue_vue_type_script_setup_true_lang.js.map +0 -1
  486. package/dist/components/compositions/elements/boolean/SwitchBoolean.js +0 -7
  487. package/dist/components/compositions/elements/boolean/SwitchBoolean.js.map +0 -1
  488. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue_vue_type_script_setup_true_lang.js +0 -86
  489. package/dist/components/compositions/elements/boolean/SwitchBoolean.vue_vue_type_script_setup_true_lang.js.map +0 -1
  490. package/dist/components/compositions/elements/builder/DependencyListBuilder.js +0 -7
  491. package/dist/components/compositions/elements/builder/DependencyListBuilder.js.map +0 -1
  492. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue_vue_type_script_setup_true_lang.js +0 -571
  493. package/dist/components/compositions/elements/builder/DependencyListBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  494. package/dist/components/compositions/elements/builder/ElementListBuilder.js +0 -7
  495. package/dist/components/compositions/elements/builder/ElementListBuilder.js.map +0 -1
  496. package/dist/components/compositions/elements/builder/ElementListBuilder.vue_vue_type_script_setup_true_lang.js +0 -284
  497. package/dist/components/compositions/elements/builder/ElementListBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  498. package/dist/components/compositions/elements/builder/FormBuilder.js +0 -7
  499. package/dist/components/compositions/elements/builder/FormBuilder.js.map +0 -1
  500. package/dist/components/compositions/elements/builder/FormBuilder.vue_vue_type_script_setup_true_lang.js +0 -680
  501. package/dist/components/compositions/elements/builder/FormBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  502. package/dist/components/compositions/elements/builder/GridBuilder.js +0 -7
  503. package/dist/components/compositions/elements/builder/GridBuilder.js.map +0 -1
  504. package/dist/components/compositions/elements/builder/GridBuilder.vue_vue_type_script_setup_true_lang.js +0 -387
  505. package/dist/components/compositions/elements/builder/GridBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  506. package/dist/components/compositions/elements/builder/ObjectBuilder.js +0 -7
  507. package/dist/components/compositions/elements/builder/ObjectBuilder.js.map +0 -1
  508. package/dist/components/compositions/elements/builder/ObjectBuilder.vue_vue_type_script_setup_true_lang.js +0 -395
  509. package/dist/components/compositions/elements/builder/ObjectBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  510. package/dist/components/compositions/elements/builder/PresetBuilder.js +0 -7
  511. package/dist/components/compositions/elements/builder/PresetBuilder.js.map +0 -1
  512. package/dist/components/compositions/elements/builder/PresetBuilder.vue_vue_type_script_setup_true_lang.js +0 -138
  513. package/dist/components/compositions/elements/builder/PresetBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  514. package/dist/components/compositions/elements/builder/QuizBuilder.js +0 -7
  515. package/dist/components/compositions/elements/builder/QuizBuilder.js.map +0 -1
  516. package/dist/components/compositions/elements/builder/QuizBuilder.vue_vue_type_script_setup_true_lang.js +0 -456
  517. package/dist/components/compositions/elements/builder/QuizBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  518. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.js +0 -7
  519. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.js.map +0 -1
  520. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue_vue_type_script_setup_true_lang.js +0 -473
  521. package/dist/components/compositions/elements/builder/ReactiveCanvasBuilder.vue_vue_type_script_setup_true_lang.js.map +0 -1
  522. package/dist/components/compositions/elements/card/DatatableCard.js +0 -7
  523. package/dist/components/compositions/elements/card/DatatableCard.js.map +0 -1
  524. package/dist/components/compositions/elements/card/DatatableCard.vue_vue_type_script_setup_true_lang.js +0 -124
  525. package/dist/components/compositions/elements/card/DatatableCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  526. package/dist/components/compositions/elements/card/GridCard.js +0 -7
  527. package/dist/components/compositions/elements/card/GridCard.js.map +0 -1
  528. package/dist/components/compositions/elements/card/GridCard.vue_vue_type_script_setup_true_lang.js +0 -68
  529. package/dist/components/compositions/elements/card/GridCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  530. package/dist/components/compositions/elements/card/InfoCard.js +0 -7
  531. package/dist/components/compositions/elements/card/InfoCard.js.map +0 -1
  532. package/dist/components/compositions/elements/card/InfoCard.vue_vue_type_script_setup_true_lang.js +0 -97
  533. package/dist/components/compositions/elements/card/InfoCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  534. package/dist/components/compositions/elements/card/ListCard.js +0 -7
  535. package/dist/components/compositions/elements/card/ListCard.js.map +0 -1
  536. package/dist/components/compositions/elements/card/ListCard.vue_vue_type_script_setup_true_lang.js +0 -76
  537. package/dist/components/compositions/elements/card/ListCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  538. package/dist/components/compositions/elements/card/TabCard.js +0 -7
  539. package/dist/components/compositions/elements/card/TabCard.js.map +0 -1
  540. package/dist/components/compositions/elements/card/TabCard.vue_vue_type_script_setup_true_lang.js +0 -119
  541. package/dist/components/compositions/elements/card/TabCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  542. package/dist/components/compositions/elements/code/BuildStatus.js +0 -7
  543. package/dist/components/compositions/elements/code/BuildStatus.js.map +0 -1
  544. package/dist/components/compositions/elements/code/BuildStatus.vue_vue_type_script_setup_true_lang.js +0 -194
  545. package/dist/components/compositions/elements/code/BuildStatus.vue_vue_type_script_setup_true_lang.js.map +0 -1
  546. package/dist/components/compositions/elements/code/ChatMessage.js +0 -7
  547. package/dist/components/compositions/elements/code/ChatMessage.js.map +0 -1
  548. package/dist/components/compositions/elements/code/ChatMessage.vue_vue_type_script_setup_true_lang.js +0 -219
  549. package/dist/components/compositions/elements/code/ChatMessage.vue_vue_type_script_setup_true_lang.js.map +0 -1
  550. package/dist/components/compositions/elements/code/FileTree.js +0 -7
  551. package/dist/components/compositions/elements/code/FileTree.js.map +0 -1
  552. package/dist/components/compositions/elements/code/FileTree.vue_vue_type_script_setup_true_lang.js +0 -195
  553. package/dist/components/compositions/elements/code/FileTree.vue_vue_type_script_setup_true_lang.js.map +0 -1
  554. package/dist/components/compositions/elements/code/GitCodeEditor.js +0 -7
  555. package/dist/components/compositions/elements/code/GitCodeEditor.js.map +0 -1
  556. package/dist/components/compositions/elements/code/GitCodeEditor.vue_vue_type_script_setup_true_lang.js +0 -255
  557. package/dist/components/compositions/elements/code/GitCodeEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  558. package/dist/components/compositions/elements/code/PullRequestsList.js +0 -7
  559. package/dist/components/compositions/elements/code/PullRequestsList.js.map +0 -1
  560. package/dist/components/compositions/elements/code/PullRequestsList.vue_vue_type_script_setup_true_lang.js +0 -262
  561. package/dist/components/compositions/elements/code/PullRequestsList.vue_vue_type_script_setup_true_lang.js.map +0 -1
  562. package/dist/components/compositions/elements/configuration-block/DialogBlock.js +0 -7
  563. package/dist/components/compositions/elements/configuration-block/DialogBlock.js.map +0 -1
  564. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue_vue_type_script_setup_true_lang.js +0 -85
  565. package/dist/components/compositions/elements/configuration-block/DialogBlock.vue_vue_type_script_setup_true_lang.js.map +0 -1
  566. package/dist/components/compositions/elements/configuration-block/ElementsBlock.js +0 -7
  567. package/dist/components/compositions/elements/configuration-block/ElementsBlock.js.map +0 -1
  568. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue_vue_type_script_setup_true_lang.js +0 -51
  569. package/dist/components/compositions/elements/configuration-block/ElementsBlock.vue_vue_type_script_setup_true_lang.js.map +0 -1
  570. package/dist/components/compositions/elements/configuration-block/ModalBlock.js +0 -7
  571. package/dist/components/compositions/elements/configuration-block/ModalBlock.js.map +0 -1
  572. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue_vue_type_script_setup_true_lang.js +0 -88
  573. package/dist/components/compositions/elements/configuration-block/ModalBlock.vue_vue_type_script_setup_true_lang.js.map +0 -1
  574. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.js +0 -7
  575. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.js.map +0 -1
  576. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue_vue_type_script_setup_true_lang.js +0 -141
  577. package/dist/components/compositions/elements/configuration-block/RepeatableBlock.vue_vue_type_script_setup_true_lang.js.map +0 -1
  578. package/dist/components/compositions/elements/configuration-block/RepeatableRow.js +0 -7
  579. package/dist/components/compositions/elements/configuration-block/RepeatableRow.js.map +0 -1
  580. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue_vue_type_script_setup_true_lang.js +0 -24
  581. package/dist/components/compositions/elements/configuration-block/RepeatableRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  582. package/dist/components/compositions/elements/display/BannerDisplay.js +0 -7
  583. package/dist/components/compositions/elements/display/BannerDisplay.js.map +0 -1
  584. package/dist/components/compositions/elements/display/BannerDisplay.vue_vue_type_script_setup_true_lang.js +0 -58
  585. package/dist/components/compositions/elements/display/BannerDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  586. package/dist/components/compositions/elements/display/BarcodeDisplay.js +0 -7
  587. package/dist/components/compositions/elements/display/BarcodeDisplay.js.map +0 -1
  588. package/dist/components/compositions/elements/display/BarcodeDisplay.vue_vue_type_script_setup_true_lang.js +0 -49
  589. package/dist/components/compositions/elements/display/BarcodeDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  590. package/dist/components/compositions/elements/display/CarouselDisplay.js +0 -7
  591. package/dist/components/compositions/elements/display/CarouselDisplay.js.map +0 -1
  592. package/dist/components/compositions/elements/display/CarouselDisplay.vue_vue_type_script_setup_true_lang.js +0 -140
  593. package/dist/components/compositions/elements/display/CarouselDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  594. package/dist/components/compositions/elements/display/ChartDisplay.js +0 -7
  595. package/dist/components/compositions/elements/display/ChartDisplay.js.map +0 -1
  596. package/dist/components/compositions/elements/display/ChartDisplay.vue_vue_type_script_setup_true_lang.js +0 -55
  597. package/dist/components/compositions/elements/display/ChartDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  598. package/dist/components/compositions/elements/display/HtmlDisplay.js +0 -7
  599. package/dist/components/compositions/elements/display/HtmlDisplay.js.map +0 -1
  600. package/dist/components/compositions/elements/display/HtmlDisplay.vue_vue_type_script_setup_true_lang.js +0 -24
  601. package/dist/components/compositions/elements/display/HtmlDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  602. package/dist/components/compositions/elements/display/IconDisplay.js +0 -7
  603. package/dist/components/compositions/elements/display/IconDisplay.js.map +0 -1
  604. package/dist/components/compositions/elements/display/IconDisplay.vue_vue_type_script_setup_true_lang.js +0 -52
  605. package/dist/components/compositions/elements/display/IconDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  606. package/dist/components/compositions/elements/display/IframeDisplay.js +0 -7
  607. package/dist/components/compositions/elements/display/IframeDisplay.js.map +0 -1
  608. package/dist/components/compositions/elements/display/IframeDisplay.vue_vue_type_script_setup_true_lang.js +0 -38
  609. package/dist/components/compositions/elements/display/IframeDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  610. package/dist/components/compositions/elements/display/ImageDisplay.js +0 -7
  611. package/dist/components/compositions/elements/display/ImageDisplay.js.map +0 -1
  612. package/dist/components/compositions/elements/display/ImageDisplay.vue_vue_type_script_setup_true_lang.js +0 -35
  613. package/dist/components/compositions/elements/display/ImageDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  614. package/dist/components/compositions/elements/display/MarkdownDisplay.js +0 -7
  615. package/dist/components/compositions/elements/display/MarkdownDisplay.js.map +0 -1
  616. package/dist/components/compositions/elements/display/MarkdownDisplay.vue_vue_type_script_setup_true_lang.js +0 -37
  617. package/dist/components/compositions/elements/display/MarkdownDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  618. package/dist/components/compositions/elements/display/ProgressBarDisplay.js +0 -7
  619. package/dist/components/compositions/elements/display/ProgressBarDisplay.js.map +0 -1
  620. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue_vue_type_script_setup_true_lang.js +0 -40
  621. package/dist/components/compositions/elements/display/ProgressBarDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  622. package/dist/components/compositions/elements/display/QrCodeDisplay.js +0 -7
  623. package/dist/components/compositions/elements/display/QrCodeDisplay.js.map +0 -1
  624. package/dist/components/compositions/elements/display/QrCodeDisplay.vue_vue_type_script_setup_true_lang.js +0 -46
  625. package/dist/components/compositions/elements/display/QrCodeDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  626. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.js +0 -7
  627. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.js.map +0 -1
  628. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue_vue_type_script_setup_true_lang.js +0 -54
  629. package/dist/components/compositions/elements/display/ReactiveCanvasDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  630. package/dist/components/compositions/elements/display/SpriteDisplay.js +0 -7
  631. package/dist/components/compositions/elements/display/SpriteDisplay.js.map +0 -1
  632. package/dist/components/compositions/elements/display/SpriteDisplay.vue_vue_type_script_setup_true_lang.js +0 -54
  633. package/dist/components/compositions/elements/display/SpriteDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  634. package/dist/components/compositions/elements/display/TypeDisplay.js +0 -7
  635. package/dist/components/compositions/elements/display/TypeDisplay.js.map +0 -1
  636. package/dist/components/compositions/elements/display/TypeDisplay.vue_vue_type_script_setup_true_lang.js +0 -76
  637. package/dist/components/compositions/elements/display/TypeDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  638. package/dist/components/compositions/elements/display/VideoPlayerDisplay.js +0 -7
  639. package/dist/components/compositions/elements/display/VideoPlayerDisplay.js.map +0 -1
  640. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue_vue_type_script_setup_true_lang.js +0 -40
  641. package/dist/components/compositions/elements/display/VideoPlayerDisplay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  642. package/dist/components/compositions/elements/editor/CodeEditor.js +0 -9
  643. package/dist/components/compositions/elements/editor/CodeEditor.js.map +0 -1
  644. package/dist/components/compositions/elements/editor/CodeEditor.vue_vue_type_script_setup_true_lang.js +0 -249
  645. package/dist/components/compositions/elements/editor/CodeEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  646. package/dist/components/compositions/elements/editor/HtmlEditor.js +0 -9
  647. package/dist/components/compositions/elements/editor/HtmlEditor.js.map +0 -1
  648. package/dist/components/compositions/elements/editor/HtmlEditor.vue_vue_type_script_setup_true_lang.js +0 -1057
  649. package/dist/components/compositions/elements/editor/HtmlEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  650. package/dist/components/compositions/elements/editor/ImageEditor.js +0 -7
  651. package/dist/components/compositions/elements/editor/ImageEditor.js.map +0 -1
  652. package/dist/components/compositions/elements/editor/ImageEditor.vue_vue_type_script_setup_true_lang.js +0 -73
  653. package/dist/components/compositions/elements/editor/ImageEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  654. package/dist/components/compositions/elements/editor/MarkdownEditor.js +0 -7
  655. package/dist/components/compositions/elements/editor/MarkdownEditor.js.map +0 -1
  656. package/dist/components/compositions/elements/editor/MarkdownEditor.vue_vue_type_script_setup_true_lang.js +0 -93
  657. package/dist/components/compositions/elements/editor/MarkdownEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  658. package/dist/components/compositions/elements/editor/RichTextEditor.js +0 -7
  659. package/dist/components/compositions/elements/editor/RichTextEditor.js.map +0 -1
  660. package/dist/components/compositions/elements/editor/RichTextEditor.vue_vue_type_script_setup_true_lang.js +0 -208
  661. package/dist/components/compositions/elements/editor/RichTextEditor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  662. package/dist/components/compositions/elements/file/AssetPickerFile.js +0 -7
  663. package/dist/components/compositions/elements/file/AssetPickerFile.js.map +0 -1
  664. package/dist/components/compositions/elements/file/AssetPickerFile.vue_vue_type_script_setup_true_lang.js +0 -262
  665. package/dist/components/compositions/elements/file/AssetPickerFile.vue_vue_type_script_setup_true_lang.js.map +0 -1
  666. package/dist/components/compositions/elements/file/DropzoneFile.js +0 -7
  667. package/dist/components/compositions/elements/file/DropzoneFile.js.map +0 -1
  668. package/dist/components/compositions/elements/file/DropzoneFile.vue_vue_type_script_setup_true_lang.js +0 -159
  669. package/dist/components/compositions/elements/file/DropzoneFile.vue_vue_type_script_setup_true_lang.js.map +0 -1
  670. package/dist/components/compositions/elements/file/UploadFile.js +0 -7
  671. package/dist/components/compositions/elements/file/UploadFile.js.map +0 -1
  672. package/dist/components/compositions/elements/file/UploadFile.vue_vue_type_script_setup_true_lang.js +0 -137
  673. package/dist/components/compositions/elements/file/UploadFile.vue_vue_type_script_setup_true_lang.js.map +0 -1
  674. package/dist/components/compositions/elements/input/BarcodeScannerInput.js +0 -7
  675. package/dist/components/compositions/elements/input/BarcodeScannerInput.js.map +0 -1
  676. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue_vue_type_script_setup_true_lang.js +0 -167
  677. package/dist/components/compositions/elements/input/BarcodeScannerInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  678. package/dist/components/compositions/elements/input/EmailInput.js +0 -7
  679. package/dist/components/compositions/elements/input/EmailInput.js.map +0 -1
  680. package/dist/components/compositions/elements/input/EmailInput.vue_vue_type_script_setup_true_lang.js +0 -84
  681. package/dist/components/compositions/elements/input/EmailInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  682. package/dist/components/compositions/elements/input/NumberInput.js +0 -7
  683. package/dist/components/compositions/elements/input/NumberInput.js.map +0 -1
  684. package/dist/components/compositions/elements/input/NumberInput.vue_vue_type_script_setup_true_lang.js +0 -96
  685. package/dist/components/compositions/elements/input/NumberInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  686. package/dist/components/compositions/elements/input/PasswordInput.js +0 -7
  687. package/dist/components/compositions/elements/input/PasswordInput.js.map +0 -1
  688. package/dist/components/compositions/elements/input/PasswordInput.vue_vue_type_script_setup_true_lang.js +0 -111
  689. package/dist/components/compositions/elements/input/PasswordInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  690. package/dist/components/compositions/elements/input/RangeSliderInput.js +0 -7
  691. package/dist/components/compositions/elements/input/RangeSliderInput.js.map +0 -1
  692. package/dist/components/compositions/elements/input/RangeSliderInput.vue_vue_type_script_setup_true_lang.js +0 -83
  693. package/dist/components/compositions/elements/input/RangeSliderInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  694. package/dist/components/compositions/elements/input/SearchInput.js +0 -7
  695. package/dist/components/compositions/elements/input/SearchInput.js.map +0 -1
  696. package/dist/components/compositions/elements/input/SearchInput.vue_vue_type_script_setup_true_lang.js +0 -85
  697. package/dist/components/compositions/elements/input/SearchInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  698. package/dist/components/compositions/elements/input/TelInput.js +0 -7
  699. package/dist/components/compositions/elements/input/TelInput.js.map +0 -1
  700. package/dist/components/compositions/elements/input/TelInput.vue_vue_type_script_setup_true_lang.js +0 -84
  701. package/dist/components/compositions/elements/input/TelInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  702. package/dist/components/compositions/elements/input/TextInput.js +0 -7
  703. package/dist/components/compositions/elements/input/TextInput.js.map +0 -1
  704. package/dist/components/compositions/elements/input/TextInput.vue_vue_type_script_setup_true_lang.js +0 -84
  705. package/dist/components/compositions/elements/input/TextInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  706. package/dist/components/compositions/elements/input/TextareaInput.js +0 -7
  707. package/dist/components/compositions/elements/input/TextareaInput.js.map +0 -1
  708. package/dist/components/compositions/elements/input/TextareaInput.vue_vue_type_script_setup_true_lang.js +0 -86
  709. package/dist/components/compositions/elements/input/TextareaInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  710. package/dist/components/compositions/elements/input/UrlInput.js +0 -7
  711. package/dist/components/compositions/elements/input/UrlInput.js.map +0 -1
  712. package/dist/components/compositions/elements/input/UrlInput.vue_vue_type_script_setup_true_lang.js +0 -84
  713. package/dist/components/compositions/elements/input/UrlInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  714. package/dist/components/compositions/elements/option-select/AsyncSelectOption.js +0 -7
  715. package/dist/components/compositions/elements/option-select/AsyncSelectOption.js.map +0 -1
  716. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue_vue_type_script_setup_true_lang.js +0 -162
  717. package/dist/components/compositions/elements/option-select/AsyncSelectOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  718. package/dist/components/compositions/elements/option-select/AutoCompleteOption.js +0 -7
  719. package/dist/components/compositions/elements/option-select/AutoCompleteOption.js.map +0 -1
  720. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue_vue_type_script_setup_true_lang.js +0 -119
  721. package/dist/components/compositions/elements/option-select/AutoCompleteOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  722. package/dist/components/compositions/elements/option-select/CheckboxOption.js +0 -7
  723. package/dist/components/compositions/elements/option-select/CheckboxOption.js.map +0 -1
  724. package/dist/components/compositions/elements/option-select/CheckboxOption.vue_vue_type_script_setup_true_lang.js +0 -98
  725. package/dist/components/compositions/elements/option-select/CheckboxOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  726. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.js +0 -7
  727. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.js.map +0 -1
  728. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue_vue_type_script_setup_true_lang.js +0 -223
  729. package/dist/components/compositions/elements/option-select/IntegrationConnectorOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  730. package/dist/components/compositions/elements/option-select/ListOption.js +0 -7
  731. package/dist/components/compositions/elements/option-select/ListOption.js.map +0 -1
  732. package/dist/components/compositions/elements/option-select/ListOption.vue_vue_type_script_setup_true_lang.js +0 -98
  733. package/dist/components/compositions/elements/option-select/ListOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  734. package/dist/components/compositions/elements/option-select/PillSelectOption.js +0 -7
  735. package/dist/components/compositions/elements/option-select/PillSelectOption.js.map +0 -1
  736. package/dist/components/compositions/elements/option-select/PillSelectOption.vue_vue_type_script_setup_true_lang.js +0 -94
  737. package/dist/components/compositions/elements/option-select/PillSelectOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  738. package/dist/components/compositions/elements/option-select/RadioOption.js +0 -7
  739. package/dist/components/compositions/elements/option-select/RadioOption.js.map +0 -1
  740. package/dist/components/compositions/elements/option-select/RadioOption.vue_vue_type_script_setup_true_lang.js +0 -113
  741. package/dist/components/compositions/elements/option-select/RadioOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  742. package/dist/components/compositions/elements/option-select/SelectMultipleOption.js +0 -7
  743. package/dist/components/compositions/elements/option-select/SelectMultipleOption.js.map +0 -1
  744. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue_vue_type_script_setup_true_lang.js +0 -136
  745. package/dist/components/compositions/elements/option-select/SelectMultipleOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  746. package/dist/components/compositions/elements/option-select/SelectOption.js +0 -7
  747. package/dist/components/compositions/elements/option-select/SelectOption.js.map +0 -1
  748. package/dist/components/compositions/elements/option-select/SelectOption.vue_vue_type_script_setup_true_lang.js +0 -121
  749. package/dist/components/compositions/elements/option-select/SelectOption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  750. package/dist/components/compositions/elements/picker/AsyncSelectPicker.js +0 -7
  751. package/dist/components/compositions/elements/picker/AsyncSelectPicker.js.map +0 -1
  752. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue_vue_type_script_setup_true_lang.js +0 -174
  753. package/dist/components/compositions/elements/picker/AsyncSelectPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  754. package/dist/components/compositions/elements/picker/ColorPicker.js +0 -7
  755. package/dist/components/compositions/elements/picker/ColorPicker.js.map +0 -1
  756. package/dist/components/compositions/elements/picker/ColorPicker.vue_vue_type_script_setup_true_lang.js +0 -156
  757. package/dist/components/compositions/elements/picker/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  758. package/dist/components/compositions/elements/picker/DataModelPicker.js +0 -7
  759. package/dist/components/compositions/elements/picker/DataModelPicker.js.map +0 -1
  760. package/dist/components/compositions/elements/picker/DataModelPicker.vue_vue_type_script_setup_true_lang.js +0 -102
  761. package/dist/components/compositions/elements/picker/DataModelPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  762. package/dist/components/compositions/elements/picker/DatePicker.js +0 -7
  763. package/dist/components/compositions/elements/picker/DatePicker.js.map +0 -1
  764. package/dist/components/compositions/elements/picker/DatePicker.vue_vue_type_script_setup_true_lang.js +0 -136
  765. package/dist/components/compositions/elements/picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  766. package/dist/components/compositions/elements/picker/DateTimePicker.js +0 -7
  767. package/dist/components/compositions/elements/picker/DateTimePicker.js.map +0 -1
  768. package/dist/components/compositions/elements/picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +0 -166
  769. package/dist/components/compositions/elements/picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  770. package/dist/components/compositions/elements/picker/IconPicker.js +0 -7
  771. package/dist/components/compositions/elements/picker/IconPicker.js.map +0 -1
  772. package/dist/components/compositions/elements/picker/IconPicker.vue_vue_type_script_setup_true_lang.js +0 -116
  773. package/dist/components/compositions/elements/picker/IconPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  774. package/dist/components/compositions/elements/picker/IconPickerInline.js +0 -7
  775. package/dist/components/compositions/elements/picker/IconPickerInline.js.map +0 -1
  776. package/dist/components/compositions/elements/picker/IconPickerInline.vue_vue_type_script_setup_true_lang.js +0 -123
  777. package/dist/components/compositions/elements/picker/IconPickerInline.vue_vue_type_script_setup_true_lang.js.map +0 -1
  778. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.js +0 -7
  779. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.js.map +0 -1
  780. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue_vue_type_script_setup_true_lang.js +0 -247
  781. package/dist/components/compositions/elements/picker/IntegrationConnectorPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  782. package/dist/components/compositions/elements/picker/MapPicker.js +0 -7
  783. package/dist/components/compositions/elements/picker/MapPicker.js.map +0 -1
  784. package/dist/components/compositions/elements/picker/MapPicker.vue_vue_type_script_setup_true_lang.js +0 -125
  785. package/dist/components/compositions/elements/picker/MapPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  786. package/dist/components/compositions/elements/picker/TimePicker.js +0 -7
  787. package/dist/components/compositions/elements/picker/TimePicker.js.map +0 -1
  788. package/dist/components/compositions/elements/picker/TimePicker.vue_vue_type_script_setup_true_lang.js +0 -126
  789. package/dist/components/compositions/elements/picker/TimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  790. package/dist/components/compositions/elements/picker/TimezonePicker.js +0 -7
  791. package/dist/components/compositions/elements/picker/TimezonePicker.js.map +0 -1
  792. package/dist/components/compositions/elements/picker/TimezonePicker.vue_vue_type_script_setup_true_lang.js +0 -120
  793. package/dist/components/compositions/elements/picker/TimezonePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  794. package/dist/components/ui/accordion/Accordion.js +0 -7
  795. package/dist/components/ui/accordion/Accordion.js.map +0 -1
  796. package/dist/components/ui/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +0 -39
  797. package/dist/components/ui/accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
  798. package/dist/components/ui/accordion/AccordionContent.js +0 -7
  799. package/dist/components/ui/accordion/AccordionContent.js.map +0 -1
  800. package/dist/components/ui/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js +0 -31
  801. package/dist/components/ui/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  802. package/dist/components/ui/accordion/AccordionItem.js +0 -7
  803. package/dist/components/ui/accordion/AccordionItem.js.map +0 -1
  804. package/dist/components/ui/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +0 -33
  805. package/dist/components/ui/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  806. package/dist/components/ui/accordion/AccordionTrigger.js +0 -7
  807. package/dist/components/ui/accordion/AccordionTrigger.js.map +0 -1
  808. package/dist/components/ui/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js +0 -34
  809. package/dist/components/ui/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  810. package/dist/components/ui/accordion/index.js +0 -4
  811. package/dist/components/ui/alert/Alert.js +0 -7
  812. package/dist/components/ui/alert/Alert.js.map +0 -1
  813. package/dist/components/ui/alert/Alert.vue_vue_type_script_setup_true_lang.js +0 -28
  814. package/dist/components/ui/alert/Alert.vue_vue_type_script_setup_true_lang.js.map +0 -1
  815. package/dist/components/ui/alert/AlertDescription.js +0 -7
  816. package/dist/components/ui/alert/AlertDescription.js.map +0 -1
  817. package/dist/components/ui/alert/AlertDescription.vue_vue_type_script_setup_true_lang.js +0 -21
  818. package/dist/components/ui/alert/AlertDescription.vue_vue_type_script_setup_true_lang.js.map +0 -1
  819. package/dist/components/ui/alert/AlertTitle.js +0 -7
  820. package/dist/components/ui/alert/AlertTitle.js.map +0 -1
  821. package/dist/components/ui/alert/AlertTitle.vue_vue_type_script_setup_true_lang.js +0 -21
  822. package/dist/components/ui/alert/AlertTitle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  823. package/dist/components/ui/alert/index.js +0 -19
  824. package/dist/components/ui/alert/index.js.map +0 -1
  825. package/dist/components/ui/avatar/Avatar.js +0 -7
  826. package/dist/components/ui/avatar/Avatar.js.map +0 -1
  827. package/dist/components/ui/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +0 -29
  828. package/dist/components/ui/avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  829. package/dist/components/ui/avatar/AvatarFallback.js +0 -7
  830. package/dist/components/ui/avatar/AvatarFallback.js.map +0 -1
  831. package/dist/components/ui/avatar/AvatarFallback.vue_vue_type_script_setup_true_lang.js +0 -31
  832. package/dist/components/ui/avatar/AvatarFallback.vue_vue_type_script_setup_true_lang.js.map +0 -1
  833. package/dist/components/ui/avatar/AvatarImage.js +0 -7
  834. package/dist/components/ui/avatar/AvatarImage.js.map +0 -1
  835. package/dist/components/ui/avatar/AvatarImage.vue_vue_type_script_setup_true_lang.js +0 -30
  836. package/dist/components/ui/avatar/AvatarImage.vue_vue_type_script_setup_true_lang.js.map +0 -1
  837. package/dist/components/ui/avatar/index.js +0 -18
  838. package/dist/components/ui/avatar/index.js.map +0 -1
  839. package/dist/components/ui/badge/Badge.js +0 -7
  840. package/dist/components/ui/badge/Badge.js.map +0 -1
  841. package/dist/components/ui/badge/Badge.vue_vue_type_script_setup_true_lang.js +0 -43
  842. package/dist/components/ui/badge/Badge.vue_vue_type_script_setup_true_lang.js.map +0 -1
  843. package/dist/components/ui/badge/index.js +0 -29
  844. package/dist/components/ui/badge/index.js.map +0 -1
  845. package/dist/components/ui/button/Button.js +0 -7
  846. package/dist/components/ui/button/Button.js.map +0 -1
  847. package/dist/components/ui/button/Button.vue_vue_type_script_setup_true_lang.js +0 -43
  848. package/dist/components/ui/button/Button.vue_vue_type_script_setup_true_lang.js.map +0 -1
  849. package/dist/components/ui/button/index.js +0 -35
  850. package/dist/components/ui/button/index.js.map +0 -1
  851. package/dist/components/ui/calendar/Calendar.js +0 -7
  852. package/dist/components/ui/calendar/Calendar.js.map +0 -1
  853. package/dist/components/ui/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +0 -104
  854. package/dist/components/ui/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  855. package/dist/components/ui/calendar/CalendarCell.js +0 -7
  856. package/dist/components/ui/calendar/CalendarCell.js.map +0 -1
  857. package/dist/components/ui/calendar/CalendarCell.vue_vue_type_script_setup_true_lang.js +0 -31
  858. package/dist/components/ui/calendar/CalendarCell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  859. package/dist/components/ui/calendar/CalendarCellTrigger.js +0 -7
  860. package/dist/components/ui/calendar/CalendarCellTrigger.js.map +0 -1
  861. package/dist/components/ui/calendar/CalendarCellTrigger.vue_vue_type_script_setup_true_lang.js +0 -33
  862. package/dist/components/ui/calendar/CalendarCellTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  863. package/dist/components/ui/calendar/CalendarGrid.js +0 -7
  864. package/dist/components/ui/calendar/CalendarGrid.js.map +0 -1
  865. package/dist/components/ui/calendar/CalendarGrid.vue_vue_type_script_setup_true_lang.js +0 -30
  866. package/dist/components/ui/calendar/CalendarGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  867. package/dist/components/ui/calendar/CalendarGridBody.js +0 -7
  868. package/dist/components/ui/calendar/CalendarGridBody.js.map +0 -1
  869. package/dist/components/ui/calendar/CalendarGridBody.vue_vue_type_script_setup_true_lang.js +0 -21
  870. package/dist/components/ui/calendar/CalendarGridBody.vue_vue_type_script_setup_true_lang.js.map +0 -1
  871. package/dist/components/ui/calendar/CalendarGridHead.js +0 -7
  872. package/dist/components/ui/calendar/CalendarGridHead.js.map +0 -1
  873. package/dist/components/ui/calendar/CalendarGridHead.vue_vue_type_script_setup_true_lang.js +0 -21
  874. package/dist/components/ui/calendar/CalendarGridHead.vue_vue_type_script_setup_true_lang.js.map +0 -1
  875. package/dist/components/ui/calendar/CalendarGridRow.js +0 -7
  876. package/dist/components/ui/calendar/CalendarGridRow.js.map +0 -1
  877. package/dist/components/ui/calendar/CalendarGridRow.vue_vue_type_script_setup_true_lang.js +0 -30
  878. package/dist/components/ui/calendar/CalendarGridRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  879. package/dist/components/ui/calendar/CalendarHeadCell.js +0 -7
  880. package/dist/components/ui/calendar/CalendarHeadCell.js.map +0 -1
  881. package/dist/components/ui/calendar/CalendarHeadCell.vue_vue_type_script_setup_true_lang.js +0 -30
  882. package/dist/components/ui/calendar/CalendarHeadCell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  883. package/dist/components/ui/calendar/CalendarHeader.js +0 -7
  884. package/dist/components/ui/calendar/CalendarHeader.js.map +0 -1
  885. package/dist/components/ui/calendar/CalendarHeader.vue_vue_type_script_setup_true_lang.js +0 -30
  886. package/dist/components/ui/calendar/CalendarHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  887. package/dist/components/ui/calendar/CalendarHeading.js +0 -7
  888. package/dist/components/ui/calendar/CalendarHeading.js.map +0 -1
  889. package/dist/components/ui/calendar/CalendarHeading.vue_vue_type_script_setup_true_lang.js +0 -30
  890. package/dist/components/ui/calendar/CalendarHeading.vue_vue_type_script_setup_true_lang.js.map +0 -1
  891. package/dist/components/ui/calendar/CalendarNext.js +0 -7
  892. package/dist/components/ui/calendar/CalendarNext.js.map +0 -1
  893. package/dist/components/ui/calendar/CalendarNext.vue_vue_type_script_setup_true_lang.js +0 -33
  894. package/dist/components/ui/calendar/CalendarNext.vue_vue_type_script_setup_true_lang.js.map +0 -1
  895. package/dist/components/ui/calendar/CalendarPrev.js +0 -7
  896. package/dist/components/ui/calendar/CalendarPrev.js.map +0 -1
  897. package/dist/components/ui/calendar/CalendarPrev.vue_vue_type_script_setup_true_lang.js +0 -33
  898. package/dist/components/ui/calendar/CalendarPrev.vue_vue_type_script_setup_true_lang.js.map +0 -1
  899. package/dist/components/ui/calendar/index.js +0 -12
  900. package/dist/components/ui/card/Card.js +0 -7
  901. package/dist/components/ui/card/Card.js.map +0 -1
  902. package/dist/components/ui/card/Card.vue_vue_type_script_setup_true_lang.js +0 -29
  903. package/dist/components/ui/card/Card.vue_vue_type_script_setup_true_lang.js.map +0 -1
  904. package/dist/components/ui/card/CardContent.js +0 -7
  905. package/dist/components/ui/card/CardContent.js.map +0 -1
  906. package/dist/components/ui/card/CardContent.vue_vue_type_script_setup_true_lang.js +0 -21
  907. package/dist/components/ui/card/CardContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  908. package/dist/components/ui/card/CardDescription.js +0 -7
  909. package/dist/components/ui/card/CardDescription.js.map +0 -1
  910. package/dist/components/ui/card/CardDescription.vue_vue_type_script_setup_true_lang.js +0 -21
  911. package/dist/components/ui/card/CardDescription.vue_vue_type_script_setup_true_lang.js.map +0 -1
  912. package/dist/components/ui/card/CardFooter.js +0 -7
  913. package/dist/components/ui/card/CardFooter.js.map +0 -1
  914. package/dist/components/ui/card/CardFooter.vue_vue_type_script_setup_true_lang.js +0 -21
  915. package/dist/components/ui/card/CardFooter.vue_vue_type_script_setup_true_lang.js.map +0 -1
  916. package/dist/components/ui/card/CardHeader.js +0 -7
  917. package/dist/components/ui/card/CardHeader.js.map +0 -1
  918. package/dist/components/ui/card/CardHeader.vue_vue_type_script_setup_true_lang.js +0 -21
  919. package/dist/components/ui/card/CardHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  920. package/dist/components/ui/card/CardTitle.js +0 -7
  921. package/dist/components/ui/card/CardTitle.js.map +0 -1
  922. package/dist/components/ui/card/CardTitle.vue_vue_type_script_setup_true_lang.js +0 -21
  923. package/dist/components/ui/card/CardTitle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  924. package/dist/components/ui/card/index.js +0 -31
  925. package/dist/components/ui/card/index.js.map +0 -1
  926. package/dist/components/ui/checkbox/Checkbox.js +0 -7
  927. package/dist/components/ui/checkbox/Checkbox.js.map +0 -1
  928. package/dist/components/ui/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -44
  929. package/dist/components/ui/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  930. package/dist/components/ui/checkbox/index.js +0 -1
  931. package/dist/components/ui/combobox/Combobox.js +0 -7
  932. package/dist/components/ui/combobox/Combobox.js.map +0 -1
  933. package/dist/components/ui/combobox/Combobox.vue_vue_type_script_setup_true_lang.js +0 -52
  934. package/dist/components/ui/combobox/Combobox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  935. package/dist/components/ui/combobox/ComboboxAnchor.js +0 -7
  936. package/dist/components/ui/combobox/ComboboxAnchor.js.map +0 -1
  937. package/dist/components/ui/combobox/ComboboxAnchor.vue_vue_type_script_setup_true_lang.js +0 -31
  938. package/dist/components/ui/combobox/ComboboxAnchor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  939. package/dist/components/ui/combobox/ComboboxContent.js +0 -7
  940. package/dist/components/ui/combobox/ComboboxContent.js.map +0 -1
  941. package/dist/components/ui/combobox/ComboboxContent.vue_vue_type_script_setup_true_lang.js +0 -69
  942. package/dist/components/ui/combobox/ComboboxContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  943. package/dist/components/ui/combobox/ComboboxEmpty.js +0 -7
  944. package/dist/components/ui/combobox/ComboboxEmpty.js.map +0 -1
  945. package/dist/components/ui/combobox/ComboboxEmpty.vue_vue_type_script_setup_true_lang.js +0 -30
  946. package/dist/components/ui/combobox/ComboboxEmpty.vue_vue_type_script_setup_true_lang.js.map +0 -1
  947. package/dist/components/ui/combobox/ComboboxGroup.js +0 -7
  948. package/dist/components/ui/combobox/ComboboxGroup.js.map +0 -1
  949. package/dist/components/ui/combobox/ComboboxGroup.vue_vue_type_script_setup_true_lang.js +0 -30
  950. package/dist/components/ui/combobox/ComboboxGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  951. package/dist/components/ui/combobox/ComboboxInput.js +0 -7
  952. package/dist/components/ui/combobox/ComboboxInput.js.map +0 -1
  953. package/dist/components/ui/combobox/ComboboxInput.vue_vue_type_script_setup_true_lang.js +0 -32
  954. package/dist/components/ui/combobox/ComboboxInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  955. package/dist/components/ui/combobox/ComboboxItem.js +0 -7
  956. package/dist/components/ui/combobox/ComboboxItem.js.map +0 -1
  957. package/dist/components/ui/combobox/ComboboxItem.vue_vue_type_script_setup_true_lang.js +0 -34
  958. package/dist/components/ui/combobox/ComboboxItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  959. package/dist/components/ui/combobox/ComboboxItemIndicator.js +0 -7
  960. package/dist/components/ui/combobox/ComboboxItemIndicator.js.map +0 -1
  961. package/dist/components/ui/combobox/ComboboxItemIndicator.vue_vue_type_script_setup_true_lang.js +0 -31
  962. package/dist/components/ui/combobox/ComboboxItemIndicator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  963. package/dist/components/ui/combobox/ComboboxSeparator.js +0 -7
  964. package/dist/components/ui/combobox/ComboboxSeparator.js.map +0 -1
  965. package/dist/components/ui/combobox/ComboboxSeparator.vue_vue_type_script_setup_true_lang.js +0 -27
  966. package/dist/components/ui/combobox/ComboboxSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  967. package/dist/components/ui/combobox/index.js +0 -9
  968. package/dist/components/ui/command/Command.js +0 -7
  969. package/dist/components/ui/command/Command.js.map +0 -1
  970. package/dist/components/ui/command/Command.vue_vue_type_script_setup_true_lang.js +0 -78
  971. package/dist/components/ui/command/Command.vue_vue_type_script_setup_true_lang.js.map +0 -1
  972. package/dist/components/ui/command/CommandDialog.js +0 -7
  973. package/dist/components/ui/command/CommandDialog.js.map +0 -1
  974. package/dist/components/ui/command/CommandDialog.vue_vue_type_script_setup_true_lang.js +0 -33
  975. package/dist/components/ui/command/CommandDialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  976. package/dist/components/ui/command/CommandEmpty.js +0 -7
  977. package/dist/components/ui/command/CommandEmpty.js.map +0 -1
  978. package/dist/components/ui/command/CommandEmpty.vue_vue_type_script_setup_true_lang.js +0 -31
  979. package/dist/components/ui/command/CommandEmpty.vue_vue_type_script_setup_true_lang.js.map +0 -1
  980. package/dist/components/ui/command/CommandGroup.js +0 -7
  981. package/dist/components/ui/command/CommandGroup.js.map +0 -1
  982. package/dist/components/ui/command/CommandGroup.vue_vue_type_script_setup_true_lang.js +0 -50
  983. package/dist/components/ui/command/CommandGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  984. package/dist/components/ui/command/CommandInput.js +0 -7
  985. package/dist/components/ui/command/CommandInput.js.map +0 -1
  986. package/dist/components/ui/command/CommandInput.vue_vue_type_script_setup_true_lang.js +0 -44
  987. package/dist/components/ui/command/CommandInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  988. package/dist/components/ui/command/CommandItem.js +0 -7
  989. package/dist/components/ui/command/CommandItem.js.map +0 -1
  990. package/dist/components/ui/command/CommandItem.vue_vue_type_script_setup_true_lang.js +0 -53
  991. package/dist/components/ui/command/CommandItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  992. package/dist/components/ui/command/CommandList.js +0 -7
  993. package/dist/components/ui/command/CommandList.js.map +0 -1
  994. package/dist/components/ui/command/CommandList.vue_vue_type_script_setup_true_lang.js +0 -30
  995. package/dist/components/ui/command/CommandList.vue_vue_type_script_setup_true_lang.js.map +0 -1
  996. package/dist/components/ui/command/CommandSeparator.js +0 -7
  997. package/dist/components/ui/command/CommandSeparator.js.map +0 -1
  998. package/dist/components/ui/command/CommandSeparator.vue_vue_type_script_setup_true_lang.js +0 -32
  999. package/dist/components/ui/command/CommandSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1000. package/dist/components/ui/command/CommandShortcut.js +0 -7
  1001. package/dist/components/ui/command/CommandShortcut.js.map +0 -1
  1002. package/dist/components/ui/command/CommandShortcut.vue_vue_type_script_setup_true_lang.js +0 -21
  1003. package/dist/components/ui/command/CommandShortcut.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1004. package/dist/components/ui/command/index.js +0 -16
  1005. package/dist/components/ui/command/index.js.map +0 -1
  1006. package/dist/components/ui/dialog/Dialog.js +0 -7
  1007. package/dist/components/ui/dialog/Dialog.js.map +0 -1
  1008. package/dist/components/ui/dialog/Dialog.vue_vue_type_script_setup_true_lang.js +0 -23
  1009. package/dist/components/ui/dialog/Dialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1010. package/dist/components/ui/dialog/DialogClose.js +0 -7
  1011. package/dist/components/ui/dialog/DialogClose.js.map +0 -1
  1012. package/dist/components/ui/dialog/DialogClose.vue_vue_type_script_setup_true_lang.js +0 -21
  1013. package/dist/components/ui/dialog/DialogClose.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1014. package/dist/components/ui/dialog/DialogContent.js +0 -7
  1015. package/dist/components/ui/dialog/DialogContent.js.map +0 -1
  1016. package/dist/components/ui/dialog/DialogContent.vue_vue_type_script_setup_true_lang.js +0 -49
  1017. package/dist/components/ui/dialog/DialogContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1018. package/dist/components/ui/dialog/DialogDescription.js +0 -7
  1019. package/dist/components/ui/dialog/DialogDescription.js.map +0 -1
  1020. package/dist/components/ui/dialog/DialogDescription.vue_vue_type_script_setup_true_lang.js +0 -30
  1021. package/dist/components/ui/dialog/DialogDescription.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1022. package/dist/components/ui/dialog/DialogFooter.js +0 -7
  1023. package/dist/components/ui/dialog/DialogFooter.js.map +0 -1
  1024. package/dist/components/ui/dialog/DialogFooter.vue_vue_type_script_setup_true_lang.js +0 -21
  1025. package/dist/components/ui/dialog/DialogFooter.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1026. package/dist/components/ui/dialog/DialogHeader.js +0 -7
  1027. package/dist/components/ui/dialog/DialogHeader.js.map +0 -1
  1028. package/dist/components/ui/dialog/DialogHeader.vue_vue_type_script_setup_true_lang.js +0 -21
  1029. package/dist/components/ui/dialog/DialogHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1030. package/dist/components/ui/dialog/DialogOverlay.js +0 -7
  1031. package/dist/components/ui/dialog/DialogOverlay.js.map +0 -1
  1032. package/dist/components/ui/dialog/DialogOverlay.vue_vue_type_script_setup_true_lang.js +0 -28
  1033. package/dist/components/ui/dialog/DialogOverlay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1034. package/dist/components/ui/dialog/DialogPortal.js +0 -7
  1035. package/dist/components/ui/dialog/DialogPortal.js.map +0 -1
  1036. package/dist/components/ui/dialog/DialogPortal.vue_vue_type_script_setup_true_lang.js +0 -23
  1037. package/dist/components/ui/dialog/DialogPortal.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1038. package/dist/components/ui/dialog/DialogTitle.js +0 -7
  1039. package/dist/components/ui/dialog/DialogTitle.js.map +0 -1
  1040. package/dist/components/ui/dialog/DialogTitle.vue_vue_type_script_setup_true_lang.js +0 -30
  1041. package/dist/components/ui/dialog/DialogTitle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1042. package/dist/components/ui/dialog/DialogTrigger.js +0 -7
  1043. package/dist/components/ui/dialog/DialogTrigger.js.map +0 -1
  1044. package/dist/components/ui/dialog/DialogTrigger.vue_vue_type_script_setup_true_lang.js +0 -21
  1045. package/dist/components/ui/dialog/DialogTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1046. package/dist/components/ui/dialog/index.js +0 -10
  1047. package/dist/components/ui/dropdown-menu/DropdownMenu.js +0 -7
  1048. package/dist/components/ui/dropdown-menu/DropdownMenu.js.map +0 -1
  1049. package/dist/components/ui/dropdown-menu/DropdownMenu.vue_vue_type_script_setup_true_lang.js +0 -24
  1050. package/dist/components/ui/dropdown-menu/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1051. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.js +0 -7
  1052. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.js.map +0 -1
  1053. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +0 -38
  1054. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1055. package/dist/components/ui/dropdown-menu/DropdownMenuContent.js +0 -7
  1056. package/dist/components/ui/dropdown-menu/DropdownMenuContent.js.map +0 -1
  1057. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue_vue_type_script_setup_true_lang.js +0 -61
  1058. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1059. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.js +0 -7
  1060. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.js.map +0 -1
  1061. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue_vue_type_script_setup_true_lang.js +0 -21
  1062. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1063. package/dist/components/ui/dropdown-menu/DropdownMenuItem.js +0 -7
  1064. package/dist/components/ui/dropdown-menu/DropdownMenuItem.js.map +0 -1
  1065. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue_vue_type_script_setup_true_lang.js +0 -33
  1066. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1067. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.js +0 -7
  1068. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.js.map +0 -1
  1069. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue_vue_type_script_setup_true_lang.js +0 -31
  1070. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1071. package/dist/components/ui/dropdown-menu/DropdownMenuPortal.js +0 -7
  1072. package/dist/components/ui/dropdown-menu/DropdownMenuPortal.js.map +0 -1
  1073. package/dist/components/ui/dropdown-menu/DropdownMenuPortal.vue_vue_type_script_setup_true_lang.js +0 -23
  1074. package/dist/components/ui/dropdown-menu/DropdownMenuPortal.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1075. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.js +0 -7
  1076. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.js.map +0 -1
  1077. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang.js +0 -23
  1078. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1079. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.js +0 -7
  1080. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.js.map +0 -1
  1081. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue_vue_type_script_setup_true_lang.js +0 -38
  1082. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1083. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.js +0 -7
  1084. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.js.map +0 -1
  1085. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue_vue_type_script_setup_true_lang.js +0 -27
  1086. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1087. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.js +0 -7
  1088. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.js.map +0 -1
  1089. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue_vue_type_script_setup_true_lang.js +0 -21
  1090. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1091. package/dist/components/ui/dropdown-menu/DropdownMenuSub.js +0 -7
  1092. package/dist/components/ui/dropdown-menu/DropdownMenuSub.js.map +0 -1
  1093. package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue_vue_type_script_setup_true_lang.js +0 -22
  1094. package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1095. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.js +0 -7
  1096. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.js.map +0 -1
  1097. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue_vue_type_script_setup_true_lang.js +0 -57
  1098. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1099. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.js +0 -7
  1100. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.js.map +0 -1
  1101. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang.js +0 -34
  1102. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1103. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.js +0 -7
  1104. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.js.map +0 -1
  1105. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang.js +0 -22
  1106. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1107. package/dist/components/ui/dropdown-menu/index.js +0 -15
  1108. package/dist/components/ui/field-frame/FieldFrame.js +0 -7
  1109. package/dist/components/ui/field-frame/FieldFrame.js.map +0 -1
  1110. package/dist/components/ui/field-frame/FieldFrame.vue_vue_type_script_setup_true_lang.js +0 -60
  1111. package/dist/components/ui/field-frame/FieldFrame.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1112. package/dist/components/ui/field-frame/index.js +0 -1
  1113. package/dist/components/ui/index.js +0 -160
  1114. package/dist/components/ui/input/Input.js +0 -7
  1115. package/dist/components/ui/input/Input.js.map +0 -1
  1116. package/dist/components/ui/input/Input.vue_vue_type_script_setup_true_lang.js +0 -32
  1117. package/dist/components/ui/input/Input.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1118. package/dist/components/ui/input/index.js +0 -1
  1119. package/dist/components/ui/label/Label.js +0 -7
  1120. package/dist/components/ui/label/Label.js.map +0 -1
  1121. package/dist/components/ui/label/Label.vue_vue_type_script_setup_true_lang.js +0 -33
  1122. package/dist/components/ui/label/Label.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1123. package/dist/components/ui/label/index.js +0 -14
  1124. package/dist/components/ui/label/index.js.map +0 -1
  1125. package/dist/components/ui/popover/Popover.js +0 -7
  1126. package/dist/components/ui/popover/Popover.js.map +0 -1
  1127. package/dist/components/ui/popover/Popover.vue_vue_type_script_setup_true_lang.js +0 -23
  1128. package/dist/components/ui/popover/Popover.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1129. package/dist/components/ui/popover/PopoverAnchor.js +0 -7
  1130. package/dist/components/ui/popover/PopoverAnchor.js.map +0 -1
  1131. package/dist/components/ui/popover/PopoverAnchor.vue_vue_type_script_setup_true_lang.js +0 -22
  1132. package/dist/components/ui/popover/PopoverAnchor.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1133. package/dist/components/ui/popover/PopoverArrow.js +0 -7
  1134. package/dist/components/ui/popover/PopoverArrow.js.map +0 -1
  1135. package/dist/components/ui/popover/PopoverArrow.vue_vue_type_script_setup_true_lang.js +0 -30
  1136. package/dist/components/ui/popover/PopoverArrow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1137. package/dist/components/ui/popover/PopoverClose.js +0 -7
  1138. package/dist/components/ui/popover/PopoverClose.js.map +0 -1
  1139. package/dist/components/ui/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js +0 -21
  1140. package/dist/components/ui/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1141. package/dist/components/ui/popover/PopoverContent.js +0 -7
  1142. package/dist/components/ui/popover/PopoverContent.js.map +0 -1
  1143. package/dist/components/ui/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js +0 -66
  1144. package/dist/components/ui/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1145. package/dist/components/ui/popover/PopoverPortal.js +0 -7
  1146. package/dist/components/ui/popover/PopoverPortal.js.map +0 -1
  1147. package/dist/components/ui/popover/PopoverPortal.vue_vue_type_script_setup_true_lang.js +0 -23
  1148. package/dist/components/ui/popover/PopoverPortal.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1149. package/dist/components/ui/popover/PopoverTrigger.js +0 -7
  1150. package/dist/components/ui/popover/PopoverTrigger.js.map +0 -1
  1151. package/dist/components/ui/popover/PopoverTrigger.vue_vue_type_script_setup_true_lang.js +0 -21
  1152. package/dist/components/ui/popover/PopoverTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1153. package/dist/components/ui/popover/index.js +0 -7
  1154. package/dist/components/ui/progress/Progress.js +0 -7
  1155. package/dist/components/ui/progress/Progress.js.map +0 -1
  1156. package/dist/components/ui/progress/Progress.vue_vue_type_script_setup_true_lang.js +0 -43
  1157. package/dist/components/ui/progress/Progress.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1158. package/dist/components/ui/progress/index.js +0 -22
  1159. package/dist/components/ui/progress/index.js.map +0 -1
  1160. package/dist/components/ui/radio-group/RadioGroup.js +0 -7
  1161. package/dist/components/ui/radio-group/RadioGroup.js.map +0 -1
  1162. package/dist/components/ui/radio-group/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -39
  1163. package/dist/components/ui/radio-group/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1164. package/dist/components/ui/radio-group/RadioGroupItem.js +0 -7
  1165. package/dist/components/ui/radio-group/RadioGroupItem.js.map +0 -1
  1166. package/dist/components/ui/radio-group/RadioGroupItem.vue_vue_type_script_setup_true_lang.js +0 -39
  1167. package/dist/components/ui/radio-group/RadioGroupItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1168. package/dist/components/ui/radio-group/index.js +0 -2
  1169. package/dist/components/ui/select/Select.js +0 -7
  1170. package/dist/components/ui/select/Select.js.map +0 -1
  1171. package/dist/components/ui/select/Select.vue_vue_type_script_setup_true_lang.js +0 -31
  1172. package/dist/components/ui/select/Select.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1173. package/dist/components/ui/select/SelectContent.js +0 -7
  1174. package/dist/components/ui/select/SelectContent.js.map +0 -1
  1175. package/dist/components/ui/select/SelectContent.vue_vue_type_script_setup_true_lang.js +0 -74
  1176. package/dist/components/ui/select/SelectContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1177. package/dist/components/ui/select/SelectGroup.js +0 -7
  1178. package/dist/components/ui/select/SelectGroup.js.map +0 -1
  1179. package/dist/components/ui/select/SelectGroup.vue_vue_type_script_setup_true_lang.js +0 -30
  1180. package/dist/components/ui/select/SelectGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1181. package/dist/components/ui/select/SelectItem.js +0 -7
  1182. package/dist/components/ui/select/SelectItem.js.map +0 -1
  1183. package/dist/components/ui/select/SelectItem.vue_vue_type_script_setup_true_lang.js +0 -40
  1184. package/dist/components/ui/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1185. package/dist/components/ui/select/SelectLabel.js +0 -7
  1186. package/dist/components/ui/select/SelectLabel.js.map +0 -1
  1187. package/dist/components/ui/select/SelectLabel.vue_vue_type_script_setup_true_lang.js +0 -31
  1188. package/dist/components/ui/select/SelectLabel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1189. package/dist/components/ui/select/SelectScrollDownButton.js +0 -7
  1190. package/dist/components/ui/select/SelectScrollDownButton.js.map +0 -1
  1191. package/dist/components/ui/select/SelectScrollDownButton.vue_vue_type_script_setup_true_lang.js +0 -31
  1192. package/dist/components/ui/select/SelectScrollDownButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1193. package/dist/components/ui/select/SelectScrollUpButton.js +0 -7
  1194. package/dist/components/ui/select/SelectScrollUpButton.js.map +0 -1
  1195. package/dist/components/ui/select/SelectScrollUpButton.vue_vue_type_script_setup_true_lang.js +0 -31
  1196. package/dist/components/ui/select/SelectScrollUpButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1197. package/dist/components/ui/select/SelectSeparator.js +0 -7
  1198. package/dist/components/ui/select/SelectSeparator.js.map +0 -1
  1199. package/dist/components/ui/select/SelectSeparator.vue_vue_type_script_setup_true_lang.js +0 -27
  1200. package/dist/components/ui/select/SelectSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1201. package/dist/components/ui/select/SelectTrigger.js +0 -7
  1202. package/dist/components/ui/select/SelectTrigger.js.map +0 -1
  1203. package/dist/components/ui/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +0 -36
  1204. package/dist/components/ui/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1205. package/dist/components/ui/select/SelectValue.js +0 -7
  1206. package/dist/components/ui/select/SelectValue.js.map +0 -1
  1207. package/dist/components/ui/select/SelectValue.vue_vue_type_script_setup_true_lang.js +0 -22
  1208. package/dist/components/ui/select/SelectValue.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1209. package/dist/components/ui/select/index.js +0 -10
  1210. package/dist/components/ui/separator/Separator.js +0 -7
  1211. package/dist/components/ui/separator/Separator.js.map +0 -1
  1212. package/dist/components/ui/separator/Separator.vue_vue_type_script_setup_true_lang.js +0 -32
  1213. package/dist/components/ui/separator/Separator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1214. package/dist/components/ui/separator/index.js +0 -1
  1215. package/dist/components/ui/sheet/Sheet.js +0 -7
  1216. package/dist/components/ui/sheet/Sheet.js.map +0 -1
  1217. package/dist/components/ui/sheet/Sheet.vue_vue_type_script_setup_true_lang.js +0 -23
  1218. package/dist/components/ui/sheet/Sheet.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1219. package/dist/components/ui/sheet/SheetClose.js +0 -7
  1220. package/dist/components/ui/sheet/SheetClose.js.map +0 -1
  1221. package/dist/components/ui/sheet/SheetClose.vue_vue_type_script_setup_true_lang.js +0 -21
  1222. package/dist/components/ui/sheet/SheetClose.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1223. package/dist/components/ui/sheet/SheetContent.js +0 -7
  1224. package/dist/components/ui/sheet/SheetContent.js.map +0 -1
  1225. package/dist/components/ui/sheet/SheetContent.vue_vue_type_script_setup_true_lang.js +0 -55
  1226. package/dist/components/ui/sheet/SheetContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1227. package/dist/components/ui/sheet/SheetDescription.js +0 -7
  1228. package/dist/components/ui/sheet/SheetDescription.js.map +0 -1
  1229. package/dist/components/ui/sheet/SheetDescription.vue_vue_type_script_setup_true_lang.js +0 -30
  1230. package/dist/components/ui/sheet/SheetDescription.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1231. package/dist/components/ui/sheet/SheetFooter.js +0 -7
  1232. package/dist/components/ui/sheet/SheetFooter.js.map +0 -1
  1233. package/dist/components/ui/sheet/SheetFooter.vue_vue_type_script_setup_true_lang.js +0 -21
  1234. package/dist/components/ui/sheet/SheetFooter.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1235. package/dist/components/ui/sheet/SheetHeader.js +0 -7
  1236. package/dist/components/ui/sheet/SheetHeader.js.map +0 -1
  1237. package/dist/components/ui/sheet/SheetHeader.vue_vue_type_script_setup_true_lang.js +0 -21
  1238. package/dist/components/ui/sheet/SheetHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1239. package/dist/components/ui/sheet/SheetOverlay.js +0 -7
  1240. package/dist/components/ui/sheet/SheetOverlay.js.map +0 -1
  1241. package/dist/components/ui/sheet/SheetOverlay.vue_vue_type_script_setup_true_lang.js +0 -28
  1242. package/dist/components/ui/sheet/SheetOverlay.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1243. package/dist/components/ui/sheet/SheetPortal.js +0 -7
  1244. package/dist/components/ui/sheet/SheetPortal.js.map +0 -1
  1245. package/dist/components/ui/sheet/SheetPortal.vue_vue_type_script_setup_true_lang.js +0 -23
  1246. package/dist/components/ui/sheet/SheetPortal.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1247. package/dist/components/ui/sheet/SheetTitle.js +0 -7
  1248. package/dist/components/ui/sheet/SheetTitle.js.map +0 -1
  1249. package/dist/components/ui/sheet/SheetTitle.vue_vue_type_script_setup_true_lang.js +0 -30
  1250. package/dist/components/ui/sheet/SheetTitle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1251. package/dist/components/ui/sheet/SheetTrigger.js +0 -7
  1252. package/dist/components/ui/sheet/SheetTrigger.js.map +0 -1
  1253. package/dist/components/ui/sheet/SheetTrigger.vue_vue_type_script_setup_true_lang.js +0 -21
  1254. package/dist/components/ui/sheet/SheetTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1255. package/dist/components/ui/sheet/index.js +0 -25
  1256. package/dist/components/ui/sheet/index.js.map +0 -1
  1257. package/dist/components/ui/skeleton/Skeleton.js +0 -7
  1258. package/dist/components/ui/skeleton/Skeleton.js.map +0 -1
  1259. package/dist/components/ui/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +0 -21
  1260. package/dist/components/ui/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1261. package/dist/components/ui/skeleton/index.js +0 -1
  1262. package/dist/components/ui/slider/Slider.js +0 -7
  1263. package/dist/components/ui/slider/Slider.js.map +0 -1
  1264. package/dist/components/ui/slider/Slider.vue_vue_type_script_setup_true_lang.js +0 -75
  1265. package/dist/components/ui/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1266. package/dist/components/ui/slider/index.js +0 -38
  1267. package/dist/components/ui/slider/index.js.map +0 -1
  1268. package/dist/components/ui/switch/Switch.js +0 -7
  1269. package/dist/components/ui/switch/Switch.js.map +0 -1
  1270. package/dist/components/ui/switch/Switch.vue_vue_type_script_setup_true_lang.js +0 -45
  1271. package/dist/components/ui/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1272. package/dist/components/ui/switch/index.js +0 -22
  1273. package/dist/components/ui/switch/index.js.map +0 -1
  1274. package/dist/components/ui/table/Table.js +0 -7
  1275. package/dist/components/ui/table/Table.js.map +0 -1
  1276. package/dist/components/ui/table/Table.vue_vue_type_script_setup_true_lang.js +0 -21
  1277. package/dist/components/ui/table/Table.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1278. package/dist/components/ui/table/TableBody.js +0 -7
  1279. package/dist/components/ui/table/TableBody.js.map +0 -1
  1280. package/dist/components/ui/table/TableBody.vue_vue_type_script_setup_true_lang.js +0 -21
  1281. package/dist/components/ui/table/TableBody.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1282. package/dist/components/ui/table/TableCaption.js +0 -7
  1283. package/dist/components/ui/table/TableCaption.js.map +0 -1
  1284. package/dist/components/ui/table/TableCaption.vue_vue_type_script_setup_true_lang.js +0 -21
  1285. package/dist/components/ui/table/TableCaption.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1286. package/dist/components/ui/table/TableCell.js +0 -7
  1287. package/dist/components/ui/table/TableCell.js.map +0 -1
  1288. package/dist/components/ui/table/TableCell.vue_vue_type_script_setup_true_lang.js +0 -21
  1289. package/dist/components/ui/table/TableCell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1290. package/dist/components/ui/table/TableFooter.js +0 -7
  1291. package/dist/components/ui/table/TableFooter.js.map +0 -1
  1292. package/dist/components/ui/table/TableFooter.vue_vue_type_script_setup_true_lang.js +0 -21
  1293. package/dist/components/ui/table/TableFooter.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1294. package/dist/components/ui/table/TableHead.js +0 -7
  1295. package/dist/components/ui/table/TableHead.js.map +0 -1
  1296. package/dist/components/ui/table/TableHead.vue_vue_type_script_setup_true_lang.js +0 -21
  1297. package/dist/components/ui/table/TableHead.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1298. package/dist/components/ui/table/TableHeader.js +0 -7
  1299. package/dist/components/ui/table/TableHeader.js.map +0 -1
  1300. package/dist/components/ui/table/TableHeader.vue_vue_type_script_setup_true_lang.js +0 -21
  1301. package/dist/components/ui/table/TableHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1302. package/dist/components/ui/table/TableRow.js +0 -7
  1303. package/dist/components/ui/table/TableRow.js.map +0 -1
  1304. package/dist/components/ui/table/TableRow.vue_vue_type_script_setup_true_lang.js +0 -21
  1305. package/dist/components/ui/table/TableRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1306. package/dist/components/ui/table/index.js +0 -8
  1307. package/dist/components/ui/tabs/Tabs.js +0 -7
  1308. package/dist/components/ui/tabs/Tabs.js.map +0 -1
  1309. package/dist/components/ui/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +0 -37
  1310. package/dist/components/ui/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1311. package/dist/components/ui/tabs/TabsContent.js +0 -7
  1312. package/dist/components/ui/tabs/TabsContent.js.map +0 -1
  1313. package/dist/components/ui/tabs/TabsContent.vue_vue_type_script_setup_true_lang.js +0 -32
  1314. package/dist/components/ui/tabs/TabsContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1315. package/dist/components/ui/tabs/TabsList.js +0 -7
  1316. package/dist/components/ui/tabs/TabsList.js.map +0 -1
  1317. package/dist/components/ui/tabs/TabsList.vue_vue_type_script_setup_true_lang.js +0 -33
  1318. package/dist/components/ui/tabs/TabsList.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1319. package/dist/components/ui/tabs/TabsTrigger.js +0 -7
  1320. package/dist/components/ui/tabs/TabsTrigger.js.map +0 -1
  1321. package/dist/components/ui/tabs/TabsTrigger.vue_vue_type_script_setup_true_lang.js +0 -34
  1322. package/dist/components/ui/tabs/TabsTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1323. package/dist/components/ui/tabs/index.js +0 -25
  1324. package/dist/components/ui/tabs/index.js.map +0 -1
  1325. package/dist/components/ui/textarea/Textarea.js +0 -7
  1326. package/dist/components/ui/textarea/Textarea.js.map +0 -1
  1327. package/dist/components/ui/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +0 -36
  1328. package/dist/components/ui/textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1329. package/dist/components/ui/textarea/index.js +0 -1
  1330. package/dist/components/ui/toast/Toaster.js +0 -7
  1331. package/dist/components/ui/toast/Toaster.js.map +0 -1
  1332. package/dist/components/ui/toast/Toaster.vue_vue_type_script_setup_true_lang.js +0 -55
  1333. package/dist/components/ui/toast/Toaster.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1334. package/dist/components/ui/toast/index.js +0 -26
  1335. package/dist/components/ui/toast/index.js.map +0 -1
  1336. package/dist/components/ui/toggle/Toggle.js +0 -7
  1337. package/dist/components/ui/toggle/Toggle.js.map +0 -1
  1338. package/dist/components/ui/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +0 -68
  1339. package/dist/components/ui/toggle/Toggle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1340. package/dist/components/ui/toggle/index.js +0 -24
  1341. package/dist/components/ui/toggle/index.js.map +0 -1
  1342. package/dist/components/ui/tooltip/Tooltip.js +0 -7
  1343. package/dist/components/ui/tooltip/Tooltip.js.map +0 -1
  1344. package/dist/components/ui/tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +0 -27
  1345. package/dist/components/ui/tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1346. package/dist/components/ui/tooltip/TooltipArrow.js +0 -7
  1347. package/dist/components/ui/tooltip/TooltipArrow.js.map +0 -1
  1348. package/dist/components/ui/tooltip/TooltipArrow.vue_vue_type_script_setup_true_lang.js +0 -29
  1349. package/dist/components/ui/tooltip/TooltipArrow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1350. package/dist/components/ui/tooltip/TooltipContent.js +0 -7
  1351. package/dist/components/ui/tooltip/TooltipContent.js.map +0 -1
  1352. package/dist/components/ui/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js +0 -53
  1353. package/dist/components/ui/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1354. package/dist/components/ui/tooltip/TooltipPortal.js +0 -7
  1355. package/dist/components/ui/tooltip/TooltipPortal.js.map +0 -1
  1356. package/dist/components/ui/tooltip/TooltipPortal.vue_vue_type_script_setup_true_lang.js +0 -23
  1357. package/dist/components/ui/tooltip/TooltipPortal.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1358. package/dist/components/ui/tooltip/TooltipProvider.js +0 -7
  1359. package/dist/components/ui/tooltip/TooltipProvider.js.map +0 -1
  1360. package/dist/components/ui/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js +0 -26
  1361. package/dist/components/ui/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1362. package/dist/components/ui/tooltip/TooltipTrigger.js +0 -7
  1363. package/dist/components/ui/tooltip/TooltipTrigger.js.map +0 -1
  1364. package/dist/components/ui/tooltip/TooltipTrigger.vue_vue_type_script_setup_true_lang.js +0 -22
  1365. package/dist/components/ui/tooltip/TooltipTrigger.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1366. package/dist/components/ui/tooltip/index.js +0 -6
  1367. package/dist/composables/useAsyncSearch.js +0 -43
  1368. package/dist/composables/useAsyncSearch.js.map +0 -1
  1369. package/dist/composables/useConnectorLoader.js +0 -49
  1370. package/dist/composables/useConnectorLoader.js.map +0 -1
  1371. package/dist/definitions/cards/CardListCard.js +0 -81
  1372. package/dist/definitions/cards/CardListCard.js.map +0 -1
  1373. package/dist/definitions/cards/DataTableCard.js +0 -65
  1374. package/dist/definitions/cards/DataTableCard.js.map +0 -1
  1375. package/dist/definitions/cards/ElementDisplayCard.js +0 -40
  1376. package/dist/definitions/cards/ElementDisplayCard.js.map +0 -1
  1377. package/dist/definitions/cards/ElementListCard.js +0 -62
  1378. package/dist/definitions/cards/ElementListCard.js.map +0 -1
  1379. package/dist/definitions/cards/GridViewCard.js +0 -83
  1380. package/dist/definitions/cards/GridViewCard.js.map +0 -1
  1381. package/dist/definitions/cards/InfoCard.js +0 -126
  1382. package/dist/definitions/cards/InfoCard.js.map +0 -1
  1383. package/dist/definitions/cards/TabListCard.js +0 -90
  1384. package/dist/definitions/cards/TabListCard.js.map +0 -1
  1385. package/dist/definitions/cards/index.js +0 -21
  1386. package/dist/definitions/cards/index.js.map +0 -1
  1387. package/dist/definitions/elements/ActionElement.js +0 -249
  1388. package/dist/definitions/elements/ActionElement.js.map +0 -1
  1389. package/dist/definitions/elements/BooleanElement.js +0 -150
  1390. package/dist/definitions/elements/BooleanElement.js.map +0 -1
  1391. package/dist/definitions/elements/BuilderElement.js +0 -114
  1392. package/dist/definitions/elements/BuilderElement.js.map +0 -1
  1393. package/dist/definitions/elements/CardLayoutElement.js +0 -217
  1394. package/dist/definitions/elements/CardLayoutElement.js.map +0 -1
  1395. package/dist/definitions/elements/CodeElement.js +0 -158
  1396. package/dist/definitions/elements/CodeElement.js.map +0 -1
  1397. package/dist/definitions/elements/ConfigurationBlockElement.js +0 -116
  1398. package/dist/definitions/elements/ConfigurationBlockElement.js.map +0 -1
  1399. package/dist/definitions/elements/DisplayElement.js +0 -263
  1400. package/dist/definitions/elements/DisplayElement.js.map +0 -1
  1401. package/dist/definitions/elements/EditorElement.js +0 -152
  1402. package/dist/definitions/elements/EditorElement.js.map +0 -1
  1403. package/dist/definitions/elements/FileElement.js +0 -119
  1404. package/dist/definitions/elements/FileElement.js.map +0 -1
  1405. package/dist/definitions/elements/InputElement.js +0 -224
  1406. package/dist/definitions/elements/InputElement.js.map +0 -1
  1407. package/dist/definitions/elements/OptionSelectElement.js +0 -244
  1408. package/dist/definitions/elements/OptionSelectElement.js.map +0 -1
  1409. package/dist/definitions/elements/PickerElement.js +0 -352
  1410. package/dist/definitions/elements/PickerElement.js.map +0 -1
  1411. package/dist/definitions/elements/index.js +0 -80
  1412. package/dist/definitions/elements/index.js.map +0 -1
  1413. package/dist/definitions/index.js +0 -22
  1414. package/dist/definitions/shared/base.js +0 -18
  1415. package/dist/definitions/shared/base.js.map +0 -1
  1416. package/dist/engine/CardRenderer.js +0 -7
  1417. package/dist/engine/CardRenderer.js.map +0 -1
  1418. package/dist/engine/CardRenderer.vue_vue_type_script_setup_true_lang.js +0 -99
  1419. package/dist/engine/CardRenderer.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1420. package/dist/engine/ElementRenderer.js +0 -7
  1421. package/dist/engine/ElementRenderer.js.map +0 -1
  1422. package/dist/engine/ElementRenderer.vue_vue_type_script_setup_true_lang.js +0 -66
  1423. package/dist/engine/ElementRenderer.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1424. package/dist/engine/index.js +0 -7
  1425. package/dist/engine/legacyPropRemap.js +0 -41
  1426. package/dist/engine/legacyPropRemap.js.map +0 -1
  1427. package/dist/engine/registry.js +0 -148
  1428. package/dist/engine/registry.js.map +0 -1
  1429. package/dist/engine/useCardLoader.js +0 -47
  1430. package/dist/engine/useCardLoader.js.map +0 -1
  1431. package/dist/engine/useDisplayConditions.js +0 -80
  1432. package/dist/engine/useDisplayConditions.js.map +0 -1
  1433. package/dist/engine/useElementLoader.js +0 -135
  1434. package/dist/engine/useElementLoader.js.map +0 -1
  1435. package/dist/engine/useFormData.js +0 -21
  1436. package/dist/engine/useFormData.js.map +0 -1
  1437. package/dist/lib/utils.js +0 -16
  1438. package/dist/lib/utils.js.map +0 -1
  1439. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-icon-2x.js +0 -6
  1440. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-icon-2x.js.map +0 -1
  1441. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-icon.js +0 -6
  1442. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-icon.js.map +0 -1
  1443. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-shadow.js +0 -6
  1444. package/dist/node_modules/.pnpm/leaflet@1.9.4/node_modules/leaflet/dist/images/marker-shadow.js.map +0 -1
  1445. package/dist/pages/IndexPage.js +0 -7
  1446. package/dist/pages/IndexPage.js.map +0 -1
  1447. package/dist/pages/IndexPage.vue_vue_type_script_setup_true_lang.js +0 -76
  1448. package/dist/pages/IndexPage.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1449. package/dist/pages/ShowPage.js +0 -7
  1450. package/dist/pages/ShowPage.js.map +0 -1
  1451. package/dist/pages/ShowPage.vue_vue_type_script_setup_true_lang.js +0 -155
  1452. package/dist/pages/ShowPage.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1453. package/dist/stores/dependencyListBuilderStore.js +0 -237
  1454. package/dist/stores/dependencyListBuilderStore.js.map +0 -1
  1455. package/dist/stores/elementListBuilderStore.js +0 -94
  1456. package/dist/stores/elementListBuilderStore.js.map +0 -1
  1457. package/dist/stores/formBuilderStore.js +0 -217
  1458. package/dist/stores/formBuilderStore.js.map +0 -1
  1459. package/dist/stores/formDataStore.js +0 -51
  1460. package/dist/stores/formDataStore.js.map +0 -1
  1461. package/dist/stores/gridBuilderStore.js +0 -123
  1462. package/dist/stores/gridBuilderStore.js.map +0 -1
  1463. package/dist/stores/objectBuilderStore.js +0 -132
  1464. package/dist/stores/objectBuilderStore.js.map +0 -1
  1465. package/dist/stores/presetBuilderStore.js +0 -64
  1466. package/dist/stores/presetBuilderStore.js.map +0 -1
  1467. package/dist/stores/quizBuilderStore.js +0 -182
  1468. package/dist/stores/quizBuilderStore.js.map +0 -1
  1469. package/dist/stores/reactiveCanvasBuilderStore.js +0 -128
  1470. package/dist/stores/reactiveCanvasBuilderStore.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEditor-DmR-g-YR.js","names":[],"sources":["../../src/components/compositions/elements/editor/HtmlEditor.vue","../../src/components/compositions/elements/editor/HtmlEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\"\nimport { EditorContent, Extension, Node, useEditor } from \"@tiptap/vue-3\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport TextAlign from \"@tiptap/extension-text-align\"\nimport { BackgroundColor, Color, FontFamily, TextStyle } from \"@tiptap/extension-text-style\"\nimport Link from \"@tiptap/extension-link\"\nimport Image from \"@tiptap/extension-image\"\nimport { Table, TableRow, TableCell, TableHeader } from \"@tiptap/extension-table\"\nimport {\n AlignCenter,\n AlignLeft,\n AlignRight,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Bold,\n Code,\n Combine,\n Heading,\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Heading6,\n Highlighter,\n ImageIcon,\n Italic,\n Link2,\n List,\n ListOrdered,\n Minus,\n Palette,\n Quote,\n Redo,\n Scissors,\n Strikethrough,\n Table2,\n Trash2,\n Type,\n Underline as UnderlineIcon,\n Undo,\n X,\n} from \"@lucide/vue\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\"\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface HtmlEditorProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n minHeight?: string\n}\n\nconst props = withDefaults(defineProps<HtmlEditorProps>(), {\n errors: () => [],\n minHeight: \"14rem\",\n})\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", value: string): void\n}>()\n\n// ---------------------------------------------------------------------------\n// Custom node: preserve <video> tags\n// ---------------------------------------------------------------------------\n\nconst VideoNode = Node.create({\n name: \"video\",\n group: \"block\",\n content: \"block*\",\n addAttributes() {\n return {\n src: { default: null },\n width: { default: \"320\" },\n height: { default: \"240\" },\n controls: {\n default: true,\n parseHTML: (el: HTMLElement) => el.hasAttribute(\"controls\"),\n renderHTML: (a: Record<string, unknown>) => (a.controls ? { controls: \"\" } : {}),\n },\n }\n },\n parseHTML() {\n return [{ tag: \"video\" }]\n },\n renderHTML({ HTMLAttributes }: { HTMLAttributes: Record<string, unknown> }) {\n return [\"video\", HTMLAttributes, 0]\n },\n})\n\n// Extended Image to pass through style attribute\nconst ExtendedImage = Image.extend({\n addAttributes() {\n return {\n src: { default: \"\" },\n alt: { default: undefined },\n title: { default: undefined },\n style: { default: undefined },\n }\n },\n})\n\n// ---------------------------------------------------------------------------\n// Font families\n// ---------------------------------------------------------------------------\n\nconst FONTS: { label: string; value: string }[] = [\n { label: \"Arial\", value: \"Arial, sans-serif\" },\n { label: \"Verdana\", value: \"Verdana, sans-serif\" },\n { label: \"Tahoma\", value: \"Tahoma, sans-serif\" },\n { label: \"Times New Roman\", value: \"'Times New Roman', serif\" },\n { label: \"Georgia\", value: \"Georgia, serif\" },\n { label: \"Courier New\", value: \"'Courier New', monospace\" },\n]\n\n// ---------------------------------------------------------------------------\n// Editor\n// ---------------------------------------------------------------------------\n\nconst isInert = computed(() => Boolean(props.disabled || props.readonly))\n\nconst editor = useEditor({\n content: props.modelValue ?? \"\",\n editable: !isInert.value,\n extensions: [\n // StarterKit (tiptap v3+) bundles Underline and Link. We disable its\n // built-in Link so we can re-add it with `openOnClick: false`. We\n // keep StarterKit's Underline — it needs no custom config.\n StarterKit.configure({ link: false }),\n TextAlign.configure({ types: [\"heading\", \"paragraph\"] }),\n TextStyle,\n Color,\n BackgroundColor,\n FontFamily.configure({ types: [\"textStyle\"] }),\n Link.configure({ openOnClick: false }),\n ExtendedImage.configure({ inline: false, allowBase64: true }),\n Table.configure({ resizable: true }),\n TableRow,\n TableHeader,\n TableCell,\n VideoNode,\n // Suppress unused Extension import warning — it's used by BackgroundColor above\n Extension.create({ name: \"_noop\" }),\n ].filter((e) => e.name !== \"_noop\"),\n editorProps: {\n attributes: { class: \"focus:outline-none\" },\n },\n onUpdate: () => {\n if (editor.value) emit(\"update:modelValue\", editor.value.getHTML())\n },\n onSelectionUpdate: () => {\n syncFormattingState()\n },\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n const e = editor.value\n if (!e) return\n const next = value ?? \"\"\n if (next === e.getHTML()) return\n e.commands.setContent(next, { emitUpdate: false })\n },\n)\n\nwatch(isInert, (v) => {\n editor.value?.setEditable(!v)\n})\n\nonBeforeUnmount(() => {\n editor.value?.destroy()\n})\n\nonMounted(() => {\n nextTick(() => {\n const e = editor.value\n if (e && props.modelValue && e.isEmpty) {\n e.commands.setContent(props.modelValue, { emitUpdate: false })\n }\n })\n})\n\n// ---------------------------------------------------------------------------\n// Formatting state tracking\n// ---------------------------------------------------------------------------\n\nconst currentHeading = ref<number | null>(null)\nconst currentAlign = ref<\"left\" | \"center\" | \"right\">(\"left\")\nconst currentFont = ref<string | null>(null)\nconst currentTextColor = ref<string>(\"\")\nconst currentBgColor = ref<string>(\"\")\n\nfunction syncFormattingState(): void {\n const e = editor.value\n if (!e) return\n\n currentHeading.value = null\n for (let i = 1; i <= 6; i++) {\n if (e.isActive(\"heading\", { level: i })) {\n currentHeading.value = i\n break\n }\n }\n\n if (e.isActive({ textAlign: \"center\" })) currentAlign.value = \"center\"\n else if (e.isActive({ textAlign: \"right\" })) currentAlign.value = \"right\"\n else currentAlign.value = \"left\"\n\n currentFont.value = FONTS.find((f) => e.isActive(\"textStyle\", { fontFamily: f.value }))?.value ?? null\n\n const attrs = e.getAttributes(\"textStyle\") as Record<string, unknown>\n currentTextColor.value = typeof attrs.color === \"string\" ? attrs.color : \"\"\n currentBgColor.value = typeof attrs.backgroundColor === \"string\" ? attrs.backgroundColor : \"\"\n}\n\n// ---------------------------------------------------------------------------\n// Toolbar helpers\n// ---------------------------------------------------------------------------\n\nfunction isActive(name: string, attrs?: Record<string, unknown>): boolean {\n const e = editor.value\n if (!e) return false\n return attrs ? e.isActive(name, attrs) : e.isActive(name)\n}\n\nfunction setHeading(level: 1 | 2 | 3 | 4 | 5 | 6): void {\n editor.value?.chain().focus().setHeading({ level }).run()\n currentHeading.value = level\n}\n\nfunction clearHeading(): void {\n editor.value?.chain().focus().setParagraph().run()\n currentHeading.value = null\n}\n\nconst headingIcon = computed(() => {\n switch (currentHeading.value) {\n case 1: return Heading1\n case 2: return Heading2\n case 3: return Heading3\n case 4: return Heading4\n case 5: return Heading5\n case 6: return Heading6\n default: return Heading\n }\n})\n\nconst alignIcon = computed(() => {\n if (currentAlign.value === \"center\") return AlignCenter\n if (currentAlign.value === \"right\") return AlignRight\n return AlignLeft\n})\n\nfunction setAlign(align: \"left\" | \"center\" | \"right\"): void {\n editor.value?.chain().focus().setTextAlign(align).run()\n currentAlign.value = align\n}\n\nfunction setFont(value: string): void {\n editor.value?.chain().focus().unsetFontFamily().setFontFamily(value).run()\n currentFont.value = value\n}\n\nfunction clearFont(): void {\n editor.value?.chain().focus().unsetFontFamily().run()\n currentFont.value = null\n}\n\n// Color commands are added by BackgroundColor/Color extensions — cast via unknown\nfunction applyTextColor(color: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetColor()?.setColor(color)?.run()\n currentTextColor.value = color\n}\n\nfunction clearTextColor(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetColor()?.run()\n currentTextColor.value = \"\"\n}\n\nfunction applyBgColor(color: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetBackgroundColor()?.setBackgroundColor(color)?.run()\n currentBgColor.value = color\n}\n\nfunction clearBgColor(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetBackgroundColor()?.run()\n currentBgColor.value = \"\"\n}\n\nfunction toggleList(type: \"bullet\" | \"ordered\"): void {\n if (type === \"bullet\") editor.value?.chain().focus().toggleBulletList().run()\n else editor.value?.chain().focus().toggleOrderedList().run()\n}\n\n// ---------------------------------------------------------------------------\n// Table\n// ---------------------------------------------------------------------------\n\nconst tableHoverRows = ref(2)\nconst tableHoverCols = ref(2)\n\n/** Flat list for the 4×6 table creation grid */\nconst tableGridCells = computed(() => {\n const cells: { r: number; c: number }[] = []\n for (let r = 1; r <= 4; r++) {\n for (let c = 1; c <= 6; c++) {\n cells.push({ r, c })\n }\n }\n return cells\n})\n\nfunction insertTable(): void {\n editor.value\n ?.chain()\n .focus()\n .insertTable({ rows: tableHoverRows.value, cols: tableHoverCols.value, withHeaderRow: true })\n .run()\n}\n\n// ---------------------------------------------------------------------------\n// Link dialog\n// ---------------------------------------------------------------------------\n\nconst linkDialogOpen = ref(false)\nconst linkUrl = ref(\"\")\nconst linkText = ref(\"\")\nconst linkTargetBlank = ref(true)\nconst isEditingLink = ref(false)\n\nfunction openLinkDialog(): void {\n const e = editor.value\n if (!e) return\n isEditingLink.value = e.isActive(\"link\")\n if (isEditingLink.value) {\n e.chain().focus().extendMarkRange(\"link\").run()\n const attrs = e.getAttributes(\"link\") as Record<string, unknown>\n linkUrl.value = typeof attrs.href === \"string\" ? attrs.href : \"\"\n linkTargetBlank.value = attrs.target === \"_blank\"\n const { from, to } = e.state.selection\n linkText.value = e.state.doc.textBetween(from, to, \" \")\n } else {\n const { from, to } = e.state.selection\n linkText.value = e.state.doc.textBetween(from, to, \" \")\n linkUrl.value = \"https://\"\n linkTargetBlank.value = true\n }\n if (!linkText.value) linkText.value = \"Link\"\n linkDialogOpen.value = true\n}\n\nfunction applyLink(): void {\n const e = editor.value\n if (!e || !linkUrl.value) return\n if (e.isActive(\"link\")) e.chain().focus().unsetLink().run()\n const target = linkTargetBlank.value ? \"_blank\" : \"_self\"\n const { from, to } = e.state.selection\n if (from === to) {\n e.chain().focus().insertContent(`<a href=\"${linkUrl.value}\" target=\"${target}\">${linkText.value}</a>`).run()\n } else {\n e.chain().focus().extendMarkRange(\"link\").setLink({ href: linkUrl.value, target }).run()\n }\n linkDialogOpen.value = false\n}\n\nfunction removeLink(): void {\n editor.value?.chain().focus().extendMarkRange(\"link\").unsetLink().run()\n linkDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// Image dialog\n// ---------------------------------------------------------------------------\n\nconst imageDialogOpen = ref(false)\nconst imageUrl = ref(\"\")\nconst imageAlt = ref(\"\")\nconst imageStyle = ref(\"\")\nconst isEditingImage = ref(false)\n\nfunction openImageDialog(): void {\n const e = editor.value\n if (!e) return\n isEditingImage.value = e.isActive(\"image\")\n if (isEditingImage.value) {\n const attrs = e.getAttributes(\"image\") as Record<string, unknown>\n imageUrl.value = typeof attrs.src === \"string\" ? attrs.src : \"\"\n imageAlt.value = typeof attrs.alt === \"string\" ? attrs.alt : \"\"\n imageStyle.value = typeof attrs.style === \"string\" ? attrs.style : \"\"\n } else {\n imageUrl.value = \"\"\n imageAlt.value = \"\"\n imageStyle.value = \"width: auto; height: auto; max-width: 100%;\"\n }\n imageDialogOpen.value = true\n}\n\nfunction applyImage(): void {\n const e = editor.value\n if (!e || !imageUrl.value) return\n const attrs = {\n src: imageUrl.value,\n alt: imageAlt.value || undefined,\n style: imageStyle.value || undefined,\n }\n if (isEditingImage.value) {\n e.chain().focus().updateAttributes(\"image\", attrs).run()\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(e.chain().focus() as any).setImage(attrs).run()\n }\n imageDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// HTML source dialog\n// ---------------------------------------------------------------------------\n\nconst sourceDialogOpen = ref(false)\nconst sourceHtml = ref(\"\")\n\nfunction openSourceDialog(): void {\n if (!editor.value) return\n sourceHtml.value = editor.value.getHTML()\n sourceDialogOpen.value = true\n}\n\nfunction applySource(): void {\n if (!editor.value) return\n editor.value.commands.setContent(sourceHtml.value)\n emit(\"update:modelValue\", sourceHtml.value)\n sourceDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// Misc\n// ---------------------------------------------------------------------------\n\nconst hasErrors = computed(() => props.errors.length > 0)\nconst contentStyle = computed(() => ({ minHeight: props.minHeight }))\n\nfunction btnClass(active: boolean): string {\n return cn(\"h-7 w-7 p-0 shrink-0\", active ? \"bg-muted text-foreground\" : \"text-muted-foreground\")\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n data-testid=\"html-editor\"\n >\n <div\n :class=\"cn(\n 'rounded-md border border-input bg-background shadow-sm overflow-hidden',\n hasErrors ? 'border-destructive ring-1 ring-destructive' : '',\n isInert ? 'opacity-60' : '',\n )\"\n :data-element-name=\"name ?? undefined\"\n >\n <!-- ----------------------------------------------------------------- -->\n <!-- Toolbar -->\n <!-- ----------------------------------------------------------------- -->\n <div\n class=\"flex flex-col border-b bg-muted/30\"\n :class=\"isInert ? 'pointer-events-none' : ''\"\n role=\"toolbar\"\n aria-label=\"HTML formatting\"\n data-testid=\"html-editor-toolbar\"\n >\n <!-- Row 1: headings · inline formatting · blockquote/hr · undo/redo · source -->\n <div class=\"flex flex-wrap items-center gap-0.5 border-b border-border/40 px-1.5 py-1\">\n <!-- Heading -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentHeading !== null)\" title=\"Heading\">\n <component :is=\"headingIcon\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-44\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Heading</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem :class=\"currentHeading === 1 ? 'bg-muted' : ''\" @click=\"setHeading(1)\">\n <Heading1 class=\"mr-2 h-4 w-4\" />Heading 1\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 2 ? 'bg-muted' : ''\" @click=\"setHeading(2)\">\n <Heading2 class=\"mr-2 h-4 w-4\" />Heading 2\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 3 ? 'bg-muted' : ''\" @click=\"setHeading(3)\">\n <Heading3 class=\"mr-2 h-4 w-4\" />Heading 3\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 4 ? 'bg-muted' : ''\" @click=\"setHeading(4)\">\n <Heading4 class=\"mr-2 h-4 w-4\" />Heading 4\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 5 ? 'bg-muted' : ''\" @click=\"setHeading(5)\">\n <Heading5 class=\"mr-2 h-4 w-4\" />Heading 5\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 6 ? 'bg-muted' : ''\" @click=\"setHeading(6)\">\n <Heading6 class=\"mr-2 h-4 w-4\" />Heading 6\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem @click=\"clearHeading\">\n <X class=\"mr-2 h-4 w-4\" />Clear heading\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('bold'))\" title=\"Bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"><Bold class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('italic'))\" title=\"Italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"><Italic class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('underline'))\" title=\"Underline\"\n @click=\"editor?.chain().focus().toggleUnderline().run()\"><UnderlineIcon class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('strike'))\" title=\"Strikethrough\"\n @click=\"editor?.chain().focus().toggleStrike().run()\"><Strikethrough class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('blockquote'))\" title=\"Blockquote\"\n @click=\"editor?.chain().focus().toggleBlockquote().run()\"><Quote class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Horizontal rule\"\n @click=\"editor?.chain().focus().setHorizontalRule().run()\"><Minus class=\"h-4 w-4\" /></Button>\n\n <div class=\"flex-1\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Undo\"\n :disabled=\"!editor?.can().chain().focus().undo().run()\"\n @click=\"editor?.chain().focus().undo().run()\"><Undo class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Redo\"\n :disabled=\"!editor?.can().chain().focus().redo().run()\"\n @click=\"editor?.chain().focus().redo().run()\"><Redo class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Edit HTML source\"\n @click=\"openSourceDialog\"><Code class=\"h-4 w-4\" /></Button>\n </div>\n\n <!-- Row 2: align · font · colors · link/image · lists · table -->\n <div class=\"flex flex-wrap items-center gap-0.5 px-1.5 py-1\">\n <!-- Align -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentAlign !== 'left')\" title=\"Text alignment\">\n <component :is=\"alignIcon\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-36\">\n <DropdownMenuItem :class=\"currentAlign === 'left' ? 'bg-muted' : ''\" @click=\"setAlign('left')\">\n <AlignLeft class=\"mr-2 h-4 w-4\" />Left\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentAlign === 'center' ? 'bg-muted' : ''\" @click=\"setAlign('center')\">\n <AlignCenter class=\"mr-2 h-4 w-4\" />Center\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentAlign === 'right' ? 'bg-muted' : ''\" @click=\"setAlign('right')\">\n <AlignRight class=\"mr-2 h-4 w-4\" />Right\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Font family -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentFont !== null)\" title=\"Font family\">\n <Type class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-52\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Font family</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n v-for=\"font in FONTS\"\n :key=\"font.value\"\n :class=\"currentFont === font.value ? 'bg-muted' : ''\"\n :style=\"`font-family: ${font.value}`\"\n @click=\"setFont(font.value)\"\n >\n {{ font.label }}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem @click=\"clearFont\">\n <X class=\"mr-2 h-4 w-4\" />Use default\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <!-- Text color -->\n <Popover>\n <PopoverTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(!!currentTextColor)\" title=\"Text color\">\n <Palette class=\"h-4 w-4\" :style=\"currentTextColor ? { color: currentTextColor } : {}\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent class=\"w-52 p-3\" align=\"start\">\n <p class=\"mb-2 text-xs font-medium text-muted-foreground\">Text color</p>\n <div class=\"flex items-center gap-2\">\n <input\n type=\"color\"\n :value=\"currentTextColor || '#000000'\"\n class=\"h-8 w-8 cursor-pointer rounded border border-input p-0.5\"\n @input=\"applyTextColor(($event.target as HTMLInputElement).value)\"\n />\n <Input\n :model-value=\"currentTextColor\"\n placeholder=\"#000000\"\n class=\"h-7 font-mono text-xs\"\n maxlength=\"7\"\n @blur=\"applyTextColor(($event.target as HTMLInputElement).value)\"\n />\n </div>\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" class=\"mt-2 w-full text-xs\" @click=\"clearTextColor\">\n <X class=\"mr-1 h-3 w-3\" />Clear color\n </Button>\n </PopoverContent>\n </Popover>\n\n <!-- Highlight / background color -->\n <Popover>\n <PopoverTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(!!currentBgColor)\" title=\"Highlight color\">\n <Highlighter class=\"h-4 w-4\" :style=\"currentBgColor ? { color: currentBgColor } : {}\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent class=\"w-52 p-3\" align=\"start\">\n <p class=\"mb-2 text-xs font-medium text-muted-foreground\">Highlight color</p>\n <div class=\"flex items-center gap-2\">\n <input\n type=\"color\"\n :value=\"currentBgColor || '#ffff00'\"\n class=\"h-8 w-8 cursor-pointer rounded border border-input p-0.5\"\n @input=\"applyBgColor(($event.target as HTMLInputElement).value)\"\n />\n <Input\n :model-value=\"currentBgColor\"\n placeholder=\"#ffff00\"\n class=\"h-7 font-mono text-xs\"\n maxlength=\"7\"\n @blur=\"applyBgColor(($event.target as HTMLInputElement).value)\"\n />\n </div>\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" class=\"mt-2 w-full text-xs\" @click=\"clearBgColor\">\n <X class=\"mr-1 h-3 w-3\" />Clear highlight\n </Button>\n </PopoverContent>\n </Popover>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Link -->\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('link'))\" title=\"Insert / edit link\"\n @click=\"openLinkDialog\"><Link2 class=\"h-4 w-4\" /></Button>\n\n <!-- Image -->\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('image'))\" title=\"Insert / edit image\"\n @click=\"openImageDialog\"><ImageIcon class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Lists -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('bulletList') || isActive('orderedList'))\" title=\"Lists\">\n <component :is=\"isActive('orderedList') ? ListOrdered : List\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-40\">\n <DropdownMenuItem :class=\"isActive('bulletList') ? 'bg-muted' : ''\" @click=\"toggleList('bullet')\">\n <List class=\"mr-2 h-4 w-4\" />Bullet list\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"isActive('orderedList') ? 'bg-muted' : ''\" @click=\"toggleList('ordered')\">\n <ListOrdered class=\"mr-2 h-4 w-4\" />Ordered list\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Table -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('table'))\" title=\"Table\">\n <Table2 class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-52\">\n <!-- Create-table grid (only when not inside a table) -->\n <template v-if=\"!isActive('table')\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">\n Insert {{ tableHoverRows }}×{{ tableHoverCols }} table\n </DropdownMenuLabel>\n <div class=\"px-2 pb-2\">\n <div class=\"grid gap-0.5\" style=\"grid-template-columns: repeat(6, 1.25rem)\">\n <button\n v-for=\"cell in tableGridCells\"\n :key=\"`${cell.r}-${cell.c}`\"\n type=\"button\"\n class=\"h-5 w-5 rounded-sm border transition-colors\"\n :class=\"cell.r <= tableHoverRows && cell.c <= tableHoverCols\n ? 'bg-primary border-primary'\n : 'bg-muted/50 border-border hover:bg-muted'\"\n @mouseover=\"tableHoverRows = cell.r; tableHoverCols = cell.c\"\n @click=\"insertTable\"\n />\n </div>\n </div>\n <DropdownMenuSeparator />\n </template>\n\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Column</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addColumnBefore().run()\">\n <ArrowLeft class=\"mr-2 h-4 w-4\" />Add before\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addColumnAfter().run()\">\n <ArrowRight class=\"mr-2 h-4 w-4\" />Add after\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().deleteColumn().run()\">\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete column\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Row</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addRowBefore().run()\">\n <ArrowUp class=\"mr-2 h-4 w-4\" />Add before\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addRowAfter().run()\">\n <ArrowDown class=\"mr-2 h-4 w-4\" />Add after\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().deleteRow().run()\">\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete row\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Cell</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().mergeCells().run()\">\n <Combine class=\"mr-2 h-4 w-4\" />Merge cells\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().splitCell().run()\">\n <Scissors class=\"mr-2 h-4 w-4\" />Split cell\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n :disabled=\"!isActive('table')\"\n class=\"text-destructive focus:text-destructive\"\n @click=\"editor?.chain().focus().deleteTable().run()\"\n >\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete table\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n\n <!-- ----------------------------------------------------------------- -->\n <!-- Editor content area -->\n <!-- ----------------------------------------------------------------- -->\n <EditorContent\n v-if=\"editor\"\n :editor=\"editor\"\n :style=\"contentStyle\"\n class=\"html-editor-content prose prose-sm max-w-none px-3 py-2 dark:prose-invert\n [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none\"\n data-testid=\"html-editor-content\"\n @click=\"editor?.chain().focus().run()\"\n />\n </div>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- Link dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"linkDialogOpen\">\n <DialogContent class=\"max-w-md\">\n <DialogHeader>\n <DialogTitle>{{ isEditingLink ? 'Edit link' : 'Insert link' }}</DialogTitle>\n </DialogHeader>\n <div class=\"grid gap-4 py-2\">\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-link-url\">URL</Label>\n <Input id=\"html-editor-link-url\" v-model=\"linkUrl\" placeholder=\"https://example.com\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-link-text\">Link text</Label>\n <Input id=\"html-editor-link-text\" v-model=\"linkText\" placeholder=\"Link text\" />\n </div>\n <div class=\"flex items-center gap-2\">\n <Checkbox\n id=\"html-editor-link-target\"\n :checked=\"linkTargetBlank\"\n @update:checked=\"linkTargetBlank = !!$event\"\n />\n <Label for=\"html-editor-link-target\" class=\"cursor-pointer font-normal\">Open in new tab</Label>\n </div>\n </div>\n <DialogFooter class=\"flex-row items-center justify-between gap-2\">\n <Button v-if=\"isEditingLink\" type=\"button\" variant=\"destructive\" size=\"sm\" @click=\"removeLink\">\n <Trash2 class=\"mr-1.5 h-3.5 w-3.5\" />Remove link\n </Button>\n <div class=\"flex gap-2\">\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"linkDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applyLink\">Apply</Button>\n </div>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- Image dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"imageDialogOpen\">\n <DialogContent class=\"max-w-md\">\n <DialogHeader>\n <DialogTitle>{{ isEditingImage ? 'Edit image' : 'Insert image' }}</DialogTitle>\n </DialogHeader>\n <div class=\"grid gap-4 py-2\">\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-url\">Image URL</Label>\n <Input id=\"html-editor-img-url\" v-model=\"imageUrl\" placeholder=\"https://example.com/image.jpg\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-alt\">Alt text</Label>\n <Input id=\"html-editor-img-alt\" v-model=\"imageAlt\" placeholder=\"Describe the image\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-style\">\n Style <span class=\"ml-1 text-xs font-normal text-muted-foreground\">(optional)</span>\n </Label>\n <Input id=\"html-editor-img-style\" v-model=\"imageStyle\" placeholder=\"width: 100%; height: auto;\" />\n </div>\n </div>\n <DialogFooter>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"imageDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applyImage\">\n {{ isEditingImage ? 'Update' : 'Insert' }}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- HTML source dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"sourceDialogOpen\">\n <DialogContent class=\"max-w-3xl\">\n <DialogHeader>\n <DialogTitle>Edit HTML source</DialogTitle>\n </DialogHeader>\n <textarea\n v-model=\"sourceHtml\"\n class=\"h-96 w-full resize-y rounded-md border border-input bg-background p-3 font-mono text-xs\n focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n spellcheck=\"false\"\n data-testid=\"html-editor-source\"\n />\n <DialogFooter>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"sourceDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applySource\">Apply changes</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </FieldFrame>\n</template>\n\n<style scoped>\n/* Table chrome */\n:deep(.html-editor-content table) {\n border-collapse: collapse;\n margin: 0.5rem 0;\n overflow: hidden;\n table-layout: fixed;\n width: 100%;\n}\n\n:deep(.html-editor-content table td),\n:deep(.html-editor-content table th) {\n border: 2px solid var(--border);\n box-sizing: border-box;\n min-width: 1em;\n padding: 0.375rem 0.5rem;\n position: relative;\n vertical-align: top;\n}\n\n:deep(.html-editor-content table th) {\n background-color: var(--muted);\n font-weight: 600;\n text-align: left;\n}\n\n:deep(.html-editor-content table .selectedCell::after) {\n background: color-mix(in oklch, var(--primary) 15%, transparent);\n content: \"\";\n inset: 0;\n pointer-events: none;\n position: absolute;\n z-index: 2;\n}\n\n:deep(.html-editor-content .tableWrapper) {\n overflow-x: auto;\n}\n\n:deep(.html-editor-content .column-resize-handle) {\n background-color: var(--primary);\n bottom: -2px;\n pointer-events: none;\n position: absolute;\n right: -2px;\n top: 0;\n width: 4px;\n}\n\n:deep(.html-editor-content .resize-cursor) {\n cursor: col-resize;\n}\n\n/* Content styling */\n:deep(.html-editor-content a) {\n color: var(--primary);\n text-decoration: underline;\n}\n\n:deep(.html-editor-content img) {\n display: block;\n margin: 0.75rem 0;\n}\n\n:deep(.html-editor-content img.ProseMirror-selectednode) {\n outline: 2px solid var(--primary);\n outline-offset: 2px;\n}\n\n:deep(.html-editor-content blockquote) {\n border-left: 3px solid var(--border);\n color: var(--muted-foreground);\n font-style: italic;\n margin-left: 0;\n padding-left: 1rem;\n}\n\n:deep(.html-editor-content .ProseMirror-focused) {\n outline: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\"\nimport { EditorContent, Extension, Node, useEditor } from \"@tiptap/vue-3\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport TextAlign from \"@tiptap/extension-text-align\"\nimport { BackgroundColor, Color, FontFamily, TextStyle } from \"@tiptap/extension-text-style\"\nimport Link from \"@tiptap/extension-link\"\nimport Image from \"@tiptap/extension-image\"\nimport { Table, TableRow, TableCell, TableHeader } from \"@tiptap/extension-table\"\nimport {\n AlignCenter,\n AlignLeft,\n AlignRight,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Bold,\n Code,\n Combine,\n Heading,\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Heading6,\n Highlighter,\n ImageIcon,\n Italic,\n Link2,\n List,\n ListOrdered,\n Minus,\n Palette,\n Quote,\n Redo,\n Scissors,\n Strikethrough,\n Table2,\n Trash2,\n Type,\n Underline as UnderlineIcon,\n Undo,\n X,\n} from \"@lucide/vue\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\"\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { Checkbox } from \"@/components/ui/checkbox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface HtmlEditorProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n minHeight?: string\n}\n\nconst props = withDefaults(defineProps<HtmlEditorProps>(), {\n errors: () => [],\n minHeight: \"14rem\",\n})\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", value: string): void\n}>()\n\n// ---------------------------------------------------------------------------\n// Custom node: preserve <video> tags\n// ---------------------------------------------------------------------------\n\nconst VideoNode = Node.create({\n name: \"video\",\n group: \"block\",\n content: \"block*\",\n addAttributes() {\n return {\n src: { default: null },\n width: { default: \"320\" },\n height: { default: \"240\" },\n controls: {\n default: true,\n parseHTML: (el: HTMLElement) => el.hasAttribute(\"controls\"),\n renderHTML: (a: Record<string, unknown>) => (a.controls ? { controls: \"\" } : {}),\n },\n }\n },\n parseHTML() {\n return [{ tag: \"video\" }]\n },\n renderHTML({ HTMLAttributes }: { HTMLAttributes: Record<string, unknown> }) {\n return [\"video\", HTMLAttributes, 0]\n },\n})\n\n// Extended Image to pass through style attribute\nconst ExtendedImage = Image.extend({\n addAttributes() {\n return {\n src: { default: \"\" },\n alt: { default: undefined },\n title: { default: undefined },\n style: { default: undefined },\n }\n },\n})\n\n// ---------------------------------------------------------------------------\n// Font families\n// ---------------------------------------------------------------------------\n\nconst FONTS: { label: string; value: string }[] = [\n { label: \"Arial\", value: \"Arial, sans-serif\" },\n { label: \"Verdana\", value: \"Verdana, sans-serif\" },\n { label: \"Tahoma\", value: \"Tahoma, sans-serif\" },\n { label: \"Times New Roman\", value: \"'Times New Roman', serif\" },\n { label: \"Georgia\", value: \"Georgia, serif\" },\n { label: \"Courier New\", value: \"'Courier New', monospace\" },\n]\n\n// ---------------------------------------------------------------------------\n// Editor\n// ---------------------------------------------------------------------------\n\nconst isInert = computed(() => Boolean(props.disabled || props.readonly))\n\nconst editor = useEditor({\n content: props.modelValue ?? \"\",\n editable: !isInert.value,\n extensions: [\n // StarterKit (tiptap v3+) bundles Underline and Link. We disable its\n // built-in Link so we can re-add it with `openOnClick: false`. We\n // keep StarterKit's Underline — it needs no custom config.\n StarterKit.configure({ link: false }),\n TextAlign.configure({ types: [\"heading\", \"paragraph\"] }),\n TextStyle,\n Color,\n BackgroundColor,\n FontFamily.configure({ types: [\"textStyle\"] }),\n Link.configure({ openOnClick: false }),\n ExtendedImage.configure({ inline: false, allowBase64: true }),\n Table.configure({ resizable: true }),\n TableRow,\n TableHeader,\n TableCell,\n VideoNode,\n // Suppress unused Extension import warning — it's used by BackgroundColor above\n Extension.create({ name: \"_noop\" }),\n ].filter((e) => e.name !== \"_noop\"),\n editorProps: {\n attributes: { class: \"focus:outline-none\" },\n },\n onUpdate: () => {\n if (editor.value) emit(\"update:modelValue\", editor.value.getHTML())\n },\n onSelectionUpdate: () => {\n syncFormattingState()\n },\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n const e = editor.value\n if (!e) return\n const next = value ?? \"\"\n if (next === e.getHTML()) return\n e.commands.setContent(next, { emitUpdate: false })\n },\n)\n\nwatch(isInert, (v) => {\n editor.value?.setEditable(!v)\n})\n\nonBeforeUnmount(() => {\n editor.value?.destroy()\n})\n\nonMounted(() => {\n nextTick(() => {\n const e = editor.value\n if (e && props.modelValue && e.isEmpty) {\n e.commands.setContent(props.modelValue, { emitUpdate: false })\n }\n })\n})\n\n// ---------------------------------------------------------------------------\n// Formatting state tracking\n// ---------------------------------------------------------------------------\n\nconst currentHeading = ref<number | null>(null)\nconst currentAlign = ref<\"left\" | \"center\" | \"right\">(\"left\")\nconst currentFont = ref<string | null>(null)\nconst currentTextColor = ref<string>(\"\")\nconst currentBgColor = ref<string>(\"\")\n\nfunction syncFormattingState(): void {\n const e = editor.value\n if (!e) return\n\n currentHeading.value = null\n for (let i = 1; i <= 6; i++) {\n if (e.isActive(\"heading\", { level: i })) {\n currentHeading.value = i\n break\n }\n }\n\n if (e.isActive({ textAlign: \"center\" })) currentAlign.value = \"center\"\n else if (e.isActive({ textAlign: \"right\" })) currentAlign.value = \"right\"\n else currentAlign.value = \"left\"\n\n currentFont.value = FONTS.find((f) => e.isActive(\"textStyle\", { fontFamily: f.value }))?.value ?? null\n\n const attrs = e.getAttributes(\"textStyle\") as Record<string, unknown>\n currentTextColor.value = typeof attrs.color === \"string\" ? attrs.color : \"\"\n currentBgColor.value = typeof attrs.backgroundColor === \"string\" ? attrs.backgroundColor : \"\"\n}\n\n// ---------------------------------------------------------------------------\n// Toolbar helpers\n// ---------------------------------------------------------------------------\n\nfunction isActive(name: string, attrs?: Record<string, unknown>): boolean {\n const e = editor.value\n if (!e) return false\n return attrs ? e.isActive(name, attrs) : e.isActive(name)\n}\n\nfunction setHeading(level: 1 | 2 | 3 | 4 | 5 | 6): void {\n editor.value?.chain().focus().setHeading({ level }).run()\n currentHeading.value = level\n}\n\nfunction clearHeading(): void {\n editor.value?.chain().focus().setParagraph().run()\n currentHeading.value = null\n}\n\nconst headingIcon = computed(() => {\n switch (currentHeading.value) {\n case 1: return Heading1\n case 2: return Heading2\n case 3: return Heading3\n case 4: return Heading4\n case 5: return Heading5\n case 6: return Heading6\n default: return Heading\n }\n})\n\nconst alignIcon = computed(() => {\n if (currentAlign.value === \"center\") return AlignCenter\n if (currentAlign.value === \"right\") return AlignRight\n return AlignLeft\n})\n\nfunction setAlign(align: \"left\" | \"center\" | \"right\"): void {\n editor.value?.chain().focus().setTextAlign(align).run()\n currentAlign.value = align\n}\n\nfunction setFont(value: string): void {\n editor.value?.chain().focus().unsetFontFamily().setFontFamily(value).run()\n currentFont.value = value\n}\n\nfunction clearFont(): void {\n editor.value?.chain().focus().unsetFontFamily().run()\n currentFont.value = null\n}\n\n// Color commands are added by BackgroundColor/Color extensions — cast via unknown\nfunction applyTextColor(color: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetColor()?.setColor(color)?.run()\n currentTextColor.value = color\n}\n\nfunction clearTextColor(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetColor()?.run()\n currentTextColor.value = \"\"\n}\n\nfunction applyBgColor(color: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetBackgroundColor()?.setBackgroundColor(color)?.run()\n currentBgColor.value = color\n}\n\nfunction clearBgColor(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(editor.value?.chain().focus() as any)?.unsetBackgroundColor()?.run()\n currentBgColor.value = \"\"\n}\n\nfunction toggleList(type: \"bullet\" | \"ordered\"): void {\n if (type === \"bullet\") editor.value?.chain().focus().toggleBulletList().run()\n else editor.value?.chain().focus().toggleOrderedList().run()\n}\n\n// ---------------------------------------------------------------------------\n// Table\n// ---------------------------------------------------------------------------\n\nconst tableHoverRows = ref(2)\nconst tableHoverCols = ref(2)\n\n/** Flat list for the 4×6 table creation grid */\nconst tableGridCells = computed(() => {\n const cells: { r: number; c: number }[] = []\n for (let r = 1; r <= 4; r++) {\n for (let c = 1; c <= 6; c++) {\n cells.push({ r, c })\n }\n }\n return cells\n})\n\nfunction insertTable(): void {\n editor.value\n ?.chain()\n .focus()\n .insertTable({ rows: tableHoverRows.value, cols: tableHoverCols.value, withHeaderRow: true })\n .run()\n}\n\n// ---------------------------------------------------------------------------\n// Link dialog\n// ---------------------------------------------------------------------------\n\nconst linkDialogOpen = ref(false)\nconst linkUrl = ref(\"\")\nconst linkText = ref(\"\")\nconst linkTargetBlank = ref(true)\nconst isEditingLink = ref(false)\n\nfunction openLinkDialog(): void {\n const e = editor.value\n if (!e) return\n isEditingLink.value = e.isActive(\"link\")\n if (isEditingLink.value) {\n e.chain().focus().extendMarkRange(\"link\").run()\n const attrs = e.getAttributes(\"link\") as Record<string, unknown>\n linkUrl.value = typeof attrs.href === \"string\" ? attrs.href : \"\"\n linkTargetBlank.value = attrs.target === \"_blank\"\n const { from, to } = e.state.selection\n linkText.value = e.state.doc.textBetween(from, to, \" \")\n } else {\n const { from, to } = e.state.selection\n linkText.value = e.state.doc.textBetween(from, to, \" \")\n linkUrl.value = \"https://\"\n linkTargetBlank.value = true\n }\n if (!linkText.value) linkText.value = \"Link\"\n linkDialogOpen.value = true\n}\n\nfunction applyLink(): void {\n const e = editor.value\n if (!e || !linkUrl.value) return\n if (e.isActive(\"link\")) e.chain().focus().unsetLink().run()\n const target = linkTargetBlank.value ? \"_blank\" : \"_self\"\n const { from, to } = e.state.selection\n if (from === to) {\n e.chain().focus().insertContent(`<a href=\"${linkUrl.value}\" target=\"${target}\">${linkText.value}</a>`).run()\n } else {\n e.chain().focus().extendMarkRange(\"link\").setLink({ href: linkUrl.value, target }).run()\n }\n linkDialogOpen.value = false\n}\n\nfunction removeLink(): void {\n editor.value?.chain().focus().extendMarkRange(\"link\").unsetLink().run()\n linkDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// Image dialog\n// ---------------------------------------------------------------------------\n\nconst imageDialogOpen = ref(false)\nconst imageUrl = ref(\"\")\nconst imageAlt = ref(\"\")\nconst imageStyle = ref(\"\")\nconst isEditingImage = ref(false)\n\nfunction openImageDialog(): void {\n const e = editor.value\n if (!e) return\n isEditingImage.value = e.isActive(\"image\")\n if (isEditingImage.value) {\n const attrs = e.getAttributes(\"image\") as Record<string, unknown>\n imageUrl.value = typeof attrs.src === \"string\" ? attrs.src : \"\"\n imageAlt.value = typeof attrs.alt === \"string\" ? attrs.alt : \"\"\n imageStyle.value = typeof attrs.style === \"string\" ? attrs.style : \"\"\n } else {\n imageUrl.value = \"\"\n imageAlt.value = \"\"\n imageStyle.value = \"width: auto; height: auto; max-width: 100%;\"\n }\n imageDialogOpen.value = true\n}\n\nfunction applyImage(): void {\n const e = editor.value\n if (!e || !imageUrl.value) return\n const attrs = {\n src: imageUrl.value,\n alt: imageAlt.value || undefined,\n style: imageStyle.value || undefined,\n }\n if (isEditingImage.value) {\n e.chain().focus().updateAttributes(\"image\", attrs).run()\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(e.chain().focus() as any).setImage(attrs).run()\n }\n imageDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// HTML source dialog\n// ---------------------------------------------------------------------------\n\nconst sourceDialogOpen = ref(false)\nconst sourceHtml = ref(\"\")\n\nfunction openSourceDialog(): void {\n if (!editor.value) return\n sourceHtml.value = editor.value.getHTML()\n sourceDialogOpen.value = true\n}\n\nfunction applySource(): void {\n if (!editor.value) return\n editor.value.commands.setContent(sourceHtml.value)\n emit(\"update:modelValue\", sourceHtml.value)\n sourceDialogOpen.value = false\n}\n\n// ---------------------------------------------------------------------------\n// Misc\n// ---------------------------------------------------------------------------\n\nconst hasErrors = computed(() => props.errors.length > 0)\nconst contentStyle = computed(() => ({ minHeight: props.minHeight }))\n\nfunction btnClass(active: boolean): string {\n return cn(\"h-7 w-7 p-0 shrink-0\", active ? \"bg-muted text-foreground\" : \"text-muted-foreground\")\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n data-testid=\"html-editor\"\n >\n <div\n :class=\"cn(\n 'rounded-md border border-input bg-background shadow-sm overflow-hidden',\n hasErrors ? 'border-destructive ring-1 ring-destructive' : '',\n isInert ? 'opacity-60' : '',\n )\"\n :data-element-name=\"name ?? undefined\"\n >\n <!-- ----------------------------------------------------------------- -->\n <!-- Toolbar -->\n <!-- ----------------------------------------------------------------- -->\n <div\n class=\"flex flex-col border-b bg-muted/30\"\n :class=\"isInert ? 'pointer-events-none' : ''\"\n role=\"toolbar\"\n aria-label=\"HTML formatting\"\n data-testid=\"html-editor-toolbar\"\n >\n <!-- Row 1: headings · inline formatting · blockquote/hr · undo/redo · source -->\n <div class=\"flex flex-wrap items-center gap-0.5 border-b border-border/40 px-1.5 py-1\">\n <!-- Heading -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentHeading !== null)\" title=\"Heading\">\n <component :is=\"headingIcon\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-44\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Heading</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem :class=\"currentHeading === 1 ? 'bg-muted' : ''\" @click=\"setHeading(1)\">\n <Heading1 class=\"mr-2 h-4 w-4\" />Heading 1\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 2 ? 'bg-muted' : ''\" @click=\"setHeading(2)\">\n <Heading2 class=\"mr-2 h-4 w-4\" />Heading 2\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 3 ? 'bg-muted' : ''\" @click=\"setHeading(3)\">\n <Heading3 class=\"mr-2 h-4 w-4\" />Heading 3\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 4 ? 'bg-muted' : ''\" @click=\"setHeading(4)\">\n <Heading4 class=\"mr-2 h-4 w-4\" />Heading 4\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 5 ? 'bg-muted' : ''\" @click=\"setHeading(5)\">\n <Heading5 class=\"mr-2 h-4 w-4\" />Heading 5\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentHeading === 6 ? 'bg-muted' : ''\" @click=\"setHeading(6)\">\n <Heading6 class=\"mr-2 h-4 w-4\" />Heading 6\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem @click=\"clearHeading\">\n <X class=\"mr-2 h-4 w-4\" />Clear heading\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('bold'))\" title=\"Bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"><Bold class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('italic'))\" title=\"Italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"><Italic class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('underline'))\" title=\"Underline\"\n @click=\"editor?.chain().focus().toggleUnderline().run()\"><UnderlineIcon class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('strike'))\" title=\"Strikethrough\"\n @click=\"editor?.chain().focus().toggleStrike().run()\"><Strikethrough class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('blockquote'))\" title=\"Blockquote\"\n @click=\"editor?.chain().focus().toggleBlockquote().run()\"><Quote class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Horizontal rule\"\n @click=\"editor?.chain().focus().setHorizontalRule().run()\"><Minus class=\"h-4 w-4\" /></Button>\n\n <div class=\"flex-1\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Undo\"\n :disabled=\"!editor?.can().chain().focus().undo().run()\"\n @click=\"editor?.chain().focus().undo().run()\"><Undo class=\"h-4 w-4\" /></Button>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Redo\"\n :disabled=\"!editor?.can().chain().focus().redo().run()\"\n @click=\"editor?.chain().focus().redo().run()\"><Redo class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(false)\" title=\"Edit HTML source\"\n @click=\"openSourceDialog\"><Code class=\"h-4 w-4\" /></Button>\n </div>\n\n <!-- Row 2: align · font · colors · link/image · lists · table -->\n <div class=\"flex flex-wrap items-center gap-0.5 px-1.5 py-1\">\n <!-- Align -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentAlign !== 'left')\" title=\"Text alignment\">\n <component :is=\"alignIcon\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-36\">\n <DropdownMenuItem :class=\"currentAlign === 'left' ? 'bg-muted' : ''\" @click=\"setAlign('left')\">\n <AlignLeft class=\"mr-2 h-4 w-4\" />Left\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentAlign === 'center' ? 'bg-muted' : ''\" @click=\"setAlign('center')\">\n <AlignCenter class=\"mr-2 h-4 w-4\" />Center\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"currentAlign === 'right' ? 'bg-muted' : ''\" @click=\"setAlign('right')\">\n <AlignRight class=\"mr-2 h-4 w-4\" />Right\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Font family -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(currentFont !== null)\" title=\"Font family\">\n <Type class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-52\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Font family</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n v-for=\"font in FONTS\"\n :key=\"font.value\"\n :class=\"currentFont === font.value ? 'bg-muted' : ''\"\n :style=\"`font-family: ${font.value}`\"\n @click=\"setFont(font.value)\"\n >\n {{ font.label }}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem @click=\"clearFont\">\n <X class=\"mr-2 h-4 w-4\" />Use default\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <!-- Text color -->\n <Popover>\n <PopoverTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(!!currentTextColor)\" title=\"Text color\">\n <Palette class=\"h-4 w-4\" :style=\"currentTextColor ? { color: currentTextColor } : {}\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent class=\"w-52 p-3\" align=\"start\">\n <p class=\"mb-2 text-xs font-medium text-muted-foreground\">Text color</p>\n <div class=\"flex items-center gap-2\">\n <input\n type=\"color\"\n :value=\"currentTextColor || '#000000'\"\n class=\"h-8 w-8 cursor-pointer rounded border border-input p-0.5\"\n @input=\"applyTextColor(($event.target as HTMLInputElement).value)\"\n />\n <Input\n :model-value=\"currentTextColor\"\n placeholder=\"#000000\"\n class=\"h-7 font-mono text-xs\"\n maxlength=\"7\"\n @blur=\"applyTextColor(($event.target as HTMLInputElement).value)\"\n />\n </div>\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" class=\"mt-2 w-full text-xs\" @click=\"clearTextColor\">\n <X class=\"mr-1 h-3 w-3\" />Clear color\n </Button>\n </PopoverContent>\n </Popover>\n\n <!-- Highlight / background color -->\n <Popover>\n <PopoverTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(!!currentBgColor)\" title=\"Highlight color\">\n <Highlighter class=\"h-4 w-4\" :style=\"currentBgColor ? { color: currentBgColor } : {}\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent class=\"w-52 p-3\" align=\"start\">\n <p class=\"mb-2 text-xs font-medium text-muted-foreground\">Highlight color</p>\n <div class=\"flex items-center gap-2\">\n <input\n type=\"color\"\n :value=\"currentBgColor || '#ffff00'\"\n class=\"h-8 w-8 cursor-pointer rounded border border-input p-0.5\"\n @input=\"applyBgColor(($event.target as HTMLInputElement).value)\"\n />\n <Input\n :model-value=\"currentBgColor\"\n placeholder=\"#ffff00\"\n class=\"h-7 font-mono text-xs\"\n maxlength=\"7\"\n @blur=\"applyBgColor(($event.target as HTMLInputElement).value)\"\n />\n </div>\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" class=\"mt-2 w-full text-xs\" @click=\"clearBgColor\">\n <X class=\"mr-1 h-3 w-3\" />Clear highlight\n </Button>\n </PopoverContent>\n </Popover>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Link -->\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('link'))\" title=\"Insert / edit link\"\n @click=\"openLinkDialog\"><Link2 class=\"h-4 w-4\" /></Button>\n\n <!-- Image -->\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('image'))\" title=\"Insert / edit image\"\n @click=\"openImageDialog\"><ImageIcon class=\"h-4 w-4\" /></Button>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Lists -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('bulletList') || isActive('orderedList'))\" title=\"Lists\">\n <component :is=\"isActive('orderedList') ? ListOrdered : List\" class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-40\">\n <DropdownMenuItem :class=\"isActive('bulletList') ? 'bg-muted' : ''\" @click=\"toggleList('bullet')\">\n <List class=\"mr-2 h-4 w-4\" />Bullet list\n </DropdownMenuItem>\n <DropdownMenuItem :class=\"isActive('orderedList') ? 'bg-muted' : ''\" @click=\"toggleList('ordered')\">\n <ListOrdered class=\"mr-2 h-4 w-4\" />Ordered list\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <div class=\"mx-0.5 h-5 w-px bg-border/60 shrink-0\" />\n\n <!-- Table -->\n <DropdownMenu>\n <DropdownMenuTrigger as-child>\n <Button type=\"button\" variant=\"ghost\" :class=\"btnClass(isActive('table'))\" title=\"Table\">\n <Table2 class=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" class=\"w-52\">\n <!-- Create-table grid (only when not inside a table) -->\n <template v-if=\"!isActive('table')\">\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">\n Insert {{ tableHoverRows }}×{{ tableHoverCols }} table\n </DropdownMenuLabel>\n <div class=\"px-2 pb-2\">\n <div class=\"grid gap-0.5\" style=\"grid-template-columns: repeat(6, 1.25rem)\">\n <button\n v-for=\"cell in tableGridCells\"\n :key=\"`${cell.r}-${cell.c}`\"\n type=\"button\"\n class=\"h-5 w-5 rounded-sm border transition-colors\"\n :class=\"cell.r <= tableHoverRows && cell.c <= tableHoverCols\n ? 'bg-primary border-primary'\n : 'bg-muted/50 border-border hover:bg-muted'\"\n @mouseover=\"tableHoverRows = cell.r; tableHoverCols = cell.c\"\n @click=\"insertTable\"\n />\n </div>\n </div>\n <DropdownMenuSeparator />\n </template>\n\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Column</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addColumnBefore().run()\">\n <ArrowLeft class=\"mr-2 h-4 w-4\" />Add before\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addColumnAfter().run()\">\n <ArrowRight class=\"mr-2 h-4 w-4\" />Add after\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().deleteColumn().run()\">\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete column\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Row</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addRowBefore().run()\">\n <ArrowUp class=\"mr-2 h-4 w-4\" />Add before\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().addRowAfter().run()\">\n <ArrowDown class=\"mr-2 h-4 w-4\" />Add after\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().deleteRow().run()\">\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete row\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuLabel class=\"text-xs uppercase text-muted-foreground\">Cell</DropdownMenuLabel>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().mergeCells().run()\">\n <Combine class=\"mr-2 h-4 w-4\" />Merge cells\n </DropdownMenuItem>\n <DropdownMenuItem :disabled=\"!isActive('table')\" @click=\"editor?.chain().focus().splitCell().run()\">\n <Scissors class=\"mr-2 h-4 w-4\" />Split cell\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n :disabled=\"!isActive('table')\"\n class=\"text-destructive focus:text-destructive\"\n @click=\"editor?.chain().focus().deleteTable().run()\"\n >\n <Trash2 class=\"mr-2 h-4 w-4\" />Delete table\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n\n <!-- ----------------------------------------------------------------- -->\n <!-- Editor content area -->\n <!-- ----------------------------------------------------------------- -->\n <EditorContent\n v-if=\"editor\"\n :editor=\"editor\"\n :style=\"contentStyle\"\n class=\"html-editor-content prose prose-sm max-w-none px-3 py-2 dark:prose-invert\n [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none\"\n data-testid=\"html-editor-content\"\n @click=\"editor?.chain().focus().run()\"\n />\n </div>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- Link dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"linkDialogOpen\">\n <DialogContent class=\"max-w-md\">\n <DialogHeader>\n <DialogTitle>{{ isEditingLink ? 'Edit link' : 'Insert link' }}</DialogTitle>\n </DialogHeader>\n <div class=\"grid gap-4 py-2\">\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-link-url\">URL</Label>\n <Input id=\"html-editor-link-url\" v-model=\"linkUrl\" placeholder=\"https://example.com\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-link-text\">Link text</Label>\n <Input id=\"html-editor-link-text\" v-model=\"linkText\" placeholder=\"Link text\" />\n </div>\n <div class=\"flex items-center gap-2\">\n <Checkbox\n id=\"html-editor-link-target\"\n :checked=\"linkTargetBlank\"\n @update:checked=\"linkTargetBlank = !!$event\"\n />\n <Label for=\"html-editor-link-target\" class=\"cursor-pointer font-normal\">Open in new tab</Label>\n </div>\n </div>\n <DialogFooter class=\"flex-row items-center justify-between gap-2\">\n <Button v-if=\"isEditingLink\" type=\"button\" variant=\"destructive\" size=\"sm\" @click=\"removeLink\">\n <Trash2 class=\"mr-1.5 h-3.5 w-3.5\" />Remove link\n </Button>\n <div class=\"flex gap-2\">\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"linkDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applyLink\">Apply</Button>\n </div>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- Image dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"imageDialogOpen\">\n <DialogContent class=\"max-w-md\">\n <DialogHeader>\n <DialogTitle>{{ isEditingImage ? 'Edit image' : 'Insert image' }}</DialogTitle>\n </DialogHeader>\n <div class=\"grid gap-4 py-2\">\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-url\">Image URL</Label>\n <Input id=\"html-editor-img-url\" v-model=\"imageUrl\" placeholder=\"https://example.com/image.jpg\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-alt\">Alt text</Label>\n <Input id=\"html-editor-img-alt\" v-model=\"imageAlt\" placeholder=\"Describe the image\" />\n </div>\n <div class=\"grid gap-1.5\">\n <Label for=\"html-editor-img-style\">\n Style <span class=\"ml-1 text-xs font-normal text-muted-foreground\">(optional)</span>\n </Label>\n <Input id=\"html-editor-img-style\" v-model=\"imageStyle\" placeholder=\"width: 100%; height: auto;\" />\n </div>\n </div>\n <DialogFooter>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"imageDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applyImage\">\n {{ isEditingImage ? 'Update' : 'Insert' }}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n\n <!-- ------------------------------------------------------------------- -->\n <!-- HTML source dialog -->\n <!-- ------------------------------------------------------------------- -->\n <Dialog v-model:open=\"sourceDialogOpen\">\n <DialogContent class=\"max-w-3xl\">\n <DialogHeader>\n <DialogTitle>Edit HTML source</DialogTitle>\n </DialogHeader>\n <textarea\n v-model=\"sourceHtml\"\n class=\"h-96 w-full resize-y rounded-md border border-input bg-background p-3 font-mono text-xs\n focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n spellcheck=\"false\"\n data-testid=\"html-editor-source\"\n />\n <DialogFooter>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" @click=\"sourceDialogOpen = false\">Cancel</Button>\n <Button type=\"button\" size=\"sm\" @click=\"applySource\">Apply changes</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </FieldFrame>\n</template>\n\n<style scoped>\n/* Table chrome */\n:deep(.html-editor-content table) {\n border-collapse: collapse;\n margin: 0.5rem 0;\n overflow: hidden;\n table-layout: fixed;\n width: 100%;\n}\n\n:deep(.html-editor-content table td),\n:deep(.html-editor-content table th) {\n border: 2px solid var(--border);\n box-sizing: border-box;\n min-width: 1em;\n padding: 0.375rem 0.5rem;\n position: relative;\n vertical-align: top;\n}\n\n:deep(.html-editor-content table th) {\n background-color: var(--muted);\n font-weight: 600;\n text-align: left;\n}\n\n:deep(.html-editor-content table .selectedCell::after) {\n background: color-mix(in oklch, var(--primary) 15%, transparent);\n content: \"\";\n inset: 0;\n pointer-events: none;\n position: absolute;\n z-index: 2;\n}\n\n:deep(.html-editor-content .tableWrapper) {\n overflow-x: auto;\n}\n\n:deep(.html-editor-content .column-resize-handle) {\n background-color: var(--primary);\n bottom: -2px;\n pointer-events: none;\n position: absolute;\n right: -2px;\n top: 0;\n width: 4px;\n}\n\n:deep(.html-editor-content .resize-cursor) {\n cursor: col-resize;\n}\n\n/* Content styling */\n:deep(.html-editor-content a) {\n color: var(--primary);\n text-decoration: underline;\n}\n\n:deep(.html-editor-content img) {\n display: block;\n margin: 0.75rem 0;\n}\n\n:deep(.html-editor-content img.ProseMirror-selectednode) {\n outline: 2px solid var(--primary);\n outline-offset: 2px;\n}\n\n:deep(.html-editor-content blockquote) {\n border-left: 3px solid var(--border);\n color: var(--muted-foreground);\n font-style: italic;\n margin-left: 0;\n padding-left: 1rem;\n}\n\n:deep(.html-editor-content .ProseMirror-focused) {\n outline: none;\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, defineComponent as a, normalizeClass as o, normalizeStyle as s, openBlock as c, ref as l, resolveDynamicComponent as u, unref as d, watch as f } from "vue";
3
+ import { X as p } from "@lucide/vue";
4
+ //#region src/components/compositions/elements/display/IconDisplay.vue?vue&type=script&setup=true&lang.ts
5
+ var m = ["data-icon-name"], h = /* @__PURE__ */ a({
6
+ __name: "IconDisplay",
7
+ props: {
8
+ iconName: {},
9
+ size: { default: 20 },
10
+ classList: {}
11
+ },
12
+ setup(e) {
13
+ let a = e;
14
+ function h(e) {
15
+ return e.replace(/[-_\s]+(.)?/g, (e, t) => t ? t.toUpperCase() : "").replace(/^(.)/, (e) => e.toUpperCase());
16
+ }
17
+ let g = t(() => a.iconName ? h(a.iconName) : ""), _ = t(() => {
18
+ let e = a.classList;
19
+ return e ? Array.isArray(e) ? e.join(" ") : e : "";
20
+ }), v = t(() => ({
21
+ width: `${a.size}px`,
22
+ height: `${a.size}px`
23
+ })), y = l(null);
24
+ async function b(e) {
25
+ if (!e) {
26
+ y.value = null;
27
+ return;
28
+ }
29
+ y.value = (await import("@lucide/vue"))[e] ?? null;
30
+ }
31
+ return f(g, (e) => {
32
+ b(e);
33
+ }, { immediate: !0 }), (e, t) => (c(), i("span", {
34
+ class: o(["inline-flex items-center", _.value]),
35
+ "data-icon-name": g.value,
36
+ "data-testid": "icon-display"
37
+ }, [y.value ? (c(), n(u(y.value), {
38
+ key: 0,
39
+ style: s(v.value),
40
+ "aria-label": g.value
41
+ }, null, 8, ["style", "aria-label"])) : g.value ? r("", !0) : (c(), n(d(p), {
42
+ key: 1,
43
+ style: s(v.value),
44
+ class: "text-muted-foreground",
45
+ "aria-hidden": "true",
46
+ "data-testid": "icon-display-fallback"
47
+ }, null, 8, ["style"]))], 10, m));
48
+ }
49
+ }), g = /* @__PURE__ */ e({ default: () => _ }), _ = h;
50
+ //#endregion
51
+ export { g as n, _ as t };
52
+
53
+ //# sourceMappingURL=IconDisplay-CXT7HaLS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconDisplay-CXT7HaLS.js","names":[],"sources":["../../src/components/compositions/elements/display/IconDisplay.vue","../../src/components/compositions/elements/display/IconDisplay.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven icon display.\n *\n * Dynamically resolves a lucide icon by its PascalCase name (kebab-case\n * is normalised). The library is lazy-imported so we only pay for it\n * when an icon actually renders.\n */\nimport { computed, ref, watch, type Component } from \"vue\"\nimport { X } from \"@lucide/vue\"\n\nexport interface IconDisplayProps {\n iconName?: string\n size?: number\n classList?: string[] | string\n}\n\nconst props = withDefaults(defineProps<IconDisplayProps>(), {\n size: 20,\n})\n\nfunction toPascalCase(input: string): string {\n return input\n .replace(/[-_\\s]+(.)?/g, (_, ch?: string) => (ch ? ch.toUpperCase() : \"\"))\n .replace(/^(.)/, (m) => m.toUpperCase())\n}\n\nconst resolvedIconName = computed<string>(() => {\n if (!props.iconName) {\n return \"\"\n }\n return toPascalCase(props.iconName)\n})\n\nconst rootClass = computed<string>(() => {\n const cl = props.classList\n if (!cl) {\n return \"\"\n }\n return Array.isArray(cl) ? cl.join(\" \") : cl\n})\n\nconst sizeStyle = computed<Record<string, string>>(() => ({\n width: `${props.size}px`,\n height: `${props.size}px`,\n}))\n\nconst ResolvedIcon = ref<Component | null>(null)\n\nasync function loadIcon(name: string): Promise<void> {\n if (!name) {\n ResolvedIcon.value = null\n return\n }\n const mod = await import(\"@lucide/vue\")\n const registry = mod as unknown as Record<string, Component | undefined>\n ResolvedIcon.value = registry[name] ?? null\n}\n\nwatch(\n resolvedIconName,\n (next) => {\n void loadIcon(next)\n },\n { immediate: true },\n)\n</script>\n\n<template>\n <span\n class=\"inline-flex items-center\"\n :class=\"rootClass\"\n :data-icon-name=\"resolvedIconName\"\n data-testid=\"icon-display\"\n >\n <component\n :is=\"ResolvedIcon\"\n v-if=\"ResolvedIcon\"\n :style=\"sizeStyle\"\n :aria-label=\"resolvedIconName\"\n />\n <X\n v-else-if=\"!resolvedIconName\"\n :style=\"sizeStyle\"\n class=\"text-muted-foreground\"\n aria-hidden=\"true\"\n data-testid=\"icon-display-fallback\"\n />\n </span>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Props-driven icon display.\n *\n * Dynamically resolves a lucide icon by its PascalCase name (kebab-case\n * is normalised). The library is lazy-imported so we only pay for it\n * when an icon actually renders.\n */\nimport { computed, ref, watch, type Component } from \"vue\"\nimport { X } from \"@lucide/vue\"\n\nexport interface IconDisplayProps {\n iconName?: string\n size?: number\n classList?: string[] | string\n}\n\nconst props = withDefaults(defineProps<IconDisplayProps>(), {\n size: 20,\n})\n\nfunction toPascalCase(input: string): string {\n return input\n .replace(/[-_\\s]+(.)?/g, (_, ch?: string) => (ch ? ch.toUpperCase() : \"\"))\n .replace(/^(.)/, (m) => m.toUpperCase())\n}\n\nconst resolvedIconName = computed<string>(() => {\n if (!props.iconName) {\n return \"\"\n }\n return toPascalCase(props.iconName)\n})\n\nconst rootClass = computed<string>(() => {\n const cl = props.classList\n if (!cl) {\n return \"\"\n }\n return Array.isArray(cl) ? cl.join(\" \") : cl\n})\n\nconst sizeStyle = computed<Record<string, string>>(() => ({\n width: `${props.size}px`,\n height: `${props.size}px`,\n}))\n\nconst ResolvedIcon = ref<Component | null>(null)\n\nasync function loadIcon(name: string): Promise<void> {\n if (!name) {\n ResolvedIcon.value = null\n return\n }\n const mod = await import(\"@lucide/vue\")\n const registry = mod as unknown as Record<string, Component | undefined>\n ResolvedIcon.value = registry[name] ?? null\n}\n\nwatch(\n resolvedIconName,\n (next) => {\n void loadIcon(next)\n },\n { immediate: true },\n)\n</script>\n\n<template>\n <span\n class=\"inline-flex items-center\"\n :class=\"rootClass\"\n :data-icon-name=\"resolvedIconName\"\n data-testid=\"icon-display\"\n >\n <component\n :is=\"ResolvedIcon\"\n v-if=\"ResolvedIcon\"\n :style=\"sizeStyle\"\n :aria-label=\"resolvedIconName\"\n />\n <X\n v-else-if=\"!resolvedIconName\"\n :style=\"sizeStyle\"\n class=\"text-muted-foreground\"\n aria-hidden=\"true\"\n data-testid=\"icon-display-fallback\"\n />\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;EAiBA,IAAM,IAAQ;EAId,SAAS,EAAa,GAAuB;GAC3C,OAAO,EACJ,QAAQ,iBAAiB,GAAG,MAAiB,IAAK,EAAG,YAAY,IAAI,EAAG,EACxE,QAAQ,SAAS,MAAM,EAAE,YAAY,CAAC;EAC3C;EAEA,IAAM,IAAmB,QAClB,EAAM,WAGJ,EAAa,EAAM,QAAQ,IAFzB,EAGV,GAEK,IAAY,QAAuB;GACvC,IAAM,IAAK,EAAM;GAIjB,OAHK,IAGE,MAAM,QAAQ,CAAE,IAAI,EAAG,KAAK,GAAG,IAAI,IAFjC;EAGX,CAAC,GAEK,IAAY,SAAwC;GACxD,OAAO,GAAG,EAAM,KAAK;GACrB,QAAQ,GAAG,EAAM,KAAK;EACxB,EAAE,GAEI,IAAe,EAAsB,IAAI;EAE/C,eAAe,EAAS,GAA6B;GACnD,IAAI,CAAC,GAAM;IACT,EAAa,QAAQ;IACrB;GACF;GAGA,EAAa,SAAQ,MAFH,OAAO,gBAEK,MAAS;EACzC;SAEA,EACE,IACC,MAAS;GACR,EAAc,CAAI;EACpB,GACA,EAAE,WAAW,GAAK,CACpB,mBAIE,EAmBO,QAAA;GAlBL,OAAK,EAAA,CAAC,4BACE,EAAA,KAAS,CAAA;GAChB,kBAAgB,EAAA;GACjB,eAAY;MAIJ,EAAA,SAAA,EAAA,GAFR,EAKE,EAJK,EAAA,KAAY,GAAA;;GAEhB,OAAK,EAAE,EAAA,KAAS;GAChB,cAAY,EAAA;0CAGD,EAAA,qBAAA,EAAA,GADd,EAME,EAAA,CAAA,GAAA;;GAJC,OAAK,EAAE,EAAA,KAAS;GACjB,OAAM;GACN,eAAY;GACZ,eAAY"}
@@ -0,0 +1,109 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { c as t, i as n, l as r, n as i, o as a, r as o, s } from "./combobox-BrYBRIqW.js";
3
+ import { t as c } from "./field-frame-n5oLDNBT.js";
4
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, h as v, mergeModels as y, openBlock as b, ref as x, renderList as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, useModel as E, withCtx as D } from "vue";
5
+ import * as O from "@lucide/vue";
6
+ //#region src/components/compositions/elements/picker/IconPicker.vue?vue&type=script&setup=true&lang.ts
7
+ var k = { class: "ml-2" }, A = /* @__PURE__ */ _({
8
+ __name: "IconPicker",
9
+ props: /* @__PURE__ */ y({
10
+ modelValue: {},
11
+ id: {},
12
+ name: {},
13
+ label: {},
14
+ hideLabel: { type: Boolean },
15
+ placeholder: {},
16
+ required: { type: Boolean },
17
+ readonly: { type: Boolean },
18
+ disabled: { type: Boolean },
19
+ helpText: {},
20
+ errors: { default: () => [] }
21
+ }, {
22
+ modelValue: {},
23
+ modelModifiers: {}
24
+ }),
25
+ emits: ["update:modelValue"],
26
+ setup(e) {
27
+ let _ = E(e, "modelValue"), y = x(""), A = /* @__PURE__ */ "Activity.AlertCircle.Archive.Bell.Bookmark.Briefcase.Calendar.Camera.Check.ChevronRight.Clock.Cloud.Code.Copy.Database.Download.Edit.Eye.Facebook.File.FileText.Filter.Flag.Folder.Gift.Globe.Heart.Home.Image.Inbox.Info.Layers.Link.Lock.LogIn.LogOut.Mail.MapPin.Menu.MessageSquare.Mic.Monitor.Moon.Music.Paperclip.Pause.Phone.PieChart.Play.Plus.Power.Printer.RefreshCw.Save.Search.Send.Settings.Share.ShieldCheck.ShoppingCart.Star.Sun.Tag.Trash.Twitter.Upload.User.Video.Wifi.Wrench.X.Zap".split("."), j = u(() => {
28
+ let e = y.value.trim().toLowerCase();
29
+ return e ? A.filter((t) => t.toLowerCase().includes(e)) : A;
30
+ });
31
+ function M(e) {
32
+ if (e) return O[e];
33
+ }
34
+ let N = u(() => M(_.value ?? ""));
35
+ function P(e) {
36
+ let t = M(e);
37
+ return t ? v(t, { class: "size-4" }) : null;
38
+ }
39
+ function F(e) {
40
+ _.value = typeof e == "string" ? e : "";
41
+ }
42
+ return (u, v) => (b(), d(T(c), {
43
+ label: e.label,
44
+ required: e.required,
45
+ "hide-label": e.hideLabel,
46
+ for: e.id,
47
+ "help-text": e.helpText,
48
+ errors: e.errors
49
+ }, {
50
+ default: D(() => [g(T(r), {
51
+ "model-value": _.value ?? "",
52
+ disabled: e.disabled,
53
+ "onUpdate:modelValue": F
54
+ }, {
55
+ default: D(() => [g(T(t), {
56
+ "data-element-name": e.name ?? void 0,
57
+ "data-readonly": e.readonly || void 0
58
+ }, {
59
+ default: D(() => [N.value ? (b(), d(C(N.value), {
60
+ key: 0,
61
+ class: "mr-2 size-4 shrink-0",
62
+ "data-testid": "icon-preview"
63
+ })) : f("", !0), g(T(n), {
64
+ modelValue: y.value,
65
+ "onUpdate:modelValue": v[0] ||= (e) => y.value = e,
66
+ placeholder: e.placeholder ?? "Search icons…",
67
+ readonly: e.readonly,
68
+ required: e.required
69
+ }, null, 8, [
70
+ "modelValue",
71
+ "placeholder",
72
+ "readonly",
73
+ "required"
74
+ ])]),
75
+ _: 1
76
+ }, 8, ["data-element-name", "data-readonly"]), g(T(s), null, {
77
+ default: D(() => [g(T(a), null, {
78
+ default: D(() => [...v[1] ||= [h("No icons match.", -1)]]),
79
+ _: 1
80
+ }), (b(!0), p(l, null, S(j.value, (e) => (b(), d(T(o), {
81
+ key: e,
82
+ value: e
83
+ }, {
84
+ default: D(() => [
85
+ g(T(i)),
86
+ (b(), d(C(P(e)))),
87
+ m("span", k, w(e), 1)
88
+ ]),
89
+ _: 2
90
+ }, 1032, ["value"]))), 128))]),
91
+ _: 1
92
+ })]),
93
+ _: 1
94
+ }, 8, ["model-value", "disabled"])]),
95
+ _: 1
96
+ }, 8, [
97
+ "label",
98
+ "required",
99
+ "hide-label",
100
+ "for",
101
+ "help-text",
102
+ "errors"
103
+ ]));
104
+ }
105
+ }), j = /* @__PURE__ */ e({ default: () => M }), M = A;
106
+ //#endregion
107
+ export { j as n, M as t };
108
+
109
+ //# sourceMappingURL=IconPicker-B0sf3xsj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPicker-B0sf3xsj.js","names":[],"sources":["../../src/components/compositions/elements/picker/IconPicker.vue","../../src/components/compositions/elements/picker/IconPicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Props-driven icon picker composition. Searchable combobox over a\n * curated subset of lucide icon names. The selected value is the icon's\n * PascalCase name (e.g. `\"Calendar\"`); the currently-selected icon is\n * rendered as a live preview alongside the combobox input.\n *\n * <IconPicker v-model=\"icon\" label=\"Icon\" />\n */\nimport { computed, h, ref } from \"vue\"\nimport * as LucideIcons from \"@lucide/vue\"\nimport type { Component } from \"vue\"\nimport {\n Combobox,\n ComboboxAnchor,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxItemIndicator,\n} from \"@/components/ui/combobox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface IconPickerProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nwithDefaults(defineProps<IconPickerProps>(), {\n errors: () => [],\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\nconst query = ref<string>(\"\")\n\n/**\n * A small curated subset of lucide icon names. We don't enumerate the\n * whole 1.4k+ set because we render the preview component eagerly and\n * Storybook bundles every story.\n */\nconst ICON_NAMES = [\n \"Activity\",\n \"AlertCircle\",\n \"Archive\",\n \"Bell\",\n \"Bookmark\",\n \"Briefcase\",\n \"Calendar\",\n \"Camera\",\n \"Check\",\n \"ChevronRight\",\n \"Clock\",\n \"Cloud\",\n \"Code\",\n \"Copy\",\n \"Database\",\n \"Download\",\n \"Edit\",\n \"Eye\",\n \"Facebook\",\n \"File\",\n \"FileText\",\n \"Filter\",\n \"Flag\",\n \"Folder\",\n \"Gift\",\n \"Globe\",\n \"Heart\",\n \"Home\",\n \"Image\",\n \"Inbox\",\n \"Info\",\n \"Layers\",\n \"Link\",\n \"Lock\",\n \"LogIn\",\n \"LogOut\",\n \"Mail\",\n \"MapPin\",\n \"Menu\",\n \"MessageSquare\",\n \"Mic\",\n \"Monitor\",\n \"Moon\",\n \"Music\",\n \"Paperclip\",\n \"Pause\",\n \"Phone\",\n \"PieChart\",\n \"Play\",\n \"Plus\",\n \"Power\",\n \"Printer\",\n \"RefreshCw\",\n \"Save\",\n \"Search\",\n \"Send\",\n \"Settings\",\n \"Share\",\n \"ShieldCheck\",\n \"ShoppingCart\",\n \"Star\",\n \"Sun\",\n \"Tag\",\n \"Trash\",\n \"Twitter\",\n \"Upload\",\n \"User\",\n \"Video\",\n \"Wifi\",\n \"Wrench\",\n \"X\",\n \"Zap\",\n] as const\n\nconst filtered = computed<readonly string[]>(() => {\n const q = query.value.trim().toLowerCase()\n if (!q) {\n return ICON_NAMES\n }\n return ICON_NAMES.filter((name) => name.toLowerCase().includes(q))\n})\n\nfunction resolveIcon(name: string): Component | undefined {\n if (!name) {\n return undefined\n }\n const registry = LucideIcons as unknown as Record<\n string,\n Component | undefined\n >\n return registry[name]\n}\n\nconst previewIcon = computed<Component | undefined>(() =>\n resolveIcon(model.value ?? \"\"),\n)\n\nfunction renderIcon(name: string) {\n const icon = resolveIcon(name)\n return icon ? h(icon, { class: \"size-4\" }) : null\n}\n\nfunction onSelect(value: unknown): void {\n model.value = typeof value === \"string\" ? value : \"\"\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <Combobox\n :model-value=\"model ?? ''\"\n :disabled=\"disabled\"\n @update:model-value=\"onSelect\"\n >\n <ComboboxAnchor\n :data-element-name=\"name ?? undefined\"\n :data-readonly=\"readonly || undefined\"\n >\n <component\n :is=\"previewIcon\"\n v-if=\"previewIcon\"\n class=\"mr-2 size-4 shrink-0\"\n data-testid=\"icon-preview\"\n />\n <ComboboxInput\n v-model=\"query\"\n :placeholder=\"placeholder ?? 'Search icons…'\"\n :readonly=\"readonly\"\n :required=\"required\"\n />\n </ComboboxAnchor>\n <ComboboxContent>\n <ComboboxEmpty>No icons match.</ComboboxEmpty>\n <ComboboxItem v-for=\"iconName in filtered\" :key=\"iconName\" :value=\"iconName\">\n <ComboboxItemIndicator />\n <component :is=\"renderIcon(iconName)\" />\n <span class=\"ml-2\">{{ iconName }}</span>\n </ComboboxItem>\n </ComboboxContent>\n </Combobox>\n </FieldFrame>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Props-driven icon picker composition. Searchable combobox over a\n * curated subset of lucide icon names. The selected value is the icon's\n * PascalCase name (e.g. `\"Calendar\"`); the currently-selected icon is\n * rendered as a live preview alongside the combobox input.\n *\n * <IconPicker v-model=\"icon\" label=\"Icon\" />\n */\nimport { computed, h, ref } from \"vue\"\nimport * as LucideIcons from \"@lucide/vue\"\nimport type { Component } from \"vue\"\nimport {\n Combobox,\n ComboboxAnchor,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxItemIndicator,\n} from \"@/components/ui/combobox\"\nimport { FieldFrame } from \"@/components/ui/field-frame\"\n\nexport interface IconPickerProps {\n modelValue?: string | null\n id?: string\n name?: string\n label?: string\n hideLabel?: boolean\n placeholder?: string\n required?: boolean\n readonly?: boolean\n disabled?: boolean\n helpText?: string\n errors?: string[]\n}\n\nwithDefaults(defineProps<IconPickerProps>(), {\n errors: () => [],\n})\n\nconst model = defineModel<string | null>(\"modelValue\")\n\nconst query = ref<string>(\"\")\n\n/**\n * A small curated subset of lucide icon names. We don't enumerate the\n * whole 1.4k+ set because we render the preview component eagerly and\n * Storybook bundles every story.\n */\nconst ICON_NAMES = [\n \"Activity\",\n \"AlertCircle\",\n \"Archive\",\n \"Bell\",\n \"Bookmark\",\n \"Briefcase\",\n \"Calendar\",\n \"Camera\",\n \"Check\",\n \"ChevronRight\",\n \"Clock\",\n \"Cloud\",\n \"Code\",\n \"Copy\",\n \"Database\",\n \"Download\",\n \"Edit\",\n \"Eye\",\n \"Facebook\",\n \"File\",\n \"FileText\",\n \"Filter\",\n \"Flag\",\n \"Folder\",\n \"Gift\",\n \"Globe\",\n \"Heart\",\n \"Home\",\n \"Image\",\n \"Inbox\",\n \"Info\",\n \"Layers\",\n \"Link\",\n \"Lock\",\n \"LogIn\",\n \"LogOut\",\n \"Mail\",\n \"MapPin\",\n \"Menu\",\n \"MessageSquare\",\n \"Mic\",\n \"Monitor\",\n \"Moon\",\n \"Music\",\n \"Paperclip\",\n \"Pause\",\n \"Phone\",\n \"PieChart\",\n \"Play\",\n \"Plus\",\n \"Power\",\n \"Printer\",\n \"RefreshCw\",\n \"Save\",\n \"Search\",\n \"Send\",\n \"Settings\",\n \"Share\",\n \"ShieldCheck\",\n \"ShoppingCart\",\n \"Star\",\n \"Sun\",\n \"Tag\",\n \"Trash\",\n \"Twitter\",\n \"Upload\",\n \"User\",\n \"Video\",\n \"Wifi\",\n \"Wrench\",\n \"X\",\n \"Zap\",\n] as const\n\nconst filtered = computed<readonly string[]>(() => {\n const q = query.value.trim().toLowerCase()\n if (!q) {\n return ICON_NAMES\n }\n return ICON_NAMES.filter((name) => name.toLowerCase().includes(q))\n})\n\nfunction resolveIcon(name: string): Component | undefined {\n if (!name) {\n return undefined\n }\n const registry = LucideIcons as unknown as Record<\n string,\n Component | undefined\n >\n return registry[name]\n}\n\nconst previewIcon = computed<Component | undefined>(() =>\n resolveIcon(model.value ?? \"\"),\n)\n\nfunction renderIcon(name: string) {\n const icon = resolveIcon(name)\n return icon ? h(icon, { class: \"size-4\" }) : null\n}\n\nfunction onSelect(value: unknown): void {\n model.value = typeof value === \"string\" ? value : \"\"\n}\n</script>\n\n<template>\n <FieldFrame\n :label=\"label\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :for=\"id\"\n :help-text=\"helpText\"\n :errors=\"errors\"\n >\n <Combobox\n :model-value=\"model ?? ''\"\n :disabled=\"disabled\"\n @update:model-value=\"onSelect\"\n >\n <ComboboxAnchor\n :data-element-name=\"name ?? undefined\"\n :data-readonly=\"readonly || undefined\"\n >\n <component\n :is=\"previewIcon\"\n v-if=\"previewIcon\"\n class=\"mr-2 size-4 shrink-0\"\n data-testid=\"icon-preview\"\n />\n <ComboboxInput\n v-model=\"query\"\n :placeholder=\"placeholder ?? 'Search icons…'\"\n :readonly=\"readonly\"\n :required=\"required\"\n />\n </ComboboxAnchor>\n <ComboboxContent>\n <ComboboxEmpty>No icons match.</ComboboxEmpty>\n <ComboboxItem v-for=\"iconName in filtered\" :key=\"iconName\" :value=\"iconName\">\n <ComboboxItemIndicator />\n <component :is=\"renderIcon(iconName)\" />\n <span class=\"ml-2\">{{ iconName }}</span>\n </ComboboxItem>\n </ComboboxContent>\n </Combobox>\n </FieldFrame>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAyCA,IAAM,IAAQ,EAA0B,GAAC,YAAY,GAE/C,IAAQ,EAAY,EAAE,GAOtB,IAAa,kgBAyEnB,GAEM,IAAW,QAAkC;GACjD,IAAM,IAAI,EAAM,MAAM,KAAK,EAAE,YAAY;GAIzC,OAHK,IAGE,EAAW,QAAQ,MAAS,EAAK,YAAY,EAAE,SAAS,CAAC,CAAC,IAFxD;EAGX,CAAC;EAED,SAAS,EAAY,GAAqC;GACnD,OAOL,OAAO,EAAS;EAClB;EAEA,IAAM,IAAc,QAClB,EAAY,EAAM,SAAS,EAAE,CAC/B;EAEA,SAAS,EAAW,GAAc;GAChC,IAAM,IAAO,EAAY,CAAI;GAC7B,OAAO,IAAO,EAAE,GAAM,EAAE,OAAO,SAAS,CAAC,IAAI;EAC/C;EAEA,SAAS,EAAS,GAAsB;GACtC,EAAM,QAAQ,OAAO,KAAU,WAAW,IAAQ;EACpD;yBAIE,EAuCa,EAAA,CAAA,GAAA;GAtCV,OAAO,EAAA;GACP,UAAU,EAAA;GACV,cAAY,EAAA;GACZ,KAAK,EAAA;GACL,aAAW,EAAA;GACX,QAAQ,EAAA;;oBAgCE,CA9BX,EA8BW,EAAA,CAAA,GAAA;IA7BR,eAAa,EAAA,SAAK;IAClB,UAAU,EAAA;IACV,uBAAoB;;qBAkBJ,CAhBjB,EAgBiB,EAAA,CAAA,GAAA;KAfd,qBAAmB,EAAA,QAAQ,KAAA;KAC3B,iBAAe,EAAA,YAAY,KAAA;;sBAO1B,CAHM,EAAA,SAAA,EAAA,GAFR,EAKE,EAJK,EAAA,KAAW,GAAA;;MAEhB,OAAM;MACN,eAAY;sBAEd,EAKE,EAAA,CAAA,GAAA;kBAJS,EAAA;+CAAK,QAAA;MACb,aAAa,EAAA,eAAW;MACxB,UAAU,EAAA;MACV,UAAU,EAAA;;;;;;;;mDAGf,EAOkB,EAAA,CAAA,GAAA,MAAA;sBAN8B,CAA9C,EAA8C,EAAA,CAAA,GAAA,MAAA;uBAAhB,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAf,mBAAe,EAAA,CAAA,CAAA,CAAA;;iBAC9B,EAIe,GAAA,MAAA,EAJkB,EAAA,QAAZ,YAArB,EAIe,EAAA,CAAA,GAAA;MAJ6B,KAAK;MAAW,OAAO;;uBACxC;OAAzB,EAAyB,EAAA,CAAA,CAAA;aACzB,EAAwC,EAAxB,EAAW,CAAQ,CAAA,CAAA;OACnC,EAAwC,QAAxC,GAAwC,EAAlB,CAAQ,GAAA,CAAA"}
@@ -0,0 +1,118 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { n as t } from "./button-BAwcISlK.js";
3
+ import { t as n } from "./input-tw5ZQGKQ.js";
4
+ import { n as r, s as i, t as a } from "./popover-_VzKSUl8.js";
5
+ import { t as o } from "./field-frame-n5oLDNBT.js";
6
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, h, mergeModels as g, normalizeClass as _, openBlock as v, ref as y, renderList as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, useModel as w, withCtx as T } from "vue";
7
+ import * as E from "@lucide/vue";
8
+ import { Search as D } from "@lucide/vue";
9
+ //#region src/components/compositions/elements/picker/IconPickerInline.vue?vue&type=script&setup=true&lang.ts
10
+ var O = { class: "mb-2 flex items-center gap-2" }, k = {
11
+ class: "grid max-h-60 grid-cols-6 gap-1 overflow-auto",
12
+ "data-testid": "icon-picker-inline-grid"
13
+ }, A = [
14
+ "aria-label",
15
+ "title",
16
+ "data-testid",
17
+ "onClick"
18
+ ], j = {
19
+ key: 0,
20
+ class: "p-3 text-center text-sm text-muted-foreground"
21
+ }, M = /* @__PURE__ */ m({
22
+ __name: "IconPickerInline",
23
+ props: /* @__PURE__ */ g({
24
+ modelValue: {},
25
+ id: {},
26
+ name: {},
27
+ label: {},
28
+ hideLabel: { type: Boolean },
29
+ required: { type: Boolean },
30
+ disabled: { type: Boolean },
31
+ helpText: {},
32
+ errors: { default: () => [] }
33
+ }, {
34
+ modelValue: {},
35
+ modelModifiers: {}
36
+ }),
37
+ emits: ["update:modelValue"],
38
+ setup(e) {
39
+ let m = w(e, "modelValue"), g = y(""), M = /* @__PURE__ */ "Activity.AlertCircle.Archive.Bell.Bookmark.Calendar.Camera.Check.Clock.Cloud.Code.Download.Edit.Eye.File.Flag.Folder.Globe.Heart.Home.Image.Info.Link.Lock.Mail.MapPin.MessageSquare.Plus.Search.Settings.Star.Tag.Trash.Upload.User.Video.X.Zap".split("."), N = c(() => {
40
+ let e = g.value.trim().toLowerCase();
41
+ return e ? M.filter((t) => t.toLowerCase().includes(e)) : M;
42
+ });
43
+ function P(e) {
44
+ return E[e];
45
+ }
46
+ function F(e, t = "size-4") {
47
+ let n = P(e);
48
+ return n ? h(n, { class: t }) : null;
49
+ }
50
+ let I = c(() => P(m.value ?? ""));
51
+ function L(e) {
52
+ m.value = e;
53
+ }
54
+ return (c, h) => (v(), l(C(o), {
55
+ label: e.label,
56
+ required: e.required,
57
+ "hide-label": e.hideLabel,
58
+ for: e.id,
59
+ "help-text": e.helpText,
60
+ errors: e.errors,
61
+ "data-testid": "icon-picker-inline"
62
+ }, {
63
+ default: T(() => [p(C(i), null, {
64
+ default: T(() => [p(C(a), { "as-child": "" }, {
65
+ default: T(() => [p(C(t), {
66
+ type: "button",
67
+ variant: "outline",
68
+ class: "w-fit justify-start gap-2",
69
+ disabled: e.disabled,
70
+ "data-element-name": e.name ?? void 0,
71
+ "data-testid": "icon-picker-inline-trigger"
72
+ }, {
73
+ default: T(() => [I.value ? (v(), l(x(I.value), {
74
+ key: 0,
75
+ class: "size-4"
76
+ })) : u("", !0), f("span", null, S(m.value || "Pick an icon"), 1)]),
77
+ _: 1
78
+ }, 8, ["disabled", "data-element-name"])]),
79
+ _: 1
80
+ }), p(C(r), { class: "w-72 p-2" }, {
81
+ default: T(() => [
82
+ f("div", O, [p(C(D), { class: "size-4 text-muted-foreground" }), p(C(n), {
83
+ modelValue: g.value,
84
+ "onUpdate:modelValue": h[0] ||= (e) => g.value = e,
85
+ placeholder: "Search icons…",
86
+ "data-testid": "icon-picker-inline-search",
87
+ class: "h-8"
88
+ }, null, 8, ["modelValue"])]),
89
+ f("div", k, [(v(!0), d(s, null, b(N.value, (e) => (v(), d("button", {
90
+ key: e,
91
+ type: "button",
92
+ class: _(["flex aspect-square items-center justify-center rounded border border-transparent hover:border-border hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", m.value === e ? "border-primary bg-primary/10" : ""]),
93
+ "aria-label": e,
94
+ title: e,
95
+ "data-testid": `icon-picker-inline-item-${e}`,
96
+ onClick: (t) => L(e)
97
+ }, [(v(), l(x(F(e))))], 10, A))), 128))]),
98
+ N.value.length ? u("", !0) : (v(), d("p", j, " No icons match. "))
99
+ ]),
100
+ _: 1
101
+ })]),
102
+ _: 1
103
+ })]),
104
+ _: 1
105
+ }, 8, [
106
+ "label",
107
+ "required",
108
+ "hide-label",
109
+ "for",
110
+ "help-text",
111
+ "errors"
112
+ ]));
113
+ }
114
+ }), N = /* @__PURE__ */ e({ default: () => P }), P = M;
115
+ //#endregion
116
+ export { N as n, P as t };
117
+
118
+ //# sourceMappingURL=IconPickerInline-D8b5_XxF.js.map