katecms 0.0.0-stage → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/README.md +5 -3
  2. package/dist/module.d.mts +93 -0
  3. package/dist/module.json +9 -0
  4. package/dist/module.mjs +579 -0
  5. package/dist/runtime/assets/img/katecms-logo.svg +17 -0
  6. package/dist/runtime/composables/getCollection.d.ts +62 -0
  7. package/dist/runtime/composables/getCollection.js +167 -0
  8. package/dist/runtime/composables/getOptions.d.ts +22 -0
  9. package/dist/runtime/composables/getOptions.js +22 -0
  10. package/dist/runtime/composables/getQueryCollection.d.ts +95 -0
  11. package/dist/runtime/composables/getQueryCollection.js +199 -0
  12. package/dist/runtime/composables/getTerms.d.ts +79 -0
  13. package/dist/runtime/composables/getTerms.js +148 -0
  14. package/dist/runtime/composables/useAuth.d.ts +14 -0
  15. package/dist/runtime/composables/useAuth.js +33 -0
  16. package/dist/runtime/composables/useAuthCooldown.d.ts +6 -0
  17. package/dist/runtime/composables/useAuthCooldown.js +44 -0
  18. package/dist/runtime/composables/useCmsPaths.d.ts +15 -0
  19. package/dist/runtime/composables/useCmsPaths.js +21 -0
  20. package/dist/runtime/composables/useKateCmsExtensions.d.ts +49 -0
  21. package/dist/runtime/composables/useKateCmsExtensions.js +29 -0
  22. package/dist/runtime/composables/useMediaLibrary.d.ts +84 -0
  23. package/dist/runtime/composables/useMediaLibrary.js +140 -0
  24. package/dist/runtime/composables/useMenuAccess.d.ts +8 -0
  25. package/dist/runtime/composables/useMenuAccess.js +16 -0
  26. package/dist/runtime/internal/admin/AdminHeader.d.vue.ts +24 -0
  27. package/dist/runtime/internal/admin/AdminHeader.vue +91 -0
  28. package/dist/runtime/internal/admin/AdminHeader.vue.d.ts +24 -0
  29. package/dist/runtime/internal/admin/AppMenu.d.vue.ts +3 -0
  30. package/dist/runtime/internal/admin/AppMenu.vue +244 -0
  31. package/dist/runtime/internal/admin/AppMenu.vue.d.ts +3 -0
  32. package/dist/runtime/internal/admin/AppUser.d.vue.ts +3 -0
  33. package/dist/runtime/internal/admin/AppUser.vue +227 -0
  34. package/dist/runtime/internal/admin/AppUser.vue.d.ts +3 -0
  35. package/dist/runtime/internal/admin/CollectionEntryForm.d.vue.ts +41 -0
  36. package/dist/runtime/internal/admin/CollectionEntryForm.vue +916 -0
  37. package/dist/runtime/internal/admin/CollectionEntryForm.vue.d.ts +41 -0
  38. package/dist/runtime/internal/admin/ConfirmDialog.d.vue.ts +28 -0
  39. package/dist/runtime/internal/admin/ConfirmDialog.vue +136 -0
  40. package/dist/runtime/internal/admin/ConfirmDialog.vue.d.ts +28 -0
  41. package/dist/runtime/internal/admin/DictionaryTermForm.d.vue.ts +33 -0
  42. package/dist/runtime/internal/admin/DictionaryTermForm.vue +328 -0
  43. package/dist/runtime/internal/admin/DictionaryTermForm.vue.d.ts +33 -0
  44. package/dist/runtime/internal/admin/EntryRevisions.d.vue.ts +15 -0
  45. package/dist/runtime/internal/admin/EntryRevisions.vue +125 -0
  46. package/dist/runtime/internal/admin/EntryRevisions.vue.d.ts +15 -0
  47. package/dist/runtime/internal/admin/MediaLibraryFilters.d.vue.ts +16 -0
  48. package/dist/runtime/internal/admin/MediaLibraryFilters.vue +153 -0
  49. package/dist/runtime/internal/admin/MediaLibraryFilters.vue.d.ts +16 -0
  50. package/dist/runtime/internal/admin/MediaLibraryModal.d.vue.ts +65 -0
  51. package/dist/runtime/internal/admin/MediaLibraryModal.vue +451 -0
  52. package/dist/runtime/internal/admin/MediaLibraryModal.vue.d.ts +65 -0
  53. package/dist/runtime/internal/admin/OptionPageForm.d.vue.ts +26 -0
  54. package/dist/runtime/internal/admin/OptionPageForm.vue +222 -0
  55. package/dist/runtime/internal/admin/OptionPageForm.vue.d.ts +26 -0
  56. package/dist/runtime/internal/admin/UserAvatarField.d.vue.ts +12 -0
  57. package/dist/runtime/internal/admin/UserAvatarField.vue +305 -0
  58. package/dist/runtime/internal/admin/UserAvatarField.vue.d.ts +12 -0
  59. package/dist/runtime/internal/fields/AccordionField.d.vue.ts +0 -0
  60. package/dist/runtime/internal/fields/AccordionField.vue +220 -0
  61. package/dist/runtime/internal/fields/AccordionField.vue.d.ts +0 -0
  62. package/dist/runtime/internal/fields/ButtonGroupField.d.vue.ts +0 -0
  63. package/dist/runtime/internal/fields/ButtonGroupField.vue +109 -0
  64. package/dist/runtime/internal/fields/ButtonGroupField.vue.d.ts +0 -0
  65. package/dist/runtime/internal/fields/CheckboxField.d.vue.ts +0 -0
  66. package/dist/runtime/internal/fields/CheckboxField.vue +190 -0
  67. package/dist/runtime/internal/fields/CheckboxField.vue.d.ts +0 -0
  68. package/dist/runtime/internal/fields/ColorPickerField.d.vue.ts +0 -0
  69. package/dist/runtime/internal/fields/ColorPickerField.vue +791 -0
  70. package/dist/runtime/internal/fields/ColorPickerField.vue.d.ts +0 -0
  71. package/dist/runtime/internal/fields/DatePickerField.d.vue.ts +0 -0
  72. package/dist/runtime/internal/fields/DatePickerField.vue +26 -0
  73. package/dist/runtime/internal/fields/DatePickerField.vue.d.ts +0 -0
  74. package/dist/runtime/internal/fields/DateTimePickerField.d.vue.ts +0 -0
  75. package/dist/runtime/internal/fields/DateTimePickerField.vue +26 -0
  76. package/dist/runtime/internal/fields/DateTimePickerField.vue.d.ts +0 -0
  77. package/dist/runtime/internal/fields/DictionaryField.d.vue.ts +0 -0
  78. package/dist/runtime/internal/fields/DictionaryField.vue +345 -0
  79. package/dist/runtime/internal/fields/DictionaryField.vue.d.ts +0 -0
  80. package/dist/runtime/internal/fields/EmailField.d.vue.ts +0 -0
  81. package/dist/runtime/internal/fields/EmailField.vue +21 -0
  82. package/dist/runtime/internal/fields/EmailField.vue.d.ts +0 -0
  83. package/dist/runtime/internal/fields/FileField.d.vue.ts +0 -0
  84. package/dist/runtime/internal/fields/FileField.vue +408 -0
  85. package/dist/runtime/internal/fields/FileField.vue.d.ts +0 -0
  86. package/dist/runtime/internal/fields/FlexibleContentField.d.vue.ts +0 -0
  87. package/dist/runtime/internal/fields/FlexibleContentField.vue +1114 -0
  88. package/dist/runtime/internal/fields/FlexibleContentField.vue.d.ts +0 -0
  89. package/dist/runtime/internal/fields/GalleryField.d.vue.ts +0 -0
  90. package/dist/runtime/internal/fields/GalleryField.vue +584 -0
  91. package/dist/runtime/internal/fields/GalleryField.vue.d.ts +0 -0
  92. package/dist/runtime/internal/fields/GroupField.d.vue.ts +0 -0
  93. package/dist/runtime/internal/fields/GroupField.vue +111 -0
  94. package/dist/runtime/internal/fields/GroupField.vue.d.ts +0 -0
  95. package/dist/runtime/internal/fields/ImageField.d.vue.ts +0 -0
  96. package/dist/runtime/internal/fields/ImageField.vue +638 -0
  97. package/dist/runtime/internal/fields/ImageField.vue.d.ts +0 -0
  98. package/dist/runtime/internal/fields/ImageSelectField.d.vue.ts +0 -0
  99. package/dist/runtime/internal/fields/ImageSelectField.vue +179 -0
  100. package/dist/runtime/internal/fields/ImageSelectField.vue.d.ts +0 -0
  101. package/dist/runtime/internal/fields/LinkField.d.vue.ts +0 -0
  102. package/dist/runtime/internal/fields/LinkField.vue +303 -0
  103. package/dist/runtime/internal/fields/LinkField.vue.d.ts +0 -0
  104. package/dist/runtime/internal/fields/NumberField.d.vue.ts +0 -0
  105. package/dist/runtime/internal/fields/NumberField.vue +25 -0
  106. package/dist/runtime/internal/fields/NumberField.vue.d.ts +0 -0
  107. package/dist/runtime/internal/fields/OembedField.d.vue.ts +0 -0
  108. package/dist/runtime/internal/fields/OembedField.vue +161 -0
  109. package/dist/runtime/internal/fields/OembedField.vue.d.ts +0 -0
  110. package/dist/runtime/internal/fields/OpenStreetMapField.d.vue.ts +0 -0
  111. package/dist/runtime/internal/fields/OpenStreetMapField.vue +1502 -0
  112. package/dist/runtime/internal/fields/OpenStreetMapField.vue.d.ts +0 -0
  113. package/dist/runtime/internal/fields/PageLinkField.d.vue.ts +0 -0
  114. package/dist/runtime/internal/fields/PageLinkField.vue +153 -0
  115. package/dist/runtime/internal/fields/PageLinkField.vue.d.ts +0 -0
  116. package/dist/runtime/internal/fields/PasswordField.d.vue.ts +0 -0
  117. package/dist/runtime/internal/fields/PasswordField.vue +108 -0
  118. package/dist/runtime/internal/fields/PasswordField.vue.d.ts +0 -0
  119. package/dist/runtime/internal/fields/PostObjectField.d.vue.ts +0 -0
  120. package/dist/runtime/internal/fields/PostObjectField.vue +151 -0
  121. package/dist/runtime/internal/fields/PostObjectField.vue.d.ts +0 -0
  122. package/dist/runtime/internal/fields/RadioField.d.vue.ts +0 -0
  123. package/dist/runtime/internal/fields/RadioField.vue +163 -0
  124. package/dist/runtime/internal/fields/RadioField.vue.d.ts +0 -0
  125. package/dist/runtime/internal/fields/RangeField.d.vue.ts +0 -0
  126. package/dist/runtime/internal/fields/RangeField.vue +48 -0
  127. package/dist/runtime/internal/fields/RangeField.vue.d.ts +0 -0
  128. package/dist/runtime/internal/fields/RelationshipField.d.vue.ts +0 -0
  129. package/dist/runtime/internal/fields/RelationshipField.vue +525 -0
  130. package/dist/runtime/internal/fields/RelationshipField.vue.d.ts +0 -0
  131. package/dist/runtime/internal/fields/RepeaterField.d.vue.ts +0 -0
  132. package/dist/runtime/internal/fields/RepeaterField.vue +856 -0
  133. package/dist/runtime/internal/fields/RepeaterField.vue.d.ts +0 -0
  134. package/dist/runtime/internal/fields/SelectField.d.vue.ts +21 -0
  135. package/dist/runtime/internal/fields/SelectField.vue +101 -0
  136. package/dist/runtime/internal/fields/SelectField.vue.d.ts +21 -0
  137. package/dist/runtime/internal/fields/SeparatorField.d.vue.ts +0 -0
  138. package/dist/runtime/internal/fields/SeparatorField.vue +63 -0
  139. package/dist/runtime/internal/fields/SeparatorField.vue.d.ts +0 -0
  140. package/dist/runtime/internal/fields/TabField.d.vue.ts +0 -0
  141. package/dist/runtime/internal/fields/TabField.vue +210 -0
  142. package/dist/runtime/internal/fields/TabField.vue.d.ts +0 -0
  143. package/dist/runtime/internal/fields/TextField.d.vue.ts +0 -0
  144. package/dist/runtime/internal/fields/TextField.vue +22 -0
  145. package/dist/runtime/internal/fields/TextField.vue.d.ts +0 -0
  146. package/dist/runtime/internal/fields/TextareaField.d.vue.ts +0 -0
  147. package/dist/runtime/internal/fields/TextareaField.vue +62 -0
  148. package/dist/runtime/internal/fields/TextareaField.vue.d.ts +0 -0
  149. package/dist/runtime/internal/fields/TimePickerField.d.vue.ts +0 -0
  150. package/dist/runtime/internal/fields/TimePickerField.vue +24 -0
  151. package/dist/runtime/internal/fields/TimePickerField.vue.d.ts +0 -0
  152. package/dist/runtime/internal/fields/TrueFalseField.d.vue.ts +0 -0
  153. package/dist/runtime/internal/fields/TrueFalseField.vue +151 -0
  154. package/dist/runtime/internal/fields/TrueFalseField.vue.d.ts +0 -0
  155. package/dist/runtime/internal/fields/UrlField.d.vue.ts +0 -0
  156. package/dist/runtime/internal/fields/UrlField.vue +21 -0
  157. package/dist/runtime/internal/fields/UrlField.vue.d.ts +0 -0
  158. package/dist/runtime/internal/fields/UserField.d.vue.ts +0 -0
  159. package/dist/runtime/internal/fields/UserField.vue +164 -0
  160. package/dist/runtime/internal/fields/UserField.vue.d.ts +0 -0
  161. package/dist/runtime/internal/fields/WysiwygField.d.vue.ts +0 -0
  162. package/dist/runtime/internal/fields/WysiwygField.vue +971 -0
  163. package/dist/runtime/internal/fields/WysiwygField.vue.d.ts +0 -0
  164. package/dist/runtime/internal/parts/DateTimeControl.d.vue.ts +90 -0
  165. package/dist/runtime/internal/parts/DateTimeControl.vue +568 -0
  166. package/dist/runtime/internal/parts/DateTimeControl.vue.d.ts +90 -0
  167. package/dist/runtime/internal/parts/FieldAddon.d.vue.ts +0 -0
  168. package/dist/runtime/internal/parts/FieldAddon.vue +43 -0
  169. package/dist/runtime/internal/parts/FieldAddon.vue.d.ts +0 -0
  170. package/dist/runtime/internal/parts/FieldInstructions.d.vue.ts +0 -0
  171. package/dist/runtime/internal/parts/FieldInstructions.vue +24 -0
  172. package/dist/runtime/internal/parts/FieldInstructions.vue.d.ts +0 -0
  173. package/dist/runtime/internal/parts/FieldLabel.d.vue.ts +0 -0
  174. package/dist/runtime/internal/parts/FieldLabel.vue +40 -0
  175. package/dist/runtime/internal/parts/FieldLabel.vue.d.ts +0 -0
  176. package/dist/runtime/internal/parts/FieldWrapper.d.vue.ts +0 -0
  177. package/dist/runtime/internal/parts/FieldWrapper.vue +47 -0
  178. package/dist/runtime/internal/parts/FieldWrapper.vue.d.ts +0 -0
  179. package/dist/runtime/internal/parts/ImageCropper.d.vue.ts +17 -0
  180. package/dist/runtime/internal/parts/ImageCropper.vue +363 -0
  181. package/dist/runtime/internal/parts/ImageCropper.vue.d.ts +17 -0
  182. package/dist/runtime/internal/parts/InputControl.d.vue.ts +0 -0
  183. package/dist/runtime/internal/parts/InputControl.vue +163 -0
  184. package/dist/runtime/internal/parts/InputControl.vue.d.ts +0 -0
  185. package/dist/runtime/internal/ui/UiButton.d.vue.ts +35 -0
  186. package/dist/runtime/internal/ui/UiButton.vue +204 -0
  187. package/dist/runtime/internal/ui/UiButton.vue.d.ts +35 -0
  188. package/dist/runtime/internal/ui/UiNotice.d.vue.ts +40 -0
  189. package/dist/runtime/internal/ui/UiNotice.vue +253 -0
  190. package/dist/runtime/internal/ui/UiNotice.vue.d.ts +40 -0
  191. package/dist/runtime/internal/ui/UiSelect.d.vue.ts +61 -0
  192. package/dist/runtime/internal/ui/UiSelect.vue +1212 -0
  193. package/dist/runtime/internal/ui/UiSelect.vue.d.ts +61 -0
  194. package/dist/runtime/middleware/auth-guard.d.ts +9 -0
  195. package/dist/runtime/middleware/auth-guard.js +37 -0
  196. package/dist/runtime/pages/admin/collections/[id].d.vue.ts +3 -0
  197. package/dist/runtime/pages/admin/collections/[id].vue +423 -0
  198. package/dist/runtime/pages/admin/collections/[id].vue.d.ts +3 -0
  199. package/dist/runtime/pages/admin/collections/create.d.vue.ts +3 -0
  200. package/dist/runtime/pages/admin/collections/create.vue +179 -0
  201. package/dist/runtime/pages/admin/collections/create.vue.d.ts +3 -0
  202. package/dist/runtime/pages/admin/collections/index.d.vue.ts +3 -0
  203. package/dist/runtime/pages/admin/collections/index.vue +828 -0
  204. package/dist/runtime/pages/admin/collections/index.vue.d.ts +3 -0
  205. package/dist/runtime/pages/admin/demo-fields.d.vue.ts +3 -0
  206. package/dist/runtime/pages/admin/demo-fields.vue +1327 -0
  207. package/dist/runtime/pages/admin/demo-fields.vue.d.ts +3 -0
  208. package/dist/runtime/pages/admin/dictionaries/[id].d.vue.ts +3 -0
  209. package/dist/runtime/pages/admin/dictionaries/[id].vue +213 -0
  210. package/dist/runtime/pages/admin/dictionaries/[id].vue.d.ts +3 -0
  211. package/dist/runtime/pages/admin/dictionaries/index.d.vue.ts +3 -0
  212. package/dist/runtime/pages/admin/dictionaries/index.vue +387 -0
  213. package/dist/runtime/pages/admin/dictionaries/index.vue.d.ts +3 -0
  214. package/dist/runtime/pages/admin/index.d.vue.ts +3 -0
  215. package/dist/runtime/pages/admin/index.vue +138 -0
  216. package/dist/runtime/pages/admin/index.vue.d.ts +3 -0
  217. package/dist/runtime/pages/admin/login.d.vue.ts +3 -0
  218. package/dist/runtime/pages/admin/login.vue +373 -0
  219. package/dist/runtime/pages/admin/login.vue.d.ts +3 -0
  220. package/dist/runtime/pages/admin/media.d.vue.ts +3 -0
  221. package/dist/runtime/pages/admin/media.vue +1054 -0
  222. package/dist/runtime/pages/admin/media.vue.d.ts +3 -0
  223. package/dist/runtime/pages/admin/options/[page].d.vue.ts +3 -0
  224. package/dist/runtime/pages/admin/options/[page].vue +151 -0
  225. package/dist/runtime/pages/admin/options/[page].vue.d.ts +3 -0
  226. package/dist/runtime/pages/admin/register.d.vue.ts +3 -0
  227. package/dist/runtime/pages/admin/register.vue +391 -0
  228. package/dist/runtime/pages/admin/register.vue.d.ts +3 -0
  229. package/dist/runtime/pages/admin/users/[id].d.vue.ts +3 -0
  230. package/dist/runtime/pages/admin/users/[id].vue +337 -0
  231. package/dist/runtime/pages/admin/users/[id].vue.d.ts +3 -0
  232. package/dist/runtime/pages/admin/users/create.d.vue.ts +3 -0
  233. package/dist/runtime/pages/admin/users/create.vue +201 -0
  234. package/dist/runtime/pages/admin/users/create.vue.d.ts +3 -0
  235. package/dist/runtime/pages/admin/users/index.d.vue.ts +3 -0
  236. package/dist/runtime/pages/admin/users/index.vue +329 -0
  237. package/dist/runtime/pages/admin/users/index.vue.d.ts +3 -0
  238. package/dist/runtime/pages/index.d.vue.ts +3 -0
  239. package/dist/runtime/pages/index.vue +399 -0
  240. package/dist/runtime/pages/index.vue.d.ts +3 -0
  241. package/dist/runtime/server/api/_katecms/auth/login.post.d.ts +5 -0
  242. package/dist/runtime/server/api/_katecms/auth/login.post.js +44 -0
  243. package/dist/runtime/server/api/_katecms/auth/logout.post.d.ts +4 -0
  244. package/dist/runtime/server/api/_katecms/auth/logout.post.js +6 -0
  245. package/dist/runtime/server/api/_katecms/auth/register.post.d.ts +19 -0
  246. package/dist/runtime/server/api/_katecms/auth/register.post.js +83 -0
  247. package/dist/runtime/server/api/_katecms/auth/state.get.d.ts +9 -0
  248. package/dist/runtime/server/api/_katecms/auth/state.get.js +12 -0
  249. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].delete.d.ts +15 -0
  250. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].delete.js +59 -0
  251. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].get.d.ts +4 -0
  252. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].get.js +50 -0
  253. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].patch.d.ts +4 -0
  254. package/dist/runtime/server/api/_katecms/collections/[collection]/[id].patch.js +130 -0
  255. package/dist/runtime/server/api/_katecms/collections/[collection]/revisions/[revisionId].post.d.ts +4 -0
  256. package/dist/runtime/server/api/_katecms/collections/[collection]/revisions/[revisionId].post.js +123 -0
  257. package/dist/runtime/server/api/_katecms/collections/[collection]/revisions.get.d.ts +6 -0
  258. package/dist/runtime/server/api/_katecms/collections/[collection]/revisions.get.js +31 -0
  259. package/dist/runtime/server/api/_katecms/collections/[collection].get.d.ts +8 -0
  260. package/dist/runtime/server/api/_katecms/collections/[collection].get.js +135 -0
  261. package/dist/runtime/server/api/_katecms/collections/[collection].post.d.ts +4 -0
  262. package/dist/runtime/server/api/_katecms/collections/[collection].post.js +91 -0
  263. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].delete.d.ts +7 -0
  264. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].delete.js +31 -0
  265. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].get.d.ts +4 -0
  266. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].get.js +45 -0
  267. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].patch.d.ts +4 -0
  268. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].patch.js +83 -0
  269. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary].get.d.ts +4 -0
  270. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary].get.js +38 -0
  271. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary].post.d.ts +4 -0
  272. package/dist/runtime/server/api/_katecms/dictionaries/[dictionary].post.js +64 -0
  273. package/dist/runtime/server/api/_katecms/media/[id]/regenerate.post.d.ts +8 -0
  274. package/dist/runtime/server/api/_katecms/media/[id]/regenerate.post.js +30 -0
  275. package/dist/runtime/server/api/_katecms/media/[id].delete.d.ts +7 -0
  276. package/dist/runtime/server/api/_katecms/media/[id].delete.js +22 -0
  277. package/dist/runtime/server/api/_katecms/media/[id].get.d.ts +9 -0
  278. package/dist/runtime/server/api/_katecms/media/[id].get.js +17 -0
  279. package/dist/runtime/server/api/_katecms/media/[id].patch.d.ts +6 -0
  280. package/dist/runtime/server/api/_katecms/media/[id].patch.js +48 -0
  281. package/dist/runtime/server/api/_katecms/media/index.get.d.ts +5 -0
  282. package/dist/runtime/server/api/_katecms/media/index.get.js +75 -0
  283. package/dist/runtime/server/api/_katecms/media/index.post.d.ts +9 -0
  284. package/dist/runtime/server/api/_katecms/media/index.post.js +84 -0
  285. package/dist/runtime/server/api/_katecms/media/regenerate.post.d.ts +7 -0
  286. package/dist/runtime/server/api/_katecms/media/regenerate.post.js +30 -0
  287. package/dist/runtime/server/api/_katecms/menu.get.d.ts +8 -0
  288. package/dist/runtime/server/api/_katecms/menu.get.js +14 -0
  289. package/dist/runtime/server/api/_katecms/oembed.get.d.ts +2 -0
  290. package/dist/runtime/server/api/_katecms/oembed.get.js +53 -0
  291. package/dist/runtime/server/api/_katecms/options/[page].get.d.ts +7 -0
  292. package/dist/runtime/server/api/_katecms/options/[page].get.js +28 -0
  293. package/dist/runtime/server/api/_katecms/options/[page].patch.d.ts +4 -0
  294. package/dist/runtime/server/api/_katecms/options/[page].patch.js +36 -0
  295. package/dist/runtime/server/api/_katecms/query.get.d.ts +24 -0
  296. package/dist/runtime/server/api/_katecms/query.get.js +270 -0
  297. package/dist/runtime/server/api/_katecms/relation/entries.get.d.ts +17 -0
  298. package/dist/runtime/server/api/_katecms/relation/entries.get.js +74 -0
  299. package/dist/runtime/server/api/_katecms/relation/terms.get.d.ts +17 -0
  300. package/dist/runtime/server/api/_katecms/relation/terms.get.js +51 -0
  301. package/dist/runtime/server/api/_katecms/resolve.get.d.ts +17 -0
  302. package/dist/runtime/server/api/_katecms/resolve.get.js +116 -0
  303. package/dist/runtime/server/api/_katecms/terms.get.d.ts +20 -0
  304. package/dist/runtime/server/api/_katecms/terms.get.js +201 -0
  305. package/dist/runtime/server/api/_katecms/users/[id].delete.d.ts +11 -0
  306. package/dist/runtime/server/api/_katecms/users/[id].delete.js +45 -0
  307. package/dist/runtime/server/api/_katecms/users/[id].patch.d.ts +19 -0
  308. package/dist/runtime/server/api/_katecms/users/[id].patch.js +129 -0
  309. package/dist/runtime/server/api/_katecms/users.get.d.ts +10 -0
  310. package/dist/runtime/server/api/_katecms/users.get.js +34 -0
  311. package/dist/runtime/server/api/_katecms/users.post.d.ts +10 -0
  312. package/dist/runtime/server/api/_katecms/users.post.js +62 -0
  313. package/dist/runtime/server/api/uploads/[...key].get.d.ts +3 -0
  314. package/dist/runtime/server/api/uploads/[...key].get.js +28 -0
  315. package/dist/runtime/server/kit.d.ts +5 -0
  316. package/dist/runtime/server/kit.js +5 -0
  317. package/dist/runtime/server/middleware/admin-headers.d.ts +3 -0
  318. package/dist/runtime/server/middleware/admin-headers.js +12 -0
  319. package/dist/runtime/server/plugins/auto-migrate.d.ts +2 -0
  320. package/dist/runtime/server/plugins/auto-migrate.js +45 -0
  321. package/dist/runtime/server/tsconfig.json +3 -0
  322. package/dist/runtime/server/utils/auth-attempts.d.ts +22 -0
  323. package/dist/runtime/server/utils/auth-attempts.js +42 -0
  324. package/dist/runtime/server/utils/auth-rate-limit.d.ts +11 -0
  325. package/dist/runtime/server/utils/auth-rate-limit.js +36 -0
  326. package/dist/runtime/server/utils/client-address.d.ts +16 -0
  327. package/dist/runtime/server/utils/client-address.js +23 -0
  328. package/dist/runtime/server/utils/collections.d.ts +42 -0
  329. package/dist/runtime/server/utils/collections.js +300 -0
  330. package/dist/runtime/server/utils/db.d.ts +3 -0
  331. package/dist/runtime/server/utils/db.js +25 -0
  332. package/dist/runtime/server/utils/dictionaries.d.ts +53 -0
  333. package/dist/runtime/server/utils/dictionaries.js +301 -0
  334. package/dist/runtime/server/utils/media-list.d.ts +18 -0
  335. package/dist/runtime/server/utils/media-list.js +84 -0
  336. package/dist/runtime/server/utils/media.d.ts +12 -0
  337. package/dist/runtime/server/utils/media.js +77 -0
  338. package/dist/runtime/server/utils/oembed-fetch.d.ts +4 -0
  339. package/dist/runtime/server/utils/oembed-fetch.js +142 -0
  340. package/dist/runtime/server/utils/options.d.ts +17 -0
  341. package/dist/runtime/server/utils/options.js +66 -0
  342. package/dist/runtime/server/utils/permissions.d.ts +13 -0
  343. package/dist/runtime/server/utils/permissions.js +20 -0
  344. package/dist/runtime/server/utils/public-fields-query.d.ts +6 -0
  345. package/dist/runtime/server/utils/public-fields-query.js +8 -0
  346. package/dist/runtime/server/utils/public-term.d.ts +8 -0
  347. package/dist/runtime/server/utils/public-term.js +80 -0
  348. package/dist/runtime/server/utils/regenerate.d.ts +12 -0
  349. package/dist/runtime/server/utils/regenerate.js +40 -0
  350. package/dist/runtime/server/utils/relation.d.ts +18 -0
  351. package/dist/runtime/server/utils/relation.js +77 -0
  352. package/dist/runtime/server/utils/request-address.d.ts +6 -0
  353. package/dist/runtime/server/utils/request-address.js +10 -0
  354. package/dist/runtime/server/utils/revisions.d.ts +20 -0
  355. package/dist/runtime/server/utils/revisions.js +172 -0
  356. package/dist/runtime/server/utils/session.d.ts +18 -0
  357. package/dist/runtime/server/utils/session.js +71 -0
  358. package/dist/runtime/server/utils/upload-headers.d.ts +2 -0
  359. package/dist/runtime/server/utils/upload-headers.js +30 -0
  360. package/dist/runtime/server/utils/users.d.ts +13 -0
  361. package/dist/runtime/server/utils/users.js +47 -0
  362. package/dist/runtime/utils/admin-users.d.ts +20 -0
  363. package/dist/runtime/utils/admin-users.js +19 -0
  364. package/dist/runtime/utils/auth-error.d.ts +6 -0
  365. package/dist/runtime/utils/auth-error.js +11 -0
  366. package/dist/runtime/utils/cms-paths.d.ts +5 -0
  367. package/dist/runtime/utils/cms-paths.js +13 -0
  368. package/dist/runtime/utils/collections.d.ts +176 -0
  369. package/dist/runtime/utils/collections.js +30 -0
  370. package/dist/runtime/utils/dictionaries.d.ts +65 -0
  371. package/dist/runtime/utils/dictionaries.js +14 -0
  372. package/dist/runtime/utils/field-errors.d.ts +4 -0
  373. package/dist/runtime/utils/field-errors.js +9 -0
  374. package/dist/runtime/utils/field-values.d.ts +19 -0
  375. package/dist/runtime/utils/field-values.js +82 -0
  376. package/dist/runtime/utils/helpers.d.ts +4 -0
  377. package/dist/runtime/utils/helpers.js +20 -0
  378. package/dist/runtime/utils/media-library-query.d.ts +54 -0
  379. package/dist/runtime/utils/media-library-query.js +190 -0
  380. package/dist/runtime/utils/options.d.ts +19 -0
  381. package/dist/runtime/utils/options.js +3 -0
  382. package/dist/runtime/utils/preview.d.ts +22 -0
  383. package/dist/runtime/utils/preview.js +33 -0
  384. package/dist/runtime/utils/relation.d.ts +33 -0
  385. package/dist/runtime/utils/relation.js +23 -0
  386. package/dist/runtime/utils/slugify.d.ts +2 -0
  387. package/dist/runtime/utils/slugify.js +4 -0
  388. package/dist/types.d.mts +7 -0
  389. package/package.json +84 -3
  390. package/src/admin-components.ts +124 -0
  391. package/src/module.ts +592 -0
  392. package/src/runtime/assets/img/katecms-logo.svg +17 -0
  393. package/src/runtime/assets/styles/_functions.scss +70 -0
  394. package/src/runtime/assets/styles/_index.scss +3 -0
  395. package/src/runtime/assets/styles/_mixins.scss +256 -0
  396. package/src/runtime/assets/styles/_variables.scss +35 -0
  397. package/src/runtime/composables/getCollection.ts +253 -0
  398. package/src/runtime/composables/getOptions.ts +42 -0
  399. package/src/runtime/composables/getQueryCollection.ts +325 -0
  400. package/src/runtime/composables/getTerms.ts +231 -0
  401. package/src/runtime/composables/useAuth.ts +43 -0
  402. package/src/runtime/composables/useAuthCooldown.ts +52 -0
  403. package/src/runtime/composables/useCmsPaths.ts +24 -0
  404. package/src/runtime/composables/useKateCmsExtensions.ts +81 -0
  405. package/src/runtime/composables/useMediaLibrary.ts +168 -0
  406. package/src/runtime/composables/useMenuAccess.ts +25 -0
  407. package/src/runtime/internal/admin/AdminHeader.vue +106 -0
  408. package/src/runtime/internal/admin/AppMenu.vue +290 -0
  409. package/src/runtime/internal/admin/AppUser.vue +260 -0
  410. package/src/runtime/internal/admin/CollectionEntryForm.vue +1044 -0
  411. package/src/runtime/internal/admin/ConfirmDialog.vue +164 -0
  412. package/src/runtime/internal/admin/DictionaryTermForm.vue +400 -0
  413. package/src/runtime/internal/admin/EntryRevisions.vue +145 -0
  414. package/src/runtime/internal/admin/MediaLibraryFilters.vue +186 -0
  415. package/src/runtime/internal/admin/MediaLibraryModal.vue +526 -0
  416. package/src/runtime/internal/admin/OptionPageForm.vue +277 -0
  417. package/src/runtime/internal/admin/UserAvatarField.vue +337 -0
  418. package/src/runtime/internal/fields/AccordionField.vue +258 -0
  419. package/src/runtime/internal/fields/ButtonGroupField.vue +144 -0
  420. package/src/runtime/internal/fields/CheckboxField.vue +228 -0
  421. package/src/runtime/internal/fields/ColorPickerField.vue +926 -0
  422. package/src/runtime/internal/fields/DatePickerField.vue +33 -0
  423. package/src/runtime/internal/fields/DateTimePickerField.vue +33 -0
  424. package/src/runtime/internal/fields/DictionaryField.vue +403 -0
  425. package/src/runtime/internal/fields/EmailField.vue +28 -0
  426. package/src/runtime/internal/fields/FileField.vue +480 -0
  427. package/src/runtime/internal/fields/FlexibleContentField.vue +1296 -0
  428. package/src/runtime/internal/fields/GalleryField.vue +677 -0
  429. package/src/runtime/internal/fields/GroupField.vue +136 -0
  430. package/src/runtime/internal/fields/ImageField.vue +730 -0
  431. package/src/runtime/internal/fields/ImageSelectField.vue +213 -0
  432. package/src/runtime/internal/fields/LinkField.vue +338 -0
  433. package/src/runtime/internal/fields/NumberField.vue +32 -0
  434. package/src/runtime/internal/fields/OembedField.vue +187 -0
  435. package/src/runtime/internal/fields/OpenStreetMapField.vue +1716 -0
  436. package/src/runtime/internal/fields/PageLinkField.vue +186 -0
  437. package/src/runtime/internal/fields/PasswordField.vue +127 -0
  438. package/src/runtime/internal/fields/PostObjectField.vue +187 -0
  439. package/src/runtime/internal/fields/RadioField.vue +195 -0
  440. package/src/runtime/internal/fields/RangeField.vue +62 -0
  441. package/src/runtime/internal/fields/RelationshipField.vue +604 -0
  442. package/src/runtime/internal/fields/RepeaterField.vue +999 -0
  443. package/src/runtime/internal/fields/SelectField.vue +118 -0
  444. package/src/runtime/internal/fields/SeparatorField.vue +77 -0
  445. package/src/runtime/internal/fields/TabField.vue +249 -0
  446. package/src/runtime/internal/fields/TextField.vue +29 -0
  447. package/src/runtime/internal/fields/TextareaField.vue +61 -0
  448. package/src/runtime/internal/fields/TimePickerField.vue +31 -0
  449. package/src/runtime/internal/fields/TrueFalseField.vue +181 -0
  450. package/src/runtime/internal/fields/UrlField.vue +28 -0
  451. package/src/runtime/internal/fields/UserField.vue +203 -0
  452. package/src/runtime/internal/fields/WysiwygField.vue +1061 -0
  453. package/src/runtime/internal/parts/DateTimeControl.vue +657 -0
  454. package/src/runtime/internal/parts/FieldAddon.vue +60 -0
  455. package/src/runtime/internal/parts/FieldInstructions.vue +38 -0
  456. package/src/runtime/internal/parts/FieldLabel.vue +56 -0
  457. package/src/runtime/internal/parts/FieldWrapper.vue +63 -0
  458. package/src/runtime/internal/parts/ImageCropper.vue +415 -0
  459. package/src/runtime/internal/parts/InputControl.vue +189 -0
  460. package/src/runtime/internal/ui/UiButton.vue +274 -0
  461. package/src/runtime/internal/ui/UiNotice.vue +302 -0
  462. package/src/runtime/internal/ui/UiSelect.vue +1420 -0
  463. package/src/runtime/middleware/auth-guard.ts +52 -0
  464. package/src/runtime/pages/admin/collections/[id].vue +486 -0
  465. package/src/runtime/pages/admin/collections/create.vue +208 -0
  466. package/src/runtime/pages/admin/collections/index.vue +955 -0
  467. package/src/runtime/pages/admin/demo-fields.vue +1354 -0
  468. package/src/runtime/pages/admin/dictionaries/[id].vue +246 -0
  469. package/src/runtime/pages/admin/dictionaries/index.vue +438 -0
  470. package/src/runtime/pages/admin/index.vue +155 -0
  471. package/src/runtime/pages/admin/login.vue +159 -0
  472. package/src/runtime/pages/admin/media.vue +1176 -0
  473. package/src/runtime/pages/admin/options/[page].vue +174 -0
  474. package/src/runtime/pages/admin/register.vue +179 -0
  475. package/src/runtime/pages/admin/users/[id].vue +382 -0
  476. package/src/runtime/pages/admin/users/create.vue +232 -0
  477. package/src/runtime/pages/admin/users/index.vue +374 -0
  478. package/src/runtime/pages/index.vue +265 -0
  479. package/src/runtime/server/api/_katecms/auth/login.post.ts +62 -0
  480. package/src/runtime/server/api/_katecms/auth/logout.post.ts +7 -0
  481. package/src/runtime/server/api/_katecms/auth/register.post.ts +112 -0
  482. package/src/runtime/server/api/_katecms/auth/state.get.ts +19 -0
  483. package/src/runtime/server/api/_katecms/collections/[collection]/[id].delete.ts +77 -0
  484. package/src/runtime/server/api/_katecms/collections/[collection]/[id].get.ts +57 -0
  485. package/src/runtime/server/api/_katecms/collections/[collection]/[id].patch.ts +157 -0
  486. package/src/runtime/server/api/_katecms/collections/[collection]/revisions/[revisionId].post.ts +133 -0
  487. package/src/runtime/server/api/_katecms/collections/[collection]/revisions.get.ts +35 -0
  488. package/src/runtime/server/api/_katecms/collections/[collection].get.ts +177 -0
  489. package/src/runtime/server/api/_katecms/collections/[collection].post.ts +111 -0
  490. package/src/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].delete.ts +37 -0
  491. package/src/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].get.ts +51 -0
  492. package/src/runtime/server/api/_katecms/dictionaries/[dictionary]/[id].patch.ts +101 -0
  493. package/src/runtime/server/api/_katecms/dictionaries/[dictionary].get.ts +43 -0
  494. package/src/runtime/server/api/_katecms/dictionaries/[dictionary].post.ts +78 -0
  495. package/src/runtime/server/api/_katecms/media/[id]/regenerate.post.ts +39 -0
  496. package/src/runtime/server/api/_katecms/media/[id].delete.ts +28 -0
  497. package/src/runtime/server/api/_katecms/media/[id].get.ts +25 -0
  498. package/src/runtime/server/api/_katecms/media/[id].patch.ts +60 -0
  499. package/src/runtime/server/api/_katecms/media/index.get.ts +96 -0
  500. package/src/runtime/server/api/_katecms/media/index.post.ts +104 -0
  501. package/src/runtime/server/api/_katecms/media/regenerate.post.ts +38 -0
  502. package/src/runtime/server/api/_katecms/menu.get.ts +19 -0
  503. package/src/runtime/server/api/_katecms/oembed.get.ts +62 -0
  504. package/src/runtime/server/api/_katecms/options/[page].get.ts +35 -0
  505. package/src/runtime/server/api/_katecms/options/[page].patch.ts +46 -0
  506. package/src/runtime/server/api/_katecms/query.get.ts +332 -0
  507. package/src/runtime/server/api/_katecms/relation/entries.get.ts +98 -0
  508. package/src/runtime/server/api/_katecms/relation/terms.get.ts +61 -0
  509. package/src/runtime/server/api/_katecms/resolve.get.ts +148 -0
  510. package/src/runtime/server/api/_katecms/terms.get.ts +258 -0
  511. package/src/runtime/server/api/_katecms/users/[id].delete.ts +57 -0
  512. package/src/runtime/server/api/_katecms/users/[id].patch.ts +177 -0
  513. package/src/runtime/server/api/_katecms/users.get.ts +48 -0
  514. package/src/runtime/server/api/_katecms/users.post.ts +85 -0
  515. package/src/runtime/server/api/uploads/[...key].get.ts +33 -0
  516. package/src/runtime/server/kit.ts +5 -0
  517. package/src/runtime/server/middleware/admin-headers.ts +14 -0
  518. package/src/runtime/server/plugins/auto-migrate.ts +53 -0
  519. package/src/runtime/server/tsconfig.json +3 -0
  520. package/src/runtime/server/utils/auth-attempts.ts +71 -0
  521. package/src/runtime/server/utils/auth-rate-limit.ts +48 -0
  522. package/src/runtime/server/utils/client-address.ts +41 -0
  523. package/src/runtime/server/utils/collections.ts +381 -0
  524. package/src/runtime/server/utils/db.ts +36 -0
  525. package/src/runtime/server/utils/dictionaries.ts +397 -0
  526. package/src/runtime/server/utils/media-list.ts +131 -0
  527. package/src/runtime/server/utils/media.ts +94 -0
  528. package/src/runtime/server/utils/oembed-fetch.ts +157 -0
  529. package/src/runtime/server/utils/options.ts +86 -0
  530. package/src/runtime/server/utils/permissions.ts +44 -0
  531. package/src/runtime/server/utils/public-fields-query.ts +14 -0
  532. package/src/runtime/server/utils/public-term.ts +98 -0
  533. package/src/runtime/server/utils/regenerate.ts +56 -0
  534. package/src/runtime/server/utils/relation.ts +96 -0
  535. package/src/runtime/server/utils/request-address.ts +16 -0
  536. package/src/runtime/server/utils/revisions.ts +256 -0
  537. package/src/runtime/server/utils/session.ts +112 -0
  538. package/src/runtime/server/utils/upload-headers.ts +35 -0
  539. package/src/runtime/server/utils/users.ts +67 -0
  540. package/src/runtime/utils/admin-users.ts +43 -0
  541. package/src/runtime/utils/auth-error.ts +22 -0
  542. package/src/runtime/utils/cms-paths.ts +17 -0
  543. package/src/runtime/utils/collections.ts +228 -0
  544. package/src/runtime/utils/dictionaries.ts +89 -0
  545. package/src/runtime/utils/field-errors.ts +12 -0
  546. package/src/runtime/utils/field-values.ts +101 -0
  547. package/src/runtime/utils/helpers.ts +33 -0
  548. package/src/runtime/utils/media-library-query.ts +263 -0
  549. package/src/runtime/utils/options.ts +25 -0
  550. package/src/runtime/utils/preview.ts +56 -0
  551. package/src/runtime/utils/relation.ts +60 -0
  552. package/src/runtime/utils/slugify.ts +10 -0
@@ -0,0 +1,1327 @@
1
+ <script setup>
2
+ import { computed, reactive } from "vue";
3
+ import { useHead } from "#imports";
4
+ import {
5
+ buildFormValues,
6
+ isVisible
7
+ } from "@katecms/core";
8
+ import { resolveField } from "../../utils/helpers";
9
+ import { provideKateCmsFieldValues } from "../../utils/field-values";
10
+ const rootClass = "katecms-admin-demo";
11
+ useHead({ title: "Field demo" });
12
+ const fields = {
13
+ text_test: {
14
+ type: "text",
15
+ label: "Text",
16
+ instructions: "Text instructions",
17
+ required: true,
18
+ position: "main",
19
+ placeholder: "Text Placeholder",
20
+ defaultValue: "Text Test Default",
21
+ maxLength: 120,
22
+ prepend: "Prepend",
23
+ append: "Append",
24
+ columnWidth: 50
25
+ },
26
+ textarea_test: {
27
+ type: "textarea",
28
+ label: "Textarea",
29
+ instructions: "Textarea instructions",
30
+ required: true,
31
+ position: "main",
32
+ placeholder: "Textarea",
33
+ defaultValue: "Textarea Test Default\n\nTextarea Test Default\nTextarea Test Default\n\nTextarea Test Default",
34
+ maxLength: 500,
35
+ rows: 6,
36
+ newLines: "autop",
37
+ columnWidth: 50
38
+ },
39
+ email_test: {
40
+ type: "email",
41
+ label: "Email",
42
+ instructions: "Email instructions",
43
+ required: true,
44
+ position: "main",
45
+ placeholder: "name@example.com",
46
+ defaultValue: "test@example.com",
47
+ prepend: "@",
48
+ append: ".com",
49
+ columnWidth: 50
50
+ },
51
+ url_test: {
52
+ type: "url",
53
+ label: "Url",
54
+ instructions: "Url instructions",
55
+ required: true,
56
+ position: "main",
57
+ placeholder: "https://example.com",
58
+ defaultValue: "https://example.com",
59
+ columnWidth: 50
60
+ },
61
+ oembed_test: {
62
+ type: "oembed",
63
+ label: "Oembed",
64
+ instructions: "Oembed instructions",
65
+ required: true,
66
+ defaultValue: "https://youtu.be/AA4EADkgk4Q?si=iihiGODQHIS-tgR_",
67
+ position: "main",
68
+ width: 560,
69
+ height: 315,
70
+ columnWidth: 50
71
+ },
72
+ wysiwyg_test: {
73
+ type: "wysiwyg",
74
+ label: "Wysiwyg",
75
+ instructions: "Wysiwyg instructions",
76
+ required: true,
77
+ position: "main",
78
+ defaultValue: "<p>Wysiwyg <strong>default</strong> value</p>",
79
+ tabs: "all",
80
+ toolbar: "full",
81
+ columnWidth: 50
82
+ },
83
+ password_test: {
84
+ type: "password",
85
+ label: "Password",
86
+ instructions: "Password instructions",
87
+ required: true,
88
+ position: "main",
89
+ placeholder: "Password",
90
+ prepend: "Prepend",
91
+ append: "Append",
92
+ columnWidth: 50
93
+ },
94
+ button_group_test: {
95
+ type: "button_group",
96
+ label: "Button Group",
97
+ instructions: "Button group instructions",
98
+ required: true,
99
+ position: "main",
100
+ layout: "horizontal",
101
+ choices: {
102
+ red: "Red",
103
+ green: "Green",
104
+ blue: "Blue"
105
+ },
106
+ defaultValue: "green",
107
+ returnFormat: "label",
108
+ columnWidth: 50
109
+ },
110
+ checkbox_test: {
111
+ type: "checkbox",
112
+ label: "Checkbox",
113
+ instructions: "Checkbox instructions",
114
+ required: true,
115
+ position: "main",
116
+ layout: "vertical",
117
+ toggle: true,
118
+ allowCustomChoices: true,
119
+ choices: {
120
+ red: "Red",
121
+ green: "Green",
122
+ blue: "Blue"
123
+ },
124
+ defaultValue: ["green", "blue"],
125
+ returnFormat: "array",
126
+ columnWidth: 50
127
+ },
128
+ color_picker_test: {
129
+ type: "color_picker",
130
+ label: "Color Picker",
131
+ instructions: "Color picker instructions",
132
+ required: true,
133
+ position: "main",
134
+ defaultValue: "#2F6FED",
135
+ enableOpacity: true,
136
+ returnFormat: "array",
137
+ showColorWheel: true,
138
+ paletteColors: [
139
+ "rgba(244, 67, 54, 1)",
140
+ "rgba(233, 30, 99, 0.95)",
141
+ "rgba(156, 39, 176, 0.9)",
142
+ "rgba(103, 58, 183, 0.85)",
143
+ "rgba(63, 81, 181, 0.8)",
144
+ "rgba(47, 111, 237, 0.9)",
145
+ "rgba(3, 169, 244, 0.7)",
146
+ "rgba(0, 188, 212, 0.7)",
147
+ "rgba(42, 154, 102, 0.85)",
148
+ "rgba(76, 175, 80, 0.8)",
149
+ "rgba(196, 133, 26, 0.9)",
150
+ "rgba(214, 69, 69, 1)"
151
+ ],
152
+ rgba: true,
153
+ hsla: true,
154
+ columnWidth: 50
155
+ },
156
+ date_picker_test: {
157
+ type: "date_picker",
158
+ label: "Date Picker",
159
+ instructions: "Date picker instructions",
160
+ required: true,
161
+ position: "main",
162
+ displayFormat: "DD.MM.YYYY",
163
+ returnFormat: "YYYY-MM-DD",
164
+ firstDay: 1,
165
+ defaultToCurrentDate: true,
166
+ columnWidth: 50
167
+ },
168
+ date_time_picker_test: {
169
+ type: "date_time_picker",
170
+ label: "Date Time Picker",
171
+ instructions: "Date time picker instructions",
172
+ required: true,
173
+ position: "main",
174
+ displayFormat: "DD.MM.YYYY HH:mm",
175
+ returnFormat: "YYYY-MM-DD HH:mm",
176
+ firstDay: 1,
177
+ defaultToCurrentDate: true,
178
+ columnWidth: 50
179
+ },
180
+ time_picker_test: {
181
+ type: "time_picker",
182
+ label: "Time Picker",
183
+ instructions: "Time picker instructions",
184
+ required: true,
185
+ position: "main",
186
+ displayFormat: "HH:mm",
187
+ returnFormat: "HH:mm",
188
+ columnWidth: 50
189
+ },
190
+ number_test: {
191
+ type: "number",
192
+ label: "Number",
193
+ instructions: "Number instructions",
194
+ required: true,
195
+ position: "main",
196
+ placeholder: "Number",
197
+ defaultValue: 10,
198
+ min: 0,
199
+ max: 100,
200
+ step: 5,
201
+ prepend: "$",
202
+ append: "USD",
203
+ columnWidth: 50
204
+ },
205
+ range_test: {
206
+ type: "range",
207
+ label: "Range",
208
+ instructions: "Range instructions",
209
+ required: true,
210
+ position: "main",
211
+ defaultValue: 25,
212
+ min: 0,
213
+ max: 200,
214
+ step: 5,
215
+ prepend: "min",
216
+ append: "max",
217
+ columnWidth: 50
218
+ },
219
+ radio_test: {
220
+ type: "radio",
221
+ label: "Radio",
222
+ instructions: "Radio instructions",
223
+ required: true,
224
+ position: "main",
225
+ layout: "vertical",
226
+ allowNull: true,
227
+ allowCustomChoices: true,
228
+ choices: {
229
+ red: "Red",
230
+ green: "Green",
231
+ blue: "Blue"
232
+ },
233
+ defaultValue: "green",
234
+ returnFormat: "label",
235
+ columnWidth: 50
236
+ },
237
+ true_false_test: {
238
+ type: "true_false",
239
+ label: "True / False",
240
+ instructions: "True/False instructions",
241
+ required: true,
242
+ position: "main",
243
+ message: "Enable option",
244
+ ui: true,
245
+ uiOnText: "On",
246
+ uiOffText: "Off",
247
+ defaultValue: true,
248
+ columnWidth: 50
249
+ },
250
+ true_false_test_no_ui: {
251
+ type: "true_false",
252
+ label: "True / False",
253
+ instructions: "True/False instructions",
254
+ required: true,
255
+ position: "main",
256
+ message: "Enable option",
257
+ defaultValue: true,
258
+ columnWidth: 50
259
+ },
260
+ select_test: {
261
+ type: "select",
262
+ label: "Select",
263
+ instructions: "Select instructions",
264
+ required: true,
265
+ position: "main",
266
+ placeholder: "\u0442\u0410\u0424 Select \u0442\u0410\u0424",
267
+ allowNull: true,
268
+ clearable: true,
269
+ search: true,
270
+ searchPlaceholder: "Filter\u0442\u0410\u0436",
271
+ choices: [
272
+ { val: "red", lbl: "Red" },
273
+ { val: "green", lbl: "Green", check: true },
274
+ { val: "blue", lbl: "Blue" },
275
+ {
276
+ type: "group",
277
+ title: "Other",
278
+ childs: [
279
+ { val: "amber", lbl: "Amber" },
280
+ { val: "gray", lbl: "Gray", disabled: true }
281
+ ]
282
+ }
283
+ ],
284
+ defaultValue: "green",
285
+ returnFormat: "array",
286
+ columnWidth: 50
287
+ },
288
+ image_select_test: {
289
+ type: "image_select",
290
+ label: "Image Select",
291
+ instructions: "Single select (radio) with images",
292
+ required: true,
293
+ position: "main",
294
+ layout: "horizontal",
295
+ allowNull: true,
296
+ choices: {
297
+ red: { label: "Red", image: "https://picsum.photos/800/600" },
298
+ green: { label: "Green", image: "https://picsum.photos/600/600" },
299
+ blue: { label: "Blue", image: "https://picsum.photos/800/400" }
300
+ },
301
+ defaultValue: "green",
302
+ returnFormat: "value",
303
+ columnWidth: 50
304
+ },
305
+ image_select_multiple_test: {
306
+ type: "image_select",
307
+ label: "Image Select Multiple",
308
+ instructions: "Multiple select (checkbox) with images",
309
+ required: true,
310
+ position: "main",
311
+ layout: "horizontal",
312
+ multiple: true,
313
+ choices: {
314
+ left: { label: "Left", image: "https://picsum.photos/700/600" },
315
+ center: { label: "Center", image: "https://picsum.photos/500/600" },
316
+ right: { label: "Right", image: "https://picsum.photos/800/420" }
317
+ },
318
+ defaultValue: ["left", "center"],
319
+ returnFormat: "array",
320
+ width: 140,
321
+ height: 110,
322
+ columnWidth: 50
323
+ },
324
+ separator_test: {
325
+ type: "separator",
326
+ label: "Separator",
327
+ position: "main",
328
+ columnWidth: 100
329
+ },
330
+ group_test: {
331
+ type: "group",
332
+ label: "Group",
333
+ instructions: "Group instructions",
334
+ position: "main",
335
+ columnWidth: 100,
336
+ subFields: {
337
+ title: {
338
+ type: "text",
339
+ label: "Title",
340
+ required: true,
341
+ placeholder: "Title",
342
+ defaultValue: "",
343
+ columnWidth: 50
344
+ },
345
+ description: {
346
+ type: "textarea",
347
+ label: "Description",
348
+ placeholder: "Description",
349
+ defaultValue: "",
350
+ columnWidth: 50
351
+ }
352
+ }
353
+ },
354
+ tab_test: {
355
+ type: "tab",
356
+ placement: "top",
357
+ position: "main",
358
+ columnWidth: 100,
359
+ panels: [
360
+ {
361
+ label: "Tab 1",
362
+ subFields: {
363
+ tab_title: {
364
+ type: "text",
365
+ label: "Title",
366
+ required: true,
367
+ placeholder: "Title",
368
+ defaultValue: "",
369
+ columnWidth: 50
370
+ },
371
+ tab_description: {
372
+ type: "textarea",
373
+ label: "Description",
374
+ placeholder: "Description",
375
+ defaultValue: "",
376
+ columnWidth: 50
377
+ }
378
+ }
379
+ },
380
+ {
381
+ label: "Tab 2",
382
+ subFields: {
383
+ tab_title_2: {
384
+ type: "text",
385
+ label: "Title 2",
386
+ required: true,
387
+ placeholder: "Title",
388
+ defaultValue: "",
389
+ columnWidth: 50
390
+ },
391
+ tab_description_2: {
392
+ type: "textarea",
393
+ label: "Description 2",
394
+ placeholder: "Description",
395
+ defaultValue: "",
396
+ columnWidth: 50
397
+ }
398
+ }
399
+ }
400
+ ]
401
+ },
402
+ accordion_test: {
403
+ type: "accordion",
404
+ position: "main",
405
+ columnWidth: 100,
406
+ open: 0,
407
+ multiExpand: false,
408
+ panels: [
409
+ {
410
+ label: "Panel 1",
411
+ subFields: {
412
+ accordion_title: {
413
+ type: "text",
414
+ label: "Title",
415
+ required: true,
416
+ placeholder: "Title",
417
+ defaultValue: "",
418
+ columnWidth: 50
419
+ },
420
+ accordion_description: {
421
+ type: "textarea",
422
+ label: "Description",
423
+ placeholder: "Description",
424
+ defaultValue: "",
425
+ columnWidth: 50
426
+ }
427
+ }
428
+ },
429
+ {
430
+ label: "Panel 2",
431
+ subFields: {
432
+ accordion_title_2: {
433
+ type: "text",
434
+ label: "Title 2",
435
+ required: true,
436
+ placeholder: "Title",
437
+ defaultValue: "",
438
+ columnWidth: 50
439
+ },
440
+ accordion_description_2: {
441
+ type: "textarea",
442
+ label: "Description 2",
443
+ placeholder: "Description",
444
+ defaultValue: "",
445
+ columnWidth: 50
446
+ }
447
+ }
448
+ }
449
+ ]
450
+ },
451
+ repeater_test: {
452
+ type: "repeater",
453
+ label: "Repeater",
454
+ instructions: "Repeater instructions",
455
+ position: "main",
456
+ collapsed: "title",
457
+ min: 2,
458
+ max: 5,
459
+ buttonLabel: "Add item",
460
+ columnWidth: 100,
461
+ subFields: {
462
+ title: {
463
+ type: "text",
464
+ label: "Title",
465
+ required: true,
466
+ placeholder: "Title",
467
+ defaultValue: "",
468
+ columnWidth: 50
469
+ },
470
+ description: {
471
+ type: "textarea",
472
+ label: "Description",
473
+ placeholder: "Description",
474
+ defaultValue: "",
475
+ columnWidth: 50
476
+ },
477
+ nested: {
478
+ type: "repeater",
479
+ label: "Sub Repeater",
480
+ instructions: "Nested repeater",
481
+ collapsed: "title",
482
+ buttonLabel: "Add nested item",
483
+ columnWidth: 100,
484
+ subFields: {
485
+ title: {
486
+ type: "text",
487
+ label: "Title",
488
+ required: true,
489
+ placeholder: "Title",
490
+ defaultValue: ""
491
+ },
492
+ description: {
493
+ type: "textarea",
494
+ label: "Description",
495
+ placeholder: "Description",
496
+ defaultValue: "",
497
+ columnWidth: 100
498
+ }
499
+ }
500
+ }
501
+ }
502
+ },
503
+ file_test: {
504
+ type: "file",
505
+ label: "File",
506
+ instructions: "File instructions",
507
+ required: true,
508
+ position: "main",
509
+ returnFormat: "array",
510
+ library: "all",
511
+ maxSize: 10,
512
+ columnWidth: 50
513
+ },
514
+ image_test: {
515
+ type: "image",
516
+ label: "Image",
517
+ instructions: "Image instructions",
518
+ required: true,
519
+ position: "main",
520
+ returnFormat: "array",
521
+ library: "all",
522
+ cropType: true,
523
+ columnWidth: 50
524
+ },
525
+ image_icon_test: {
526
+ type: "image",
527
+ label: "Image (icon)",
528
+ instructions: "Add Image is an icon button when iconMode is true.",
529
+ position: "main",
530
+ returnFormat: "array",
531
+ library: "all",
532
+ iconMode: true,
533
+ columnWidth: 50
534
+ },
535
+ gallery_test: {
536
+ type: "gallery",
537
+ label: "Gallery",
538
+ instructions: "Gallery instructions \u0442\u0410\u0424 drag to reorder, multi-select in media library",
539
+ required: true,
540
+ position: "main",
541
+ returnFormat: "array",
542
+ library: "all",
543
+ insert: "append",
544
+ previewSize: "thumbnail",
545
+ min: 1,
546
+ max: 8,
547
+ columnWidth: 100
548
+ },
549
+ open_street_map_test: {
550
+ type: "open_street_map",
551
+ label: "OpenStreetMap",
552
+ instructions: "Double-click or search an address to place a marker. Zoom with \u252C\u2592 only. Locate and Fit Bounds are on the map.",
553
+ position: "main",
554
+ height: 360,
555
+ centerLat: "55.751244",
556
+ centerLng: "37.618423",
557
+ zoom: 10,
558
+ columnWidth: 100
559
+ },
560
+ open_street_map_multiple_test: {
561
+ type: "open_street_map",
562
+ label: "OpenStreetMap (multiple)",
563
+ instructions: "Multiple markers: each has its own Label. Fit Bounds shows all points.",
564
+ position: "main",
565
+ height: 500,
566
+ multiple: true,
567
+ columnWidth: 100
568
+ },
569
+ link_test: {
570
+ type: "link",
571
+ label: "Link",
572
+ instructions: "Link instructions",
573
+ required: true,
574
+ position: "main",
575
+ returnFormat: "array",
576
+ columnWidth: 50
577
+ },
578
+ user_test: {
579
+ type: "user",
580
+ label: "User",
581
+ instructions: "Pick one or more accounts. Stored as user objects (no password).",
582
+ required: true,
583
+ position: "main",
584
+ role: "all",
585
+ allowNull: true,
586
+ returnFormat: "array",
587
+ columnWidth: 50,
588
+ multiple: true
589
+ },
590
+ user_id_test: {
591
+ type: "user",
592
+ label: "User (id)",
593
+ instructions: "Single user, stored as a numeric id.",
594
+ position: "main",
595
+ role: "all",
596
+ allowNull: true,
597
+ returnFormat: "id",
598
+ columnWidth: 50
599
+ },
600
+ separator_test_2: {
601
+ type: "separator",
602
+ label: "Test Fields",
603
+ position: "main",
604
+ columnWidth: 100
605
+ },
606
+ post_object_test: {
607
+ type: "post_object",
608
+ label: "Post Object",
609
+ instructions: "Pages and products, stored as objects.",
610
+ position: "main",
611
+ postType: ["pages", "products"],
612
+ multiple: true,
613
+ allowNull: true,
614
+ returnFormat: "object"
615
+ },
616
+ post_object_id_test: {
617
+ type: "post_object",
618
+ label: "Post Object (id)",
619
+ instructions: "Single page, stored as a numeric id.",
620
+ position: "main",
621
+ postType: ["pages"],
622
+ allowNull: true,
623
+ returnFormat: "id"
624
+ },
625
+ page_link_test: {
626
+ type: "page_link",
627
+ label: "Page Link",
628
+ instructions: "Public URLs, including collection archives.",
629
+ position: "main",
630
+ postType: ["pages", "products"],
631
+ multiple: true,
632
+ allowArchives: true,
633
+ allowNull: true
634
+ },
635
+ relationship_test: {
636
+ type: "relationship",
637
+ label: "Relationship",
638
+ instructions: "Pick and reorder entries. Thumbnails come from the page `thumbnail` field.",
639
+ position: "main",
640
+ postType: ["pages", "products"],
641
+ dictionary: ["categories", "services"],
642
+ filters: ["search", "post_type", "dictionary"],
643
+ elements: ["thumbnail"],
644
+ max: 4,
645
+ returnFormat: "object"
646
+ },
647
+ dictionary_test: {
648
+ type: "dictionary",
649
+ label: "Dictionary",
650
+ instructions: "Categories as checkboxes, stored as term objects.",
651
+ position: "main",
652
+ dictionary: "categories",
653
+ fieldType: "checkbox",
654
+ returnFormat: "object"
655
+ },
656
+ dictionary_select_test: {
657
+ type: "dictionary",
658
+ label: "Dictionary (select)",
659
+ instructions: "Services as a select. New terms can be added when you have create access.",
660
+ position: "main",
661
+ dictionary: "services",
662
+ fieldType: "select",
663
+ allowNull: true,
664
+ addTerm: true,
665
+ returnFormat: "object"
666
+ },
667
+ flexible_content_test: {
668
+ type: "flexible_content",
669
+ label: "Flexible Content",
670
+ instructions: "Flexible Content instructions",
671
+ position: "main",
672
+ max: 5,
673
+ buttonLabel: "Add layout",
674
+ columnWidth: 100,
675
+ layouts: {
676
+ hero: {
677
+ label: "Hero",
678
+ max: 2,
679
+ preview: "https://picsum.photos/800/600",
680
+ subFields: {
681
+ title: {
682
+ type: "text",
683
+ label: "Title",
684
+ required: true,
685
+ placeholder: "Welcome",
686
+ defaultValue: "Welcome",
687
+ columnWidth: 50
688
+ },
689
+ description: {
690
+ type: "textarea",
691
+ label: "Description",
692
+ placeholder: "Lorem ipsum\u0442\u0410\u0436",
693
+ defaultValue: "Lorem ipsum\u0442\u0410\u0436",
694
+ columnWidth: 50
695
+ }
696
+ }
697
+ },
698
+ faq: {
699
+ label: "FAQ",
700
+ subFields: {
701
+ heading: {
702
+ type: "text",
703
+ label: "Heading",
704
+ required: true,
705
+ placeholder: "About us",
706
+ defaultValue: "About us",
707
+ columnWidth: 100
708
+ }
709
+ }
710
+ },
711
+ card: {
712
+ label: "Card",
713
+ subFields: {
714
+ heading: {
715
+ type: "text",
716
+ label: "Heading",
717
+ required: true,
718
+ placeholder: "About us",
719
+ defaultValue: "About us",
720
+ columnWidth: 100
721
+ }
722
+ }
723
+ }
724
+ }
725
+ },
726
+ text_sidebar: {
727
+ type: "text",
728
+ label: "Sidebar text",
729
+ instructions: "Rendered in the sidebar",
730
+ position: "sidebar",
731
+ placeholder: "Sidebar",
732
+ defaultValue: "Aside"
733
+ },
734
+ separator_form: {
735
+ type: "separator",
736
+ label: "Form",
737
+ position: "main",
738
+ columnWidth: 100
739
+ },
740
+ form_test: {
741
+ type: "form",
742
+ label: "Form",
743
+ instructions: "Single form, stored as an id. Empty value is null.",
744
+ position: "main",
745
+ multiple: false,
746
+ allowNull: true,
747
+ columnWidth: 50
748
+ },
749
+ form_multiple_test: {
750
+ type: "form",
751
+ label: "Forms",
752
+ instructions: "Multiple forms, stored as ids. Empty value is an array.",
753
+ position: "main",
754
+ multiple: true,
755
+ allowNull: true,
756
+ columnWidth: 50
757
+ }
758
+ };
759
+ const values = reactive(buildFormValues(fields));
760
+ provideKateCmsFieldValues(values);
761
+ const visibleFields = computed(
762
+ () => Object.entries(fields).filter(
763
+ ([, field]) => isVisible(field.conditionalLogic, values)
764
+ )
765
+ );
766
+ const mainFields = computed(
767
+ () => visibleFields.value.filter(([, field]) => (field.position ?? "main") === "main")
768
+ );
769
+ const sidebarFields = computed(
770
+ () => visibleFields.value.filter(([, field]) => field.position === "sidebar")
771
+ );
772
+ </script>
773
+
774
+ <template>
775
+ <div :class="rootClass">
776
+ <div :class="[`${rootClass}__buttons`]">
777
+ <div :class="[`${rootClass}__buttons-title`]">
778
+ UiButton
779
+ </div>
780
+
781
+ <div :class="[`${rootClass}__buttons-grid`]">
782
+ <span :class="[`${rootClass}__buttons-label`]">Default</span>
783
+ <KateCmsUiButton
784
+ tag="button"
785
+ variant="small"
786
+ >
787
+ Save
788
+ </KateCmsUiButton>
789
+ <KateCmsUiButton tag="button">
790
+ Save
791
+ </KateCmsUiButton>
792
+
793
+ <span :class="[`${rootClass}__buttons-label`]">Secondary</span>
794
+ <KateCmsUiButton
795
+ tag="button"
796
+ :variant="['secondary', 'small']"
797
+ >
798
+ Preview
799
+ </KateCmsUiButton>
800
+ <KateCmsUiButton
801
+ tag="button"
802
+ variant="secondary"
803
+ >
804
+ Preview
805
+ </KateCmsUiButton>
806
+
807
+ <span :class="[`${rootClass}__buttons-label`]">Tertiary</span>
808
+ <KateCmsUiButton
809
+ tag="button"
810
+ :variant="['tertiary', 'small']"
811
+ >
812
+ Cancel
813
+ </KateCmsUiButton>
814
+ <KateCmsUiButton
815
+ tag="button"
816
+ variant="tertiary"
817
+ >
818
+ Cancel
819
+ </KateCmsUiButton>
820
+
821
+ <span :class="[`${rootClass}__buttons-label`]">Red</span>
822
+ <KateCmsUiButton
823
+ tag="button"
824
+ :variant="['red', 'small']"
825
+ >
826
+ Remove
827
+ </KateCmsUiButton>
828
+ <KateCmsUiButton
829
+ tag="button"
830
+ variant="red"
831
+ >
832
+ Remove
833
+ </KateCmsUiButton>
834
+
835
+ <span :class="[`${rootClass}__buttons-label`]">Active</span>
836
+ <KateCmsUiButton
837
+ tag="button"
838
+ variant="small"
839
+ active
840
+ >
841
+ Save
842
+ </KateCmsUiButton>
843
+ <KateCmsUiButton
844
+ tag="button"
845
+ active
846
+ >
847
+ Save
848
+ </KateCmsUiButton>
849
+
850
+ <span :class="[`${rootClass}__buttons-label`]">Active secondary</span>
851
+ <KateCmsUiButton
852
+ tag="button"
853
+ :variant="['secondary', 'small']"
854
+ active
855
+ >
856
+ Preview
857
+ </KateCmsUiButton>
858
+ <KateCmsUiButton
859
+ tag="button"
860
+ variant="secondary"
861
+ active
862
+ >
863
+ Preview
864
+ </KateCmsUiButton>
865
+
866
+ <span :class="[`${rootClass}__buttons-label`]">Active tertiary</span>
867
+ <KateCmsUiButton
868
+ tag="button"
869
+ :variant="['tertiary', 'small']"
870
+ active
871
+ >
872
+ Cancel
873
+ </KateCmsUiButton>
874
+ <KateCmsUiButton
875
+ tag="button"
876
+ variant="tertiary"
877
+ active
878
+ >
879
+ Cancel
880
+ </KateCmsUiButton>
881
+
882
+ <span :class="[`${rootClass}__buttons-label`]">Active red</span>
883
+ <KateCmsUiButton
884
+ tag="button"
885
+ :variant="['red', 'small']"
886
+ active
887
+ >
888
+ Remove
889
+ </KateCmsUiButton>
890
+ <KateCmsUiButton
891
+ tag="button"
892
+ variant="red"
893
+ active
894
+ >
895
+ Remove
896
+ </KateCmsUiButton>
897
+
898
+ <span :class="[`${rootClass}__buttons-label`]">With icon</span>
899
+ <KateCmsUiButton
900
+ tag="button"
901
+ variant="small"
902
+ >
903
+ <svg
904
+ viewBox="0 0 24 24"
905
+ fill="none"
906
+ stroke="currentColor"
907
+ stroke-width="2.5"
908
+ stroke-linecap="round"
909
+ stroke-linejoin="round"
910
+ >
911
+ <path d="M12 5v14" />
912
+ <path d="M5 12h14" />
913
+ </svg>
914
+ Add
915
+ </KateCmsUiButton>
916
+ <KateCmsUiButton tag="button">
917
+ <svg
918
+ viewBox="0 0 24 24"
919
+ fill="none"
920
+ stroke="currentColor"
921
+ stroke-width="2.5"
922
+ stroke-linecap="round"
923
+ stroke-linejoin="round"
924
+ >
925
+ <path d="M12 5v14" />
926
+ <path d="M5 12h14" />
927
+ </svg>
928
+ Add
929
+ </KateCmsUiButton>
930
+
931
+ <span :class="[`${rootClass}__buttons-label`]">Secondary icon</span>
932
+ <KateCmsUiButton
933
+ tag="button"
934
+ :variant="['secondary', 'small']"
935
+ >
936
+ <svg
937
+ viewBox="0 0 24 24"
938
+ fill="none"
939
+ stroke="currentColor"
940
+ stroke-width="2"
941
+ stroke-linecap="round"
942
+ stroke-linejoin="round"
943
+ >
944
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z" />
945
+ <circle
946
+ cx="12"
947
+ cy="12"
948
+ r="3"
949
+ />
950
+ </svg>
951
+ Preview
952
+ </KateCmsUiButton>
953
+ <KateCmsUiButton
954
+ tag="button"
955
+ variant="secondary"
956
+ >
957
+ <svg
958
+ viewBox="0 0 24 24"
959
+ fill="none"
960
+ stroke="currentColor"
961
+ stroke-width="2"
962
+ stroke-linecap="round"
963
+ stroke-linejoin="round"
964
+ >
965
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z" />
966
+ <circle
967
+ cx="12"
968
+ cy="12"
969
+ r="3"
970
+ />
971
+ </svg>
972
+ Preview
973
+ </KateCmsUiButton>
974
+
975
+ <span :class="[`${rootClass}__buttons-label`]">Red icon</span>
976
+ <KateCmsUiButton
977
+ tag="button"
978
+ :variant="['red', 'small']"
979
+ >
980
+ <svg
981
+ viewBox="0 0 24 24"
982
+ fill="none"
983
+ stroke="currentColor"
984
+ stroke-width="2"
985
+ stroke-linecap="round"
986
+ stroke-linejoin="round"
987
+ >
988
+ <path d="M3 6h18" />
989
+ <path d="M8 6V4h8v2" />
990
+ <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" />
991
+ </svg>
992
+ Remove
993
+ </KateCmsUiButton>
994
+ <KateCmsUiButton
995
+ tag="button"
996
+ variant="red"
997
+ >
998
+ <svg
999
+ viewBox="0 0 24 24"
1000
+ fill="none"
1001
+ stroke="currentColor"
1002
+ stroke-width="2"
1003
+ stroke-linecap="round"
1004
+ stroke-linejoin="round"
1005
+ >
1006
+ <path d="M3 6h18" />
1007
+ <path d="M8 6V4h8v2" />
1008
+ <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" />
1009
+ </svg>
1010
+ Remove
1011
+ </KateCmsUiButton>
1012
+
1013
+ <span :class="[`${rootClass}__buttons-label`]">Icon only</span>
1014
+ <KateCmsUiButton
1015
+ tag="button"
1016
+ :variant="['tertiary', 'small', 'icon']"
1017
+ aria-label="Edit"
1018
+ >
1019
+ <svg
1020
+ viewBox="0 0 24 24"
1021
+ fill="none"
1022
+ stroke="currentColor"
1023
+ stroke-width="2"
1024
+ stroke-linecap="round"
1025
+ stroke-linejoin="round"
1026
+ >
1027
+ <path d="M12 20h9" />
1028
+ <path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
1029
+ </svg>
1030
+ </KateCmsUiButton>
1031
+ <KateCmsUiButton
1032
+ tag="button"
1033
+ :variant="['tertiary', 'icon']"
1034
+ aria-label="Edit"
1035
+ >
1036
+ <svg
1037
+ viewBox="0 0 24 24"
1038
+ fill="none"
1039
+ stroke="currentColor"
1040
+ stroke-width="2"
1041
+ stroke-linecap="round"
1042
+ stroke-linejoin="round"
1043
+ >
1044
+ <path d="M12 20h9" />
1045
+ <path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
1046
+ </svg>
1047
+ </KateCmsUiButton>
1048
+
1049
+ <span :class="[`${rootClass}__buttons-label`]">Active icon</span>
1050
+ <KateCmsUiButton
1051
+ tag="button"
1052
+ :variant="['tertiary', 'small', 'icon']"
1053
+ aria-label="Edit"
1054
+ active
1055
+ >
1056
+ <svg
1057
+ viewBox="0 0 24 24"
1058
+ fill="none"
1059
+ stroke="currentColor"
1060
+ stroke-width="2"
1061
+ stroke-linecap="round"
1062
+ stroke-linejoin="round"
1063
+ >
1064
+ <path d="M12 20h9" />
1065
+ <path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
1066
+ </svg>
1067
+ </KateCmsUiButton>
1068
+ <KateCmsUiButton
1069
+ tag="button"
1070
+ :variant="['tertiary', 'icon']"
1071
+ aria-label="Edit"
1072
+ active
1073
+ >
1074
+ <svg
1075
+ viewBox="0 0 24 24"
1076
+ fill="none"
1077
+ stroke="currentColor"
1078
+ stroke-width="2"
1079
+ stroke-linecap="round"
1080
+ stroke-linejoin="round"
1081
+ >
1082
+ <path d="M12 20h9" />
1083
+ <path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
1084
+ </svg>
1085
+ </KateCmsUiButton>
1086
+
1087
+ <span :class="[`${rootClass}__buttons-label`]">Disabled</span>
1088
+ <KateCmsUiButton
1089
+ tag="button"
1090
+ variant="small"
1091
+ disabled
1092
+ >
1093
+ Save
1094
+ </KateCmsUiButton>
1095
+ <KateCmsUiButton
1096
+ tag="button"
1097
+ disabled
1098
+ >
1099
+ Save
1100
+ </KateCmsUiButton>
1101
+
1102
+ <span :class="[`${rootClass}__buttons-label`]">Link</span>
1103
+ <KateCmsUiButton
1104
+ variant="small"
1105
+ :link="{ url: 'https://example.com', title: 'Example', target: '_blank' }"
1106
+ >
1107
+ Example
1108
+ </KateCmsUiButton>
1109
+ <KateCmsUiButton
1110
+ :link="{ url: 'https://example.com', title: 'Example', target: '_blank' }"
1111
+ >
1112
+ Example
1113
+ </KateCmsUiButton>
1114
+ </div>
1115
+ </div>
1116
+
1117
+ <div :class="[`${rootClass}__notices`]">
1118
+ <div :class="[`${rootClass}__notices-title`]">
1119
+ UiNotice
1120
+ </div>
1121
+
1122
+ <div :class="[`${rootClass}__notices-label`]">
1123
+ Static, one line
1124
+ </div>
1125
+ <div :class="[`${rootClass}__notices-stack`]">
1126
+ <KateCmsUiNotice
1127
+ placement="static"
1128
+ variant="success"
1129
+ message="Changes saved."
1130
+ />
1131
+ <KateCmsUiNotice
1132
+ placement="static"
1133
+ variant="info"
1134
+ message="A new version of the CMS is available."
1135
+ />
1136
+ <KateCmsUiNotice
1137
+ placement="static"
1138
+ variant="warning"
1139
+ message="This account has no password set."
1140
+ />
1141
+ <KateCmsUiNotice
1142
+ placement="static"
1143
+ variant="danger"
1144
+ message="Could not save changes."
1145
+ />
1146
+ </div>
1147
+
1148
+ <div :class="[`${rootClass}__notices-label`]">
1149
+ Static, two–three lines
1150
+ </div>
1151
+ <div :class="[`${rootClass}__notices-stack`]">
1152
+ <KateCmsUiNotice
1153
+ placement="static"
1154
+ variant="success"
1155
+ >
1156
+ <div>The user was updated.</div>
1157
+ <div>Email, display name and role are stored. You can keep editing this account without leaving the page.</div>
1158
+ </KateCmsUiNotice>
1159
+ <KateCmsUiNotice
1160
+ placement="static"
1161
+ variant="info"
1162
+ >
1163
+ <div>Media variants are generated in the background.</div>
1164
+ <div>Large uploads may take a minute. Refresh the library if a thumbnail is still missing.</div>
1165
+ </KateCmsUiNotice>
1166
+ <KateCmsUiNotice
1167
+ placement="static"
1168
+ variant="warning"
1169
+ >
1170
+ <div>You are editing your own account.</div>
1171
+ <div>Role and status cannot be changed here. Ask another administrator if those fields need an update.</div>
1172
+ </KateCmsUiNotice>
1173
+ <KateCmsUiNotice
1174
+ placement="static"
1175
+ variant="danger"
1176
+ >
1177
+ <div>The form could not be saved.</div>
1178
+ <div>A user with this email already exists. Change the address and try again, or open the existing account instead.</div>
1179
+ </KateCmsUiNotice>
1180
+ </div>
1181
+ </div>
1182
+
1183
+ <div :class="[`${rootClass}__layout`]">
1184
+ <div :class="[`${rootClass}__main`]">
1185
+ <div
1186
+ v-for="[key, field] in mainFields"
1187
+ :key="key"
1188
+ :class="[`${rootClass}__field`]"
1189
+ :style="field.columnWidth ? { width: `${field.columnWidth}%` } : void 0"
1190
+ >
1191
+ <component
1192
+ :is="resolveField(field.type)"
1193
+ v-model="values[key]"
1194
+ :field-key="key"
1195
+ :field="field"
1196
+ />
1197
+ </div>
1198
+ </div>
1199
+
1200
+ <div
1201
+ v-if="sidebarFields.length"
1202
+ :class="[`${rootClass}__sidebar`]"
1203
+ >
1204
+ <component
1205
+ :is="resolveField(field.type)"
1206
+ v-for="[key, field] in sidebarFields"
1207
+ :key="key"
1208
+ v-model="values[key]"
1209
+ :field-key="key"
1210
+ :field="field"
1211
+ />
1212
+ </div>
1213
+ </div>
1214
+
1215
+ <div :class="[`${rootClass}__values`]">
1216
+ {{ values }}
1217
+ </div>
1218
+ </div>
1219
+ </template>
1220
+
1221
+ <style scoped>
1222
+ body#katecms-body .katecms-admin-demo {
1223
+ display: flex;
1224
+ flex-direction: column;
1225
+ gap: 1rem;
1226
+ height: 100%;
1227
+ overflow: auto;
1228
+ padding: 0.5rem;
1229
+ }
1230
+ body#katecms-body .katecms-admin-demo__buttons {
1231
+ display: flex;
1232
+ flex-direction: column;
1233
+ gap: 0.75rem;
1234
+ padding: 1rem;
1235
+ background-color: var(--katecms-color-surface);
1236
+ border: 1px solid var(--katecms-color-border);
1237
+ border-radius: var(--katecms-border-radius);
1238
+ }
1239
+ body#katecms-body .katecms-admin-demo__buttons-title {
1240
+ margin: 0;
1241
+ font-size: 1rem;
1242
+ font-weight: 600;
1243
+ color: var(--katecms-color-ink);
1244
+ }
1245
+ body#katecms-body .katecms-admin-demo__buttons-grid {
1246
+ display: grid;
1247
+ grid-template-columns: 8.75rem auto auto;
1248
+ align-items: center;
1249
+ justify-content: start;
1250
+ column-gap: 0.75rem;
1251
+ row-gap: 0.625rem;
1252
+ }
1253
+ body#katecms-body .katecms-admin-demo__buttons-label {
1254
+ font-size: 0.8125rem;
1255
+ color: var(--katecms-color-muted);
1256
+ }
1257
+ body#katecms-body .katecms-admin-demo__notices-title {
1258
+ margin: 0;
1259
+ font-size: 1rem;
1260
+ font-weight: 600;
1261
+ color: var(--katecms-color-ink);
1262
+ }
1263
+ body#katecms-body .katecms-admin-demo__notices-label {
1264
+ font-size: 0.8125rem;
1265
+ color: var(--katecms-color-muted);
1266
+ margin: 0.25rem 0 0;
1267
+ }
1268
+ body#katecms-body .katecms-admin-demo__notices {
1269
+ display: flex;
1270
+ flex-direction: column;
1271
+ gap: 0.75rem;
1272
+ padding: 1rem;
1273
+ background-color: var(--katecms-color-surface);
1274
+ border: 1px solid var(--katecms-color-border);
1275
+ border-radius: var(--katecms-border-radius);
1276
+ }
1277
+ body#katecms-body .katecms-admin-demo__notices-stack {
1278
+ display: flex;
1279
+ flex-direction: column;
1280
+ gap: 0.5rem;
1281
+ }
1282
+ body#katecms-body .katecms-admin-demo__layout {
1283
+ display: grid;
1284
+ grid-template-columns: minmax(0, 1fr) 17.5rem;
1285
+ gap: 1rem;
1286
+ align-items: start;
1287
+ }
1288
+ @media (max-width: 1100px) {
1289
+ body#katecms-body .katecms-admin-demo__layout {
1290
+ grid-template-columns: 1fr;
1291
+ }
1292
+ }
1293
+ body#katecms-body .katecms-admin-demo__main {
1294
+ display: flex;
1295
+ flex-wrap: wrap;
1296
+ row-gap: 1rem;
1297
+ margin-left: -0.5rem;
1298
+ margin-right: -0.5rem;
1299
+ }
1300
+ body#katecms-body .katecms-admin-demo__field {
1301
+ padding-left: 0.5rem;
1302
+ padding-right: 0.5rem;
1303
+ width: 100%;
1304
+ }
1305
+ body#katecms-body .katecms-admin-demo__sidebar {
1306
+ display: flex;
1307
+ flex-direction: column;
1308
+ gap: 1rem;
1309
+ padding: 1rem;
1310
+ background-color: var(--katecms-color-bg);
1311
+ border: 1px solid var(--katecms-color-border);
1312
+ border-radius: var(--katecms-border-radius);
1313
+ }
1314
+ body#katecms-body .katecms-admin-demo__values {
1315
+ flex-shrink: 0;
1316
+ margin: 0;
1317
+ padding: 0.75rem;
1318
+ overflow: auto;
1319
+ background-color: var(--katecms-color-bg);
1320
+ border: 1px solid var(--katecms-color-border);
1321
+ border-radius: var(--katecms-border-radius);
1322
+ color: var(--katecms-color-ink);
1323
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1324
+ font-size: 0.8125rem;
1325
+ white-space: pre-wrap;
1326
+ }
1327
+ </style>