@health-samurai/react-components 0.0.0-alpha.1 → 0.0.0-alpha.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 (217) hide show
  1. package/dist/bundle.css +100 -7
  2. package/dist/src/components/code-editor/index.js +53 -29
  3. package/dist/src/components/code-editor/index.js.map +1 -1
  4. package/dist/src/components/code-editor.stories.js +22 -7
  5. package/dist/src/components/code-editor.stories.js.map +1 -1
  6. package/dist/src/components/copy-icon.js +11 -4
  7. package/dist/src/components/copy-icon.js.map +1 -1
  8. package/dist/src/components/request-line-editor.js +56 -14
  9. package/dist/src/components/request-line-editor.js.map +1 -1
  10. package/dist/src/components/request-line-editor.stories.js +71 -22
  11. package/dist/src/components/request-line-editor.stories.js.map +1 -1
  12. package/dist/src/global.d.js +2 -0
  13. package/dist/src/global.d.js.map +1 -0
  14. package/dist/src/index.css +6 -0
  15. package/dist/src/index.d.ts +1 -0
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +52 -50
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/index.stories.js +8 -5
  20. package/dist/src/index.stories.js.map +1 -1
  21. package/dist/src/shadcn/components/ui/accordion.js +34 -5
  22. package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
  23. package/dist/src/shadcn/components/ui/accordion.stories.js +68 -3
  24. package/dist/src/shadcn/components/ui/accordion.stories.js.map +1 -1
  25. package/dist/src/shadcn/components/ui/alert-dialog.js +61 -14
  26. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
  27. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +39 -4
  28. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
  29. package/dist/src/shadcn/components/ui/alert.js +24 -8
  30. package/dist/src/shadcn/components/ui/alert.js.map +1 -1
  31. package/dist/src/shadcn/components/ui/alert.stories.js +57 -3
  32. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
  33. package/dist/src/shadcn/components/ui/aspect-ratio.js +5 -1
  34. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
  35. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js +12 -3
  36. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js.map +1 -1
  37. package/dist/src/shadcn/components/ui/avatar.js +17 -4
  38. package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
  39. package/dist/src/shadcn/components/ui/avatar.stories.js +69 -3
  40. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
  41. package/dist/src/shadcn/components/ui/badge.js +13 -6
  42. package/dist/src/shadcn/components/ui/badge.js.map +1 -1
  43. package/dist/src/shadcn/components/ui/badge.stories.js +55 -3
  44. package/dist/src/shadcn/components/ui/badge.stories.js.map +1 -1
  45. package/dist/src/shadcn/components/ui/breadcrumb.js +56 -11
  46. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
  47. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +69 -4
  48. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
  49. package/dist/src/shadcn/components/ui/button.js +23 -13
  50. package/dist/src/shadcn/components/ui/button.js.map +1 -1
  51. package/dist/src/shadcn/components/ui/button.stories.js +190 -10
  52. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
  53. package/dist/src/shadcn/components/ui/calendar.js +75 -33
  54. package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
  55. package/dist/src/shadcn/components/ui/calendar.stories.js +12 -5
  56. package/dist/src/shadcn/components/ui/calendar.stories.js.map +1 -1
  57. package/dist/src/shadcn/components/ui/card.js +38 -9
  58. package/dist/src/shadcn/components/ui/card.js.map +1 -1
  59. package/dist/src/shadcn/components/ui/card.stories.js +91 -6
  60. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
  61. package/dist/src/shadcn/components/ui/carousel.js +99 -39
  62. package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
  63. package/dist/src/shadcn/components/ui/carousel.stories.js +30 -6
  64. package/dist/src/shadcn/components/ui/carousel.stories.js.map +1 -1
  65. package/dist/src/shadcn/components/ui/chart.js +118 -55
  66. package/dist/src/shadcn/components/ui/chart.js.map +1 -1
  67. package/dist/src/shadcn/components/ui/chart.stories.js +72 -12
  68. package/dist/src/shadcn/components/ui/chart.stories.js.map +1 -1
  69. package/dist/src/shadcn/components/ui/checkbox.js +14 -2
  70. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
  71. package/dist/src/shadcn/components/ui/checkbox.stories.js +79 -4
  72. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
  73. package/dist/src/shadcn/components/ui/collapsible.js +13 -3
  74. package/dist/src/shadcn/components/ui/collapsible.js.map +1 -1
  75. package/dist/src/shadcn/components/ui/collapsible.stories.js +54 -6
  76. package/dist/src/shadcn/components/ui/collapsible.stories.js.map +1 -1
  77. package/dist/src/shadcn/components/ui/command.js +77 -12
  78. package/dist/src/shadcn/components/ui/command.js.map +1 -1
  79. package/dist/src/shadcn/components/ui/command.stories.js +88 -4
  80. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
  81. package/dist/src/shadcn/components/ui/context-menu.js +106 -17
  82. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
  83. package/dist/src/shadcn/components/ui/context-menu.stories.js +101 -3
  84. package/dist/src/shadcn/components/ui/context-menu.stories.js.map +1 -1
  85. package/dist/src/shadcn/components/ui/dialog.js +69 -12
  86. package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
  87. package/dist/src/shadcn/components/ui/dialog.stories.js +82 -6
  88. package/dist/src/shadcn/components/ui/dialog.stories.js.map +1 -1
  89. package/dist/src/shadcn/components/ui/drawer.js +61 -12
  90. package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
  91. package/dist/src/shadcn/components/ui/drawer.stories.js +154 -21
  92. package/dist/src/shadcn/components/ui/drawer.stories.js.map +1 -1
  93. package/dist/src/shadcn/components/ui/dropdown-menu.js +107 -17
  94. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
  95. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +119 -4
  96. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
  97. package/dist/src/shadcn/components/ui/form.js +58 -18
  98. package/dist/src/shadcn/components/ui/form.js.map +1 -1
  99. package/dist/src/shadcn/components/ui/form.stories.js +45 -11
  100. package/dist/src/shadcn/components/ui/form.stories.js.map +1 -1
  101. package/dist/src/shadcn/components/ui/hover-card.js +20 -4
  102. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
  103. package/dist/src/shadcn/components/ui/hover-card.stories.js +51 -5
  104. package/dist/src/shadcn/components/ui/hover-card.stories.js.map +1 -1
  105. package/dist/src/shadcn/components/ui/input-otp.js +35 -7
  106. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
  107. package/dist/src/shadcn/components/ui/input-otp.stories.js +35 -3
  108. package/dist/src/shadcn/components/ui/input-otp.stories.js.map +1 -1
  109. package/dist/src/shadcn/components/ui/input.js +59 -40
  110. package/dist/src/shadcn/components/ui/input.js.map +1 -1
  111. package/dist/src/shadcn/components/ui/input.stories.js +391 -23
  112. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
  113. package/dist/src/shadcn/components/ui/label.js +7 -2
  114. package/dist/src/shadcn/components/ui/label.js.map +1 -1
  115. package/dist/src/shadcn/components/ui/label.stories.js +18 -4
  116. package/dist/src/shadcn/components/ui/label.stories.js.map +1 -1
  117. package/dist/src/shadcn/components/ui/menubar.js +116 -19
  118. package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
  119. package/dist/src/shadcn/components/ui/menubar.stories.js +216 -3
  120. package/dist/src/shadcn/components/ui/menubar.stories.js.map +1 -1
  121. package/dist/src/shadcn/components/ui/navigation-menu.js +62 -10
  122. package/dist/src/shadcn/components/ui/navigation-menu.js.map +1 -1
  123. package/dist/src/shadcn/components/ui/navigation-menu.stories.js +263 -11
  124. package/dist/src/shadcn/components/ui/navigation-menu.stories.js.map +1 -1
  125. package/dist/src/shadcn/components/ui/pagination.js +73 -16
  126. package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
  127. package/dist/src/shadcn/components/ui/pagination.stories.js +41 -3
  128. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
  129. package/dist/src/shadcn/components/ui/popover.js +23 -5
  130. package/dist/src/shadcn/components/ui/popover.js.map +1 -1
  131. package/dist/src/shadcn/components/ui/popover.stories.js +99 -6
  132. package/dist/src/shadcn/components/ui/popover.stories.js.map +1 -1
  133. package/dist/src/shadcn/components/ui/progress.js +14 -2
  134. package/dist/src/shadcn/components/ui/progress.js.map +1 -1
  135. package/dist/src/shadcn/components/ui/progress.stories.js +12 -8
  136. package/dist/src/shadcn/components/ui/progress.stories.js.map +1 -1
  137. package/dist/src/shadcn/components/ui/radio-group.js +19 -3
  138. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
  139. package/dist/src/shadcn/components/ui/radio-group.stories.js +48 -4
  140. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
  141. package/dist/src/shadcn/components/ui/resizable.js +22 -4
  142. package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
  143. package/dist/src/shadcn/components/ui/resizable.stories.js +49 -3
  144. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
  145. package/dist/src/shadcn/components/ui/scroll-area.js +26 -5
  146. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
  147. package/dist/src/shadcn/components/ui/scroll-area.stories.js +30 -5
  148. package/dist/src/shadcn/components/ui/scroll-area.stories.js.map +1 -1
  149. package/dist/src/shadcn/components/ui/select.js +98 -19
  150. package/dist/src/shadcn/components/ui/select.js.map +1 -1
  151. package/dist/src/shadcn/components/ui/select.stories.js +84 -5
  152. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
  153. package/dist/src/shadcn/components/ui/separator.js +9 -2
  154. package/dist/src/shadcn/components/ui/separator.js.map +1 -1
  155. package/dist/src/shadcn/components/ui/separator.stories.js +43 -3
  156. package/dist/src/shadcn/components/ui/separator.stories.js.map +1 -1
  157. package/dist/src/shadcn/components/ui/sheet.js +69 -16
  158. package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
  159. package/dist/src/shadcn/components/ui/sheet.stories.js +77 -6
  160. package/dist/src/shadcn/components/ui/sheet.stories.js.map +1 -1
  161. package/dist/src/shadcn/components/ui/sidebar.js +304 -79
  162. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
  163. package/dist/src/shadcn/components/ui/sidebar.stories.js +321 -59
  164. package/dist/src/shadcn/components/ui/sidebar.stories.js.map +1 -1
  165. package/dist/src/shadcn/components/ui/skeleton.js +7 -2
  166. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
  167. package/dist/src/shadcn/components/ui/skeleton.stories.js +22 -3
  168. package/dist/src/shadcn/components/ui/skeleton.stories.js.map +1 -1
  169. package/dist/src/shadcn/components/ui/slider.js +40 -7
  170. package/dist/src/shadcn/components/ui/slider.js.map +1 -1
  171. package/dist/src/shadcn/components/ui/slider.stories.js +11 -3
  172. package/dist/src/shadcn/components/ui/slider.stories.js.map +1 -1
  173. package/dist/src/shadcn/components/ui/sonner.js +10 -4
  174. package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
  175. package/dist/src/shadcn/components/ui/sonner.stories.js +14 -9
  176. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
  177. package/dist/src/shadcn/components/ui/switch.js +11 -2
  178. package/dist/src/shadcn/components/ui/switch.js.map +1 -1
  179. package/dist/src/shadcn/components/ui/switch.stories.js +16 -4
  180. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
  181. package/dist/src/shadcn/components/ui/table.js +47 -10
  182. package/dist/src/shadcn/components/ui/table.js.map +1 -1
  183. package/dist/src/shadcn/components/ui/table.stories.js +72 -11
  184. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
  185. package/dist/src/shadcn/components/ui/tabs.d.ts +9 -5
  186. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
  187. package/dist/src/shadcn/components/ui/tabs.js +75 -18
  188. package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
  189. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +6 -0
  190. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
  191. package/dist/src/shadcn/components/ui/tabs.stories.js +221 -10
  192. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
  193. package/dist/src/shadcn/components/ui/textarea.js +7 -2
  194. package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
  195. package/dist/src/shadcn/components/ui/textarea.stories.js +6 -3
  196. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
  197. package/dist/src/shadcn/components/ui/toggle-group.js +29 -8
  198. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
  199. package/dist/src/shadcn/components/ui/toggle-group.stories.js +30 -3
  200. package/dist/src/shadcn/components/ui/toggle-group.stories.js.map +1 -1
  201. package/dist/src/shadcn/components/ui/toggle.js +16 -7
  202. package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
  203. package/dist/src/shadcn/components/ui/toggle.stories.js +9 -3
  204. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
  205. package/dist/src/shadcn/components/ui/tooltip.js +26 -5
  206. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
  207. package/dist/src/shadcn/components/ui/tooltip.stories.js +20 -4
  208. package/dist/src/shadcn/components/ui/tooltip.stories.js.map +1 -1
  209. package/dist/src/shadcn/hooks/use-mobile.js +4 -3
  210. package/dist/src/shadcn/hooks/use-mobile.js.map +1 -1
  211. package/dist/src/shadcn/lib/utils.js +1 -0
  212. package/dist/src/shadcn/lib/utils.js.map +1 -1
  213. package/package.json +8 -4
  214. package/src/index.css +6 -0
  215. package/src/index.tsx +1 -0
  216. package/src/shadcn/components/ui/tabs.stories.tsx +57 -0
  217. package/src/shadcn/components/ui/tabs.tsx +76 -26
@@ -1,47 +1,72 @@
1
1
  import * as TabsPrimitive from "@radix-ui/react-tabs";
2
2
  import { cva, type VariantProps } from "class-variance-authority";
3
+ import { Plus, X } from "lucide-react";
3
4
  import type * as React from "react";
4
5
  import { cn } from "#shadcn/lib/utils";
6
+ import { Button } from "./button";
7
+
8
+ const tabsVariants = cva("", {
9
+ variants: {
10
+ variant: {
11
+ browser: cn(
12
+ // Tabs
13
+ `flex-row
14
+ items-center
15
+ h-10
16
+ `,
17
+ // TabsList
18
+ `**:data-[slot=tabs-list]:overflow-x-auto
19
+ **:data-[slot=tabs-list]:divide-x`,
20
+ // TabsTrigger
21
+ `**:data-[slot=tabs-trigger]:max-w-80
22
+ **:data-[slot=tabs-trigger]:min-w-40
23
+ **:data-[slot=tabs-trigger]:data-[state=inactive]:border-b-1
24
+ **:data-[slot=tabs-trigger]:data-[state=inactive]:border-b-border-secondary
25
+ **:data-[slot=tabs-trigger]:data-[state=inactive]:pt-[9px]
26
+ `, // TODO: Try to implement this without using pt-[9px].
27
+ ),
28
+ },
29
+ },
30
+ });
5
31
 
6
32
  function Tabs({
7
33
  className,
34
+ variant,
8
35
  ...props
9
- }: React.ComponentProps<typeof TabsPrimitive.Root>) {
36
+ }: React.ComponentProps<typeof TabsPrimitive.Root> &
37
+ VariantProps<typeof tabsVariants>) {
10
38
  return (
11
39
  <TabsPrimitive.Root
12
40
  data-slot="tabs"
13
- className={cn("flex flex-col", className)}
41
+ className={cn("flex flex-col", tabsVariants({ variant }), className)}
14
42
  {...props}
15
43
  />
16
44
  );
17
45
  }
18
46
 
19
- const tabListVariants = cva("", {
20
- variants: {
21
- variant: {
22
- button: "",
23
- dashed: "",
24
- },
25
- },
26
- defaultVariants: {
27
- variant: "dashed",
28
- },
29
- });
47
+ export function TabsAddButton(props: React.ComponentProps<typeof Button>) {
48
+ return (
49
+ <div className="grow h-full bg-bg-secondary border-l border-b">
50
+ <Button
51
+ data-slot="tabs-add-button"
52
+ variant="link"
53
+ className="h-full"
54
+ {...props}
55
+ >
56
+ <Plus />
57
+ </Button>
58
+ </div>
59
+ );
60
+ }
30
61
 
31
62
  function TabsList({
32
63
  className,
33
- variant,
34
64
  ...props
35
- }: React.ComponentProps<typeof TabsPrimitive.List> &
36
- VariantProps<typeof tabListVariants>) {
65
+ }: React.ComponentProps<typeof TabsPrimitive.List>) {
37
66
  return (
38
67
  <TabsPrimitive.List
39
68
  data-slot="tabs-list"
40
- className={cn(
41
- tabListVariants({ variant }),
42
- "inline-flex w-fit items-center",
43
- className,
44
- )}
69
+ className={cn("inline-flex w-fit items-center", className)}
45
70
  {...props}
46
71
  />
47
72
  );
@@ -49,22 +74,47 @@ function TabsList({
49
74
 
50
75
  function TabsTrigger({
51
76
  className,
77
+ onClose,
52
78
  ...props
53
- }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {
79
+ }: React.ComponentProps<typeof TabsPrimitive.Trigger> & {
80
+ onClose?: (value: string) => void;
81
+ }) {
54
82
  return (
55
83
  <TabsPrimitive.Trigger
56
84
  data-slot="tabs-trigger"
57
85
  className={cn(
58
- "h-10 typo-label px-3 py-2 cursor-pointer text-text-tertiary data-[state=active]:text-text-primary border-b-2",
59
- "data-[state=active]:border-border-brand border-transparent hover:text-text-tertiary-hover focus-visible:border-ring",
86
+ "group/tabs-trigger",
87
+ "box-border h-10 typo-body px-3 pb-2 pt-2.5 cursor-pointer text-text-tertiary data-[state=active]:text-text-primary",
88
+ "data-[state=active]:border-b-border-brand border-b-2 border-b-transparent hover:text-text-tertiary-hover focus-visible:border-ring",
60
89
  "focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:text-muted-foreground",
61
- "inline-flex flex-1 items-center justify-center whitespace-nowrap transition-[color,box-shadow,border]",
90
+ "inline-flex flex-1 items-center justify-center whitespace-nowrap transition-[color,box-shadow]",
62
91
  "focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50",
63
92
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
93
+ "hover:bg-bg-secondary/60",
94
+ onClose ? "justify-between" : "",
64
95
  className,
65
96
  )}
66
97
  {...props}
67
- />
98
+ >
99
+ {props.children}
100
+
101
+ {onClose && (
102
+ <Button
103
+ onClick={(event) => {
104
+ event.stopPropagation();
105
+ onClose(props.value);
106
+ }}
107
+ variant="link"
108
+ size="small"
109
+ className="p-0 ml-2"
110
+ asChild
111
+ >
112
+ <span>
113
+ <X />
114
+ </span>
115
+ </Button>
116
+ )}
117
+ </TabsPrimitive.Trigger>
68
118
  );
69
119
  }
70
120