@interactive-inc/docs-client 0.0.1 → 0.0.2

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 (87) hide show
  1. package/build/index.html +13 -0
  2. package/package.json +5 -2
  3. package/.tanstack/tmp/router-generator-Eq20Yx/50b11a0f488e61cf92364a7e585c1448 +0 -123
  4. package/.tanstack/tmp/router-generator-KQIYSa/aecb094e4891f9475b91de590abc8809 +0 -117
  5. package/.tanstack/tmp/router-generator-ekW2pI/aecb094e4891f9475b91de590abc8809 +0 -117
  6. package/app/components/archived-file-list-view.tsx +0 -99
  7. package/app/components/directory-file-list-view.tsx +0 -32
  8. package/app/components/directory-file-tree-node.tsx +0 -96
  9. package/app/components/directory-layout-sidebar.tsx +0 -181
  10. package/app/components/directory-page-view.tsx +0 -208
  11. package/app/components/directory-table-view.tsx +0 -383
  12. package/app/components/editable-table-cell/boolean-editable-cell.tsx +0 -44
  13. package/app/components/editable-table-cell/multi-boolean-editable-cell.tsx +0 -59
  14. package/app/components/editable-table-cell/multi-number-editable-cell.tsx +0 -62
  15. package/app/components/editable-table-cell/multi-relation-editable-cell.tsx +0 -19
  16. package/app/components/editable-table-cell/multi-select-number-editable-cell.tsx +0 -82
  17. package/app/components/editable-table-cell/multi-select-text-editable-cell.tsx +0 -82
  18. package/app/components/editable-table-cell/multi-text-editable-cell.tsx +0 -62
  19. package/app/components/editable-table-cell/number-editable-cell.tsx +0 -54
  20. package/app/components/editable-table-cell/relation-editable-cell.tsx +0 -20
  21. package/app/components/editable-table-cell/select-number-editable-cell.tsx +0 -43
  22. package/app/components/editable-table-cell/select-text-editable-cell.tsx +0 -33
  23. package/app/components/editable-table-cell/string-editable-cell.tsx +0 -42
  24. package/app/components/editable-table-cell.tsx +0 -129
  25. package/app/components/file-card.tsx +0 -120
  26. package/app/components/file-tree-icon.tsx +0 -26
  27. package/app/components/file-view/archive-restore-banner.tsx +0 -86
  28. package/app/components/file-view/csv-file-view.tsx +0 -50
  29. package/app/components/file-view/default-file-view.tsx +0 -11
  30. package/app/components/file-view/editable-csv-cell.tsx +0 -37
  31. package/app/components/file-view/editable-front-matter-view.tsx +0 -105
  32. package/app/components/file-view/file-csv-columns-view.tsx +0 -181
  33. package/app/components/file-view/file-csv-table.tsx +0 -142
  34. package/app/components/file-view/file-header.tsx +0 -115
  35. package/app/components/file-view/file-page-view.tsx +0 -165
  36. package/app/components/file-view/front-matter-input-field.tsx +0 -157
  37. package/app/components/file-view/front-matter-view.tsx +0 -30
  38. package/app/components/file-view/json-file-editor.tsx +0 -38
  39. package/app/components/file-view/markdown-file-view.tsx +0 -71
  40. package/app/components/file-view/multi-relation-select.tsx +0 -129
  41. package/app/components/file-view/render-front-matter-value.tsx +0 -57
  42. package/app/components/file-view/single-relation-select.tsx +0 -41
  43. package/app/components/file-view/sortable-csv-row.tsx +0 -57
  44. package/app/components/file-view/sortable-header.tsx +0 -30
  45. package/app/components/file-view/utils.ts +0 -8
  46. package/app/components/milestones-editor.tsx +0 -95
  47. package/app/components/page-header.tsx +0 -20
  48. package/app/components/project-view/feature-item.tsx +0 -139
  49. package/app/components/project-view/project-page-group.tsx +0 -125
  50. package/app/components/project-view/project-view.tsx +0 -230
  51. package/app/components/project-view/unlinked-features-section.tsx +0 -73
  52. package/app/components/providers.tsx +0 -21
  53. package/app/components/reload-button.tsx +0 -25
  54. package/app/components/sidebar-button.tsx +0 -13
  55. package/app/components/ui/alert.tsx +0 -66
  56. package/app/components/ui/badge.tsx +0 -46
  57. package/app/components/ui/button.tsx +0 -59
  58. package/app/components/ui/card.tsx +0 -92
  59. package/app/components/ui/dialog.tsx +0 -133
  60. package/app/components/ui/emoji-picker.tsx +0 -133
  61. package/app/components/ui/icons.tsx +0 -3
  62. package/app/components/ui/input.tsx +0 -21
  63. package/app/components/ui/select.tsx +0 -183
  64. package/app/components/ui/separator.tsx +0 -26
  65. package/app/components/ui/sheet.tsx +0 -137
  66. package/app/components/ui/sidebar.tsx +0 -724
  67. package/app/components/ui/simple-sidebar.tsx +0 -50
  68. package/app/components/ui/skeleton.tsx +0 -13
  69. package/app/components/ui/sonner.tsx +0 -23
  70. package/app/components/ui/table.tsx +0 -114
  71. package/app/components/ui/tabs.tsx +0 -53
  72. package/app/components/ui/textarea.tsx +0 -18
  73. package/app/components/ui/tooltip.tsx +0 -59
  74. package/app/components/vscode-button.tsx +0 -23
  75. package/app/hooks/use-directory-query.ts +0 -22
  76. package/app/hooks/use-file-properties-mutation.ts +0 -38
  77. package/app/hooks/use-file-query.ts +0 -21
  78. package/app/hooks/use-mobile.ts +0 -19
  79. package/app/main.css +0 -122
  80. package/app/main.tsx +0 -38
  81. package/app/routes/$.index.tsx +0 -25
  82. package/app/routes/$.tsx +0 -20
  83. package/app/routes/__root.tsx +0 -20
  84. package/app/routes/_index.tsx +0 -17
  85. package/app/routes/apps.client.$.tsx +0 -21
  86. package/components.json +0 -21
  87. package/tsconfig.index.json +0 -17
@@ -1,92 +0,0 @@
1
- import type * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- function Card({ className, ...props }: React.ComponentProps<"div">) {
6
- return (
7
- <div
8
- data-slot="card"
9
- className={cn(
10
- "flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",
11
- className,
12
- )}
13
- {...props}
14
- />
15
- )
16
- }
17
-
18
- function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
19
- return (
20
- <div
21
- data-slot="card-header"
22
- className={cn(
23
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
24
- className,
25
- )}
26
- {...props}
27
- />
28
- )
29
- }
30
-
31
- function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
32
- return (
33
- <div
34
- data-slot="card-title"
35
- className={cn("font-semibold leading-none", className)}
36
- {...props}
37
- />
38
- )
39
- }
40
-
41
- function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
42
- return (
43
- <div
44
- data-slot="card-description"
45
- className={cn("text-muted-foreground text-sm", className)}
46
- {...props}
47
- />
48
- )
49
- }
50
-
51
- function CardAction({ className, ...props }: React.ComponentProps<"div">) {
52
- return (
53
- <div
54
- data-slot="card-action"
55
- className={cn(
56
- "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
57
- className,
58
- )}
59
- {...props}
60
- />
61
- )
62
- }
63
-
64
- function CardContent({ className, ...props }: React.ComponentProps<"div">) {
65
- return (
66
- <div
67
- data-slot="card-content"
68
- className={cn("px-6", className)}
69
- {...props}
70
- />
71
- )
72
- }
73
-
74
- function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
75
- return (
76
- <div
77
- data-slot="card-footer"
78
- className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
79
- {...props}
80
- />
81
- )
82
- }
83
-
84
- export {
85
- Card,
86
- CardHeader,
87
- CardFooter,
88
- CardTitle,
89
- CardAction,
90
- CardDescription,
91
- CardContent,
92
- }
@@ -1,133 +0,0 @@
1
- import { XIcon } from "lucide-react"
2
- import { Dialog as DialogPrimitive } from "radix-ui"
3
- import type * as React from "react"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- function Dialog({
8
- ...props
9
- }: React.ComponentProps<typeof DialogPrimitive.Root>) {
10
- return <DialogPrimitive.Root data-slot="dialog" {...props} />
11
- }
12
-
13
- function DialogTrigger({
14
- ...props
15
- }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {
16
- return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />
17
- }
18
-
19
- function DialogPortal({
20
- ...props
21
- }: React.ComponentProps<typeof DialogPrimitive.Portal>) {
22
- return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />
23
- }
24
-
25
- function DialogClose({
26
- ...props
27
- }: React.ComponentProps<typeof DialogPrimitive.Close>) {
28
- return <DialogPrimitive.Close data-slot="dialog-close" {...props} />
29
- }
30
-
31
- function DialogOverlay({
32
- className,
33
- ...props
34
- }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
35
- return (
36
- <DialogPrimitive.Overlay
37
- data-slot="dialog-overlay"
38
- className={cn(
39
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in",
40
- className,
41
- )}
42
- {...props}
43
- />
44
- )
45
- }
46
-
47
- function DialogContent({
48
- className,
49
- children,
50
- ...props
51
- }: React.ComponentProps<typeof DialogPrimitive.Content>) {
52
- return (
53
- <DialogPortal data-slot="dialog-portal">
54
- <DialogOverlay />
55
- <DialogPrimitive.Content
56
- data-slot="dialog-content"
57
- className={cn(
58
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg",
59
- className,
60
- )}
61
- {...props}
62
- >
63
- {children}
64
- <DialogPrimitive.Close className="absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0">
65
- <XIcon />
66
- <span className="sr-only">Close</span>
67
- </DialogPrimitive.Close>
68
- </DialogPrimitive.Content>
69
- </DialogPortal>
70
- )
71
- }
72
-
73
- function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
74
- return (
75
- <div
76
- data-slot="dialog-header"
77
- className={cn("flex flex-col gap-2 text-center sm:text-left", className)}
78
- {...props}
79
- />
80
- )
81
- }
82
-
83
- function DialogFooter({ className, ...props }: React.ComponentProps<"div">) {
84
- return (
85
- <div
86
- data-slot="dialog-footer"
87
- className={cn(
88
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
89
- className,
90
- )}
91
- {...props}
92
- />
93
- )
94
- }
95
-
96
- function DialogTitle({
97
- className,
98
- ...props
99
- }: React.ComponentProps<typeof DialogPrimitive.Title>) {
100
- return (
101
- <DialogPrimitive.Title
102
- data-slot="dialog-title"
103
- className={cn("font-semibold text-lg leading-none", className)}
104
- {...props}
105
- />
106
- )
107
- }
108
-
109
- function DialogDescription({
110
- className,
111
- ...props
112
- }: React.ComponentProps<typeof DialogPrimitive.Description>) {
113
- return (
114
- <DialogPrimitive.Description
115
- data-slot="dialog-description"
116
- className={cn("text-muted-foreground text-sm", className)}
117
- {...props}
118
- />
119
- )
120
- }
121
-
122
- export {
123
- Dialog,
124
- DialogClose,
125
- DialogContent,
126
- DialogDescription,
127
- DialogFooter,
128
- DialogHeader,
129
- DialogOverlay,
130
- DialogPortal,
131
- DialogTitle,
132
- DialogTrigger,
133
- }
@@ -1,133 +0,0 @@
1
- import { useState } from "react"
2
- import { Button } from "@/components/ui/button"
3
- import {
4
- Dialog,
5
- DialogContent,
6
- DialogTitle,
7
- DialogTrigger,
8
- } from "@/components/ui/dialog"
9
-
10
- type Props = {
11
- currentIcon?: string
12
- onIconSelect: (icon: string) => void
13
- }
14
-
15
- const EMOJI_LIST = [
16
- "📁",
17
- "📂",
18
- "📄",
19
- "📝",
20
- "📊",
21
- "📈",
22
- "📉",
23
- "📋",
24
- "📌",
25
- "📍",
26
- "🏠",
27
- "🏢",
28
- "🏪",
29
- "🏬",
30
- "🏭",
31
- "🏯",
32
- "🏰",
33
- "🏳️",
34
- "🏴",
35
- "🏁",
36
- "⚡",
37
- "🔥",
38
- "💧",
39
- "🌱",
40
- "🌟",
41
- "⭐",
42
- "🎯",
43
- "🎪",
44
- "🎭",
45
- "🎨",
46
- "🔧",
47
- "🔨",
48
- "⚙️",
49
- "🔩",
50
- "⚖️",
51
- "🔬",
52
- "💻",
53
- "📱",
54
- "🖥️",
55
- "⌨️",
56
- "💡",
57
- "🔑",
58
- "🗝️",
59
- "🔒",
60
- "🔓",
61
- "🔐",
62
- "🛡️",
63
- "⚔️",
64
- "🏹",
65
- "🎣",
66
- "📚",
67
- "📖",
68
- "📗",
69
- "📘",
70
- "📙",
71
- "📓",
72
- "📔",
73
- "📒",
74
- "📰",
75
- "📜",
76
- "🎵",
77
- "🎶",
78
- "🎤",
79
- "🎧",
80
- "🎸",
81
- "🎹",
82
- "🥁",
83
- "🎺",
84
- "🎷",
85
- "🎻",
86
- "🎮",
87
- "🕹️",
88
- "🎲",
89
- "♠️",
90
- "♥️",
91
- "♦️",
92
- "♣️",
93
- "🃏",
94
- "🀄",
95
- "📦",
96
- ]
97
-
98
- export function EmojiPicker(props: Props) {
99
- const [open, setOpen] = useState(false)
100
-
101
- const handleEmojiSelect = (emoji: string) => {
102
- props.onIconSelect(emoji)
103
- setOpen(false)
104
- }
105
-
106
- return (
107
- <Dialog open={open} onOpenChange={setOpen}>
108
- <DialogTrigger asChild>
109
- <Button variant="outline" size="icon">
110
- {props.currentIcon || "📁"}
111
- </Button>
112
- </DialogTrigger>
113
- <DialogContent className="max-w-md">
114
- <DialogTitle>アイコンを選択</DialogTitle>
115
- <div className="space-y-4">
116
- <div className="grid max-h-64 grid-cols-10 gap-2 overflow-y-auto">
117
- {EMOJI_LIST.map((emoji) => (
118
- <Button
119
- key={emoji}
120
- variant="ghost"
121
- size="sm"
122
- className="h-8 w-8 p-0"
123
- onClick={() => handleEmojiSelect(emoji)}
124
- >
125
- {emoji}
126
- </Button>
127
- ))}
128
- </div>
129
- </div>
130
- </DialogContent>
131
- </Dialog>
132
- )
133
- }
@@ -1,3 +0,0 @@
1
- import { ArrowDown, ArrowUp, Edit, Plus, Save, Trash, X } from "lucide-react"
2
-
3
- export { ArrowDown, ArrowUp, Edit, Plus, Save, Trash, X }
@@ -1,21 +0,0 @@
1
- import type * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- function Input({ className, type, ...props }: React.ComponentProps<"input">) {
6
- return (
7
- <input
8
- type={type}
9
- data-slot="input"
10
- className={cn(
11
- "flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30",
12
- "focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
13
- "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",
14
- className,
15
- )}
16
- {...props}
17
- />
18
- )
19
- }
20
-
21
- export { Input }
@@ -1,183 +0,0 @@
1
- import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"
2
- import { Select as SelectPrimitive } from "radix-ui"
3
- import type * as React from "react"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- function Select({
8
- ...props
9
- }: React.ComponentProps<typeof SelectPrimitive.Root>) {
10
- return <SelectPrimitive.Root data-slot="select" {...props} />
11
- }
12
-
13
- function SelectGroup({
14
- ...props
15
- }: React.ComponentProps<typeof SelectPrimitive.Group>) {
16
- return <SelectPrimitive.Group data-slot="select-group" {...props} />
17
- }
18
-
19
- function SelectValue({
20
- ...props
21
- }: React.ComponentProps<typeof SelectPrimitive.Value>) {
22
- return <SelectPrimitive.Value data-slot="select-value" {...props} />
23
- }
24
-
25
- function SelectTrigger({
26
- className,
27
- size = "default",
28
- children,
29
- ...props
30
- }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
31
- size?: "sm" | "default"
32
- }) {
33
- return (
34
- <SelectPrimitive.Trigger
35
- data-slot="select-trigger"
36
- data-size={size}
37
- className={cn(
38
- "flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[size=default]:h-9 data-[size=sm]:h-8 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:hover:bg-input/50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
39
- className,
40
- )}
41
- {...props}
42
- >
43
- {children}
44
- <SelectPrimitive.Icon asChild>
45
- <ChevronDownIcon className="size-4 opacity-50" />
46
- </SelectPrimitive.Icon>
47
- </SelectPrimitive.Trigger>
48
- )
49
- }
50
-
51
- function SelectContent({
52
- className,
53
- children,
54
- position = "popper",
55
- ...props
56
- }: React.ComponentProps<typeof SelectPrimitive.Content>) {
57
- return (
58
- <SelectPrimitive.Portal>
59
- <SelectPrimitive.Content
60
- data-slot="select-content"
61
- className={cn(
62
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in",
63
- position === "popper" &&
64
- "data-[side=left]:-translate-x-1 data-[side=top]:-translate-y-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1",
65
- className,
66
- )}
67
- position={position}
68
- {...props}
69
- >
70
- <SelectScrollUpButton />
71
- <SelectPrimitive.Viewport
72
- className={cn(
73
- "p-1",
74
- position === "popper" &&
75
- "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1",
76
- )}
77
- >
78
- {children}
79
- </SelectPrimitive.Viewport>
80
- <SelectScrollDownButton />
81
- </SelectPrimitive.Content>
82
- </SelectPrimitive.Portal>
83
- )
84
- }
85
-
86
- function SelectLabel({
87
- className,
88
- ...props
89
- }: React.ComponentProps<typeof SelectPrimitive.Label>) {
90
- return (
91
- <SelectPrimitive.Label
92
- data-slot="select-label"
93
- className={cn("px-2 py-1.5 text-muted-foreground text-xs", className)}
94
- {...props}
95
- />
96
- )
97
- }
98
-
99
- function SelectItem({
100
- className,
101
- children,
102
- ...props
103
- }: React.ComponentProps<typeof SelectPrimitive.Item>) {
104
- return (
105
- <SelectPrimitive.Item
106
- data-slot="select-item"
107
- className={cn(
108
- "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
109
- className,
110
- )}
111
- {...props}
112
- >
113
- <span className="absolute right-2 flex size-3.5 items-center justify-center">
114
- <SelectPrimitive.ItemIndicator>
115
- <CheckIcon className="size-4" />
116
- </SelectPrimitive.ItemIndicator>
117
- </span>
118
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
119
- </SelectPrimitive.Item>
120
- )
121
- }
122
-
123
- function SelectSeparator({
124
- className,
125
- ...props
126
- }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
127
- return (
128
- <SelectPrimitive.Separator
129
- data-slot="select-separator"
130
- className={cn("-mx-1 pointer-events-none my-1 h-px bg-border", className)}
131
- {...props}
132
- />
133
- )
134
- }
135
-
136
- function SelectScrollUpButton({
137
- className,
138
- ...props
139
- }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
140
- return (
141
- <SelectPrimitive.ScrollUpButton
142
- data-slot="select-scroll-up-button"
143
- className={cn(
144
- "flex cursor-default items-center justify-center py-1",
145
- className,
146
- )}
147
- {...props}
148
- >
149
- <ChevronUpIcon className="size-4" />
150
- </SelectPrimitive.ScrollUpButton>
151
- )
152
- }
153
-
154
- function SelectScrollDownButton({
155
- className,
156
- ...props
157
- }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
158
- return (
159
- <SelectPrimitive.ScrollDownButton
160
- data-slot="select-scroll-down-button"
161
- className={cn(
162
- "flex cursor-default items-center justify-center py-1",
163
- className,
164
- )}
165
- {...props}
166
- >
167
- <ChevronDownIcon className="size-4" />
168
- </SelectPrimitive.ScrollDownButton>
169
- )
170
- }
171
-
172
- export {
173
- Select,
174
- SelectContent,
175
- SelectGroup,
176
- SelectItem,
177
- SelectLabel,
178
- SelectScrollDownButton,
179
- SelectScrollUpButton,
180
- SelectSeparator,
181
- SelectTrigger,
182
- SelectValue,
183
- }
@@ -1,26 +0,0 @@
1
- import { Separator as SeparatorPrimitive } from "radix-ui"
2
- import type * as React from "react"
3
-
4
- import { cn } from "@/lib/utils"
5
-
6
- function Separator({
7
- className,
8
- orientation = "horizontal",
9
- decorative = true,
10
- ...props
11
- }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
12
- return (
13
- <SeparatorPrimitive.Root
14
- data-slot="separator-root"
15
- decorative={decorative}
16
- orientation={orientation}
17
- className={cn(
18
- "shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px",
19
- className,
20
- )}
21
- {...props}
22
- />
23
- )
24
- }
25
-
26
- export { Separator }