@allbluecn/web-app 0.9.2 → 0.9.4

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 (223) hide show
  1. package/package.json +32 -34
  2. package/src/__tests__/components/reference-inline.test.tsx +1 -1
  3. package/src/components/agents/agents-page.tsx +1 -1
  4. package/src/components/animated-icons/layout-panel-top.tsx +1 -1
  5. package/src/components/auth/auth-layout.tsx +1 -1
  6. package/src/components/knowledge/dialog/knowledge-form-dialog.tsx +1 -1
  7. package/src/components/knowledge/editor/doc-header.tsx +1 -1
  8. package/src/components/knowledge-public/sharers-avatar-group.tsx +1 -1
  9. package/src/components/layout/sidebar-03/__tests__/nav-workspace.test.tsx +1 -1
  10. package/src/components/layout/sidebar-03/app-sidebar.tsx +1 -1
  11. package/src/components/layout/sidebar-03/nav-workspace.tsx +1 -1
  12. package/src/components/layout/sidebar-03/user-menu.tsx +1 -1
  13. package/src/components/magicui/animated-theme-toggler.tsx +1 -1
  14. package/src/components/magicui/grid-pattern.tsx +1 -1
  15. package/src/components/project/create-project-dialog.tsx +1 -1
  16. package/src/components/project/invite-member-dialog.tsx +1 -1
  17. package/src/components/project/project-activity-list.tsx +1 -1
  18. package/src/components/project/project-member-manager.tsx +1 -1
  19. package/src/components/settings/personal-team/account/avatar/notion-avatar.tsx +2 -2
  20. package/src/components/settings/personal-team/team/team-member-list.tsx +1 -1
  21. package/src/components/shadcn-space/blocks/hero-01/header.tsx +1 -1
  22. package/src/components/{ui-shared → shared-kit/auth}/auth-layout.tsx +1 -1
  23. package/src/components/{ui-shared → shared-kit/decorative}/grid-pattern.tsx +1 -1
  24. package/src/components/{ui-shared → shared-kit/dialogs}/name-confirm-dialog.tsx +6 -5
  25. package/src/components/{shared → shared-kit/icons}/__tests__/lucide-curated-icons.test.ts +2 -2
  26. package/src/components/{shared → shared-kit/icons}/__tests__/lucide-icon-data.test.ts +1 -1
  27. package/src/components/{shared → shared-kit/icons}/__tests__/lucide-icon-picker.test.tsx +5 -5
  28. package/src/components/{ui-shared → shared-kit}/index.ts +9 -6
  29. package/src/components/{ui-shared → shared-kit/layout}/layout-panel-top.tsx +1 -1
  30. package/src/components/{ui-shared → shared-kit/navigation}/nav-float-button.tsx +2 -2
  31. package/src/components/{ui-shared → shared-kit/theme}/animated-theme-toggler.tsx +1 -1
  32. package/src/components/story/columns.tsx +1 -1
  33. package/src/components/story/create-story-dialog.tsx +2 -2
  34. package/src/components/story/detail/__tests__/activity-timeline.test.tsx +1 -1
  35. package/src/components/story/detail/activity-timeline.tsx +2 -2
  36. package/src/components/story/detail/comment-item.tsx +1 -1
  37. package/src/components/story/detail/story-detail-body.tsx +2 -2
  38. package/src/components/story/detail/story-detail-toolbar/associated-attachments-panel.tsx +1 -1
  39. package/src/components/story/display/group-resolver.tsx +2 -2
  40. package/src/components/story/filters/applied-filters.tsx +1 -1
  41. package/src/components/story/inline-editors/assignee-editor.tsx +1 -1
  42. package/src/components/story/inline-editors/story-select-dialog.tsx +1 -1
  43. package/src/components/story/relations/story-ref-row.tsx +2 -2
  44. package/src/components/story/story-panel-header.tsx +1 -1
  45. package/src/components/story/story-toolbar.tsx +1 -1
  46. package/src/components/story/transfer-story-popover.tsx +1 -1
  47. package/src/components/story/views/create-view-dialog.tsx +1 -1
  48. package/src/components/story/views/kanban-card.tsx +1 -1
  49. package/src/components/story/views/story-list/index.tsx +1 -1
  50. package/src/components/story/views/story-list/inline-story-creator.tsx +1 -1
  51. package/src/components/tiptap/mindmap/mind-map.tsx +2 -2
  52. package/src/components/tiptap/mindmap/mindmap-fullscreen-dialog.tsx +1 -1
  53. package/src/components/tiptap/node/annotation-node/annotation-node-view.tsx +1 -1
  54. package/src/components/tiptap/node/doc-card-extension.tsx +2 -2
  55. package/src/components/tiptap/notion-like/notion-like-editor-header.tsx +2 -2
  56. package/src/components/tiptap/ui/doc-reference-interaction/doc-reference-interaction.tsx +2 -2
  57. package/src/components/tiptap/ui/mention-dropdown-menu/mention-dropdown-menu.tsx +2 -2
  58. package/src/components/tiptap/ui/reference-dropdown-menu/reference-dropdown-menu.tsx +1 -1
  59. package/src/components/tiptap/ui/slash-dropdown-menu/slash-dropdown-menu.tsx +1 -1
  60. package/src/components/ui/alert-dialog.tsx +216 -1
  61. package/src/components/ui/badge.tsx +66 -1
  62. package/src/components/ui/button.tsx +84 -1
  63. package/src/components/ui/card.tsx +120 -1
  64. package/src/components/ui/checkbox.tsx +50 -1
  65. package/src/components/ui/context-menu.tsx +280 -1
  66. package/src/components/ui/dialog.tsx +183 -1
  67. package/src/components/ui/dropdown-menu.tsx +286 -1
  68. package/src/components/ui/empty.tsx +121 -1
  69. package/src/components/ui/input.tsx +36 -1
  70. package/src/components/ui/label.tsx +39 -1
  71. package/src/components/ui/popover.tsx +106 -1
  72. package/src/components/ui/resizable.tsx +67 -1
  73. package/src/components/ui/select.tsx +207 -1
  74. package/src/components/ui/sidebar.tsx +708 -1
  75. package/src/components/ui/skeleton.tsx +30 -1
  76. package/src/components/ui/sonner.tsx +37 -1
  77. package/src/components/ui/switch.tsx +48 -1
  78. package/src/components/ui/textarea.tsx +35 -1
  79. package/src/components/ui/tooltip.tsx +72 -1
  80. package/src/components/workspace/create-workspace-dialog.tsx +1 -1
  81. package/src/lib/auth/auth-client.ts +1 -1
  82. package/src/lib/changelog/sdk-versions.ts +16 -2
  83. package/src/lib/utils.ts +6 -1
  84. package/src/plugins/core/inspiration/pages/inspiration-page.tsx +1 -1
  85. package/src/plugins/core/inspiration/ui.tsx +1 -1
  86. package/src/plugins/core/prd/components/agent-input.tsx +3 -3
  87. package/src/plugins/core/prd/components/component-editor/collapsible-section.tsx +1 -1
  88. package/src/plugins/core/prd/components/component-editor/content-section.tsx +3 -3
  89. package/src/plugins/core/prd/components/component-editor/style-fields.tsx +3 -3
  90. package/src/plugins/core/prd/components/component-thumbnail.tsx +1 -1
  91. package/src/plugins/core/prd/components/dialog/create-prd-dialog.tsx +3 -3
  92. package/src/plugins/core/prd/components/dialog/prd-detail-client.tsx +4 -4
  93. package/src/plugins/core/prd/components/page-version-panel/components/create-version-dialog.tsx +2 -2
  94. package/src/plugins/core/prd/components/page-version-panel/components/delete-version-dialog.tsx +2 -2
  95. package/src/plugins/core/prd/components/page-version-panel/components/edit-version-dialog.tsx +2 -2
  96. package/src/plugins/core/prd/components/page-version-panel.tsx +9 -9
  97. package/src/plugins/core/prd/components/page-version-tree.tsx +5 -5
  98. package/src/plugins/core/prd/components/prd-agent-panel.tsx +3 -3
  99. package/src/plugins/core/prd/components/prd-comment-review-panel.tsx +7 -7
  100. package/src/plugins/core/prd/components/prd-component-editor-content.tsx +2 -2
  101. package/src/plugins/core/prd/components/prd-dashboard.tsx +8 -8
  102. package/src/plugins/core/prd/components/prd-doc-panel.tsx +2 -2
  103. package/src/plugins/core/prd/components/prd-editor-layout.tsx +4 -4
  104. package/src/plugins/core/prd/components/prd-filter-bar.tsx +1 -1
  105. package/src/plugins/core/prd/components/prd-left-sidebar.tsx +4 -4
  106. package/src/plugins/core/prd/components/prd-navigation.tsx +6 -6
  107. package/src/plugins/core/prd/components/prd-prototype-panel.tsx +2 -2
  108. package/src/plugins/core/prd/components/prd-right-sidebar.tsx +3 -3
  109. package/src/plugins/core/prd/components/prd-share-panel/components/single-version-share-card.tsx +7 -7
  110. package/src/plugins/core/prd/components/prd-share-panel.tsx +10 -10
  111. package/src/plugins/core/prd/components/prd-tree-page-tab.tsx +5 -5
  112. package/src/plugins/core/prd/components/prototype/PrototypeCanvas.tsx +2 -2
  113. package/src/plugins/core/prd/components/restore-version-dialog.tsx +2 -2
  114. package/src/plugins/core/prd/components/share/prd-share-client.tsx +1 -1
  115. package/src/plugins/core/prd/components/share/share-comment-panel.tsx +6 -6
  116. package/src/plugins/core/prd/components/share/share-comment-review-panel.tsx +2 -2
  117. package/src/plugins/core/prd/components/share/share-layout.tsx +1 -1
  118. package/src/plugins/core/prd/components/share/share-nav-bar.tsx +4 -4
  119. package/src/plugins/core/prd/components/share/share-password-gate.tsx +4 -4
  120. package/src/plugins/core/prd/components/share/share-prototype-view.tsx +1 -1
  121. package/src/plugins/core/prd/components/share/share-review-panel.tsx +5 -5
  122. package/src/plugins/core/prd/components/share/share-theme-toggle.tsx +1 -1
  123. package/src/plugins/core/prd/components/share/version-share-client.tsx +1 -1
  124. package/src/plugins/core/prd/pages/prd-detail-page.tsx +2 -2
  125. package/src/plugins/core/prd/pages/share-prd-page.tsx +1 -1
  126. package/src/plugins/core/prd/prd-nav.tsx +1 -1
  127. package/src/plugins/core/tags/nav-tag.tsx +7 -7
  128. package/src/plugins/core/tags/pages/tag-detail-page.tsx +1 -1
  129. package/src/plugins/core/tags/tag-badge.tsx +2 -2
  130. package/src/plugins/core/tags/tag-color-picker.tsx +1 -1
  131. package/src/plugins/core/tags/tag-manager.tsx +6 -6
  132. package/src/plugins/core/tags/tag-selector.tsx +3 -3
  133. package/src/providers/index.tsx +1 -1
  134. package/src/providers/timezone-provider.tsx +1 -1
  135. package/src/routes/_nav/acceptance-criteria/route.tsx +1 -1
  136. package/src/routes/_nav/apps/anyhub/$id/route.tsx +1 -1
  137. package/src/routes/_nav/apps/anyhub/route.tsx +1 -1
  138. package/src/routes/_nav/bugs/route.tsx +1 -1
  139. package/src/routes/_nav/dashboard/-components/avatar-group.tsx +1 -1
  140. package/src/routes/_nav/dashboard/route.lazy.tsx +1 -1
  141. package/src/routes/_nav/knowledge/$kbId/doc/$docId/route.lazy.tsx +1 -1
  142. package/src/routes/_nav/knowledge/index.lazy.tsx +1 -1
  143. package/src/routes/_nav/notion-like/route.tsx +1 -1
  144. package/src/routes/_nav/pricing-02/route.tsx +1 -1
  145. package/src/routes/_nav/projects/$projectId/$storyId/route.lazy.tsx +1 -1
  146. package/src/routes/_nav/projects/$projectId/index.lazy.tsx +3 -3
  147. package/src/routes/_nav/projects/$projectId/iterations/index.lazy.tsx +1 -1
  148. package/src/routes/_nav/projects/$projectId/settings/route.lazy.tsx +3 -3
  149. package/src/routes/_nav/route.lazy.tsx +1 -1
  150. package/src/routes/_nav/settings/general/route.lazy.tsx +1 -1
  151. package/src/routes/_nav/test-cases/route.tsx +1 -1
  152. package/src/routes/_nav/workspaces/$workspaceId/route.lazy.tsx +1 -1
  153. package/src/routes/_nav/workspaces/$workspaceId/settings/route.lazy.tsx +2 -2
  154. package/src/routes/_nav/workspaces/index.lazy.tsx +1 -1
  155. package/src/routes/invite/$token/route.lazy.tsx +1 -1
  156. package/src/server/__tests__/agent-client-graph.test.ts +1 -1
  157. package/src/components/shared/name-confirm-dialog.tsx +0 -1
  158. package/src/components/shared/nav-float-button.tsx +0 -1
  159. package/src/components/shared/placeholder-page.tsx +0 -1
  160. package/src/components/ui-shared/alert-dialog.tsx +0 -216
  161. package/src/components/ui-shared/avatar.tsx +0 -129
  162. package/src/components/ui-shared/badge.tsx +0 -66
  163. package/src/components/ui-shared/button.tsx +0 -84
  164. package/src/components/ui-shared/card.tsx +0 -120
  165. package/src/components/ui-shared/checkbox.tsx +0 -50
  166. package/src/components/ui-shared/context-menu.tsx +0 -280
  167. package/src/components/ui-shared/dialog.tsx +0 -183
  168. package/src/components/ui-shared/dropdown-menu.tsx +0 -286
  169. package/src/components/ui-shared/empty.tsx +0 -121
  170. package/src/components/ui-shared/input.tsx +0 -36
  171. package/src/components/ui-shared/item.tsx +0 -213
  172. package/src/components/ui-shared/kbd.tsx +0 -33
  173. package/src/components/ui-shared/label.tsx +0 -39
  174. package/src/components/ui-shared/popover.tsx +0 -106
  175. package/src/components/ui-shared/resizable.tsx +0 -67
  176. package/src/components/ui-shared/select.tsx +0 -207
  177. package/src/components/ui-shared/separator.tsx +0 -45
  178. package/src/components/ui-shared/sheet.tsx +0 -164
  179. package/src/components/ui-shared/sidebar.tsx +0 -708
  180. package/src/components/ui-shared/skeleton.tsx +0 -30
  181. package/src/components/ui-shared/sonner.tsx +0 -37
  182. package/src/components/ui-shared/switch.tsx +0 -48
  183. package/src/components/ui-shared/textarea.tsx +0 -35
  184. package/src/components/ui-shared/tooltip.tsx +0 -72
  185. package/src/components/ui-shared/utils.ts +0 -6
  186. package/src/lib/utils.d.ts +0 -1
  187. package/src/plugins/.gen-manifest.json +0 -13
  188. package/src/plugins/modules.gen.ts +0 -20
  189. package/src/plugins/plugins.gen.ts +0 -20
  190. package/src/plugins/ui.gen.ts +0 -8
  191. package/src/routes/_nav/inspiration/route.tsx +0 -8
  192. package/src/routes/_nav/prd/$id/route.tsx +0 -9
  193. package/src/routes/_nav/prd/index.tsx +0 -9
  194. package/src/routes/_nav/prd/route.tsx +0 -8
  195. package/src/routes/_nav/tags/$id/route.tsx +0 -8
  196. package/src/routes/_nav/tags/index.tsx +0 -8
  197. package/src/routes/_nav/tags/route.tsx +0 -8
  198. package/src/routes/_nav/tags/settings/route.tsx +0 -9
  199. package/src/routes/share/prd/$prdId/route.tsx +0 -10
  200. package/src/types/open-file-viewer.d.ts +0 -14
  201. /package/src/components/{ui-shared → shared-kit/ai}/ai-command-button.tsx +0 -0
  202. /package/src/components/{ui-shared → shared-kit/ai}/ai-stream-text.tsx +0 -0
  203. /package/src/components/{ui-shared → shared-kit/auth}/auth-client.ts +0 -0
  204. /package/src/components/{ui-shared → shared-kit/avatars}/notion-avatar.tsx +0 -0
  205. /package/src/components/{ui-shared → shared-kit/avatars}/user-avatar.tsx +0 -0
  206. /package/src/components/{shared → shared-kit/data-viz}/contribution-graph-tooltip.tsx +0 -0
  207. /package/src/components/{shared → shared-kit/dev}/component-preview.tsx +0 -0
  208. /package/src/components/{ui-shared → shared-kit/hooks}/use-mobile.ts +0 -0
  209. /package/src/components/{shared → shared-kit/i18n}/language-switcher.tsx +0 -0
  210. /package/src/components/{shared → shared-kit/i18n}/translator-text.tsx +0 -0
  211. /package/src/components/{shared → shared-kit/icons}/lucide-icon-picker/curated-icons.ts +0 -0
  212. /package/src/components/{shared → shared-kit/icons}/lucide-icon-picker/icon-data.ts +0 -0
  213. /package/src/components/{shared → shared-kit/icons}/lucide-icon-picker/index.tsx +0 -0
  214. /package/src/components/{shared → shared-kit/icons}/lucide-icon-picker/lucide-icon-by-name.tsx +0 -0
  215. /package/src/components/{shared → shared-kit/icons}/lucide-icon-picker/panel.tsx +0 -0
  216. /package/src/components/{shared → shared-kit/loading}/wave-physics-loader.tsx +0 -0
  217. /package/src/components/{ui-shared → shared-kit/pages}/placeholder-page.tsx +0 -0
  218. /package/src/components/{ui-shared → shared-kit/reference}/reference-inline.tsx +0 -0
  219. /package/src/components/{ui-shared → shared-kit/reference}/reference-search.tsx +0 -0
  220. /package/src/components/{shared → shared-kit/theme}/theme-toggle.tsx +0 -0
  221. /package/src/components/{shared → shared-kit/timezone}/timezone-bootstrap.tsx +0 -0
  222. /package/src/components/{ui-shared → shared-kit/timezone}/timezone-provider.tsx +0 -0
  223. /package/src/components/{shared → shared-kit/timezone}/timezone-select.tsx +0 -0
@@ -1,45 +0,0 @@
1
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
- // AllBlue - 理想之海
3
- // Copyright (C) 2026 AllBlue Contributors
4
- //
5
- // This program is free software: you can redistribute it and/or modify
6
- // it under the terms of the GNU Affero General Public License as published by
7
- // the Free Software Foundation, either version 3 of the License, or
8
- // (at your option) any later version.
9
- //
10
- // This program is distributed in the hope that it will be useful,
11
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- // GNU Affero General Public License for more details.
14
- //
15
- // You should have received a copy of the GNU Affero General Public License
16
- // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
-
18
- "use client"
19
-
20
- import * as React from "react"
21
- import { Separator as SeparatorPrimitive } from "radix-ui"
22
-
23
- import { cn } from "./utils"
24
-
25
- function Separator({
26
- className,
27
- orientation = "horizontal",
28
- decorative = true,
29
- ...props
30
- }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
31
- return (
32
- <SeparatorPrimitive.Root
33
- data-slot="separator"
34
- decorative={decorative}
35
- orientation={orientation}
36
- className={cn(
37
- "shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
38
- className
39
- )}
40
- {...props}
41
- />
42
- )
43
- }
44
-
45
- export { Separator }
@@ -1,164 +0,0 @@
1
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
- // AllBlue - 理想之海
3
- // Copyright (C) 2026 AllBlue Contributors
4
- //
5
- // This program is free software: you can redistribute it and/or modify
6
- // it under the terms of the GNU Affero General Public License as published by
7
- // the Free Software Foundation, either version 3 of the License, or
8
- // (at your option) any later version.
9
- //
10
- // This program is distributed in the hope that it will be useful,
11
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- // GNU Affero General Public License for more details.
14
- //
15
- // You should have received a copy of the GNU Affero General Public License
16
- // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
-
18
- "use client"
19
-
20
- import * as React from "react"
21
- import { Dialog as SheetPrimitive } from "radix-ui"
22
-
23
- import { cn } from "./utils"
24
- import { Button } from "./button"
25
- import { XIcon } from "lucide-react"
26
-
27
- function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {
28
- return <SheetPrimitive.Root data-slot="sheet" {...props} />
29
- }
30
-
31
- function SheetTrigger({
32
- ...props
33
- }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {
34
- return <SheetPrimitive.Trigger data-slot="sheet-trigger" {...props} />
35
- }
36
-
37
- function SheetClose({
38
- ...props
39
- }: React.ComponentProps<typeof SheetPrimitive.Close>) {
40
- return <SheetPrimitive.Close data-slot="sheet-close" {...props} />
41
- }
42
-
43
- function SheetPortal({
44
- ...props
45
- }: React.ComponentProps<typeof SheetPrimitive.Portal>) {
46
- return <SheetPrimitive.Portal data-slot="sheet-portal" {...props} />
47
- }
48
-
49
- function SheetOverlay({
50
- className,
51
- ...props
52
- }: React.ComponentProps<typeof SheetPrimitive.Overlay>) {
53
- return (
54
- <SheetPrimitive.Overlay
55
- data-slot="sheet-overlay"
56
- className={cn(
57
- "fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
58
- className
59
- )}
60
- {...props}
61
- />
62
- )
63
- }
64
-
65
- function SheetContent({
66
- className,
67
- children,
68
- side = "right",
69
- showCloseButton = true,
70
- ...props
71
- }: React.ComponentProps<typeof SheetPrimitive.Content> & {
72
- side?: "top" | "right" | "bottom" | "left"
73
- showCloseButton?: boolean
74
- }) {
75
- return (
76
- <SheetPortal>
77
- <SheetOverlay />
78
- <SheetPrimitive.Content
79
- data-slot="sheet-content"
80
- data-side={side}
81
- className={cn(
82
- "fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",
83
- className
84
- )}
85
- {...props}
86
- >
87
- {children}
88
- {showCloseButton && (
89
- <SheetPrimitive.Close data-slot="sheet-close" asChild>
90
- <Button
91
- variant="ghost"
92
- className="absolute top-3 right-3"
93
- size="icon-sm"
94
- >
95
- <XIcon
96
- />
97
- <span className="sr-only">Close</span>
98
- </Button>
99
- </SheetPrimitive.Close>
100
- )}
101
- </SheetPrimitive.Content>
102
- </SheetPortal>
103
- )
104
- }
105
-
106
- function SheetHeader({ className, ...props }: React.ComponentProps<"div">) {
107
- return (
108
- <div
109
- data-slot="sheet-header"
110
- className={cn("flex flex-col gap-0.5 p-4", className)}
111
- {...props}
112
- />
113
- )
114
- }
115
-
116
- function SheetFooter({ className, ...props }: React.ComponentProps<"div">) {
117
- return (
118
- <div
119
- data-slot="sheet-footer"
120
- className={cn("mt-auto flex flex-col gap-2 p-4", className)}
121
- {...props}
122
- />
123
- )
124
- }
125
-
126
- function SheetTitle({
127
- className,
128
- ...props
129
- }: React.ComponentProps<typeof SheetPrimitive.Title>) {
130
- return (
131
- <SheetPrimitive.Title
132
- data-slot="sheet-title"
133
- className={cn(
134
- "text-base font-medium text-foreground",
135
- className
136
- )}
137
- {...props}
138
- />
139
- )
140
- }
141
-
142
- function SheetDescription({
143
- className,
144
- ...props
145
- }: React.ComponentProps<typeof SheetPrimitive.Description>) {
146
- return (
147
- <SheetPrimitive.Description
148
- data-slot="sheet-description"
149
- className={cn("text-sm text-muted-foreground", className)}
150
- {...props}
151
- />
152
- )
153
- }
154
-
155
- export {
156
- Sheet,
157
- SheetTrigger,
158
- SheetClose,
159
- SheetContent,
160
- SheetHeader,
161
- SheetFooter,
162
- SheetTitle,
163
- SheetDescription,
164
- }