betterstart-cli 0.0.97 → 0.0.99

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 (270) hide show
  1. package/dist/assets/adapters/next/integrations/mailchimp/integration.ts +1 -1
  2. package/dist/assets/adapters/next/integrations/r2/actions/r2.ts +1 -1
  3. package/dist/assets/adapters/next/integrations/r2/integration.ts +1 -1
  4. package/dist/assets/adapters/next/integrations/railway-bucket/actions/railway-bucket.ts +1 -1
  5. package/dist/assets/adapters/next/integrations/railway-bucket/integration.ts +1 -1
  6. package/dist/assets/adapters/next/integrations/resend/integration.ts +1 -1
  7. package/dist/assets/adapters/next/integrations/vercel-blob/actions/vercel-blob.ts +1 -1
  8. package/dist/assets/adapters/next/integrations/vercel-blob/integration.ts +1 -1
  9. package/dist/assets/adapters/next/presets/blog/preset.ts +1 -1
  10. package/dist/assets/adapters/next/presets/portfolio/preset.ts +1 -1
  11. package/dist/assets/adapters/next/templates/init/api/storage-read-route.ts +2 -1
  12. package/dist/assets/adapters/next/templates/init/api/upload-route.ts +3 -2
  13. package/dist/assets/adapters/next/templates/init/components/layouts/admin-providers.tsx +1 -1
  14. package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-nav-link-skeleton.tsx +1 -1
  15. package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar.tsx +1 -1
  16. package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid.tsx +1 -1
  17. package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table-pagination.tsx +2 -2
  18. package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table.tsx +2 -5
  19. package/dist/assets/adapters/next/templates/init/components/shared/delete-dialog.tsx +1 -1
  20. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx +2 -2
  21. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-code-mirror.tsx +2 -2
  22. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx +7 -17
  23. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/snippets-tab.tsx +3 -13
  24. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode-integrate.tsx +4 -4
  25. package/dist/assets/adapters/next/templates/init/components/shared/entity-filters-bar.tsx +1 -1
  26. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-restore-dialog.tsx +1 -1
  27. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-button.tsx +1 -1
  28. package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog-content.tsx +2 -2
  29. package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog.tsx +2 -2
  30. package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-dialog.tsx +2 -2
  31. package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +2 -2
  32. package/dist/assets/adapters/next/templates/init/components/shared/media/media-filters-bar.tsx +2 -2
  33. package/dist/assets/adapters/next/templates/init/components/shared/media/media-gallery-dialog.tsx +2 -2
  34. package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx +2 -2
  35. package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx +1 -1
  36. package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid.tsx +1 -1
  37. package/dist/assets/adapters/next/templates/init/components/shared/media/media-preview.tsx +1 -1
  38. package/dist/assets/adapters/next/templates/init/components/shared/media/media-url-importer.tsx +2 -2
  39. package/dist/assets/adapters/next/templates/init/components/shared/search-input.tsx +1 -1
  40. package/dist/assets/adapters/next/templates/init/components/shared/sort-order-dialog.tsx +3 -4
  41. package/dist/assets/adapters/next/templates/init/components/shared/sort-order-item.tsx +1 -1
  42. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-blockquote.ts +1 -70
  43. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-code-block.ts +1 -77
  44. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-color-highlight.ts +3 -51
  45. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-media-insertion.ts +2 -2
  46. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-slash-menu.ts +6 -8
  47. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-source-mode.tsx +10 -8
  48. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-table-add-controls.ts +4 -4
  49. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor.ts +7 -4
  50. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-heading-dropdown-menu.ts +3 -66
  51. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-heading.ts +1 -41
  52. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-is-breakpoint.ts +0 -8
  53. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-link-popover.ts +1 -83
  54. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-list-dropdown-menu.ts +3 -61
  55. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-list.ts +1 -43
  56. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-mark.ts +1 -72
  57. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-menu-navigation.ts +0 -35
  58. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-table-button.ts +2 -2
  59. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-tiptap-editor.ts +0 -11
  60. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-undo-redo.ts +1 -65
  61. package/dist/assets/adapters/next/templates/init/hooks/use-admin-theme.tsx +2 -4
  62. package/dist/assets/adapters/next/templates/init/hooks/use-dev-mode-integration.ts +1 -1
  63. package/dist/assets/adapters/next/templates/init/hooks/use-entity-versions.ts +1 -1
  64. package/dist/assets/adapters/next/templates/init/hooks/use-local-storage.ts +2 -7
  65. package/dist/assets/adapters/next/templates/init/hooks/use-media-filters-bar.ts +1 -1
  66. package/dist/assets/adapters/next/templates/init/hooks/use-media.ts +2 -2
  67. package/dist/assets/adapters/next/templates/init/hooks/use-page-boundary-blur-visibility.ts +1 -1
  68. package/dist/assets/adapters/next/templates/init/hooks/use-page-scroll-threshold.ts +1 -1
  69. package/dist/assets/adapters/next/templates/init/hooks/use-table-utils.ts +2 -2
  70. package/dist/assets/adapters/next/templates/init/hooks/use-upload.ts +6 -12
  71. package/dist/assets/adapters/next/templates/init/hooks/use-users.ts +1 -1
  72. package/dist/assets/adapters/next/templates/init/hooks/use-webhooks.ts +3 -2
  73. package/dist/assets/adapters/next/templates/init/lib/actions/audit/cleanup-audit-logs.ts +1 -1
  74. package/dist/assets/adapters/next/templates/init/lib/actions/audit/get-audit-logs.ts +1 -1
  75. package/dist/assets/adapters/next/templates/init/lib/actions/audit/record-audit-event.ts +1 -1
  76. package/dist/assets/adapters/next/templates/init/lib/actions/auth/auth.ts +4 -4
  77. package/dist/assets/adapters/next/templates/init/lib/actions/auth/middleware.ts +2 -10
  78. package/dist/assets/adapters/next/templates/init/lib/actions/email/form-delivery.ts +2 -2
  79. package/dist/assets/adapters/next/templates/init/lib/actions/email/provider.ts +1 -1
  80. package/dist/assets/adapters/next/templates/init/lib/actions/entity-versions/get-entity-versions.ts +1 -1
  81. package/dist/assets/adapters/next/templates/init/lib/actions/entity-versions/internal-create-entity-version.ts +1 -1
  82. package/dist/assets/adapters/next/templates/init/lib/actions/forms/get-all-form-settings.ts +1 -1
  83. package/dist/assets/adapters/next/templates/init/lib/actions/forms/get-form-settings.ts +1 -1
  84. package/dist/assets/adapters/next/templates/init/lib/actions/forms/upsert-form-settings.ts +1 -1
  85. package/dist/assets/adapters/next/templates/init/lib/actions/media/create-media.ts +2 -1
  86. package/dist/assets/adapters/next/templates/init/lib/actions/media/delete-media-bulk.ts +1 -1
  87. package/dist/assets/adapters/next/templates/init/lib/actions/media/delete-media.ts +1 -1
  88. package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media-by-id.ts +1 -1
  89. package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media-by-ids.ts +1 -1
  90. package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media.ts +1 -1
  91. package/dist/assets/adapters/next/templates/init/lib/actions/media/update-media.ts +1 -1
  92. package/dist/assets/adapters/next/templates/init/lib/actions/profile/change-own-password.ts +1 -1
  93. package/dist/assets/adapters/next/templates/init/lib/actions/profile/update-email.ts +1 -1
  94. package/dist/assets/adapters/next/templates/init/lib/actions/storage/provider.ts +1 -1
  95. package/dist/assets/adapters/next/templates/init/lib/actions/upload/upload-files.ts +2 -2
  96. package/dist/assets/adapters/next/templates/init/lib/actions/upload/upload-media-from-url.ts +1 -1
  97. package/dist/assets/adapters/next/templates/init/lib/actions/users/change-user-password.ts +1 -1
  98. package/dist/assets/adapters/next/templates/init/lib/actions/users/create-user.ts +1 -1
  99. package/dist/assets/adapters/next/templates/init/lib/actions/users/delete-user.ts +1 -1
  100. package/dist/assets/adapters/next/templates/init/lib/actions/users/get-users.ts +1 -1
  101. package/dist/assets/adapters/next/templates/init/lib/actions/users/update-user-role.ts +1 -1
  102. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/create-webhook.ts +1 -1
  103. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/delete-webhook.ts +1 -1
  104. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/dispatch.ts +1 -2
  105. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-deliveries.ts +1 -1
  106. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-secret.ts +1 -1
  107. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-subscriptions.ts +1 -1
  108. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhooks.ts +1 -1
  109. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/regenerate-webhook-secret.ts +1 -1
  110. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/register.ts +2 -2
  111. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/send-test-webhook.ts +1 -1
  112. package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/update-webhook.ts +1 -1
  113. package/dist/assets/adapters/next/templates/init/lib/db/client.ts +1 -1
  114. package/dist/assets/adapters/next/templates/init/lib/db/core/schema.ts +0 -24
  115. package/dist/assets/adapters/next/templates/init/lib/lifecycle-hooks/register.ts +0 -7
  116. package/dist/assets/adapters/next/templates/init/lib/lifecycle-hooks/runner.ts +1 -1
  117. package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +1 -1
  118. package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +1 -1
  119. package/dist/assets/adapters/next/templates/init/pages/media/media-page-content.tsx +4 -4
  120. package/dist/assets/adapters/next/templates/init/pages/profile/profile-form.tsx +1 -1
  121. package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +1 -1
  122. package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx +1 -1
  123. package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page-content.tsx +1 -1
  124. package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page.tsx +1 -1
  125. package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-table.tsx +3 -2
  126. package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page-content.tsx +3 -2
  127. package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page.tsx +1 -1
  128. package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-table.tsx +4 -3
  129. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx +1 -1
  130. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx +1 -1
  131. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx +1 -1
  132. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-page-content.tsx +1 -1
  133. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-page.tsx +1 -1
  134. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-table.tsx +2 -1
  135. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-page-content.tsx +1 -1
  136. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-page.tsx +1 -1
  137. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-table.tsx +2 -1
  138. package/dist/assets/adapters/next/templates/init/pages/users/change-password-dialog.tsx +1 -1
  139. package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +3 -2
  140. package/dist/assets/adapters/next/templates/init/pages/users/create-user-dialog.tsx +1 -1
  141. package/dist/assets/adapters/next/templates/init/pages/users/delete-user-dialog.tsx +1 -1
  142. package/dist/assets/adapters/next/templates/init/pages/users/edit-role-dialog.tsx +1 -1
  143. package/dist/assets/adapters/next/templates/init/pages/users/users-page-content.tsx +2 -1
  144. package/dist/assets/adapters/next/templates/init/pages/users/users-table.tsx +4 -3
  145. package/dist/assets/adapters/next/templates/init/types/index.ts +0 -5
  146. package/dist/assets/adapters/next/templates/init/utils/date/date.ts +1 -6
  147. package/dist/assets/adapters/next/templates/init/utils/editor/content-editor-rich-extensions.ts +2 -2
  148. package/dist/assets/adapters/next/templates/init/utils/editor/markdown.ts +5 -5
  149. package/dist/assets/adapters/next/templates/init/utils/editor/slash-commands.ts +2 -2
  150. package/dist/assets/adapters/next/templates/init/utils/editor/table-add-controls.ts +1 -1
  151. package/dist/assets/adapters/next/templates/init/utils/editor/tiptap.ts +8 -127
  152. package/dist/assets/adapters/next/templates/init/utils/media/query.ts +1 -1
  153. package/dist/assets/adapters/next/templates/init/utils/seo/seo.ts +0 -10
  154. package/dist/assets/adapters/next/templates/init/utils/shared/cn.ts +2 -1
  155. package/dist/assets/adapters/next/templates/init/utils/validation/validation.ts +0 -12
  156. package/dist/assets/shared-assets/react-admin/custom/content-editor/editor-toolbar.tsx +1 -1
  157. package/dist/assets/shared-assets/react-admin/custom/content-editor/horizontal-rule-button.tsx +1 -1
  158. package/dist/assets/shared-assets/react-admin/custom/content-editor/index.tsx +1 -1
  159. package/dist/assets/shared-assets/react-admin/custom/content-editor/main-toolbar-content.tsx +1 -1
  160. package/dist/assets/shared-assets/react-admin/custom/content-editor/math-bubble-menu.tsx +2 -2
  161. package/dist/assets/shared-assets/react-admin/custom/content-editor/math-button.tsx +1 -1
  162. package/dist/assets/shared-assets/react-admin/custom/content-editor/math-editor-controls.tsx +1 -1
  163. package/dist/assets/shared-assets/react-admin/custom/content-editor/math-popover-button.tsx +4 -3
  164. package/dist/assets/shared-assets/react-admin/custom/content-editor/remove-table-part-icon.tsx +1 -1
  165. package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +2 -2
  166. package/dist/assets/shared-assets/react-admin/custom/content-editor/slash-command-menu.tsx +3 -3
  167. package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode-dropdown-button.tsx +1 -1
  168. package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode.tsx +5 -11
  169. package/dist/assets/shared-assets/react-admin/custom/content-editor/table-add-controls.tsx +1 -1
  170. package/dist/assets/shared-assets/react-admin/custom/content-editor/table-bubble-menu.tsx +3 -3
  171. package/dist/assets/shared-assets/react-admin/custom/content-editor/table-button.tsx +1 -1
  172. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-extension/node-background-extension.ts +2 -25
  173. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/media-gallery-placeholder-node/media-gallery-placeholder-node-extension.ts +0 -20
  174. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/media-gallery-placeholder-node/media-gallery-placeholder-node.tsx +2 -2
  175. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/removable-image-node/removable-image-node.tsx +3 -3
  176. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/blockquote-button/blockquote-button.tsx +3 -18
  177. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-button.tsx +3 -18
  178. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +2 -37
  179. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-button.tsx +3 -5
  180. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-content.tsx +3 -9
  181. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +6 -12
  182. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/highlight-color-button.tsx +2 -2
  183. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/highlight-colors.ts +2 -4
  184. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +4 -9
  185. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu-item.tsx +3 -2
  186. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx +4 -19
  187. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-button.tsx +3 -5
  188. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-content.tsx +1 -1
  189. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-control-popover.tsx +5 -3
  190. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-main.tsx +1 -13
  191. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-popover.tsx +5 -16
  192. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu-item.tsx +3 -2
  193. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx +4 -19
  194. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-button.tsx +3 -19
  195. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/undo-redo-button.tsx +3 -19
  196. package/dist/assets/shared-assets/react-admin/custom/date-picker.tsx +1 -3
  197. package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +2 -2
  198. package/dist/assets/shared-assets/react-admin/custom/gallery-field.tsx +5 -10
  199. package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +7 -4
  200. package/dist/assets/shared-assets/react-admin/custom/media-field-empty-state.tsx +1 -1
  201. package/dist/assets/shared-assets/react-admin/custom/media-field.tsx +2 -2
  202. package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +1 -1
  203. package/dist/assets/shared-assets/react-admin/custom/placeholder-card.tsx +1 -1
  204. package/dist/assets/shared-assets/react-admin/custom/placeholder.tsx +1 -1
  205. package/dist/assets/shared-assets/react-admin/custom/progressive-blur.tsx +1 -1
  206. package/dist/assets/shared-assets/react-admin/custom/sortable-gallery-item.tsx +1 -1
  207. package/dist/assets/shared-assets/react-admin/custom/upload-dropzone.tsx +2 -2
  208. package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +1 -1
  209. package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +1 -1
  210. package/dist/assets/shared-assets/react-admin/ui/alert.tsx +3 -2
  211. package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +1 -1
  212. package/dist/assets/shared-assets/react-admin/ui/badge.tsx +3 -2
  213. package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +1 -1
  214. package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +2 -1
  215. package/dist/assets/shared-assets/react-admin/ui/button.tsx +3 -2
  216. package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +3 -2
  217. package/dist/assets/shared-assets/react-admin/ui/card.tsx +1 -1
  218. package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +3 -2
  219. package/dist/assets/shared-assets/react-admin/ui/chart.tsx +1 -2
  220. package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +1 -1
  221. package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +1 -1
  222. package/dist/assets/shared-assets/react-admin/ui/command.tsx +1 -1
  223. package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +1 -1
  224. package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +1 -1
  225. package/dist/assets/shared-assets/react-admin/ui/direction.tsx +1 -1
  226. package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +1 -1
  227. package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +1 -1
  228. package/dist/assets/shared-assets/react-admin/ui/empty.tsx +2 -1
  229. package/dist/assets/shared-assets/react-admin/ui/field.tsx +2 -1
  230. package/dist/assets/shared-assets/react-admin/ui/form.tsx +4 -10
  231. package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +1 -1
  232. package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +3 -2
  233. package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +1 -1
  234. package/dist/assets/shared-assets/react-admin/ui/input.tsx +1 -1
  235. package/dist/assets/shared-assets/react-admin/ui/item.tsx +3 -2
  236. package/dist/assets/shared-assets/react-admin/ui/label.tsx +1 -1
  237. package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +1 -1
  238. package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +1 -1
  239. package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +1 -1
  240. package/dist/assets/shared-assets/react-admin/ui/pagination.tsx +1 -1
  241. package/dist/assets/shared-assets/react-admin/ui/popover.tsx +1 -1
  242. package/dist/assets/shared-assets/react-admin/ui/progress.tsx +1 -1
  243. package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +1 -1
  244. package/dist/assets/shared-assets/react-admin/ui/resizable.tsx +1 -1
  245. package/dist/assets/shared-assets/react-admin/ui/scroll-area.tsx +1 -1
  246. package/dist/assets/shared-assets/react-admin/ui/select.tsx +1 -1
  247. package/dist/assets/shared-assets/react-admin/ui/separator.tsx +1 -1
  248. package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +1 -1
  249. package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +3 -10
  250. package/dist/assets/shared-assets/react-admin/ui/slider.tsx +1 -1
  251. package/dist/assets/shared-assets/react-admin/ui/sonner.tsx +2 -1
  252. package/dist/assets/shared-assets/react-admin/ui/switch.tsx +1 -1
  253. package/dist/assets/shared-assets/react-admin/ui/table.tsx +1 -1
  254. package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +3 -2
  255. package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +1 -1
  256. package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +2 -2
  257. package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +3 -2
  258. package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +1 -1
  259. package/dist/{chunk-MJWUGEMK.js → chunk-SO2CAJFC.js} +137 -9
  260. package/dist/chunk-SO2CAJFC.js.map +1 -0
  261. package/dist/cli.js +1097 -1194
  262. package/dist/cli.js.map +1 -1
  263. package/dist/index.d.ts +1 -1
  264. package/dist/index.js +1 -1
  265. package/dist/index.js.map +1 -1
  266. package/dist/{template-reader-R2JIWUNK.js → template-reader-XMWPFYIK.js} +2 -2
  267. package/package.json +3 -3
  268. package/dist/assets/shared-assets/react-admin/dependencies.ts +0 -74
  269. package/dist/chunk-MJWUGEMK.js.map +0 -1
  270. /package/dist/{template-reader-R2JIWUNK.js.map → template-reader-XMWPFYIK.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import type { BetterstartIntegrationDefinition } from '@integration-engine/types.js'
1
+ import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js'
2
2
 
3
3
  export const mailchimpIntegration: BetterstartIntegrationDefinition = {
4
4
  id: 'mailchimp',
@@ -1,5 +1,5 @@
1
- import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
2
1
  import type { AdminStorageProvider, AdminStorageUploadInput } from '@admin/actions/storage/types'
2
+ import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
3
3
  import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3'
4
4
 
5
5
  let r2Client: S3Client | null = null
@@ -1,4 +1,4 @@
1
- import type { BetterstartIntegrationDefinition } from '@integration-engine/types.js'
1
+ import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js'
2
2
 
3
3
  export const r2Integration: BetterstartIntegrationDefinition = {
4
4
  id: 'r2',
@@ -1,5 +1,5 @@
1
- import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
2
1
  import type { AdminStorageProvider, AdminStorageUploadInput } from '@admin/actions/storage/types'
2
+ import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
3
3
  import { GetObjectCommand, PutObjectCommand, S3Client } from '@aws-sdk/client-s3'
4
4
  import { getSignedUrl } from '@aws-sdk/s3-request-presigner'
5
5
 
@@ -1,4 +1,4 @@
1
- import type { BetterstartIntegrationDefinition } from '@integration-engine/types.js'
1
+ import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js'
2
2
 
3
3
  export const railwayBucketIntegration: BetterstartIntegrationDefinition = {
4
4
  id: 'railway-bucket',
@@ -1,4 +1,4 @@
1
- import type { BetterstartIntegrationDefinition } from '@integration-engine/types.js'
1
+ import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js'
2
2
 
3
3
  export const resendIntegration: BetterstartIntegrationDefinition = {
4
4
  id: 'resend',
@@ -1,5 +1,5 @@
1
- import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
2
1
  import type { AdminStorageProvider, AdminStorageUploadInput } from '@admin/actions/storage/types'
2
+ import { buildStorageObjectKey } from '@admin/actions/storage/object-key'
3
3
  import { put } from '@vercel/blob'
4
4
 
5
5
  function getToken(): string {
@@ -1,4 +1,4 @@
1
- import type { BetterstartIntegrationDefinition } from '@integration-engine/types.js'
1
+ import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js'
2
2
 
3
3
  export const vercelBlobIntegration: BetterstartIntegrationDefinition = {
4
4
  id: 'vercel-blob',
@@ -1,4 +1,4 @@
1
- import type { BetterstartPresetDefinition } from '@preset-engine/types.js'
1
+ import type { BetterstartPresetDefinition } from '@cli-types/preset-engine/presets.js'
2
2
 
3
3
  export const blogPreset: BetterstartPresetDefinition = {
4
4
  id: 'blog',
@@ -1,4 +1,4 @@
1
- import type { BetterstartPresetDefinition } from '@preset-engine/types.js'
1
+ import type { BetterstartPresetDefinition } from '@cli-types/preset-engine/presets.js'
2
2
 
3
3
  export const portfolioPreset: BetterstartPresetDefinition = {
4
4
  id: 'portfolio',
@@ -1,5 +1,6 @@
1
+ import type { NextRequest } from 'next/server'
1
2
  import { getStorageProvider } from '@admin/actions/storage/provider'
2
- import { type NextRequest, NextResponse } from 'next/server'
3
+ import { NextResponse } from 'next/server'
3
4
 
4
5
  type SignedReadStorageProvider = ReturnType<typeof getStorageProvider> & {
5
6
  createReadUrl?: (storageKey: string) => Promise<string>
@@ -1,3 +1,5 @@
1
+ import type { UploadedFile } from '@admin/types'
2
+ import type { NextRequest } from 'next/server'
1
3
  import { getAuditRequestMetadata } from '@admin/actions/audit/request-metadata'
2
4
  import { mediaCacheTags } from '@admin/actions/media/types'
3
5
  import { saveUpload } from '@admin/actions/storage'
@@ -5,13 +7,12 @@ import { requireRole, UserRole } from '@admin/auth/middleware'
5
7
  import db from '@admin/db'
6
8
  import { adminMedia } from '@admin/db/schema'
7
9
  import { runAdminEventHooks } from '@admin/lib/lifecycle-hooks'
8
- import type { UploadedFile } from '@admin/types'
9
10
  import { getTouchedFieldNames } from '@admin/utils/audit/audit'
10
11
  import { mapMediaRow, selectMedia } from '@admin/utils/media/query'
11
12
  import { validateFiles } from '@admin/utils/validation/validation'
12
13
  import { eq } from 'drizzle-orm'
13
14
  import { revalidateTag } from 'next/cache'
14
- import { type NextRequest, NextResponse } from 'next/server'
15
+ import { NextResponse } from 'next/server'
15
16
 
16
17
  export async function POST(request: NextRequest) {
17
18
  const actor = await requireRole([UserRole.ADMIN, UserRole.EDITOR])
@@ -12,7 +12,7 @@ export function AdminProviders({ children }: { children: React.ReactNode }) {
12
12
  new QueryClient({
13
13
  defaultOptions: {
14
14
  queries: {
15
- staleTime: 30 * 1000, // 30 seconds — client navigations reuse cached data
15
+ staleTime: 30 * 1000,
16
16
  refetchOnWindowFocus: false,
17
17
  refetchOnReconnect: false
18
18
  }
@@ -1,6 +1,6 @@
1
+ import type { ReactNode } from 'react'
1
2
  import { SidebarMenuButton } from '@admin/components/ui/sidebar'
2
3
  import Link from 'next/link'
3
- import type { ReactNode } from 'react'
4
4
 
5
5
  export function SidebarNavLinkSkeleton({ href, children }: { href: string; children: ReactNode }) {
6
6
  return (
@@ -1,3 +1,4 @@
1
+ import type { ComponentProps } from 'react'
1
2
  import { Separator } from '@admin/components/ui/separator'
2
3
  import {
3
4
  Sidebar,
@@ -12,7 +13,6 @@ import {
12
13
  import { adminNavigation } from '@admin/data/navigation'
13
14
  import { groupAdminNavigationItems } from '@admin/utils/navigation/sidebar'
14
15
  import { Settings, Users } from 'lucide-react'
15
- import type { ComponentProps } from 'react'
16
16
  import { Fragment, Suspense } from 'react'
17
17
  import { SidebarBrandingRsc } from './admin-sidebar-branding-rsc'
18
18
  import { BrandingSkeleton } from './admin-sidebar-branding-skeleton'
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
 
3
- import { cn } from '@admin/utils/shared/cn'
4
3
  import type * as React from 'react'
4
+ import { cn } from '@admin/utils/shared/cn'
5
5
 
6
6
  type DataGridProps = React.ComponentProps<'div'> & {
7
7
  containerClassName?: string
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { Table } from '@tanstack/react-table'
3
5
  import { ProgressiveBlur } from '@admin/components/custom/progressive-blur'
4
6
  import { Button } from '@admin/components/ui/button'
5
7
  import {
@@ -10,8 +12,6 @@ import {
10
12
  SelectValue
11
13
  } from '@admin/components/ui/select'
12
14
  import { cn } from '@admin/utils/shared/cn'
13
- import type { Table } from '@tanstack/react-table'
14
- import * as React from 'react'
15
15
 
16
16
  const PAGE_SIZE_OPTIONS = [
17
17
  { value: '10', label: '10' },
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { ColumnDef, ColumnFiltersState, RowData, SortingState } from '@tanstack/react-table'
3
5
  import {
4
6
  DataGrid,
5
7
  DataGridBody,
@@ -11,20 +13,15 @@ import {
11
13
  import { useTableUtils } from '@admin/hooks/use-table-utils'
12
14
  import { cn } from '@admin/utils/shared/cn'
13
15
  import {
14
- type ColumnDef,
15
- type ColumnFiltersState,
16
16
  flexRender,
17
17
  getCoreRowModel,
18
18
  getFilteredRowModel,
19
19
  getPaginationRowModel,
20
20
  getSortedRowModel,
21
- type RowData,
22
- type SortingState,
23
21
  useReactTable
24
22
  } from '@tanstack/react-table'
25
23
  import { GripVertical } from 'lucide-react'
26
24
  import { parseAsInteger, useQueryState } from 'nuqs'
27
- import * as React from 'react'
28
25
  import { DataTablePagination } from './data-table-pagination'
29
26
 
30
27
  interface DataTableProps<TData extends RowData, TValue> {
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import {
4
5
  AlertDialog,
5
6
  AlertDialogAction,
@@ -13,7 +14,6 @@ import {
13
14
  } from '@admin/components/ui/alert-dialog'
14
15
  import { Button } from '@admin/components/ui/button'
15
16
  import { Trash2 } from 'lucide-react'
16
- import * as React from 'react'
17
17
 
18
18
  interface DeleteDialogProps {
19
19
  count: number
@@ -1,13 +1,13 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { DevModeCodeLanguage, DevModeSnippetCodeTab } from './dev-mode-types'
3
5
  import { Button } from '@admin/components/ui/button'
4
6
  import { Card, CardContent, CardHeader } from '@admin/components/ui/card'
5
7
  import { Tabs, TabsContent, TabsList, TabsTrigger } from '@admin/components/ui/tabs'
6
8
  import { useTheme } from '@admin/hooks/use-admin-theme'
7
9
  import { useCopyToClipboard } from '@admin/hooks/use-copy-to-clipboard'
8
10
  import { Check, Copy } from 'lucide-react'
9
- import * as React from 'react'
10
- import type { DevModeCodeLanguage, DevModeSnippetCodeTab } from './dev-mode-types'
11
11
  import { PlainCodeFallback } from './plain-code-fallback'
12
12
 
13
13
  const LazyCodeMirror = React.lazy(() => import('./dev-mode-code-mirror'))
@@ -1,12 +1,12 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { DevModeCodeLanguage, DevModeCodeTheme } from './dev-mode-types'
3
5
  import { javascript } from '@codemirror/lang-javascript'
4
6
  import { json } from '@codemirror/lang-json'
5
7
  import { EditorView } from '@codemirror/view'
6
8
  import { githubDark, githubLight } from '@uiw/codemirror-theme-github'
7
9
  import CodeMirror from '@uiw/react-codemirror'
8
- import * as React from 'react'
9
- import type { DevModeCodeLanguage, DevModeCodeTheme } from './dev-mode-types'
10
10
 
11
11
  const codeMirrorSetup = {
12
12
  lineNumbers: true,
@@ -1,5 +1,11 @@
1
1
  'use client'
2
2
 
3
+ import type {
4
+ DevModeLifecycleHookExample,
5
+ DevModeLifecycleHookPhase,
6
+ DevModeSnippetIcon
7
+ } from './dev-mode-types'
8
+ import type { LucideIcon } from 'lucide-react'
3
9
  import {
4
10
  Accordion,
5
11
  AccordionContent,
@@ -8,24 +14,8 @@ import {
8
14
  } from '@admin/components/ui/accordion'
9
15
  import { Badge } from '@admin/components/ui/badge'
10
16
  import { getDevModeCodeBlockHeight } from '@admin/utils/dev-mode/code-block-height'
11
- import {
12
- Eye,
13
- FileCode2,
14
- Inbox,
15
- List,
16
- type LucideIcon,
17
- Pencil,
18
- Plus,
19
- Save,
20
- Send,
21
- Trash2
22
- } from 'lucide-react'
17
+ import { Eye, FileCode2, Inbox, List, Pencil, Plus, Save, Send, Trash2 } from 'lucide-react'
23
18
  import { CopyableCodeBlock } from './copyable-code-block'
24
- import type {
25
- DevModeLifecycleHookExample,
26
- DevModeLifecycleHookPhase,
27
- DevModeSnippetIcon
28
- } from './dev-mode-types'
29
19
 
30
20
  interface LifecycleHooksTabProps {
31
21
  lifecycleHooks: DevModeLifecycleHookExample[]
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import type { DevModeSnippet, DevModeSnippetIcon, DevModeSnippetKind } from './dev-mode-types'
4
+ import type { LucideIcon } from 'lucide-react'
3
5
  import {
4
6
  Accordion,
5
7
  AccordionContent,
@@ -8,20 +10,8 @@ import {
8
10
  } from '@admin/components/ui/accordion'
9
11
  import { Badge } from '@admin/components/ui/badge'
10
12
  import { getDevModeCodeBlockHeight } from '@admin/utils/dev-mode/code-block-height'
11
- import {
12
- Eye,
13
- FileCode2,
14
- Inbox,
15
- List,
16
- type LucideIcon,
17
- Pencil,
18
- Plus,
19
- Save,
20
- Send,
21
- Trash2
22
- } from 'lucide-react'
13
+ import { Eye, FileCode2, Inbox, List, Pencil, Plus, Save, Send, Trash2 } from 'lucide-react'
23
14
  import { CopyableCodeBlock } from './copyable-code-block'
24
- import type { DevModeSnippet, DevModeSnippetIcon, DevModeSnippetKind } from './dev-mode-types'
25
15
 
26
16
  interface SnippetsTabProps {
27
17
  snippets: DevModeSnippet[]
@@ -1,5 +1,9 @@
1
1
  'use client'
2
2
 
3
+ import type {
4
+ DevModeIntegrationLoader,
5
+ DevModeIntegrationMetadata
6
+ } from './dev-mode/dev-mode-types'
3
7
  import type { Setting } from '@admin/actions/settings'
4
8
  import { Button } from '@admin/components/ui/button'
5
9
  import {
@@ -15,10 +19,6 @@ import { useDevModeIntegration } from '@admin/hooks/use-dev-mode-integration'
15
19
  import { useSetting } from '@admin/hooks/use-settings'
16
20
  import { Code2 } from 'lucide-react'
17
21
  import { CopyableCodeBlock } from './dev-mode/copyable-code-block'
18
- import type {
19
- DevModeIntegrationLoader,
20
- DevModeIntegrationMetadata
21
- } from './dev-mode/dev-mode-types'
22
22
  import { LifecycleHooksTab } from './dev-mode/lifecycle-hooks-tab'
23
23
  import { SnippetsTab } from './dev-mode/snippets-tab'
24
24
 
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import { DateRangePicker } from '@admin/components/custom/date-range-picker'
4
5
  import { Button } from '@admin/components/ui/button'
5
6
  import {
@@ -12,7 +13,6 @@ import {
12
13
  import { usePageScrollThreshold } from '@admin/hooks/use-page-scroll-threshold'
13
14
  import { cn } from '@admin/utils/shared/cn'
14
15
  import { ChevronDown, FilterX, X } from 'lucide-react'
15
- import * as React from 'react'
16
16
  import { SearchInput } from './search-input'
17
17
 
18
18
  const ALL_FILTER_VALUE = '__all__'
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import type { EntityVersionWithAuthor } from '@admin/actions/entity-versions'
4
5
  import {
5
6
  AlertDialog,
@@ -14,7 +15,6 @@ import {
14
15
  } from '@admin/components/ui/alert-dialog'
15
16
  import { Button } from '@admin/components/ui/button'
16
17
  import { useRouter } from 'next/navigation'
17
- import * as React from 'react'
18
18
  import { toast } from 'sonner'
19
19
 
20
20
  interface EntityVersionRestoreDialogProps {
@@ -1,11 +1,11 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import type { EntityVersionWithAuthor } from '@admin/actions/entity-versions'
4
5
  import { EntityVersionsDrawer } from '@admin/components/shared/entity-versions/entity-versions-drawer'
5
6
  import { Button } from '@admin/components/ui/button'
6
7
  import { useEntityVersions } from '@admin/hooks/use-entity-versions'
7
8
  import { History } from 'lucide-react'
8
- import * as React from 'react'
9
9
 
10
10
  interface EntityVersionsButtonAuthor {
11
11
  name: string
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { AdminMedia } from '@admin/types'
3
5
  import { updateMedia } from '@admin/actions/media'
4
6
  import { MediaDeleteDrawer } from '@admin/components/shared/media/media-delete-drawer'
5
7
  import { MediaPreview } from '@admin/components/shared/media/media-preview'
@@ -9,11 +11,9 @@ import { DrawerContent, DrawerFooter, DrawerHeader, DrawerTitle } from '@admin/c
9
11
  import { Form, FormControl, FormField, FormItem, FormLabel } from '@admin/components/ui/form'
10
12
  import { Input } from '@admin/components/ui/input'
11
13
  import { useCopyToClipboard } from '@admin/hooks/use-copy-to-clipboard'
12
- import type { AdminMedia } from '@admin/types'
13
14
  import { format } from 'date-fns'
14
15
  import { Check, ClockPlus, Copy, Link2, LoaderCircle, UserRoundCheck } from 'lucide-react'
15
16
  import Link from 'next/link'
16
- import * as React from 'react'
17
17
  import { useForm } from 'react-hook-form'
18
18
  import { toast } from 'sonner'
19
19
 
@@ -1,8 +1,8 @@
1
1
  'use client'
2
2
 
3
- import { Drawer } from '@admin/components/ui/drawer'
4
- import type { AdminMedia } from '@admin/types'
5
3
  import * as React from 'react'
4
+ import type { AdminMedia } from '@admin/types'
5
+ import { Drawer } from '@admin/components/ui/drawer'
6
6
  import { EditMediaDialogContent } from './edit-media-dialog-content'
7
7
 
8
8
  interface EditMediaDialogProps {
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { AdminMedia } from '@admin/types'
3
5
  import { deleteMedia } from '@admin/actions/media'
4
6
  import {
5
7
  AlertDialog,
@@ -13,9 +15,7 @@ import {
13
15
  AlertDialogTrigger
14
16
  } from '@admin/components/ui/alert-dialog'
15
17
  import { Button } from '@admin/components/ui/button'
16
- import type { AdminMedia } from '@admin/types'
17
18
  import { Trash2 } from 'lucide-react'
18
- import * as React from 'react'
19
19
  import { toast } from 'sonner'
20
20
 
21
21
  interface MediaDeleteDialogProps {
@@ -1,10 +1,10 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { AdminMedia } from '@admin/types'
3
5
  import { deleteMedia } from '@admin/actions/media'
4
6
  import { Button } from '@admin/components/ui/button'
5
- import type { AdminMedia } from '@admin/types'
6
7
  import { LoaderCircle, Trash2, TriangleAlert } from 'lucide-react'
7
- import * as React from 'react'
8
8
  import { toast } from 'sonner'
9
9
  import { Drawer as DrawerPrimitive } from 'vaul'
10
10
 
@@ -1,13 +1,13 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { MediaFiltersBarSelectionState } from '@admin/hooks/use-media-filters-bar'
3
5
  import { SearchInput } from '@admin/components/shared/search-input'
4
6
  import { Button } from '@admin/components/ui/button'
5
7
  import { ButtonGroup } from '@admin/components/ui/button-group'
6
- import type { MediaFiltersBarSelectionState } from '@admin/hooks/use-media-filters-bar'
7
8
  import { usePageScrollThreshold } from '@admin/hooks/use-page-scroll-threshold'
8
9
  import { cn } from '@admin/utils/shared/cn'
9
10
  import { CircleCheck, FileText, Film, ImageIcon, X } from 'lucide-react'
10
- import * as React from 'react'
11
11
 
12
12
  type ContentTypeFilter = 'all' | 'image' | 'video' | 'document'
13
13
 
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as TabsUi from '@admin/components/ui/tabs'
4
+ import type { AdminMedia } from '@admin/types'
3
5
  import { UploadDropzone } from '@admin/components/custom/upload-dropzone'
4
6
  import { Button } from '@admin/components/ui/button'
5
7
  import {
@@ -11,7 +13,6 @@ import {
11
13
  DialogHeader,
12
14
  DialogTitle
13
15
  } from '@admin/components/ui/dialog'
14
- import * as TabsUi from '@admin/components/ui/tabs'
15
16
  import {
16
17
  clampMediaPage,
17
18
  clampMediaPageSize,
@@ -19,7 +20,6 @@ import {
19
20
  useMediaSelection
20
21
  } from '@admin/hooks/use-media'
21
22
  import { useUpload } from '@admin/hooks/use-upload'
22
- import type { AdminMedia } from '@admin/types'
23
23
  import { useQueryClient } from '@tanstack/react-query'
24
24
  import { parseAsInteger, parseAsStringLiteral, useQueryStates } from 'nuqs'
25
25
  import { toast } from 'sonner'
@@ -1,11 +1,11 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { AdminMedia } from '@admin/types'
3
5
  import { MediaPreview } from '@admin/components/shared/media/media-preview'
4
6
  import { Card, CardContent, CardFooter } from '@admin/components/ui/card'
5
7
  import { Checkbox } from '@admin/components/ui/checkbox'
6
- import type { AdminMedia } from '@admin/types'
7
8
  import { cn } from '@admin/utils/shared/cn'
8
- import * as React from 'react'
9
9
 
10
10
  interface MediaGridItemProps {
11
11
  item: AdminMedia
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import { Button } from '@admin/components/ui/button'
4
5
  import {
5
6
  Select,
@@ -9,7 +10,6 @@ import {
9
10
  SelectValue
10
11
  } from '@admin/components/ui/select'
11
12
  import { cn } from '@admin/utils/shared/cn'
12
- import * as React from 'react'
13
13
 
14
14
  const PAGE_SIZE_OPTIONS = [
15
15
  { value: '20', label: '20' },
@@ -1,8 +1,8 @@
1
1
  'use client'
2
2
 
3
+ import type * as React from 'react'
3
4
  import type { AdminMedia } from '@admin/types'
4
5
  import { cn } from '@admin/utils/shared/cn'
5
- import type * as React from 'react'
6
6
  import { MediaGridItem } from './media-grid-item'
7
7
 
8
8
  interface MediaGridProps extends React.ComponentPropsWithRef<'div'> {
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
 
3
- import { useFailedImageUrl } from '@admin/hooks/use-failed-image-url'
4
3
  import type { AdminMedia } from '@admin/types'
4
+ import { useFailedImageUrl } from '@admin/hooks/use-failed-image-url'
5
5
  import { cn } from '@admin/utils/shared/cn'
6
6
  import { FileText, Film, ImageOff } from 'lucide-react'
7
7
  import Image from 'next/image'
@@ -1,5 +1,7 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { UploadFileResult } from '@admin/types'
3
5
  import { Card, CardContent } from '@admin/components/ui/card'
4
6
  import {
5
7
  InputGroup,
@@ -7,12 +9,10 @@ import {
7
9
  InputGroupButton,
8
10
  InputGroupInput
9
11
  } from '@admin/components/ui/input-group'
10
- import type { UploadFileResult } from '@admin/types'
11
12
  import { getMediaUrlHelpText, getMediaUrlPlaceholder } from '@admin/utils/media/media'
12
13
  import { cn } from '@admin/utils/shared/cn'
13
14
  import { isValidUrl } from '@admin/utils/validation/validation'
14
15
  import { LoaderCircle, Upload } from 'lucide-react'
15
- import * as React from 'react'
16
16
 
17
17
  interface MediaUrlImporterProps extends React.HTMLAttributes<HTMLDivElement> {
18
18
  onImportFromUrl: (url: string) => Promise<UploadFileResult>
@@ -1,10 +1,10 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
3
4
  import { Button } from '@admin/components/ui/button'
4
5
  import { Form, FormControl, FormField, FormItem } from '@admin/components/ui/form'
5
6
  import { Input } from '@admin/components/ui/input'
6
7
  import { CornerDownLeft, Search, X } from 'lucide-react'
7
- import * as React from 'react'
8
8
  import { useForm } from 'react-hook-form'
9
9
 
10
10
  interface SearchInputProps {
@@ -1,5 +1,8 @@
1
1
  'use client'
2
2
 
3
+ import * as React from 'react'
4
+ import type { SortOrderItem, SortOrderPage } from './sort-order-types'
5
+ import type { DragEndEvent, DragStartEvent } from '@dnd-kit/core'
3
6
  import { Button } from '@admin/components/ui/button'
4
7
  import {
5
8
  Drawer,
@@ -14,9 +17,7 @@ import { ScrollArea } from '@admin/components/ui/scroll-area'
14
17
  import {
15
18
  closestCenter,
16
19
  DndContext,
17
- type DragEndEvent,
18
20
  DragOverlay,
19
- type DragStartEvent,
20
21
  KeyboardSensor,
21
22
  PointerSensor,
22
23
  useSensor,
@@ -29,11 +30,9 @@ import {
29
30
  } from '@dnd-kit/sortable'
30
31
  import { useInfiniteQuery, useQueryClient } from '@tanstack/react-query'
31
32
  import { LoaderCircle } from 'lucide-react'
32
- import * as React from 'react'
33
33
  import { toast } from 'sonner'
34
34
  import { DragOverlayItem } from './sort-order-drag-overlay-item'
35
35
  import { SortableItem } from './sort-order-item'
36
- import type { SortOrderItem, SortOrderPage } from './sort-order-types'
37
36
 
38
37
  const PAGE_SIZE = 50
39
38
 
@@ -1,9 +1,9 @@
1
+ import type { SortOrderItem as SortOrderItemData } from './sort-order-types'
1
2
  import { Button } from '@admin/components/ui/button'
2
3
  import { cn } from '@admin/utils/shared/cn'
3
4
  import { useSortable } from '@dnd-kit/sortable'
4
5
  import { CSS } from '@dnd-kit/utilities'
5
6
  import { GripVertical } from 'lucide-react'
6
- import type { SortOrderItem as SortOrderItemData } from './sort-order-types'
7
7
 
8
8
  export function SortableItem({ id, label }: SortOrderItemData) {
9
9
  const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({