@xleddyl/nuxt-cms 0.4.4 → 0.5.0

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 (471) hide show
  1. package/README.md +1 -1
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +22 -7
  4. package/dist/runtime/app/components/cms/BlockOutline.vue +56 -67
  5. package/dist/runtime/app/components/cms/BlockPalette.vue +3 -1
  6. package/dist/runtime/app/components/cms/BlocksField.vue +155 -149
  7. package/dist/runtime/app/components/cms/BrandMark.d.vue.ts +3 -1
  8. package/dist/runtime/app/components/cms/BrandMark.vue +24 -25
  9. package/dist/runtime/app/components/cms/BrandMark.vue.d.ts +3 -1
  10. package/dist/runtime/app/components/cms/{Checkbox.d.vue.ts → ConfirmGroups.d.vue.ts} +4 -4
  11. package/dist/runtime/app/components/cms/ConfirmGroups.vue +22 -0
  12. package/dist/runtime/app/components/cms/{Checkbox.vue.d.ts → ConfirmGroups.vue.d.ts} +4 -4
  13. package/dist/runtime/app/components/cms/EntryDrawer.d.vue.ts +2 -2
  14. package/dist/runtime/app/components/cms/EntryDrawer.vue +62 -47
  15. package/dist/runtime/app/components/cms/EntryDrawer.vue.d.ts +2 -2
  16. package/dist/runtime/app/components/cms/EntryForm.vue +100 -95
  17. package/dist/runtime/app/components/cms/FieldInput.vue +56 -32
  18. package/dist/runtime/app/components/cms/ImportModal.d.vue.ts +2 -2
  19. package/dist/runtime/app/components/cms/ImportModal.vue +80 -79
  20. package/dist/runtime/app/components/cms/ImportModal.vue.d.ts +2 -2
  21. package/dist/runtime/app/components/cms/JsonField.vue +17 -8
  22. package/dist/runtime/app/components/cms/ListFilters.vue +54 -63
  23. package/dist/runtime/app/components/cms/LocaleSwitch.vue +21 -18
  24. package/dist/runtime/app/components/cms/MediaDetail.vue +110 -72
  25. package/dist/runtime/app/components/cms/MediaField.vue +37 -29
  26. package/dist/runtime/app/components/cms/MediaFolderPicker.d.vue.ts +1 -0
  27. package/dist/runtime/app/components/cms/MediaFolderPicker.vue +77 -49
  28. package/dist/runtime/app/components/cms/MediaFolderPicker.vue.d.ts +1 -0
  29. package/dist/runtime/app/components/cms/MediaGallery.vue +300 -323
  30. package/dist/runtime/app/components/cms/MediaThumb.vue +7 -2
  31. package/dist/runtime/app/components/cms/MediaUpload.vue +37 -70
  32. package/dist/runtime/app/components/cms/RelationField.vue +23 -71
  33. package/dist/runtime/app/components/cms/RichTextField.vue +23 -177
  34. package/dist/runtime/app/components/cms/SettingsAccount.vue +96 -104
  35. package/dist/runtime/app/components/cms/SettingsColumns.vue +7 -6
  36. package/dist/runtime/app/components/cms/SettingsEntry.d.vue.ts +10 -1
  37. package/dist/runtime/app/components/cms/SettingsEntry.vue +35 -52
  38. package/dist/runtime/app/components/cms/SettingsEntry.vue.d.ts +10 -1
  39. package/dist/runtime/app/components/cms/SettingsLayout.vue +7 -4
  40. package/dist/runtime/app/components/cms/SettingsModal.d.vue.ts +0 -4
  41. package/dist/runtime/app/components/cms/SettingsModal.vue +102 -151
  42. package/dist/runtime/app/components/cms/SettingsModal.vue.d.ts +0 -4
  43. package/dist/runtime/app/components/cms/SettingsUsers.d.vue.ts +8 -1
  44. package/dist/runtime/app/components/cms/SettingsUsers.vue +182 -189
  45. package/dist/runtime/app/components/cms/SettingsUsers.vue.d.ts +8 -1
  46. package/dist/runtime/app/components/cms/SlugField.vue +9 -6
  47. package/dist/runtime/app/components/cms/StatusBadge.vue +7 -6
  48. package/dist/runtime/app/components/cms/TranslatableField.vue +11 -6
  49. package/dist/runtime/app/components/cms/VisualEditor.vue +243 -282
  50. package/dist/runtime/app/components/cms/WelcomeModal.vue +49 -41
  51. package/dist/runtime/app/composables/cms-confirm.d.ts +0 -6
  52. package/dist/runtime/app/composables/cms-confirm.js +13 -13
  53. package/dist/runtime/app/composables/cms-media-uploader.d.ts +4 -0
  54. package/dist/runtime/app/composables/cms-media-uploader.js +12 -40
  55. package/dist/runtime/app/composables/cms-theme.d.ts +3 -9
  56. package/dist/runtime/app/composables/cms-theme.js +1 -19
  57. package/dist/runtime/app/composables/cms-toast.d.ts +3 -4
  58. package/dist/runtime/app/composables/cms-toast.js +6 -13
  59. package/dist/runtime/app/layouts/cms-admin.d.vue.ts +2 -2
  60. package/dist/runtime/app/layouts/cms-admin.vue +184 -113
  61. package/dist/runtime/app/layouts/cms-admin.vue.d.ts +2 -2
  62. package/dist/runtime/app/layouts/cms-editor.d.vue.ts +2 -2
  63. package/dist/runtime/app/layouts/cms-editor.vue +9 -4
  64. package/dist/runtime/app/layouts/cms-editor.vue.d.ts +2 -2
  65. package/dist/runtime/app/pages/admin-collection.vue +178 -143
  66. package/dist/runtime/app/pages/admin-content.vue +35 -30
  67. package/dist/runtime/app/pages/admin-entry.vue +14 -9
  68. package/dist/runtime/app/pages/admin-login.vue +57 -54
  69. package/dist/runtime/app/pages/admin-media.vue +6 -4
  70. package/dist/runtime/app/pages/admin-preview.vue +3 -2
  71. package/dist/runtime/app/preview/PreviewOverlay.vue +9 -7
  72. package/dist/runtime/app/utils/ui.d.ts +1 -3
  73. package/dist/runtime/app/utils/ui.js +4 -2
  74. package/dist/runtime/assets/editor.css +1 -0
  75. package/dist/runtime/assets/main.css +1 -1
  76. package/dist/runtime/assets/media.css +1 -0
  77. package/dist/runtime/assets/shell.css +1 -0
  78. package/package.json +9 -8
  79. package/dist/runtime/app/components/cms/Alert.d.vue.ts +0 -17
  80. package/dist/runtime/app/components/cms/Alert.vue +0 -13
  81. package/dist/runtime/app/components/cms/Alert.vue.d.ts +0 -17
  82. package/dist/runtime/app/components/cms/Button.d.vue.ts +0 -26
  83. package/dist/runtime/app/components/cms/Button.vue +0 -48
  84. package/dist/runtime/app/components/cms/Button.vue.d.ts +0 -26
  85. package/dist/runtime/app/components/cms/Checkbox.vue +0 -21
  86. package/dist/runtime/app/components/cms/ConfirmModal.d.vue.ts +0 -3
  87. package/dist/runtime/app/components/cms/ConfirmModal.vue +0 -46
  88. package/dist/runtime/app/components/cms/ConfirmModal.vue.d.ts +0 -3
  89. package/dist/runtime/app/components/cms/Drawer.d.vue.ts +0 -30
  90. package/dist/runtime/app/components/cms/Drawer.vue +0 -61
  91. package/dist/runtime/app/components/cms/Drawer.vue.d.ts +0 -30
  92. package/dist/runtime/app/components/cms/DropdownMenu.d.vue.ts +0 -26
  93. package/dist/runtime/app/components/cms/DropdownMenu.vue +0 -48
  94. package/dist/runtime/app/components/cms/DropdownMenu.vue.d.ts +0 -26
  95. package/dist/runtime/app/components/cms/EmptyState.d.vue.ts +0 -19
  96. package/dist/runtime/app/components/cms/EmptyState.vue +0 -21
  97. package/dist/runtime/app/components/cms/EmptyState.vue.d.ts +0 -19
  98. package/dist/runtime/app/components/cms/Form.d.vue.ts +0 -37
  99. package/dist/runtime/app/components/cms/Form.vue +0 -63
  100. package/dist/runtime/app/components/cms/Form.vue.d.ts +0 -37
  101. package/dist/runtime/app/components/cms/FormField.d.vue.ts +0 -22
  102. package/dist/runtime/app/components/cms/FormField.vue +0 -35
  103. package/dist/runtime/app/components/cms/FormField.vue.d.ts +0 -22
  104. package/dist/runtime/app/components/cms/Icon.d.vue.ts +0 -6
  105. package/dist/runtime/app/components/cms/Icon.vue +0 -23
  106. package/dist/runtime/app/components/cms/Icon.vue.d.ts +0 -6
  107. package/dist/runtime/app/components/cms/Input.d.vue.ts +0 -27
  108. package/dist/runtime/app/components/cms/Input.vue +0 -46
  109. package/dist/runtime/app/components/cms/Input.vue.d.ts +0 -27
  110. package/dist/runtime/app/components/cms/Modal.d.vue.ts +0 -31
  111. package/dist/runtime/app/components/cms/Modal.vue +0 -49
  112. package/dist/runtime/app/components/cms/Modal.vue.d.ts +0 -31
  113. package/dist/runtime/app/components/cms/PageHeader.d.vue.ts +0 -25
  114. package/dist/runtime/app/components/cms/PageHeader.vue +0 -36
  115. package/dist/runtime/app/components/cms/PageHeader.vue.d.ts +0 -25
  116. package/dist/runtime/app/components/cms/Pagination.d.vue.ts +0 -15
  117. package/dist/runtime/app/components/cms/Pagination.vue +0 -51
  118. package/dist/runtime/app/components/cms/Pagination.vue.d.ts +0 -15
  119. package/dist/runtime/app/components/cms/PasswordInput.d.vue.ts +0 -17
  120. package/dist/runtime/app/components/cms/PasswordInput.vue +0 -81
  121. package/dist/runtime/app/components/cms/PasswordInput.vue.d.ts +0 -17
  122. package/dist/runtime/app/components/cms/Popover.d.vue.ts +0 -22
  123. package/dist/runtime/app/components/cms/Popover.vue +0 -27
  124. package/dist/runtime/app/components/cms/Popover.vue.d.ts +0 -22
  125. package/dist/runtime/app/components/cms/Search.d.vue.ts +0 -7
  126. package/dist/runtime/app/components/cms/Search.vue +0 -347
  127. package/dist/runtime/app/components/cms/Search.vue.d.ts +0 -7
  128. package/dist/runtime/app/components/cms/SelectMenu.d.vue.ts +0 -25
  129. package/dist/runtime/app/components/cms/SelectMenu.vue +0 -152
  130. package/dist/runtime/app/components/cms/SelectMenu.vue.d.ts +0 -25
  131. package/dist/runtime/app/components/cms/Spinner.d.vue.ts +0 -3
  132. package/dist/runtime/app/components/cms/Spinner.vue +0 -5
  133. package/dist/runtime/app/components/cms/Spinner.vue.d.ts +0 -3
  134. package/dist/runtime/app/components/cms/Switch.d.vue.ts +0 -10
  135. package/dist/runtime/app/components/cms/Switch.vue +0 -14
  136. package/dist/runtime/app/components/cms/Switch.vue.d.ts +0 -10
  137. package/dist/runtime/app/components/cms/Table.d.vue.ts +0 -51
  138. package/dist/runtime/app/components/cms/Table.vue +0 -115
  139. package/dist/runtime/app/components/cms/Table.vue.d.ts +0 -51
  140. package/dist/runtime/app/components/cms/Textarea.d.vue.ts +0 -15
  141. package/dist/runtime/app/components/cms/Textarea.vue +0 -16
  142. package/dist/runtime/app/components/cms/Textarea.vue.d.ts +0 -15
  143. package/dist/runtime/app/components/cms/Toaster.d.vue.ts +0 -3
  144. package/dist/runtime/app/components/cms/Toaster.vue +0 -48
  145. package/dist/runtime/app/components/cms/Toaster.vue.d.ts +0 -3
  146. package/dist/runtime/app/composables/cms-overlay.d.ts +0 -4
  147. package/dist/runtime/app/composables/cms-overlay.js +0 -23
  148. package/dist/runtime/assets/svg/academic-cap.svg +0 -3
  149. package/dist/runtime/assets/svg/adjustments-horizontal.svg +0 -3
  150. package/dist/runtime/assets/svg/adjustments-vertical.svg +0 -3
  151. package/dist/runtime/assets/svg/archive-box-arrow-down.svg +0 -3
  152. package/dist/runtime/assets/svg/archive-box-x-mark.svg +0 -3
  153. package/dist/runtime/assets/svg/archive-box.svg +0 -3
  154. package/dist/runtime/assets/svg/arrow-down-circle.svg +0 -3
  155. package/dist/runtime/assets/svg/arrow-down-left.svg +0 -3
  156. package/dist/runtime/assets/svg/arrow-down-on-square-stack.svg +0 -3
  157. package/dist/runtime/assets/svg/arrow-down-on-square.svg +0 -3
  158. package/dist/runtime/assets/svg/arrow-down-right.svg +0 -3
  159. package/dist/runtime/assets/svg/arrow-down-tray.svg +0 -3
  160. package/dist/runtime/assets/svg/arrow-down.svg +0 -3
  161. package/dist/runtime/assets/svg/arrow-left-circle.svg +0 -3
  162. package/dist/runtime/assets/svg/arrow-left-end-on-rectangle.svg +0 -3
  163. package/dist/runtime/assets/svg/arrow-left-on-rectangle.svg +0 -3
  164. package/dist/runtime/assets/svg/arrow-left-start-on-rectangle.svg +0 -3
  165. package/dist/runtime/assets/svg/arrow-left.svg +0 -3
  166. package/dist/runtime/assets/svg/arrow-long-down.svg +0 -3
  167. package/dist/runtime/assets/svg/arrow-long-left.svg +0 -3
  168. package/dist/runtime/assets/svg/arrow-long-right.svg +0 -3
  169. package/dist/runtime/assets/svg/arrow-long-up.svg +0 -3
  170. package/dist/runtime/assets/svg/arrow-path-rounded-square.svg +0 -3
  171. package/dist/runtime/assets/svg/arrow-path.svg +0 -3
  172. package/dist/runtime/assets/svg/arrow-right-circle.svg +0 -3
  173. package/dist/runtime/assets/svg/arrow-right-end-on-rectangle.svg +0 -3
  174. package/dist/runtime/assets/svg/arrow-right-on-rectangle.svg +0 -3
  175. package/dist/runtime/assets/svg/arrow-right-start-on-rectangle.svg +0 -3
  176. package/dist/runtime/assets/svg/arrow-right.svg +0 -3
  177. package/dist/runtime/assets/svg/arrow-small-down.svg +0 -3
  178. package/dist/runtime/assets/svg/arrow-small-left.svg +0 -3
  179. package/dist/runtime/assets/svg/arrow-small-right.svg +0 -3
  180. package/dist/runtime/assets/svg/arrow-small-up.svg +0 -3
  181. package/dist/runtime/assets/svg/arrow-top-right-on-square.svg +0 -3
  182. package/dist/runtime/assets/svg/arrow-trending-down.svg +0 -3
  183. package/dist/runtime/assets/svg/arrow-trending-up.svg +0 -3
  184. package/dist/runtime/assets/svg/arrow-turn-down-left.svg +0 -3
  185. package/dist/runtime/assets/svg/arrow-turn-down-right.svg +0 -3
  186. package/dist/runtime/assets/svg/arrow-turn-left-down.svg +0 -3
  187. package/dist/runtime/assets/svg/arrow-turn-left-up.svg +0 -3
  188. package/dist/runtime/assets/svg/arrow-turn-right-down.svg +0 -3
  189. package/dist/runtime/assets/svg/arrow-turn-right-up.svg +0 -3
  190. package/dist/runtime/assets/svg/arrow-turn-up-left.svg +0 -3
  191. package/dist/runtime/assets/svg/arrow-turn-up-right.svg +0 -3
  192. package/dist/runtime/assets/svg/arrow-up-circle.svg +0 -3
  193. package/dist/runtime/assets/svg/arrow-up-left.svg +0 -3
  194. package/dist/runtime/assets/svg/arrow-up-on-square-stack.svg +0 -3
  195. package/dist/runtime/assets/svg/arrow-up-on-square.svg +0 -3
  196. package/dist/runtime/assets/svg/arrow-up-right.svg +0 -3
  197. package/dist/runtime/assets/svg/arrow-up-tray.svg +0 -3
  198. package/dist/runtime/assets/svg/arrow-up.svg +0 -3
  199. package/dist/runtime/assets/svg/arrow-uturn-down.svg +0 -3
  200. package/dist/runtime/assets/svg/arrow-uturn-left.svg +0 -3
  201. package/dist/runtime/assets/svg/arrow-uturn-right.svg +0 -3
  202. package/dist/runtime/assets/svg/arrow-uturn-up.svg +0 -3
  203. package/dist/runtime/assets/svg/arrows-pointing-in.svg +0 -3
  204. package/dist/runtime/assets/svg/arrows-pointing-out.svg +0 -3
  205. package/dist/runtime/assets/svg/arrows-right-left.svg +0 -3
  206. package/dist/runtime/assets/svg/arrows-up-down.svg +0 -3
  207. package/dist/runtime/assets/svg/at-symbol.svg +0 -3
  208. package/dist/runtime/assets/svg/backspace.svg +0 -3
  209. package/dist/runtime/assets/svg/backward.svg +0 -3
  210. package/dist/runtime/assets/svg/banknotes.svg +0 -3
  211. package/dist/runtime/assets/svg/bars-2.svg +0 -3
  212. package/dist/runtime/assets/svg/bars-3-bottom-left.svg +0 -3
  213. package/dist/runtime/assets/svg/bars-3-bottom-right.svg +0 -3
  214. package/dist/runtime/assets/svg/bars-3-center-left.svg +0 -3
  215. package/dist/runtime/assets/svg/bars-3.svg +0 -3
  216. package/dist/runtime/assets/svg/bars-4.svg +0 -3
  217. package/dist/runtime/assets/svg/bars-arrow-down.svg +0 -3
  218. package/dist/runtime/assets/svg/bars-arrow-up.svg +0 -3
  219. package/dist/runtime/assets/svg/battery-0.svg +0 -3
  220. package/dist/runtime/assets/svg/battery-100.svg +0 -3
  221. package/dist/runtime/assets/svg/battery-50.svg +0 -3
  222. package/dist/runtime/assets/svg/beaker.svg +0 -3
  223. package/dist/runtime/assets/svg/bell-alert.svg +0 -3
  224. package/dist/runtime/assets/svg/bell-slash.svg +0 -3
  225. package/dist/runtime/assets/svg/bell-snooze.svg +0 -3
  226. package/dist/runtime/assets/svg/bell.svg +0 -3
  227. package/dist/runtime/assets/svg/bold.svg +0 -3
  228. package/dist/runtime/assets/svg/bolt-slash.svg +0 -3
  229. package/dist/runtime/assets/svg/bolt.svg +0 -3
  230. package/dist/runtime/assets/svg/book-open.svg +0 -3
  231. package/dist/runtime/assets/svg/bookmark-slash.svg +0 -3
  232. package/dist/runtime/assets/svg/bookmark-square.svg +0 -3
  233. package/dist/runtime/assets/svg/bookmark.svg +0 -3
  234. package/dist/runtime/assets/svg/briefcase.svg +0 -3
  235. package/dist/runtime/assets/svg/bug-ant.svg +0 -3
  236. package/dist/runtime/assets/svg/building-library.svg +0 -3
  237. package/dist/runtime/assets/svg/building-office-2.svg +0 -3
  238. package/dist/runtime/assets/svg/building-office.svg +0 -3
  239. package/dist/runtime/assets/svg/building-storefront.svg +0 -3
  240. package/dist/runtime/assets/svg/cake.svg +0 -3
  241. package/dist/runtime/assets/svg/calculator.svg +0 -3
  242. package/dist/runtime/assets/svg/calendar-date-range.svg +0 -3
  243. package/dist/runtime/assets/svg/calendar-days.svg +0 -3
  244. package/dist/runtime/assets/svg/calendar.svg +0 -3
  245. package/dist/runtime/assets/svg/camera.svg +0 -4
  246. package/dist/runtime/assets/svg/chart-bar-square.svg +0 -3
  247. package/dist/runtime/assets/svg/chart-bar.svg +0 -3
  248. package/dist/runtime/assets/svg/chart-pie.svg +0 -4
  249. package/dist/runtime/assets/svg/chat-bubble-bottom-center-text.svg +0 -3
  250. package/dist/runtime/assets/svg/chat-bubble-bottom-center.svg +0 -3
  251. package/dist/runtime/assets/svg/chat-bubble-left-ellipsis.svg +0 -3
  252. package/dist/runtime/assets/svg/chat-bubble-left-right.svg +0 -3
  253. package/dist/runtime/assets/svg/chat-bubble-left.svg +0 -3
  254. package/dist/runtime/assets/svg/chat-bubble-oval-left-ellipsis.svg +0 -3
  255. package/dist/runtime/assets/svg/chat-bubble-oval-left.svg +0 -3
  256. package/dist/runtime/assets/svg/check-badge.svg +0 -3
  257. package/dist/runtime/assets/svg/check-circle.svg +0 -3
  258. package/dist/runtime/assets/svg/check.svg +0 -3
  259. package/dist/runtime/assets/svg/chevron-double-down.svg +0 -3
  260. package/dist/runtime/assets/svg/chevron-double-left.svg +0 -3
  261. package/dist/runtime/assets/svg/chevron-double-right.svg +0 -3
  262. package/dist/runtime/assets/svg/chevron-double-up.svg +0 -4
  263. package/dist/runtime/assets/svg/chevron-down.svg +0 -3
  264. package/dist/runtime/assets/svg/chevron-left.svg +0 -3
  265. package/dist/runtime/assets/svg/chevron-right.svg +0 -3
  266. package/dist/runtime/assets/svg/chevron-up-down.svg +0 -3
  267. package/dist/runtime/assets/svg/chevron-up.svg +0 -3
  268. package/dist/runtime/assets/svg/circle-stack.svg +0 -3
  269. package/dist/runtime/assets/svg/clipboard-document-check.svg +0 -3
  270. package/dist/runtime/assets/svg/clipboard-document-list.svg +0 -3
  271. package/dist/runtime/assets/svg/clipboard-document.svg +0 -3
  272. package/dist/runtime/assets/svg/clipboard.svg +0 -3
  273. package/dist/runtime/assets/svg/clock.svg +0 -3
  274. package/dist/runtime/assets/svg/cloud-arrow-down.svg +0 -3
  275. package/dist/runtime/assets/svg/cloud-arrow-up.svg +0 -3
  276. package/dist/runtime/assets/svg/cloud.svg +0 -3
  277. package/dist/runtime/assets/svg/code-bracket-square.svg +0 -3
  278. package/dist/runtime/assets/svg/code-bracket.svg +0 -3
  279. package/dist/runtime/assets/svg/cog-6-tooth.svg +0 -4
  280. package/dist/runtime/assets/svg/cog-8-tooth.svg +0 -4
  281. package/dist/runtime/assets/svg/cog.svg +0 -3
  282. package/dist/runtime/assets/svg/command-line.svg +0 -3
  283. package/dist/runtime/assets/svg/computer-desktop.svg +0 -3
  284. package/dist/runtime/assets/svg/cpu-chip.svg +0 -3
  285. package/dist/runtime/assets/svg/credit-card.svg +0 -3
  286. package/dist/runtime/assets/svg/cube-transparent.svg +0 -3
  287. package/dist/runtime/assets/svg/cube.svg +0 -3
  288. package/dist/runtime/assets/svg/currency-bangladeshi.svg +0 -3
  289. package/dist/runtime/assets/svg/currency-dollar.svg +0 -3
  290. package/dist/runtime/assets/svg/currency-euro.svg +0 -3
  291. package/dist/runtime/assets/svg/currency-pound.svg +0 -3
  292. package/dist/runtime/assets/svg/currency-rupee.svg +0 -3
  293. package/dist/runtime/assets/svg/currency-yen.svg +0 -3
  294. package/dist/runtime/assets/svg/cursor-arrow-rays.svg +0 -3
  295. package/dist/runtime/assets/svg/cursor-arrow-ripple.svg +0 -3
  296. package/dist/runtime/assets/svg/device-phone-mobile.svg +0 -3
  297. package/dist/runtime/assets/svg/device-tablet.svg +0 -3
  298. package/dist/runtime/assets/svg/divide.svg +0 -3
  299. package/dist/runtime/assets/svg/document-arrow-down.svg +0 -3
  300. package/dist/runtime/assets/svg/document-arrow-up.svg +0 -3
  301. package/dist/runtime/assets/svg/document-chart-bar.svg +0 -3
  302. package/dist/runtime/assets/svg/document-check.svg +0 -3
  303. package/dist/runtime/assets/svg/document-currency-bangladeshi.svg +0 -3
  304. package/dist/runtime/assets/svg/document-currency-dollar.svg +0 -3
  305. package/dist/runtime/assets/svg/document-currency-euro.svg +0 -3
  306. package/dist/runtime/assets/svg/document-currency-pound.svg +0 -3
  307. package/dist/runtime/assets/svg/document-currency-rupee.svg +0 -3
  308. package/dist/runtime/assets/svg/document-currency-yen.svg +0 -3
  309. package/dist/runtime/assets/svg/document-duplicate.svg +0 -3
  310. package/dist/runtime/assets/svg/document-magnifying-glass.svg +0 -3
  311. package/dist/runtime/assets/svg/document-minus.svg +0 -3
  312. package/dist/runtime/assets/svg/document-plus.svg +0 -3
  313. package/dist/runtime/assets/svg/document-text.svg +0 -3
  314. package/dist/runtime/assets/svg/document.svg +0 -3
  315. package/dist/runtime/assets/svg/ellipsis-horizontal-circle.svg +0 -3
  316. package/dist/runtime/assets/svg/ellipsis-horizontal.svg +0 -3
  317. package/dist/runtime/assets/svg/ellipsis-vertical.svg +0 -3
  318. package/dist/runtime/assets/svg/envelope-open.svg +0 -3
  319. package/dist/runtime/assets/svg/envelope.svg +0 -3
  320. package/dist/runtime/assets/svg/equals.svg +0 -3
  321. package/dist/runtime/assets/svg/exclamation-circle.svg +0 -3
  322. package/dist/runtime/assets/svg/exclamation-triangle.svg +0 -3
  323. package/dist/runtime/assets/svg/eye-dropper.svg +0 -3
  324. package/dist/runtime/assets/svg/eye-slash.svg +0 -3
  325. package/dist/runtime/assets/svg/eye.svg +0 -4
  326. package/dist/runtime/assets/svg/face-frown.svg +0 -3
  327. package/dist/runtime/assets/svg/face-smile.svg +0 -3
  328. package/dist/runtime/assets/svg/film.svg +0 -3
  329. package/dist/runtime/assets/svg/finger-print.svg +0 -3
  330. package/dist/runtime/assets/svg/fire.svg +0 -4
  331. package/dist/runtime/assets/svg/flag.svg +0 -3
  332. package/dist/runtime/assets/svg/folder-arrow-down.svg +0 -3
  333. package/dist/runtime/assets/svg/folder-minus.svg +0 -3
  334. package/dist/runtime/assets/svg/folder-open.svg +0 -3
  335. package/dist/runtime/assets/svg/folder-plus.svg +0 -3
  336. package/dist/runtime/assets/svg/folder.svg +0 -3
  337. package/dist/runtime/assets/svg/forward.svg +0 -3
  338. package/dist/runtime/assets/svg/funnel.svg +0 -3
  339. package/dist/runtime/assets/svg/gif.svg +0 -3
  340. package/dist/runtime/assets/svg/gift-top.svg +0 -3
  341. package/dist/runtime/assets/svg/gift.svg +0 -3
  342. package/dist/runtime/assets/svg/globe-alt.svg +0 -3
  343. package/dist/runtime/assets/svg/globe-americas.svg +0 -3
  344. package/dist/runtime/assets/svg/globe-asia-australia.svg +0 -3
  345. package/dist/runtime/assets/svg/globe-europe-africa.svg +0 -3
  346. package/dist/runtime/assets/svg/h1.svg +0 -3
  347. package/dist/runtime/assets/svg/h2.svg +0 -3
  348. package/dist/runtime/assets/svg/h3.svg +0 -3
  349. package/dist/runtime/assets/svg/hand-raised.svg +0 -3
  350. package/dist/runtime/assets/svg/hand-thumb-down.svg +0 -3
  351. package/dist/runtime/assets/svg/hand-thumb-up.svg +0 -3
  352. package/dist/runtime/assets/svg/hashtag.svg +0 -3
  353. package/dist/runtime/assets/svg/heart.svg +0 -3
  354. package/dist/runtime/assets/svg/home-modern.svg +0 -3
  355. package/dist/runtime/assets/svg/home.svg +0 -3
  356. package/dist/runtime/assets/svg/identification.svg +0 -3
  357. package/dist/runtime/assets/svg/inbox-arrow-down.svg +0 -3
  358. package/dist/runtime/assets/svg/inbox-stack.svg +0 -3
  359. package/dist/runtime/assets/svg/inbox.svg +0 -3
  360. package/dist/runtime/assets/svg/information-circle.svg +0 -3
  361. package/dist/runtime/assets/svg/italic.svg +0 -3
  362. package/dist/runtime/assets/svg/key.svg +0 -3
  363. package/dist/runtime/assets/svg/language.svg +0 -3
  364. package/dist/runtime/assets/svg/lifebuoy.svg +0 -3
  365. package/dist/runtime/assets/svg/light-bulb.svg +0 -3
  366. package/dist/runtime/assets/svg/link-slash.svg +0 -3
  367. package/dist/runtime/assets/svg/link.svg +0 -3
  368. package/dist/runtime/assets/svg/list-bullet.svg +0 -3
  369. package/dist/runtime/assets/svg/lock-closed.svg +0 -3
  370. package/dist/runtime/assets/svg/lock-open.svg +0 -3
  371. package/dist/runtime/assets/svg/magnifying-glass-circle.svg +0 -3
  372. package/dist/runtime/assets/svg/magnifying-glass-minus.svg +0 -3
  373. package/dist/runtime/assets/svg/magnifying-glass-plus.svg +0 -3
  374. package/dist/runtime/assets/svg/magnifying-glass.svg +0 -3
  375. package/dist/runtime/assets/svg/map-pin.svg +0 -4
  376. package/dist/runtime/assets/svg/map.svg +0 -3
  377. package/dist/runtime/assets/svg/megaphone.svg +0 -3
  378. package/dist/runtime/assets/svg/microphone.svg +0 -3
  379. package/dist/runtime/assets/svg/minus-circle.svg +0 -3
  380. package/dist/runtime/assets/svg/minus-small.svg +0 -3
  381. package/dist/runtime/assets/svg/minus.svg +0 -3
  382. package/dist/runtime/assets/svg/moon.svg +0 -3
  383. package/dist/runtime/assets/svg/musical-note.svg +0 -3
  384. package/dist/runtime/assets/svg/newspaper.svg +0 -3
  385. package/dist/runtime/assets/svg/no-symbol.svg +0 -3
  386. package/dist/runtime/assets/svg/numbered-list.svg +0 -3
  387. package/dist/runtime/assets/svg/paint-brush.svg +0 -3
  388. package/dist/runtime/assets/svg/paper-airplane.svg +0 -3
  389. package/dist/runtime/assets/svg/paper-clip.svg +0 -3
  390. package/dist/runtime/assets/svg/pause-circle.svg +0 -3
  391. package/dist/runtime/assets/svg/pause.svg +0 -3
  392. package/dist/runtime/assets/svg/pencil-square.svg +0 -3
  393. package/dist/runtime/assets/svg/pencil.svg +0 -3
  394. package/dist/runtime/assets/svg/percent-badge.svg +0 -3
  395. package/dist/runtime/assets/svg/phone-arrow-down-left.svg +0 -3
  396. package/dist/runtime/assets/svg/phone-arrow-up-right.svg +0 -3
  397. package/dist/runtime/assets/svg/phone-x-mark.svg +0 -3
  398. package/dist/runtime/assets/svg/phone.svg +0 -3
  399. package/dist/runtime/assets/svg/photo.svg +0 -3
  400. package/dist/runtime/assets/svg/play-circle.svg +0 -4
  401. package/dist/runtime/assets/svg/play-pause.svg +0 -3
  402. package/dist/runtime/assets/svg/play.svg +0 -3
  403. package/dist/runtime/assets/svg/plus-circle.svg +0 -3
  404. package/dist/runtime/assets/svg/plus-small.svg +0 -3
  405. package/dist/runtime/assets/svg/plus.svg +0 -3
  406. package/dist/runtime/assets/svg/power.svg +0 -3
  407. package/dist/runtime/assets/svg/presentation-chart-bar.svg +0 -3
  408. package/dist/runtime/assets/svg/presentation-chart-line.svg +0 -3
  409. package/dist/runtime/assets/svg/printer.svg +0 -3
  410. package/dist/runtime/assets/svg/puzzle-piece.svg +0 -3
  411. package/dist/runtime/assets/svg/qr-code.svg +0 -4
  412. package/dist/runtime/assets/svg/question-mark-circle.svg +0 -3
  413. package/dist/runtime/assets/svg/queue-list.svg +0 -3
  414. package/dist/runtime/assets/svg/radio.svg +0 -3
  415. package/dist/runtime/assets/svg/receipt-percent.svg +0 -3
  416. package/dist/runtime/assets/svg/receipt-refund.svg +0 -3
  417. package/dist/runtime/assets/svg/rectangle-group.svg +0 -3
  418. package/dist/runtime/assets/svg/rectangle-stack.svg +0 -3
  419. package/dist/runtime/assets/svg/rocket-launch.svg +0 -3
  420. package/dist/runtime/assets/svg/rss.svg +0 -3
  421. package/dist/runtime/assets/svg/scale.svg +0 -3
  422. package/dist/runtime/assets/svg/scissors.svg +0 -3
  423. package/dist/runtime/assets/svg/server-stack.svg +0 -3
  424. package/dist/runtime/assets/svg/server.svg +0 -3
  425. package/dist/runtime/assets/svg/share.svg +0 -3
  426. package/dist/runtime/assets/svg/shield-check.svg +0 -3
  427. package/dist/runtime/assets/svg/shield-exclamation.svg +0 -3
  428. package/dist/runtime/assets/svg/shopping-bag.svg +0 -3
  429. package/dist/runtime/assets/svg/shopping-cart.svg +0 -3
  430. package/dist/runtime/assets/svg/signal-slash.svg +0 -3
  431. package/dist/runtime/assets/svg/signal.svg +0 -3
  432. package/dist/runtime/assets/svg/slash.svg +0 -3
  433. package/dist/runtime/assets/svg/sparkles.svg +0 -3
  434. package/dist/runtime/assets/svg/speaker-wave.svg +0 -3
  435. package/dist/runtime/assets/svg/speaker-x-mark.svg +0 -3
  436. package/dist/runtime/assets/svg/square-2-stack.svg +0 -3
  437. package/dist/runtime/assets/svg/square-3-stack-3d.svg +0 -3
  438. package/dist/runtime/assets/svg/squares-2x2.svg +0 -3
  439. package/dist/runtime/assets/svg/squares-plus.svg +0 -3
  440. package/dist/runtime/assets/svg/star.svg +0 -3
  441. package/dist/runtime/assets/svg/stop-circle.svg +0 -4
  442. package/dist/runtime/assets/svg/stop.svg +0 -3
  443. package/dist/runtime/assets/svg/strikethrough.svg +0 -3
  444. package/dist/runtime/assets/svg/sun.svg +0 -3
  445. package/dist/runtime/assets/svg/swatch.svg +0 -3
  446. package/dist/runtime/assets/svg/table-cells.svg +0 -3
  447. package/dist/runtime/assets/svg/tag.svg +0 -4
  448. package/dist/runtime/assets/svg/ticket.svg +0 -3
  449. package/dist/runtime/assets/svg/trash.svg +0 -3
  450. package/dist/runtime/assets/svg/trophy.svg +0 -3
  451. package/dist/runtime/assets/svg/truck.svg +0 -3
  452. package/dist/runtime/assets/svg/tv.svg +0 -3
  453. package/dist/runtime/assets/svg/underline.svg +0 -3
  454. package/dist/runtime/assets/svg/user-circle.svg +0 -3
  455. package/dist/runtime/assets/svg/user-group.svg +0 -3
  456. package/dist/runtime/assets/svg/user-minus.svg +0 -3
  457. package/dist/runtime/assets/svg/user-plus.svg +0 -3
  458. package/dist/runtime/assets/svg/user.svg +0 -3
  459. package/dist/runtime/assets/svg/users.svg +0 -3
  460. package/dist/runtime/assets/svg/variable.svg +0 -3
  461. package/dist/runtime/assets/svg/video-camera-slash.svg +0 -3
  462. package/dist/runtime/assets/svg/video-camera.svg +0 -3
  463. package/dist/runtime/assets/svg/view-columns.svg +0 -3
  464. package/dist/runtime/assets/svg/viewfinder-circle.svg +0 -3
  465. package/dist/runtime/assets/svg/wallet.svg +0 -3
  466. package/dist/runtime/assets/svg/wifi.svg +0 -3
  467. package/dist/runtime/assets/svg/window.svg +0 -3
  468. package/dist/runtime/assets/svg/wrench-screwdriver.svg +0 -3
  469. package/dist/runtime/assets/svg/wrench.svg +0 -4
  470. package/dist/runtime/assets/svg/x-circle.svg +0 -3
  471. package/dist/runtime/assets/svg/x-mark.svg +0 -3
@@ -1,138 +1,130 @@
1
1
  <template>
2
- <div class="cms-settings-entry">
3
- <div class="cms-settings-entry-header">
4
- <div class="cms-settings-heading">
5
- <h2 class="cms-title cms-title-sm">Account</h2>
6
- <p class="cms-settings-hint">Your profile and your password.</p>
7
- </div>
8
- </div>
2
+ <KAlert v-if="isSuperAdmin" tone="neutral" title="Environment account">
3
+ This account signs in with the credentials of the environment variables (NUXT_CMS_ADMIN_EMAIL
4
+ and NUXT_CMS_ADMIN_PASSWORD). Change them there. Only this account can manage users.
5
+ </KAlert>
9
6
 
10
- <div class="cms-account-card">
11
- <span class="cms-avatar is-lg">{{ initial }}</span>
12
- <div class="cms-account-text">
13
- <span class="cms-account-name">{{ displayName }}</span>
14
- <span class="cms-account-email">{{ email }}</span>
15
- </div>
16
- <span class="cms-badge is-muted">{{ isSuperAdmin ? "Super admin" : "Admin" }}</span>
17
- </div>
18
-
19
- <CmsAlert v-if="isSuperAdmin" color="neutral" title="Environment account">
20
- This account signs in with the credentials of the environment variables
21
- (NUXT_CMS_ADMIN_EMAIL and NUXT_CMS_ADMIN_PASSWORD). Change them there. Only this account
22
- can manage users.
23
- </CmsAlert>
24
-
25
- <template v-else>
26
- <div class="cms-settings-group">
27
- <div class="cms-settings-heading">
28
- <p class="cms-settings-label">Profile</p>
29
- <p class="cms-settings-hint">The name shows in the sidebar.</p>
30
- </div>
31
- <CmsForm :state="profile" @submit="saveProfile">
32
- <div class="cms-form-row" style="--cms-row-cols: 2">
33
- <CmsFormField label="Name" name="name">
34
- <CmsInput v-model="profile.name" placeholder="Your name" autocomplete="name" />
35
- </CmsFormField>
36
- <CmsFormField label="Email" name="email">
37
- <CmsInput :model-value="email" disabled />
38
- </CmsFormField>
39
- </div>
40
- <div class="cms-actions is-end">
41
- <CmsButton
42
- type="submit"
43
- label="Save profile"
44
- size="sm"
45
- :loading="savingProfile"
46
- :disabled="profile.name === (user?.name ?? '')"
7
+ <template v-else>
8
+ <KSettingsGroup label="Profile" description="The name shows in the sidebar.">
9
+ <KForm :form="profile">
10
+ <KGrid :columns="2">
11
+ <KFormField label="Name" name="name">
12
+ <KInput
13
+ v-model="profile.values.name"
14
+ placeholder="Your name"
15
+ autocomplete="name"
47
16
  />
48
- </div>
49
- </CmsForm>
50
- </div>
17
+ </KFormField>
18
+ <KFormField label="Email">
19
+ <KInput :model-value="email" disabled />
20
+ </KFormField>
21
+ </KGrid>
22
+ <KStack direction="row" justify="end" gap="sm">
23
+ <KButton
24
+ type="submit"
25
+ label="Save profile"
26
+ size="sm"
27
+ :disabled="profile.values.name === (user?.name ?? '')"
28
+ />
29
+ </KStack>
30
+ </KForm>
31
+ </KSettingsGroup>
51
32
 
52
- <div class="cms-settings-group">
53
- <div class="cms-settings-heading">
54
- <p class="cms-settings-label">Password</p>
55
- <p class="cms-settings-hint">
56
- At least {{ MIN_PASSWORD_LENGTH }} characters. Use the sparkle button to generate
57
- one.
58
- </p>
59
- </div>
60
- <CmsForm :state="password" @submit="savePassword">
61
- <CmsAlert v-if="passwordError" color="error" :title="passwordError" />
62
- <CmsFormField label="Current password" name="current">
63
- <CmsPasswordInput
64
- v-model="password.current"
65
- autocomplete="current-password"
66
- placeholder="••••••••"
67
- />
68
- </CmsFormField>
69
- <CmsFormField label="New password" name="next">
70
- <CmsPasswordInput v-model="password.next" generate copy />
71
- </CmsFormField>
72
- <div class="cms-actions is-end">
73
- <CmsButton
74
- type="submit"
75
- label="Change password"
76
- size="sm"
77
- :loading="savingPassword"
78
- :disabled="!password.current || password.next.length < MIN_PASSWORD_LENGTH"
79
- />
80
- </div>
81
- </CmsForm>
82
- </div>
83
- </template>
84
- </div>
33
+ <KSettingsGroup
34
+ label="Password"
35
+ :description="`At least ${MIN_PASSWORD_LENGTH} characters. Use the generate button to create one.`"
36
+ >
37
+ <KForm :form="password">
38
+ <KFormField label="Current password" name="current">
39
+ <KPasswordInput
40
+ v-model="password.values.current"
41
+ icon="key"
42
+ autocomplete="current-password"
43
+ placeholder="••••••••"
44
+ />
45
+ </KFormField>
46
+ <KFormField label="New password" name="next">
47
+ <KPasswordInput
48
+ v-model="password.values.next"
49
+ icon="key"
50
+ autocomplete="new-password"
51
+ :generate="generatePassword"
52
+ copy
53
+ />
54
+ </KFormField>
55
+ <KStack direction="row" justify="end" gap="sm">
56
+ <KButton
57
+ type="submit"
58
+ label="Change password"
59
+ size="sm"
60
+ :disabled="
61
+ !password.values.current || (password.values.next ?? '').length < MIN_PASSWORD_LENGTH
62
+ "
63
+ />
64
+ </KStack>
65
+ </KForm>
66
+ </KSettingsGroup>
67
+ </template>
85
68
  </template>
86
69
 
87
70
  <script setup>
88
71
  import { MIN_PASSWORD_LENGTH } from "#nuxt-cms";
89
- import { ref, watch } from "#imports";
90
- import { useCmsAccount } from "../../composables/cms-account";
72
+ import {
73
+ Alert as KAlert,
74
+ Button as KButton,
75
+ Form as KForm,
76
+ FormField as KFormField,
77
+ Grid as KGrid,
78
+ Input as KInput,
79
+ PasswordInput as KPasswordInput,
80
+ SettingsGroup as KSettingsGroup,
81
+ Stack as KStack,
82
+ useForm
83
+ } from "@xleddyl/443-components-vue";
84
+ import { watch } from "#imports";
85
+ import { generatePassword, useCmsAccount } from "../../composables/cms-account";
91
86
  import { useCmsToast } from "../../composables/cms-toast";
92
87
  import { cmsApi } from "../../utils/api";
93
88
  import { errorMessage } from "../../utils/ui";
94
- const { user, email, isSuperAdmin, displayName, initial, refresh } = useCmsAccount();
89
+ const { user, email, isSuperAdmin, refresh } = useCmsAccount();
95
90
  const toast = useCmsToast();
96
- const profile = ref({ name: user.value?.name ?? "" });
91
+ const profile = useForm({
92
+ schema: { name: { initial: () => user.value?.name ?? "" } },
93
+ onSubmit: saveProfile
94
+ });
97
95
  watch(
98
96
  () => user.value?.name,
99
- (name) => {
100
- profile.value.name = name ?? "";
101
- }
97
+ (name) => profile.reset({ name: name ?? "" })
102
98
  );
103
- const savingProfile = ref(false);
104
- async function saveProfile() {
105
- savingProfile.value = true;
99
+ async function saveProfile(values) {
106
100
  try {
107
101
  await cmsApi("/api/cms/account", {
108
102
  method: "PUT",
109
- body: { name: profile.value.name || null }
103
+ body: { name: values.name || null }
110
104
  });
111
105
  await refresh();
112
106
  toast.add({ title: "Profile saved", color: "success" });
113
107
  } catch (error) {
114
108
  toast.add({ title: "Profile not saved", description: errorMessage(error), color: "error" });
115
- } finally {
116
- savingProfile.value = false;
117
109
  }
118
110
  }
119
- const password = ref({ current: "", next: "" });
120
- const passwordError = ref(null);
121
- const savingPassword = ref(false);
122
- async function savePassword() {
123
- savingPassword.value = true;
124
- passwordError.value = null;
111
+ const password = useForm({
112
+ schema: {
113
+ current: { initial: () => "" },
114
+ next: { initial: () => "" }
115
+ },
116
+ onSubmit: savePassword
117
+ });
118
+ async function savePassword(values) {
125
119
  try {
126
120
  await cmsApi("/api/cms/account/password", {
127
121
  method: "PUT",
128
- body: { currentPassword: password.value.current, newPassword: password.value.next }
122
+ body: { currentPassword: values.current, newPassword: values.next }
129
123
  });
130
- password.value = { current: "", next: "" };
124
+ password.reset();
131
125
  toast.add({ title: "Password changed", color: "success" });
132
126
  } catch (error) {
133
- passwordError.value = errorMessage(error) ?? "Password not changed.";
134
- } finally {
135
- savingPassword.value = false;
127
+ password.setError("", errorMessage(error) ?? "Password not changed.");
136
128
  }
137
129
  }
138
130
  </script>
@@ -18,10 +18,10 @@
18
18
  @drop.prevent="onDrop(index)"
19
19
  @dragend="onDragEnd"
20
20
  >
21
- <CmsIcon name="bars-2" class="cms-settings-grip size-4" />
22
- <CmsIcon :name="iconOf(key)" class="cms-settings-item-icon size-4" />
21
+ <KIcon :name="cmsIcon('bars-2')" class="cms-settings-grip" />
22
+ <KIcon :name="cmsIcon(iconOf(key))" class="cms-settings-item-icon" />
23
23
  <span class="cms-settings-item-label">{{ labelOf(key) }}</span>
24
- <CmsSwitch
24
+ <KSwitch
25
25
  :model-value="true"
26
26
  :aria-label="`Hide ${labelOf(key)}`"
27
27
  :disabled="model.length === 1"
@@ -41,9 +41,9 @@
41
41
  <p class="cms-settings-subtitle">Hidden</p>
42
42
  <ul class="cms-settings-list">
43
43
  <li v-for="key in hidden" :key="key" class="cms-settings-item is-muted">
44
- <CmsIcon :name="iconOf(key)" class="cms-settings-item-icon size-4" />
44
+ <KIcon :name="cmsIcon(iconOf(key))" class="cms-settings-item-icon" />
45
45
  <span class="cms-settings-item-label">{{ labelOf(key) }}</span>
46
- <CmsSwitch
46
+ <KSwitch
47
47
  :model-value="false"
48
48
  :aria-label="`Show ${labelOf(key)}`"
49
49
  @update:model-value="show(key)"
@@ -55,8 +55,9 @@
55
55
  </template>
56
56
 
57
57
  <script setup>
58
+ import { Icon as KIcon, Switch as KSwitch } from "@xleddyl/443-components-vue";
58
59
  import { computed, ref } from "#imports";
59
- import { fieldIcon } from "../../utils/ui";
60
+ import { cmsIcon, fieldIcon } from "../../utils/ui";
60
61
  const props = defineProps({
61
62
  fields: { type: Object, required: true },
62
63
  extra: { type: Array, required: true }
@@ -1,6 +1,15 @@
1
+ type Status = 'idle' | 'saving' | 'saved' | 'error';
1
2
  type __VLS_Props = {
2
3
  name: string;
3
4
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ type __VLS_ModelProps = {
6
+ 'status'?: Status;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:status": (value: Status) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
+ "onUpdate:status"?: ((value: Status) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
14
  declare const _default: typeof __VLS_export;
6
15
  export default _default;
@@ -1,37 +1,31 @@
1
1
  <template>
2
2
  <div class="cms-settings-entry">
3
- <div class="cms-settings-entry-header">
4
- <div class="cms-settings-heading">
5
- <h2 class="cms-title cms-title-sm">{{ entry.label }}</h2>
6
- <p class="cms-settings-hint">{{ KIND_LABELS[entry.kind] }}</p>
7
- </div>
8
- <span class="cms-settings-status" :class="`is-${status}`" aria-live="polite">
9
- {{ STATUS_LABELS[status] }}
10
- </span>
11
- </div>
12
-
13
- <div v-if="parts.length > 1" class="cms-tabs" role="tablist">
14
- <button
15
- v-for="part in parts"
16
- :key="part.id"
17
- type="button"
18
- role="tab"
19
- class="cms-tab"
20
- :class="{ 'is-active': activePart === part.id }"
21
- :aria-selected="activePart === part.id"
22
- @click="activePart = part.id"
23
- >
24
- {{ part.label }}
25
- </button>
26
- </div>
27
-
28
- <CmsSettingsColumns
29
- v-if="activePart === 'columns'"
30
- :model-value="columns"
31
- :fields="entry.fields"
32
- :extra="listExtraColumns(name)"
33
- @update:model-value="saveColumns"
34
- />
3
+ <KTabs
4
+ v-if="parts.length > 1"
5
+ v-model="activePart"
6
+ :items="parts"
7
+ :label="`${entry.label} settings`"
8
+ size="sm"
9
+ lazy
10
+ :panel-focusable="false"
11
+ >
12
+ <template #panel-columns>
13
+ <CmsSettingsColumns
14
+ :model-value="columns"
15
+ :fields="entry.fields"
16
+ :extra="listExtraColumns(name)"
17
+ @update:model-value="saveColumns"
18
+ />
19
+ </template>
20
+ <template #panel-layout>
21
+ <CmsSettingsLayout
22
+ :model-value="layout"
23
+ :fields="fields"
24
+ :tabs="entry.tabs"
25
+ @update:model-value="saveLayout"
26
+ />
27
+ </template>
28
+ </KTabs>
35
29
  <CmsSettingsLayout
36
30
  v-else
37
31
  :model-value="layout"
@@ -41,11 +35,11 @@
41
35
  />
42
36
 
43
37
  <div class="cms-settings-footer">
44
- <CmsButton
38
+ <KButton
45
39
  label="Reset to default"
46
- icon="arrow-uturn-left"
40
+ :icon="cmsIcon('arrow-uturn-left')"
47
41
  variant="ghost"
48
- color="neutral"
42
+ tone="neutral"
49
43
  size="sm"
50
44
  :disabled="!isCustom"
51
45
  @click="resetPart"
@@ -55,6 +49,7 @@
55
49
  </template>
56
50
 
57
51
  <script setup>
52
+ import { Button as KButton, Tabs as KTabs } from "@xleddyl/443-components-vue";
58
53
  import { computed, ref } from "#imports";
59
54
  import cmsConfig from "#cms-config";
60
55
  import {
@@ -65,38 +60,26 @@ import {
65
60
  useCmsSettings
66
61
  } from "../../composables/cms-settings";
67
62
  import { useCmsToast } from "../../composables/cms-toast";
68
- import { errorMessage } from "../../utils/ui";
69
- const KIND_LABELS = {
70
- collection: "Collection",
71
- single: "Single",
72
- page: "Pages",
73
- content: "Content"
74
- };
75
- const STATUS_LABELS = {
76
- idle: "Changes save automatically",
77
- saving: "Saving\u2026",
78
- saved: "Saved",
79
- error: "Not saved"
80
- };
63
+ import { cmsIcon, errorMessage } from "../../utils/ui";
81
64
  const props = defineProps({
82
65
  name: { type: String, required: true }
83
66
  });
67
+ const status = defineModel("status", { type: String, ...{ default: "idle" } });
84
68
  const { settings, save, reset } = useCmsSettings();
85
69
  const toast = useCmsToast();
86
70
  const entry = computed(() => cmsConfig[props.name]);
87
71
  const fields = computed(() => entryFields(props.name));
88
72
  const parts = computed(() => [
89
- ...entry.value.kind === "collection" || entry.value.kind === "content" ? [{ id: "columns", label: "Table columns" }] : [],
90
- { id: "layout", label: "Form layout" }
73
+ ...entry.value.kind === "collection" || entry.value.kind === "content" ? [{ value: "columns", label: "Table columns" }] : [],
74
+ { value: "layout", label: "Form layout" }
91
75
  ]);
92
- const activePart = ref(parts.value[0].id);
76
+ const activePart = ref(parts.value[0].value);
93
77
  const columns = computed(() => entryListColumns(props.name, settings.value));
94
78
  const layout = computed(() => entryFormLayout(props.name, settings.value, fields.value));
95
79
  const isCustom = computed(() => {
96
80
  const saved = settings.value[props.name];
97
81
  return activePart.value === "columns" ? !!saved?.columns : !!saved?.layout;
98
82
  });
99
- const status = ref("idle");
100
83
  async function persist(next) {
101
84
  status.value = "saving";
102
85
  try {
@@ -1,6 +1,15 @@
1
+ type Status = 'idle' | 'saving' | 'saved' | 'error';
1
2
  type __VLS_Props = {
2
3
  name: string;
3
4
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ type __VLS_ModelProps = {
6
+ 'status'?: Status;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:status": (value: Status) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
+ "onUpdate:status"?: ((value: Status) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
14
  declare const _default: typeof __VLS_export;
6
15
  export default _default;
@@ -24,7 +24,9 @@
24
24
  >
25
25
  <p v-if="section.title" class="cms-layout-section-title">
26
26
  {{ section.title }}
27
- <span v-if="section.collapsed" class="cms-badge is-muted">Collapsed</span>
27
+ <KBadge v-if="section.collapsed" size="sm" class="cms-code-badge"
28
+ >Collapsed</KBadge
29
+ >
28
30
  </p>
29
31
  <template v-for="(row, rowIndex) in section.rows" :key="row.join('|')">
30
32
  <div
@@ -50,8 +52,8 @@
50
52
  @drop.prevent="drop"
51
53
  @dragend="onDragEnd"
52
54
  >
53
- <CmsIcon name="bars-2" class="cms-settings-grip size-3.5" />
54
- <CmsIcon :name="iconOf(key)" class="cms-settings-item-icon size-3.5" />
55
+ <KIcon :name="cmsIcon('bars-2')" class="cms-settings-grip" />
56
+ <KIcon :name="cmsIcon(iconOf(key))" class="cms-settings-item-icon" />
55
57
  <span class="cms-layout-chip-label">{{ fields[key]?.label ?? key }}</span>
56
58
  <span v-if="tabLabel(key)" class="cms-layout-chip-tab">{{
57
59
  tabLabel(key)
@@ -80,8 +82,9 @@
80
82
 
81
83
  <script setup>
82
84
  import { MAX_LAYOUT_ROW_FIELDS, fieldTab } from "#nuxt-cms";
85
+ import { Badge as KBadge, Icon as KIcon } from "@xleddyl/443-components-vue";
83
86
  import { ref } from "#imports";
84
- import { fieldIcon } from "../../utils/ui";
87
+ import { cmsIcon, fieldIcon } from "../../utils/ui";
85
88
  const AREAS = [{ id: "main", empty: "Drop fields here" }];
86
89
  const props = defineProps({
87
90
  fields: { type: Object, required: true },
@@ -1,16 +1,12 @@
1
- import { type CmsTheme } from '../../composables/cms-theme.js';
2
1
  type __VLS_ModelProps = {
3
2
  'open'?: boolean;
4
- 'theme': CmsTheme;
5
3
  };
6
4
  declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
5
  logout: () => any;
8
6
  "update:open": (value: boolean) => any;
9
- "update:theme": (value: CmsTheme) => any;
10
7
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
11
8
  onLogout?: (() => any) | undefined;
12
9
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
- "onUpdate:theme"?: ((value: CmsTheme) => any) | undefined;
14
10
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
11
  declare const _default: typeof __VLS_export;
16
12
  export default _default;