@syscore/ui-library 1.1.9 → 1.1.11

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 (141) hide show
  1. package/client/App.tsx +47 -0
  2. package/client/components/icons/ConceptIcons.tsx +667 -0
  3. package/client/components/icons/NavAccount.tsx +31 -0
  4. package/client/components/icons/NavBullet.tsx +19 -0
  5. package/client/components/icons/NavLogo.tsx +36 -0
  6. package/client/components/icons/ProviderBadges.tsx +295 -0
  7. package/client/components/icons/ProviderSeals.tsx +319 -0
  8. package/client/components/icons/SealHealthSafetyRating.tsx +65 -0
  9. package/client/components/icons/SealIwbiMember.tsx +86 -0
  10. package/client/components/icons/SealWell.tsx +84 -0
  11. package/client/components/icons/SealWellCertification.tsx +138 -0
  12. package/client/components/icons/SealWellCommunity.tsx +122 -0
  13. package/client/components/icons/SealWellResidence.tsx +122 -0
  14. package/client/components/icons/SealWorksWithWell.tsx +140 -0
  15. package/client/components/icons/UtilityAccordion.tsx +21 -0
  16. package/client/components/icons/UtilityChevronDown.tsx +36 -0
  17. package/client/components/icons/UtilityClassification.tsx +45 -0
  18. package/client/components/icons/UtilityClose.tsx +41 -0
  19. package/client/components/icons/UtilityDrag.tsx +69 -0
  20. package/client/components/icons/UtilityEdit.tsx +42 -0
  21. package/client/components/icons/UtilityOptions.tsx +45 -0
  22. package/client/components/icons/UtilityPortfolio.tsx +87 -0
  23. package/client/components/icons/UtilityReset.tsx +41 -0
  24. package/client/components/icons/UtilityScoring.tsx +43 -0
  25. package/client/components/icons/UtilitySearch.tsx +38 -0
  26. package/client/components/icons/UtilitySort.tsx +52 -0
  27. package/client/components/icons/UtilityText.tsx +34 -0
  28. package/client/components/icons/WaterMarkWWWProducts.tsx +26 -0
  29. package/client/components/icons/WaterMarkWellProjects.tsx +30 -0
  30. package/client/components/icons/WatermarkMemberOrg.tsx +59 -0
  31. package/client/components/icons/WellSeal.tsx +79 -0
  32. package/client/components/icons/X.tsx +35 -0
  33. package/client/components/ui/Navigation.tsx +958 -0
  34. package/client/components/ui/SearchField.tsx +157 -0
  35. package/client/components/ui/StrategyTable.tsx +303 -0
  36. package/client/components/ui/Tag.tsx +127 -0
  37. package/client/components/ui/alert-dialog.tsx +1 -1
  38. package/client/components/ui/button.tsx +67 -127
  39. package/client/components/ui/calendar.tsx +2 -2
  40. package/client/components/ui/card.tsx +10 -13
  41. package/client/components/ui/carousel.tsx +56 -46
  42. package/client/components/ui/command.tsx +27 -16
  43. package/client/components/ui/dialog.tsx +113 -92
  44. package/client/components/ui/label.tsx +5 -3
  45. package/client/components/ui/menubar.tsx +1 -1
  46. package/client/components/ui/pagination.tsx +3 -3
  47. package/client/components/ui/sidebar.tsx +1 -1
  48. package/client/components/ui/tabs.tsx +350 -5
  49. package/client/components/ui/toggle.tsx +71 -19
  50. package/client/components/ui/tooltip.tsx +69 -18
  51. package/client/global.css +635 -58
  52. package/client/hooks/UseTabs.tsx +35 -0
  53. package/client/hooks/use-mobile.tsx +21 -0
  54. package/client/hooks/use-segmented-control.ts +42 -0
  55. package/client/hooks/use-toast.ts +188 -0
  56. package/client/pages/Index.tsx +88 -0
  57. package/client/pages/NotFound.tsx +29 -0
  58. package/client/ui/Accordion/Accordion.stories.tsx +74 -0
  59. package/client/ui/Alert/Alert.stories.tsx +82 -0
  60. package/client/ui/AlertDialog/AlertDialog.stories.tsx +106 -0
  61. package/client/ui/AspectRatio.stories.tsx +78 -0
  62. package/client/ui/Avatar/Avatar.stories.tsx +94 -0
  63. package/client/ui/Badge/Badge.stories.tsx +60 -0
  64. package/client/ui/Breadcrumb/Breadcrumb.stories.tsx +97 -0
  65. package/client/ui/Button.stories.tsx +429 -0
  66. package/client/ui/Calendar/Calendar.stories.tsx +99 -0
  67. package/client/ui/Card.stories.tsx +84 -0
  68. package/client/ui/Carousel/Carousel.stories.tsx +85 -0
  69. package/client/ui/Chart/Chart.stories.tsx +58 -0
  70. package/client/ui/Checkbox/Checkbox.stories.tsx +112 -0
  71. package/client/ui/Collapsible/Collapsible.stories.tsx +101 -0
  72. package/client/ui/Colors.stories.tsx +1041 -0
  73. package/client/ui/Command/Command.stories.tsx +97 -0
  74. package/client/ui/ContextMenu/ContextMenu.stories.tsx +74 -0
  75. package/client/ui/Dialog.stories.tsx +69 -0
  76. package/client/ui/Drawer/Drawer.stories.tsx +87 -0
  77. package/client/ui/DropdownMenu/DropdownMenu.stories.tsx +139 -0
  78. package/client/ui/Form/Form.stories.tsx +74 -0
  79. package/client/ui/HoverCard/HoverCard.stories.tsx +94 -0
  80. package/client/ui/Icons.stories.tsx +328 -0
  81. package/client/ui/Input/Input.stories.tsx +69 -0
  82. package/client/ui/InputOTP/InputOTP.stories.tsx +85 -0
  83. package/client/ui/Label.stories.tsx +66 -0
  84. package/client/ui/Menubar/Menubar.stories.tsx +88 -0
  85. package/client/ui/Navigation.stories.tsx +57 -0
  86. package/client/ui/NavigationMenu/NavigationMenu.stories.tsx +106 -0
  87. package/client/ui/Pagination/Pagination.stories.tsx +115 -0
  88. package/client/ui/Popover/Popover.stories.tsx +99 -0
  89. package/client/ui/Progress/Progress.stories.tsx +63 -0
  90. package/client/ui/RadioGroup/RadioGroup.stories.tsx +110 -0
  91. package/client/ui/Resizable/Resizable.stories.tsx +88 -0
  92. package/client/ui/ScrollArea/ScrollArea.stories.tsx +64 -0
  93. package/client/ui/SearchField.stories.tsx +63 -0
  94. package/client/ui/Select/Select.stories.tsx +111 -0
  95. package/client/ui/Separator/Separator.stories.tsx +67 -0
  96. package/client/ui/Sheet/Sheet.stories.tsx +138 -0
  97. package/client/ui/Sidebar/Sidebar.stories.tsx +92 -0
  98. package/client/ui/Skeleton/Skeleton.stories.tsx +65 -0
  99. package/client/ui/Slider/Slider.stories.tsx +101 -0
  100. package/client/ui/Sonner/Sonner.stories.tsx +48 -0
  101. package/client/ui/StrategyTable.stories.tsx +138 -0
  102. package/client/ui/Switch/Switch.stories.tsx +96 -0
  103. package/client/ui/Table/Table.stories.tsx +135 -0
  104. package/client/ui/Tabs.stories.tsx +33 -0
  105. package/client/ui/Tag.stories.tsx +190 -0
  106. package/client/ui/Textarea/Textarea.stories.tsx +56 -0
  107. package/client/ui/Toast/Toast.stories.tsx +76 -0
  108. package/client/ui/Toaster/Toaster.stories.tsx +52 -0
  109. package/client/ui/Toggle.stories.tsx +248 -0
  110. package/client/ui/ToggleGroup/ToggleGroup.stories.tsx +88 -0
  111. package/client/ui/Tooltip.stories.tsx +72 -0
  112. package/client/ui/Typography.stories.tsx +421 -0
  113. package/client/ui/WELLDashboard/WELLDashboard.stories.tsx +115 -0
  114. package/client/ui/WELLDashboard/index.tsx +221 -0
  115. package/client/vite-env.d.ts +1 -0
  116. package/dist/ui/fonts/FT-Made/FTMade-Regular.otf +0 -0
  117. package/dist/ui/fonts/FT-Made/FTMade-Regular.ttf +0 -0
  118. package/dist/ui/fonts/FT-Made/FTMade-Regular.woff +0 -0
  119. package/dist/ui/fonts/FT-Made/FTMade-Regular.woff2 +0 -0
  120. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-black.otf +0 -0
  121. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-blackitalic.otf +0 -0
  122. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-bold.otf +0 -0
  123. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-bolditalic.otf +0 -0
  124. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-extrabold.otf +0 -0
  125. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-extrabolditalic.otf +0 -0
  126. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-extralight.otf +0 -0
  127. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-extralightitalic.otf +0 -0
  128. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-italic.otf +0 -0
  129. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-light.otf +0 -0
  130. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-lightitalic.otf +0 -0
  131. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-medium.otf +0 -0
  132. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-mediumitalic.otf +0 -0
  133. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-regular.otf +0 -0
  134. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-semibold.otf +0 -0
  135. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-semibolditalic.otf +0 -0
  136. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-thin.otf +0 -0
  137. package/dist/ui/fonts/Mazzard-M/mazzardsoftm-thinitalic.otf +0 -0
  138. package/dist/ui/index.cjs.js +1 -1
  139. package/dist/ui/index.d.ts +2 -1
  140. package/dist/ui/index.es.js +563 -329
  141. package/package.json +4 -2
@@ -1,120 +1,141 @@
1
1
  import * as React from "react";
2
2
  import * as DialogPrimitive from "@radix-ui/react-dialog";
3
- import { X } from "lucide-react";
3
+ import { XIcon } from "lucide-react";
4
4
 
5
5
  import { cn } from "@/lib/utils";
6
6
 
7
- const Dialog = DialogPrimitive.Root;
8
-
9
- const DialogTrigger = DialogPrimitive.Trigger;
7
+ function Dialog({
8
+ ...props
9
+ }: React.ComponentProps<typeof DialogPrimitive.Root>) {
10
+ return <DialogPrimitive.Root data-slot="dialog" {...props} />;
11
+ }
10
12
 
11
- const DialogPortal = DialogPrimitive.Portal;
13
+ function DialogTrigger({
14
+ ...props
15
+ }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {
16
+ return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
17
+ }
12
18
 
13
- const DialogClose = DialogPrimitive.Close;
19
+ function DialogPortal({
20
+ ...props
21
+ }: React.ComponentProps<typeof DialogPrimitive.Portal>) {
22
+ return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;
23
+ }
14
24
 
15
- const DialogOverlay = React.forwardRef<
16
- React.ElementRef<typeof DialogPrimitive.Overlay>,
17
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
18
- >(({ className, ...props }, ref) => (
19
- <DialogPrimitive.Overlay
20
- ref={ref}
21
- className={cn(
22
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
23
- className,
24
- )}
25
- {...props}
26
- />
27
- ));
28
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
25
+ function DialogClose({
26
+ ...props
27
+ }: React.ComponentProps<typeof DialogPrimitive.Close>) {
28
+ return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
29
+ }
29
30
 
30
- const DialogContent = React.forwardRef<
31
- React.ElementRef<typeof DialogPrimitive.Content>,
32
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
33
- >(({ className, children, ...props }, ref) => (
34
- <DialogPortal>
35
- <DialogOverlay />
36
- <DialogPrimitive.Content
37
- ref={ref}
31
+ function DialogOverlay({
32
+ className,
33
+ ...props
34
+ }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
35
+ return (
36
+ <DialogPrimitive.Overlay
37
+ data-slot="dialog-overlay"
38
38
  className={cn(
39
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
39
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
40
40
  className,
41
41
  )}
42
42
  {...props}
43
- >
44
- {children}
45
- <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm 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">
46
- <X className="h-4 w-4" />
47
- <span className="sr-only">Close</span>
48
- </DialogPrimitive.Close>
49
- </DialogPrimitive.Content>
50
- </DialogPortal>
51
- ));
52
- DialogContent.displayName = DialogPrimitive.Content.displayName;
43
+ />
44
+ );
45
+ }
53
46
 
54
- const DialogHeader = ({
47
+ function DialogContent({
55
48
  className,
49
+ children,
50
+ showCloseButton = true,
56
51
  ...props
57
- }: React.HTMLAttributes<HTMLDivElement>) => (
58
- <div
59
- className={cn(
60
- "flex flex-col space-y-1.5 text-center sm:text-left",
61
- className,
62
- )}
63
- {...props}
64
- />
65
- );
66
- DialogHeader.displayName = "DialogHeader";
52
+ }: React.ComponentProps<typeof DialogPrimitive.Content> & {
53
+ showCloseButton?: boolean;
54
+ }) {
55
+ return (
56
+ <DialogPortal data-slot="dialog-portal">
57
+ <DialogOverlay />
58
+ <DialogPrimitive.Content
59
+ data-slot="dialog-content"
60
+ className={cn(
61
+ "DialogContent overflow-hidden rounded-[40px] gap-4 data-[state=open]:animate-in data-[state=closed]:animate-out 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-[30%] left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] border-12 border-[rgba(255,255,255,0.20)] duration-200 sm:max-w-lg",
62
+ className,
63
+ )}
64
+ {...props}
65
+ >
66
+ <div className="p-6 bg-gray-50">{children}</div>
67
+ {showCloseButton && (
68
+ <DialogPrimitive.Close
69
+ data-slot="dialog-close"
70
+ className="ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
71
+ >
72
+ <XIcon />
73
+ <span className="sr-only">Close</span>
74
+ </DialogPrimitive.Close>
75
+ )}
76
+ </DialogPrimitive.Content>
77
+ </DialogPortal>
78
+ );
79
+ }
67
80
 
68
- const DialogFooter = ({
81
+ function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
82
+ return (
83
+ <div
84
+ data-slot="dialog-header"
85
+ className={cn("flex flex-col gap-2 text-center sm:text-left", className)}
86
+ {...props}
87
+ />
88
+ );
89
+ }
90
+
91
+ function DialogFooter({ className, ...props }: React.ComponentProps<"div">) {
92
+ return (
93
+ <div
94
+ data-slot="dialog-footer"
95
+ className={cn(
96
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
97
+ className,
98
+ )}
99
+ {...props}
100
+ />
101
+ );
102
+ }
103
+
104
+ function DialogTitle({
69
105
  className,
70
106
  ...props
71
- }: React.HTMLAttributes<HTMLDivElement>) => (
72
- <div
73
- className={cn(
74
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
75
- className,
76
- )}
77
- {...props}
78
- />
79
- );
80
- DialogFooter.displayName = "DialogFooter";
81
-
82
- const DialogTitle = React.forwardRef<
83
- React.ElementRef<typeof DialogPrimitive.Title>,
84
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
85
- >(({ className, ...props }, ref) => (
86
- <DialogPrimitive.Title
87
- ref={ref}
88
- className={cn(
89
- "text-lg font-semibold leading-none tracking-tight",
90
- className,
91
- )}
92
- {...props}
93
- />
94
- ));
95
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
107
+ }: React.ComponentProps<typeof DialogPrimitive.Title>) {
108
+ return (
109
+ <DialogPrimitive.Title
110
+ data-slot="dialog-title"
111
+ className={cn("heading-xxsmall ", className)}
112
+ {...props}
113
+ />
114
+ );
115
+ }
96
116
 
97
- const DialogDescription = React.forwardRef<
98
- React.ElementRef<typeof DialogPrimitive.Description>,
99
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
100
- >(({ className, ...props }, ref) => (
101
- <DialogPrimitive.Description
102
- ref={ref}
103
- className={cn("text-sm text-muted-foreground", className)}
104
- {...props}
105
- />
106
- ));
107
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
117
+ function DialogDescription({
118
+ className,
119
+ ...props
120
+ }: React.ComponentProps<typeof DialogPrimitive.Description>) {
121
+ return (
122
+ <DialogPrimitive.Description
123
+ data-slot="dialog-description"
124
+ className={cn("text-muted-foreground text-sm", className)}
125
+ {...props}
126
+ />
127
+ );
128
+ }
108
129
 
109
130
  export {
110
131
  Dialog,
111
- DialogPortal,
112
- DialogOverlay,
113
132
  DialogClose,
114
- DialogTrigger,
115
133
  DialogContent,
116
- DialogHeader,
134
+ DialogDescription,
117
135
  DialogFooter,
136
+ DialogHeader,
137
+ DialogOverlay,
138
+ DialogPortal,
118
139
  DialogTitle,
119
- DialogDescription,
140
+ DialogTrigger,
120
141
  };
@@ -5,19 +5,21 @@ import { cva, type VariantProps } from "class-variance-authority";
5
5
  import { cn } from "@/lib/utils";
6
6
 
7
7
  const labelVariants = cva(
8
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
8
+ "overline-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
9
9
  );
10
10
 
11
11
  const Label = React.forwardRef<
12
12
  React.ElementRef<typeof LabelPrimitive.Root>,
13
13
  React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
14
14
  VariantProps<typeof labelVariants>
15
- >(({ className, ...props }, ref) => (
15
+ >(({ className, children, ...props }, ref) => (
16
16
  <LabelPrimitive.Root
17
17
  ref={ref}
18
18
  className={cn(labelVariants(), className)}
19
19
  {...props}
20
- />
20
+ >
21
+ {children}
22
+ </LabelPrimitive.Root>
21
23
  ));
22
24
  Label.displayName = LabelPrimitive.Root.displayName;
23
25
 
@@ -4,7 +4,7 @@ import { Check, ChevronRight, Circle } from "lucide-react";
4
4
 
5
5
  import { cn } from "@/lib/utils";
6
6
 
7
- const MenubarMenu = MenubarPrimitive.Menu;
7
+ const MenubarMenu = MenubarPrimitive.Menu as typeof MenubarPrimitive.Menu;
8
8
 
9
9
  const MenubarGroup = MenubarPrimitive.Group;
10
10
 
@@ -49,7 +49,7 @@ const PaginationLink = ({
49
49
  aria-current={isActive ? "page" : undefined}
50
50
  className={cn(
51
51
  buttonVariants({
52
- variant: isActive ? "outline-solid" : "ghost",
52
+ variant: isActive ? "general-secondary" : "general-tertiary",
53
53
  size,
54
54
  }),
55
55
  className,
@@ -65,7 +65,7 @@ const PaginationPrevious = ({
65
65
  }: React.ComponentProps<typeof PaginationLink>) => (
66
66
  <PaginationLink
67
67
  aria-label="Go to previous page"
68
- size="default"
68
+ size="utility"
69
69
  className={cn("gap-1 pl-2.5", className)}
70
70
  {...props}
71
71
  >
@@ -81,7 +81,7 @@ const PaginationNext = ({
81
81
  }: React.ComponentProps<typeof PaginationLink>) => (
82
82
  <PaginationLink
83
83
  aria-label="Go to next page"
84
- size="default"
84
+ size="utility"
85
85
  className={cn("gap-1 pr-2.5", className)}
86
86
  {...props}
87
87
  >
@@ -275,7 +275,7 @@ const SidebarTrigger = React.forwardRef<
275
275
  <Button
276
276
  ref={ref}
277
277
  data-sidebar="trigger"
278
- variant="ghost"
278
+ variant="general-tertiary"
279
279
  size="icon"
280
280
  className={cn("h-7 w-7", className)}
281
281
  onClick={(event) => {