betterstart-cli 0.0.106 → 0.0.108

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 (128) hide show
  1. package/dist/assets/adapters/next/templates/init/admin-globals.css +1 -61
  2. package/dist/assets/adapters/next/templates/init/components/layouts/admin-header.tsx +2 -19
  3. package/dist/assets/adapters/next/templates/init/components/layouts/admin-nav-link.tsx +10 -8
  4. package/dist/assets/adapters/next/templates/init/components/layouts/admin-providers.tsx +4 -7
  5. package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-nav-link-skeleton.tsx +1 -5
  6. package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu.tsx +53 -48
  7. package/dist/assets/adapters/next/templates/init/components/layouts/admin-sign-out.tsx +2 -2
  8. package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table-pagination.tsx +3 -1
  9. package/dist/assets/adapters/next/templates/init/components/shared/delete-dialog.tsx +3 -5
  10. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx +2 -5
  11. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-code-mirror.tsx +4 -5
  12. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-types.ts +0 -1
  13. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx +1 -1
  14. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/snippets-tab.tsx +1 -1
  15. package/dist/assets/adapters/next/templates/init/components/shared/dev-mode-integrate.tsx +5 -7
  16. package/dist/assets/adapters/next/templates/init/components/shared/entity-filters-bar.tsx +9 -10
  17. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +2 -4
  18. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-restore-dialog.tsx +2 -4
  19. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +2 -4
  20. package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-drawer.tsx +1 -1
  21. package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog.tsx +2 -2
  22. package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-dialog.tsx +5 -5
  23. package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +52 -53
  24. package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx +3 -1
  25. package/dist/assets/adapters/next/templates/init/components/shared/sort-order-dialog.tsx +3 -5
  26. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-source-mode.tsx +2 -11
  27. package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor.ts +1 -2
  28. package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +1 -1
  29. package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +1 -1
  30. package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +2 -2
  31. package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +2 -2
  32. package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-drawer.tsx +1 -1
  33. package/dist/assets/adapters/next/templates/init/pages/settings/forms/form-notifications-drawer.tsx +5 -5
  34. package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-actions.tsx +20 -20
  35. package/dist/assets/adapters/next/templates/init/pages/users/change-password-dialog.tsx +7 -5
  36. package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +3 -5
  37. package/dist/assets/adapters/next/templates/init/pages/users/create-user-dialog.tsx +1 -3
  38. package/dist/assets/adapters/next/templates/init/pages/users/delete-user-dialog.tsx +11 -5
  39. package/dist/assets/adapters/next/templates/init/pages/users/edit-role-dialog.tsx +1 -1
  40. package/dist/assets/shared-assets/react-admin/custom/content-editor/main-toolbar-content.tsx +3 -3
  41. package/dist/assets/shared-assets/react-admin/custom/content-editor/math-popover-button.tsx +13 -11
  42. package/dist/assets/shared-assets/react-admin/custom/content-editor/mobile-toolbar-content.tsx +1 -1
  43. package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +1 -5
  44. package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode-dropdown-button.tsx +16 -14
  45. package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode.tsx +5 -17
  46. package/dist/assets/shared-assets/react-admin/custom/content-editor/table-bubble-menu.tsx +0 -1
  47. package/dist/assets/shared-assets/react-admin/custom/content-editor/table-button.tsx +14 -12
  48. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/blockquote-button/blockquote-button.tsx +2 -1
  49. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-button.tsx +2 -1
  50. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +2 -1
  51. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +16 -14
  52. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +15 -13
  53. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu-item.tsx +1 -1
  54. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx +32 -30
  55. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-control-popover.tsx +17 -14
  56. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu-item.tsx +1 -1
  57. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx +23 -21
  58. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-button.tsx +2 -1
  59. package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/undo-redo-button.tsx +2 -1
  60. package/dist/assets/shared-assets/react-admin/custom/date-picker.tsx +16 -14
  61. package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +8 -6
  62. package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +8 -7
  63. package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +2 -4
  64. package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +11 -28
  65. package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +30 -47
  66. package/dist/assets/shared-assets/react-admin/ui/alert.tsx +4 -4
  67. package/dist/assets/shared-assets/react-admin/ui/aspect-ratio.tsx +18 -5
  68. package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +10 -13
  69. package/dist/assets/shared-assets/react-admin/ui/badge.tsx +24 -21
  70. package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +20 -19
  71. package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +25 -24
  72. package/dist/assets/shared-assets/react-admin/ui/button.tsx +22 -31
  73. package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +10 -7
  74. package/dist/assets/shared-assets/react-admin/ui/card.tsx +6 -16
  75. package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +20 -17
  76. package/dist/assets/shared-assets/react-admin/ui/chart.tsx +18 -26
  77. package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +3 -4
  78. package/dist/assets/shared-assets/react-admin/ui/collapsible.tsx +6 -10
  79. package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +9 -25
  80. package/dist/assets/shared-assets/react-admin/ui/command.tsx +7 -6
  81. package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +77 -79
  82. package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +29 -54
  83. package/dist/assets/shared-assets/react-admin/ui/direction.tsx +1 -18
  84. package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +121 -49
  85. package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +120 -131
  86. package/dist/assets/shared-assets/react-admin/ui/empty.tsx +3 -3
  87. package/dist/assets/shared-assets/react-admin/ui/field.tsx +20 -30
  88. package/dist/assets/shared-assets/react-admin/ui/form.tsx +27 -31
  89. package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +26 -18
  90. package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +26 -13
  91. package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +3 -3
  92. package/dist/assets/shared-assets/react-admin/ui/input.tsx +4 -3
  93. package/dist/assets/shared-assets/react-admin/ui/item.tsx +26 -19
  94. package/dist/assets/shared-assets/react-admin/ui/kbd.tsx +1 -1
  95. package/dist/assets/shared-assets/react-admin/ui/label.tsx +18 -14
  96. package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +80 -73
  97. package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +3 -3
  98. package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +40 -39
  99. package/dist/assets/shared-assets/react-admin/ui/pagination.tsx +18 -11
  100. package/dist/assets/shared-assets/react-admin/ui/popover.tsx +31 -30
  101. package/dist/assets/shared-assets/react-admin/ui/progress.tsx +51 -16
  102. package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +11 -17
  103. package/dist/assets/shared-assets/react-admin/ui/resizable.tsx +1 -1
  104. package/dist/assets/shared-assets/react-admin/ui/scroll-area.tsx +9 -13
  105. package/dist/assets/shared-assets/react-admin/ui/select.tsx +66 -60
  106. package/dist/assets/shared-assets/react-admin/ui/separator.tsx +3 -10
  107. package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +22 -27
  108. package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +144 -126
  109. package/dist/assets/shared-assets/react-admin/ui/skeleton.tsx +1 -1
  110. package/dist/assets/shared-assets/react-admin/ui/slider.tsx +27 -29
  111. package/dist/assets/shared-assets/react-admin/ui/sonner.tsx +10 -8
  112. package/dist/assets/shared-assets/react-admin/ui/spinner.tsx +4 -3
  113. package/dist/assets/shared-assets/react-admin/ui/switch.tsx +4 -5
  114. package/dist/assets/shared-assets/react-admin/ui/table.tsx +8 -21
  115. package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +11 -16
  116. package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +2 -2
  117. package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +12 -11
  118. package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +4 -5
  119. package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +29 -27
  120. package/dist/{chunk-OYU73Q2W.js → chunk-PSDUGFMD.js} +2 -2
  121. package/dist/{chunk-OYU73Q2W.js.map → chunk-PSDUGFMD.js.map} +1 -1
  122. package/dist/cli.js +122 -137
  123. package/dist/cli.js.map +1 -1
  124. package/dist/{read-namespaced-template-EIH2NPDJ.js → read-namespaced-template-TSATYQPP.js} +2 -2
  125. package/package.json +1 -1
  126. package/dist/assets/adapters/next/templates/init/hooks/use-admin-theme.tsx +0 -72
  127. package/dist/assets/adapters/next/templates/init/utils/theme/system.ts +0 -6
  128. /package/dist/{read-namespaced-template-EIH2NPDJ.js.map → read-namespaced-template-TSATYQPP.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -83,7 +83,7 @@ import {
83
83
  trimDotSlash,
84
84
  usesIdentifier,
85
85
  validateAdminNamespace
86
- } from "./chunk-OYU73Q2W.js";
86
+ } from "./chunk-PSDUGFMD.js";
87
87
 
88
88
  // cli.ts
89
89
  import * as p66 from "@clack/prompts";
@@ -2769,33 +2769,6 @@ var REACT_ADMIN_DEPS = [
2769
2769
  "@dnd-kit/sortable",
2770
2770
  "@dnd-kit/utilities",
2771
2771
  "@floating-ui/react",
2772
- "@radix-ui/react-accordion",
2773
- "@radix-ui/react-alert-dialog",
2774
- "@radix-ui/react-aspect-ratio",
2775
- "@radix-ui/react-avatar",
2776
- "@radix-ui/react-checkbox",
2777
- "@radix-ui/react-collapsible",
2778
- "@radix-ui/react-context-menu",
2779
- "@radix-ui/react-dialog",
2780
- "@radix-ui/react-dropdown-menu",
2781
- "@radix-ui/react-hover-card",
2782
- "@radix-ui/react-label",
2783
- "@radix-ui/react-menubar",
2784
- "@radix-ui/react-navigation-menu",
2785
- "@radix-ui/react-popover",
2786
- "@radix-ui/react-progress",
2787
- "@radix-ui/react-radio-group",
2788
- "@radix-ui/react-scroll-area",
2789
- "@radix-ui/react-select",
2790
- "@radix-ui/react-separator",
2791
- "@radix-ui/react-slider",
2792
- "@radix-ui/react-slot",
2793
- "@radix-ui/react-switch",
2794
- "@radix-ui/react-tabs",
2795
- "@radix-ui/react-toast",
2796
- "@radix-ui/react-toggle",
2797
- "@radix-ui/react-toggle-group",
2798
- "@radix-ui/react-tooltip",
2799
2772
  "@tiptap/core",
2800
2773
  "@tiptap/extension-underline",
2801
2774
  "@tiptap/extension-highlight",
@@ -2821,13 +2794,10 @@ var REACT_ADMIN_DEPS = [
2821
2794
  "katex",
2822
2795
  "lodash.throttle",
2823
2796
  "motion",
2824
- "next-themes",
2825
- "radix-ui",
2826
2797
  "react-day-picker",
2827
2798
  "react-hotkeys-hook",
2828
2799
  "react-resizable-panels",
2829
- "recharts",
2830
- "vaul"
2800
+ "recharts"
2831
2801
  ];
2832
2802
  var REACT_ADMIN_DEV_DEPS = ["@tailwindcss/typography"];
2833
2803
  var CORE_DEPS = Array.from(/* @__PURE__ */ new Set([...NEXT_ADAPTER_DEPS, ...REACT_ADMIN_DEPS]));
@@ -2881,7 +2851,6 @@ var STATIC_CUSTOM_DEPENDENCIES = {
2881
2851
  "use-content-editor-source-mode",
2882
2852
  "use-content-editor-mobile-toolbar",
2883
2853
  "use-content-editor-slash-menu",
2884
- "use-admin-theme",
2885
2854
  "use-mobile",
2886
2855
  "tiptap",
2887
2856
  "tiptap-utils"
@@ -6313,12 +6282,18 @@ export function ${componentName}({
6313
6282
 
6314
6283
  return (
6315
6284
  <AlertDialog open={open} onOpenChange={onOpenChange}>
6316
- <AlertDialogTrigger asChild>
6317
- <DropdownMenuItem variant="destructive" onSelect={(event) => event.preventDefault()}>
6318
- <Trash className="size-4" />
6319
- Delete ${escapeJsx2}
6320
- </DropdownMenuItem>
6321
- </AlertDialogTrigger>
6285
+ <AlertDialogTrigger
6286
+ render={
6287
+ <DropdownMenuItem
6288
+ variant="destructive"
6289
+ closeOnClick={false}
6290
+ onClick={(event) => event.preventDefault()}
6291
+ >
6292
+ <Trash className="size-4" />
6293
+ Delete ${escapeJsx2}
6294
+ </DropdownMenuItem>
6295
+ }
6296
+ />
6322
6297
  <AlertDialogContent>
6323
6298
  <AlertDialogHeader>
6324
6299
  <AlertDialogTitle>Delete ${escapeJsx2}?</AlertDialogTitle>
@@ -6401,16 +6376,18 @@ export function ${componentName}({ id }: { id: string }) {
6401
6376
 
6402
6377
  return (
6403
6378
  <DropdownMenu open={menuOpen} onOpenChange={setMenuOpen}>
6404
- <DropdownMenuTrigger asChild>
6405
- <Button
6406
- variant="ghost"
6407
- className="size-8 p-0"
6408
- aria-label={\`Open ${escapeTemplateText2} actions for \${id}\`}
6409
- >
6410
- <span className="sr-only">Open ${escapeJsx2} actions</span>
6411
- <MoreHorizontal className="size-4" />
6412
- </Button>
6413
- </DropdownMenuTrigger>
6379
+ <DropdownMenuTrigger
6380
+ render={
6381
+ <Button
6382
+ variant="ghost"
6383
+ className="size-8 p-0"
6384
+ aria-label={\`Open ${escapeTemplateText2} actions for \${id}\`}
6385
+ >
6386
+ <span className="sr-only">Open ${escapeJsx2} actions</span>
6387
+ <MoreHorizontal className="size-4" />
6388
+ </Button>
6389
+ }
6390
+ />
6414
6391
  <DropdownMenuContent align="end">
6415
6392
  <${dialogComponentName}
6416
6393
  id={id}
@@ -6923,11 +6900,9 @@ ${deleteTransition}${bulkDeleteHandler}
6923
6900
  actions={
6924
6901
  <div className="flex items-center gap-1">
6925
6902
  <${devModeIntegrateButtonExportName} initialSettings={initialSettings} />${exportButton}
6926
- <Button variant="outline" asChild>
6927
- <Link href="${adminRoutePath}/settings/forms">
6903
+ <Button variant="outline" render={<Link href="${adminRoutePath}/settings/forms" />}>
6928
6904
  <Settings className="size-3.5" />
6929
6905
  Settings
6930
- </Link>
6931
6906
  </Button>
6932
6907
  </div>
6933
6908
  }
@@ -7223,8 +7198,8 @@ export function ${pascal}SubmissionDrawer({
7223
7198
  : 'No submission selected'
7224
7199
 
7225
7200
  return (
7226
- <Drawer direction="right" open={open} onOpenChange={onOpenChange} modal>
7227
- <DrawerContent className="h-full w-full overflow-hidden data-[vaul-drawer-direction=right]:sm:max-w-xl">
7201
+ <Drawer swipeDirection="right" open={open} onOpenChange={onOpenChange} modal>
7202
+ <DrawerContent className="h-full w-full overflow-hidden data-[swipe-direction=right]:sm:max-w-xl">
7228
7203
  <DrawerHeader>
7229
7204
  <DrawerTitle>${label} Submission</DrawerTitle>
7230
7205
  <DrawerDescription>{description}</DrawerDescription>
@@ -13466,7 +13441,7 @@ function renderLinkColumnCell({ columnAccessorKey }) {
13466
13441
  href={value}
13467
13442
  target="_blank"
13468
13443
  rel="noopener noreferrer"
13469
- className="text-sm text-blue-600 hover:text-blue-800 hover:underline dark:text-blue-400 dark:hover:text-blue-300"
13444
+ className="text-sm text-blue-600 hover:text-blue-800 hover:underline"
13470
13445
  title={value}
13471
13446
  >
13472
13447
  {truncateText(value, 50)}
@@ -14231,7 +14206,7 @@ function renderFirstColumnDefClickHandlerTemplate({
14231
14206
  href={value}
14232
14207
  target="_blank"
14233
14208
  rel="noopener noreferrer"
14234
- className="text-sm text-blue-600 hover:text-blue-800 hover:underline dark:text-blue-400 dark:hover:text-blue-300 truncate block max-w-[250px]"
14209
+ className="text-sm text-blue-600 hover:text-blue-800 hover:underline truncate block max-w-[250px]"
14235
14210
  title={value}
14236
14211
  onClick={(e) => e.stopPropagation()}
14237
14212
  >
@@ -16936,18 +16911,17 @@ ${indent} </Button>
16936
16911
  ${indent} </div>
16937
16912
 
16938
16913
  ${indent} <Accordion
16939
- ${indent} type="single"
16940
- ${indent} collapsible
16941
- ${indent} value={${fieldName}Expanded}
16914
+ ${indent} value={${fieldName}Expanded ? [${fieldName}Expanded] : []}
16942
16915
  ${indent} onValueChange={async (nextValue) => {
16943
- ${indent} if (${fieldName}Expanded && nextValue && nextValue !== ${fieldName}Expanded) {
16916
+ ${indent} const nextExpanded = nextValue[0] ?? ''
16917
+ ${indent} if (${fieldName}Expanded && nextExpanded && nextExpanded !== ${fieldName}Expanded) {
16944
16918
  ${indent} const expandedIndex = Number(${fieldName}Expanded.replace('item-', '')) - 1
16945
16919
  ${indent} if (expandedIndex >= 0) {
16946
16920
  ${indent} const isExpandedItemValid = await form.trigger(${validateExpandedItemExpression})
16947
16921
  ${indent} if (!isExpandedItemValid) return
16948
16922
  ${indent} }
16949
16923
  ${indent} }
16950
- ${indent} set${pascalFieldName}Expanded(nextValue)
16924
+ ${indent} set${pascalFieldName}Expanded(nextExpanded)
16951
16925
  ${indent} }}
16952
16926
  ${indent} >
16953
16927
  ${indent} {${fieldName}FieldArray.fields.map((item, index) => (
@@ -18161,23 +18135,25 @@ ${indent} render={({ field: formField }) => (
18161
18135
  ${indent} <FormItem${formItemProps2}>
18162
18136
  ${indent} ${labelWithDescription2}
18163
18137
  ${indent} <Popover open={${fieldName}Open} onOpenChange={set${toPascalCase2}Open}>
18164
- ${indent} <PopoverTrigger asChild>
18165
- ${indent} <FormControl>
18166
- ${indent} <Button
18138
+ ${indent} <PopoverTrigger
18139
+ ${indent} render={
18140
+ ${indent} <FormControl>
18141
+ ${indent} <Button
18167
18142
  ${indent} variant="outline"
18168
18143
  ${indent} role="combobox"
18169
18144
  ${indent} className={cn("w-full justify-between", {
18170
18145
  ${indent} "text-muted-foreground": !formField.value || formField.value.length === 0
18171
18146
  ${indent} })}
18172
18147
  ${indent} disabled={isPending}
18173
- ${indent} >
18148
+ ${indent} >
18174
18149
  ${indent} {(formField.value?.length ?? 0) > 0
18175
18150
  ${indent} ? \`\${formField.value?.length ?? 0} selected\`
18176
18151
  ${indent} : "Select ${toLowerCase}"}
18177
- ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18178
- ${indent} </Button>
18179
- ${indent} </FormControl>
18180
- ${indent} </PopoverTrigger>
18152
+ ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18153
+ ${indent} </Button>
18154
+ ${indent} </FormControl>
18155
+ ${indent} }
18156
+ ${indent} />
18181
18157
  ${indent} <PopoverContent className="w-full p-0" align="start">
18182
18158
  ${indent} <Command>
18183
18159
  ${indent} <CommandInput placeholder="Search ${toLowerCase}..." />
@@ -18266,26 +18242,28 @@ ${indent} render={({ field: formField }) => (
18266
18242
  ${indent} <FormItem${formItemProps2}>
18267
18243
  ${indent} ${labelWithDescription2}
18268
18244
  ${indent} <Popover open={${fieldName}Open} onOpenChange={set${toPascalCase2}Open}>
18269
- ${indent} <PopoverTrigger asChild>
18270
- ${indent} <FormControl>
18271
- ${indent} <Button
18245
+ ${indent} <PopoverTrigger
18246
+ ${indent} render={
18247
+ ${indent} <FormControl>
18248
+ ${indent} <Button
18272
18249
  ${indent} variant="outline"
18273
18250
  ${indent} role="combobox"
18274
18251
  ${indent} className={cn("w-full justify-between", {
18275
18252
  ${indent} "text-muted-foreground": !formField.value
18276
18253
  ${indent} })}
18277
18254
  ${indent} disabled={isPending}
18278
- ${indent} >
18255
+ ${indent} >
18279
18256
  ${indent} {formField.value
18280
18257
  ${indent} ? (() => {
18281
18258
  ${indent} const item = ${dataArray}?.find((item) => item.id !== null && String(item.id) === formField.value)
18282
18259
  ${indent} return item ? (${displayField}) : "Select ${toLowerCase}"
18283
18260
  ${indent} })()
18284
18261
  ${indent} : "Select ${toLowerCase}"}
18285
- ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18286
- ${indent} </Button>
18287
- ${indent} </FormControl>
18288
- ${indent} </PopoverTrigger>
18262
+ ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18263
+ ${indent} </Button>
18264
+ ${indent} </FormControl>
18265
+ ${indent} }
18266
+ ${indent} />
18289
18267
  ${indent} <PopoverContent className="w-full p-0" align="start">
18290
18268
  ${indent} <Command>
18291
18269
  ${indent} <CommandInput placeholder="Search ${toLowerCase}..." />
@@ -18497,7 +18475,7 @@ ${indent} <span data-slot="select-value" className="pointer-events-no
18497
18475
  ${indent} {(${selectedLabelExpression}) ?? ${stringify}}
18498
18476
  ${indent} </span>
18499
18477
  ${indent} </SelectTrigger>
18500
- ${indent} <SelectContent position="popper" align="start">
18478
+ ${indent} <SelectContent alignItemWithTrigger={false} align="start">
18501
18479
  ${optionsJsx}
18502
18480
  ${indent} </SelectContent>
18503
18481
  ${indent} </Select>
@@ -18552,9 +18530,10 @@ ${indent} return (
18552
18530
  ${indent} <FormItem${formItemProps2}>
18553
18531
  ${indent} ${labelWithDescription2}
18554
18532
  ${indent} <Popover open={${openVar}} onOpenChange={${setOpenVar}}>
18555
- ${indent} <PopoverTrigger asChild>
18556
- ${indent} <FormControl>
18557
- ${indent} <Button
18533
+ ${indent} <PopoverTrigger
18534
+ ${indent} render={
18535
+ ${indent} <FormControl>
18536
+ ${indent} <Button
18558
18537
  ${indent} type="button"
18559
18538
  ${indent} variant="outline"
18560
18539
  ${indent} role="combobox"
@@ -18563,13 +18542,14 @@ ${indent} className={cn("w-full justify-between", {
18563
18542
  ${indent} "text-muted-foreground": !selectedOption
18564
18543
  ${indent} })}
18565
18544
  ${indent} disabled={isPending}
18566
- ${indent} >
18567
- ${indent} <span className="truncate">{selectedOption?.label ?? ${stringify}}</span>
18568
- ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18569
- ${indent} </Button>
18570
- ${indent} </FormControl>
18571
- ${indent} </PopoverTrigger>
18572
- ${indent} <PopoverContent className="w-(--radix-popover-trigger-width) p-0" align="start">
18545
+ ${indent} >
18546
+ ${indent} <span className="truncate">{selectedOption?.label ?? ${stringify}}</span>
18547
+ ${indent} <ChevronsUpDown className="ml-2 size-4 shrink-0 opacity-50" />
18548
+ ${indent} </Button>
18549
+ ${indent} </FormControl>
18550
+ ${indent} }
18551
+ ${indent} />
18552
+ ${indent} <PopoverContent className="w-(--anchor-width) p-0" align="start">
18573
18553
  ${indent} <Command>
18574
18554
  ${indent} <CommandInput
18575
18555
  ${indent} placeholder="Search ${lowerLabel}..."
@@ -18759,18 +18739,19 @@ ${indent} return (
18759
18739
  ${indent} <FormItem${formItemProps2}>
18760
18740
  ${indent} ${labelWithDescription2}
18761
18741
  ${indent} <Popover open={${openVar}} onOpenChange={${setOpenVar}}>
18762
- ${indent} <PopoverTrigger asChild>
18763
- ${indent} <FormControl>
18764
- ${indent} <Button
18765
- ${indent} type="button"
18766
- ${indent} variant="outline"
18767
- ${indent} role="combobox"
18768
- ${indent} aria-expanded={${openVar}}
18769
- ${indent} className={cn("w-full justify-between gap-2", {
18770
- ${indent} "text-muted-foreground": selectedOptions.length === 0
18771
- ${indent} })}
18772
- ${indent} disabled={isPending}
18773
- ${indent} >
18742
+ ${indent} <PopoverTrigger
18743
+ ${indent} render={
18744
+ ${indent} <FormControl>
18745
+ ${indent} <Button
18746
+ ${indent} type="button"
18747
+ ${indent} variant="outline"
18748
+ ${indent} role="combobox"
18749
+ ${indent} aria-expanded={${openVar}}
18750
+ ${indent} className={cn("w-full justify-between gap-2", {
18751
+ ${indent} "text-muted-foreground": selectedOptions.length === 0
18752
+ ${indent} })}
18753
+ ${indent} disabled={isPending}
18754
+ ${indent} >
18774
18755
  ${indent} <span className="flex min-w-0 flex-1 items-center gap-2 text-left">
18775
18756
  ${indent} {selectedOptions.length > 0 ? (
18776
18757
  ${indent} <>
@@ -18779,15 +18760,12 @@ ${indent} {visibleSelectedOptions.map((option) => option.
18779
18760
  ${indent} </span>
18780
18761
  ${indent} {hiddenSelectedOptions.length > 0 ? (
18781
18762
  ${indent} <Tooltip>
18782
- ${indent} <TooltipTrigger asChild>
18783
- ${indent} <Badge
18784
- ${indent} variant="outline"
18785
- ${indent} className="h-5 shrink-0 tabular-nums"
18786
- ${indent} >
18763
+ ${indent} <TooltipTrigger
18764
+ ${indent} render={<Badge variant="outline" className="h-5 shrink-0 tabular-nums" />}
18765
+ ${indent} >
18787
18766
  ${indent} {'+'}
18788
18767
  ${indent} {hiddenSelectedOptions.length}{' '}
18789
18768
  ${indent} {hiddenSelectedOptions.length === 1 ? 'other' : 'others'}
18790
- ${indent} </Badge>
18791
18769
  ${indent} </TooltipTrigger>
18792
18770
  ${indent} <TooltipContent align="center" side="bottom" className="max-w-60 w-full">
18793
18771
  ${indent} <div className="space-y-1">
@@ -18806,10 +18784,11 @@ ${indent} <span className="truncate">{${stringify}}</span>
18806
18784
  ${indent} )}
18807
18785
  ${indent} </span>
18808
18786
  ${indent} <ChevronsUpDown className="size-4 shrink-0 opacity-50" />
18809
- ${indent} </Button>
18810
- ${indent} </FormControl>
18811
- ${indent} </PopoverTrigger>
18812
- ${indent} <PopoverContent className="w-(--radix-popover-trigger-width) p-0" align="start">
18787
+ ${indent} </Button>
18788
+ ${indent} </FormControl>
18789
+ ${indent} }
18790
+ ${indent} />
18791
+ ${indent} <PopoverContent className="w-(--anchor-width) p-0" align="start">
18813
18792
  ${indent} <Command>
18814
18793
  ${indent} ${searchInput}
18815
18794
  ${indent} <CommandList>
@@ -20955,10 +20934,8 @@ function renderPageContentActionButtonsTemplate2({
20955
20934
  schemaName,
20956
20935
  singularizeLabel: singularizeLabel2
20957
20936
  }) {
20958
- return `<Button asChild>
20959
- <Link href="${adminRoutePath}/${schemaName}/new">
20960
- Create ${singularizeLabel2}
20961
- </Link>
20937
+ return `<Button render={<Link href="${adminRoutePath}/${schemaName}/new" />}>
20938
+ Create ${singularizeLabel2}
20962
20939
  </Button>`;
20963
20940
  }
20964
20941
  function renderPageContentActionButtonsDetailsTemplate() {
@@ -31692,7 +31669,6 @@ function scaffoldComponents({ cwd, config }) {
31692
31669
  "utils/table/default-get-id.ts",
31693
31670
  "utils/table/is-string.ts",
31694
31671
  "utils/text/text.ts",
31695
- "utils/theme/system.ts",
31696
31672
  "utils/upload/default-remote-accept.ts",
31697
31673
  "utils/upload/dropzone-accept.ts",
31698
31674
  "utils/upload/get-fallback-extension.ts",
@@ -31796,7 +31772,6 @@ function scaffoldComponents({ cwd, config }) {
31796
31772
  write("hooks/use-copy-to-clipboard.ts", readTemplate("hooks/use-copy-to-clipboard.ts"));
31797
31773
  write("hooks/use-dev-mode-integration.ts", readTemplate("hooks/use-dev-mode-integration.ts"));
31798
31774
  write("hooks/use-local-storage.ts", readTemplate("hooks/use-local-storage.ts"));
31799
- write("hooks/use-admin-theme.tsx", readTemplate("hooks/use-admin-theme.tsx"));
31800
31775
  write("hooks/use-audit-log.ts", readTemplate("hooks/use-audit-log.ts"));
31801
31776
  write("hooks/use-users.ts", readTemplate("hooks/use-users.ts"));
31802
31777
  write("hooks/use-webhooks.ts", readTemplate("hooks/use-webhooks.ts"));
@@ -32445,6 +32420,7 @@ function renderCreateNextConfigTemplateImportsTemplate({
32445
32420
 
32446
32421
  const nextConfig: NextConfig = {
32447
32422
  cacheComponents: true,
32423
+ partialPrefetching: true,
32448
32424
  devIndicators: false,
32449
32425
  images: {
32450
32426
  remotePatterns: [
@@ -32906,6 +32882,11 @@ ${propertyIndent}useCache: true,` + updatedContent.slice(experimentalObjectStart
32906
32882
  };
32907
32883
  }
32908
32884
 
32885
+ // adapters/next/init/scaffolders/next-config/ensure-partial-prefetching.ts
32886
+ function ensurePartialPrefetching(content, configObject) {
32887
+ return upsertTopLevelBooleanProperty(content, configObject, "partialPrefetching");
32888
+ }
32889
+
32909
32890
  // adapters/next/init/scaffolders/next-config/resolve-cache-config-mode.ts
32910
32891
  function resolveCacheConfigMode(nextMajorVersion) {
32911
32892
  if (nextMajorVersion >= 16) return "cache-components";
@@ -32945,18 +32926,32 @@ function scaffoldNextConfig({
32945
32926
  if (cacheUpdateResult.unsupported) {
32946
32927
  return { status: "unsupported" };
32947
32928
  }
32948
- const updatedConfigObject = findConfigObject(cacheUpdateResult.content);
32929
+ let updatedContent = cacheUpdateResult.content;
32930
+ let changed = cacheUpdateResult.changed;
32931
+ if (cacheConfigMode === "cache-components") {
32932
+ const cacheConfigObject = findConfigObject(updatedContent);
32933
+ if (!cacheConfigObject) {
32934
+ return { status: "unsupported" };
32935
+ }
32936
+ const partialPrefetchingUpdateResult = ensurePartialPrefetching(
32937
+ updatedContent,
32938
+ cacheConfigObject
32939
+ );
32940
+ if (partialPrefetchingUpdateResult.unsupported) {
32941
+ return { status: "unsupported" };
32942
+ }
32943
+ updatedContent = partialPrefetchingUpdateResult.content;
32944
+ changed ||= partialPrefetchingUpdateResult.changed;
32945
+ }
32946
+ const updatedConfigObject = findConfigObject(updatedContent);
32949
32947
  if (!updatedConfigObject) {
32950
32948
  return { status: "unsupported" };
32951
32949
  }
32952
- const imagesUpdateResult = ensureBetterStartImageHost(
32953
- cacheUpdateResult.content,
32954
- updatedConfigObject
32955
- );
32950
+ const imagesUpdateResult = ensureBetterStartImageHost(updatedContent, updatedConfigObject);
32956
32951
  if (imagesUpdateResult.unsupported) {
32957
32952
  return { status: "unsupported" };
32958
32953
  }
32959
- const changed = cacheUpdateResult.changed || imagesUpdateResult.changed;
32954
+ changed ||= imagesUpdateResult.changed;
32960
32955
  if (!changed) {
32961
32956
  return { status: "already-set" };
32962
32957
  }
@@ -35728,7 +35723,7 @@ async function runInitCommandInternal(name, options, jsonContext) {
35728
35723
  const drizzleConfigPath = path91.join(cwd, "drizzle.config.ts");
35729
35724
  if (!dbFiles.includes("drizzle.config.ts") && fs78.existsSync(drizzleConfigPath)) {
35730
35725
  if (forceMode) {
35731
- const { readNamespacedTemplate } = await import("./read-namespaced-template-EIH2NPDJ.js");
35726
+ const { readNamespacedTemplate } = await import("./read-namespaced-template-TSATYQPP.js");
35732
35727
  fs78.writeFileSync(
35733
35728
  drizzleConfigPath,
35734
35729
  readNamespacedTemplate("drizzle.config.ts", namespace),
@@ -35741,7 +35736,7 @@ async function runInitCommandInternal(name, options, jsonContext) {
35741
35736
  initialValue: true
35742
35737
  });
35743
35738
  if (!p61.isCancel(overwrite) && overwrite) {
35744
- const { readNamespacedTemplate } = await import("./read-namespaced-template-EIH2NPDJ.js");
35739
+ const { readNamespacedTemplate } = await import("./read-namespaced-template-TSATYQPP.js");
35745
35740
  fs78.writeFileSync(
35746
35741
  drizzleConfigPath,
35747
35742
  readNamespacedTemplate("drizzle.config.ts", namespace),
@@ -36435,8 +36430,7 @@ var TEMPLATE_REGISTRY = {
36435
36430
  "dev-mode-plain-code-fallback",
36436
36431
  "dev-mode-types",
36437
36432
  "tabs",
36438
- "use-copy-to-clipboard",
36439
- "use-admin-theme"
36433
+ "use-copy-to-clipboard"
36440
36434
  ]
36441
36435
  },
36442
36436
  "dev-mode-code-mirror": {
@@ -36658,7 +36652,6 @@ var TEMPLATE_REGISTRY = {
36658
36652
  content: () => readTemplate("hooks/content-editor/use-content-editor-source-mode.tsx"),
36659
36653
  dependencies: [
36660
36654
  "media-field",
36661
- "use-admin-theme",
36662
36655
  "markdown-utils",
36663
36656
  "content-editor-source-media-utils",
36664
36657
  "tiptap-utils"
@@ -36788,11 +36781,6 @@ var TEMPLATE_REGISTRY = {
36788
36781
  relPath: "hooks/use-local-storage.ts",
36789
36782
  content: () => readTemplate("hooks/use-local-storage.ts")
36790
36783
  },
36791
- "use-admin-theme": {
36792
- relPath: "hooks/use-admin-theme.tsx",
36793
- content: () => readTemplate("hooks/use-admin-theme.tsx"),
36794
- dependencies: ["theme-system-utils"]
36795
- },
36796
36784
  "use-audit-log": {
36797
36785
  relPath: "hooks/use-audit-log.ts",
36798
36786
  content: () => readTemplate("hooks/use-audit-log.ts"),
@@ -37817,10 +37805,6 @@ var TEMPLATE_REGISTRY = {
37817
37805
  relPath: "utils/text/text.ts",
37818
37806
  content: () => readTemplate("utils/text/text.ts")
37819
37807
  },
37820
- "theme-system-utils": {
37821
- relPath: "utils/theme/system.ts",
37822
- content: () => readTemplate("utils/theme/system.ts")
37823
- },
37824
37808
  "upload-default-remote-accept": {
37825
37809
  relPath: "utils/upload/default-remote-accept.ts",
37826
37810
  content: () => readTemplate("utils/upload/default-remote-accept.ts")
@@ -40263,7 +40247,8 @@ function createAdminShadcnComponentsJson(config) {
40263
40247
  const namespace = resolveAdminNamespace(config.frameworkConfig.next.namespace);
40264
40248
  return {
40265
40249
  $schema: "https://ui.shadcn.com/schema.json",
40266
- style: "new-york",
40250
+ base: "base",
40251
+ style: "maia",
40267
40252
  rsc: true,
40268
40253
  tsx: true,
40269
40254
  tailwind: {