@syscore/ui-library 1.1.11 → 1.1.13
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.
- package/client/components/icons/AchievementBadges.tsx +33 -0
- package/client/components/icons/ConceptIcons.tsx +169 -22
- package/client/components/icons/NavLogo.tsx +4 -4
- package/client/components/icons/ProviderBadges.tsx +28 -28
- package/client/components/icons/ProviderSeals.tsx +35 -35
- package/client/components/icons/StandardLogo.tsx +47 -0
- package/client/components/icons/UtilityChevronDown.tsx +1 -1
- package/client/components/icons/UtilityClearRegular.tsx +43 -0
- package/client/components/icons/UtilityCompare.tsx +71 -0
- package/client/components/icons/UtilityHome.tsx +26 -0
- package/client/components/icons/UtilityReset.tsx +7 -7
- package/client/components/icons/UtilitySave.tsx +35 -0
- package/client/components/icons/UtilityScopeLarge.tsx +86 -0
- package/client/components/icons/UtilityShow.tsx +41 -0
- package/client/components/icons/UtilityTarget.tsx +21 -0
- package/client/components/icons/UtilityTargetActive.tsx +34 -0
- package/client/components/icons/UtilityText.tsx +8 -8
- package/client/components/ui/breadcrumb.tsx +26 -4
- package/client/components/ui/button.tsx +30 -18
- package/client/components/ui/card.tsx +2 -2
- package/client/components/ui/code-badge.tsx +25 -0
- package/client/components/ui/dialog.tsx +4 -4
- package/client/components/ui/input.tsx +53 -9
- package/client/components/ui/label.tsx +2 -2
- package/client/components/ui/{Navigation.tsx → navigation.tsx} +291 -250
- package/client/components/ui/select.tsx +20 -20
- package/client/components/ui/tabs.tsx +27 -178
- package/client/components/ui/{Tag.tsx → tag.tsx} +11 -10
- package/client/components/ui/textarea.tsx +1 -1
- package/client/components/ui/toggle-group.tsx +19 -2
- package/client/components/ui/toggle.tsx +2 -2
- package/client/components/ui/tooltip.tsx +148 -8
- package/client/global.css +18 -11
- package/client/ui/AspectRatio.stories.tsx +1 -1
- package/client/ui/Button.stories.tsx +5 -5
- package/client/ui/Card.stories.tsx +223 -2
- package/client/ui/CodeBadge.stories.tsx +76 -0
- package/client/ui/Dialog.stories.tsx +52 -5
- package/client/ui/Icons.stories.tsx +31 -31
- package/client/ui/Input.stories.tsx +125 -0
- package/client/ui/Label.stories.tsx +8 -11
- package/client/ui/Navigation.stories.tsx +1 -1
- package/client/ui/RadioGroup/RadioGroup.stories.tsx +1 -1
- package/client/ui/SearchField.stories.tsx +1 -1
- package/client/ui/{Select/Select.stories.tsx → Select.stories.tsx} +2 -2
- package/client/ui/{Switch/Switch.stories.tsx → Switch.stories.tsx} +3 -3
- package/client/ui/Tabs.stories.tsx +174 -10
- package/client/ui/Tag.stories.tsx +48 -1
- package/client/ui/{Textarea/Textarea.stories.tsx → Textarea.stories.tsx} +9 -10
- package/client/ui/Toggle.stories.tsx +3 -3
- package/client/ui/Tooltip.stories.tsx +28 -4
- package/client/ui/WELLDashboard/WELLDashboard.stories.tsx +1 -1
- package/client/ui/WELLDashboard/index.tsx +147 -51
- package/dist/ui/index.cjs.js +1 -1
- package/dist/ui/index.d.ts +8 -1
- package/dist/ui/index.es.js +2127 -561
- package/package.json +2 -2
- package/client/components/ui/StrategyTable.tsx +0 -303
- package/client/ui/Input/Input.stories.tsx +0 -69
- package/client/ui/StrategyTable.stories.tsx +0 -138
- /package/client/components/ui/{SearchField.tsx → search.tsx} +0 -0
- /package/client/hooks/{UseTabs.tsx → use-tabs.tsx} +0 -0
package/dist/ui/index.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import React__default, { useState, useEffect, useCallback } from "react";
|
|
3
|
+
import React__default, { useState, useEffect, useCallback, useRef } from "react";
|
|
4
4
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
5
|
-
import { ChevronDown, GripVertical, X, PanelLeft, Check, Circle, Dot,
|
|
5
|
+
import { ChevronDown, GripVertical, X, PanelLeft, Check, Circle, Dot, ChevronLeft, ChevronRight, XIcon, Search, MoreHorizontal, ArrowLeft, ArrowRight, Building2 } from "lucide-react";
|
|
6
6
|
import { clsx } from "clsx";
|
|
7
7
|
import { twMerge } from "tailwind-merge";
|
|
8
8
|
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
@@ -26,7 +26,8 @@ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
|
26
26
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
27
27
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
28
28
|
import { DayPicker } from "react-day-picker";
|
|
29
|
-
import "motion/react";
|
|
29
|
+
import { motion, AnimatePresence } from "motion/react";
|
|
30
|
+
import { Command as Command$1 } from "cmdk";
|
|
30
31
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
31
32
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
32
33
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
@@ -37,7 +38,6 @@ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
|
37
38
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
38
39
|
import useEmblaCarousel from "embla-carousel-react";
|
|
39
40
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
40
|
-
import { Command as Command$1 } from "cmdk";
|
|
41
41
|
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
42
42
|
import * as RechartsPrimitive from "recharts";
|
|
43
43
|
import { useTheme } from "next-themes";
|
|
@@ -87,7 +87,7 @@ const Card = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
87
87
|
{
|
|
88
88
|
ref,
|
|
89
89
|
className: cn(
|
|
90
|
-
"rounded-lg border border-gray-100 bg-cyan-50
|
|
90
|
+
"rounded-lg border border-gray-100 bg-cyan-50 p-6 space-y-6",
|
|
91
91
|
className
|
|
92
92
|
),
|
|
93
93
|
...props
|
|
@@ -304,6 +304,8 @@ const buttonVariants = cva(
|
|
|
304
304
|
variants: {
|
|
305
305
|
variant: {
|
|
306
306
|
// CTA variants
|
|
307
|
+
clear: "bg-none border-none",
|
|
308
|
+
default: "bg-white border border-gray-gray-100",
|
|
307
309
|
"primary-gradient": "text-white hover:opacity-90 btn-primary-gradient",
|
|
308
310
|
"primary-dark": "bg-cyan-800 text-white hover:bg-cyan-900 focus-visible:ring-cyan-800",
|
|
309
311
|
"secondary-light": "bg-white border border-gray-200 text-cyan-800 hover:bg-gray-50 focus-visible:ring-gray-200",
|
|
@@ -319,7 +321,7 @@ const buttonVariants = cva(
|
|
|
319
321
|
xlarge: "h-16 px-10",
|
|
320
322
|
large: "h-12 px-8",
|
|
321
323
|
utility: "h-8 px-4",
|
|
322
|
-
icon: "size-
|
|
324
|
+
icon: "size-8"
|
|
323
325
|
}
|
|
324
326
|
},
|
|
325
327
|
compoundVariants: [
|
|
@@ -337,43 +339,83 @@ const buttonVariants = cva(
|
|
|
337
339
|
},
|
|
338
340
|
{
|
|
339
341
|
size: "icon",
|
|
340
|
-
className: "p-0 bg-white border border-gray-100 "
|
|
342
|
+
className: "p-0 bg-white border border-gray-100 hover:border-gray-200 hover:scale-[1.02] transition-all duration-200"
|
|
341
343
|
}
|
|
342
344
|
],
|
|
343
345
|
defaultVariants: {
|
|
344
|
-
variant: "
|
|
346
|
+
variant: "default",
|
|
345
347
|
size: "large"
|
|
346
348
|
}
|
|
347
349
|
}
|
|
348
350
|
);
|
|
351
|
+
const sizeTextClasses = {
|
|
352
|
+
xlarge: "body-large",
|
|
353
|
+
large: "body-base",
|
|
354
|
+
utility: "body-small",
|
|
355
|
+
icon: ""
|
|
356
|
+
};
|
|
349
357
|
const Button = React.forwardRef(
|
|
350
358
|
({ className, variant, size, children, style, ...props }, ref) => {
|
|
351
|
-
const
|
|
359
|
+
const textClass = sizeTextClasses[size || "large"];
|
|
352
360
|
return /* @__PURE__ */ jsx(
|
|
353
361
|
"button",
|
|
354
362
|
{
|
|
355
|
-
className: cn(
|
|
363
|
+
className: cn(
|
|
364
|
+
buttonVariants({ variant, size }),
|
|
365
|
+
"cursor-pointer",
|
|
366
|
+
className
|
|
367
|
+
),
|
|
356
368
|
style,
|
|
357
369
|
ref,
|
|
358
370
|
...props,
|
|
359
|
-
children: size === "icon" ? children : /* @__PURE__ */ jsx("span", { className: cn("relative z-10",
|
|
371
|
+
children: size === "icon" ? children : /* @__PURE__ */ jsx("span", { className: cn("relative z-10 font-semibold ", textClass), children })
|
|
360
372
|
}
|
|
361
373
|
);
|
|
362
374
|
}
|
|
363
375
|
);
|
|
364
376
|
Button.displayName = "Button";
|
|
365
377
|
const Input = React.forwardRef(
|
|
366
|
-
({ className, type, ...props }, ref) => {
|
|
367
|
-
|
|
368
|
-
|
|
378
|
+
({ className, type, startIcon, endIcon, ...props }, ref) => {
|
|
379
|
+
const isReadOnly = props.readOnly;
|
|
380
|
+
const isDisabled = props.disabled;
|
|
381
|
+
return /* @__PURE__ */ jsxs(
|
|
382
|
+
"div",
|
|
369
383
|
{
|
|
370
|
-
type,
|
|
371
384
|
className: cn(
|
|
372
|
-
|
|
385
|
+
// Base wrapper styles (visual input)
|
|
386
|
+
"flex h-12 w-full items-center rounded-[6px] border border-gray-200 bg-white px-4 transition-shadow",
|
|
387
|
+
// Typography inheritance
|
|
388
|
+
"body-base font-medium font-mazzard text-gray-800",
|
|
389
|
+
// Focus states (focus-within matches input focus)
|
|
390
|
+
"focus-within:border-cyan-300",
|
|
391
|
+
// Disabled states
|
|
392
|
+
isDisabled && "opacity-50 cursor-not-allowed",
|
|
393
|
+
// Read-only states
|
|
394
|
+
isReadOnly && "bg-gray-50 border-blue-200 text-gray-600 focus-within:border-blue-200 cursor-default",
|
|
373
395
|
className
|
|
374
396
|
),
|
|
375
|
-
|
|
376
|
-
|
|
397
|
+
children: [
|
|
398
|
+
startIcon ? /* @__PURE__ */ jsx("div", { className: "mr-3 flex items-center text-muted-foreground", children: startIcon }) : null,
|
|
399
|
+
/* @__PURE__ */ jsx(
|
|
400
|
+
"input",
|
|
401
|
+
{
|
|
402
|
+
type,
|
|
403
|
+
className: cn(
|
|
404
|
+
// Reset styles to be transparent inside wrapper
|
|
405
|
+
"flex-1 w-full bg-transparent outline-none placeholder:text-gray-500",
|
|
406
|
+
// File input specific overrides
|
|
407
|
+
type === "file" && "p-0 italic text-muted-foreground/70 file:me-3 file:h-full file:border-0 file:border-r file:border-solid file:border-gray-200 file:bg-transparent file:px-3 file:text-base file:font-medium file:not-italic file:text-gray-800",
|
|
408
|
+
// Search input specific overrides
|
|
409
|
+
type === "search" && "[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none"
|
|
410
|
+
),
|
|
411
|
+
ref,
|
|
412
|
+
disabled: isDisabled,
|
|
413
|
+
readOnly: isReadOnly,
|
|
414
|
+
...props
|
|
415
|
+
}
|
|
416
|
+
),
|
|
417
|
+
endIcon ? /* @__PURE__ */ jsx("div", { className: "ml-3 flex items-center text-muted-foreground", children: endIcon }) : null
|
|
418
|
+
]
|
|
377
419
|
}
|
|
378
420
|
);
|
|
379
421
|
}
|
|
@@ -488,6 +530,14 @@ function Skeleton({
|
|
|
488
530
|
}
|
|
489
531
|
);
|
|
490
532
|
}
|
|
533
|
+
const TooltipContext = React.createContext({
|
|
534
|
+
trigger: "hover",
|
|
535
|
+
toggle: () => {
|
|
536
|
+
},
|
|
537
|
+
close: () => {
|
|
538
|
+
},
|
|
539
|
+
triggerRef: { current: null }
|
|
540
|
+
});
|
|
491
541
|
function TooltipProvider({
|
|
492
542
|
delayDuration = 0,
|
|
493
543
|
...props
|
|
@@ -502,14 +552,73 @@ function TooltipProvider({
|
|
|
502
552
|
);
|
|
503
553
|
}
|
|
504
554
|
function Tooltip({
|
|
555
|
+
trigger = "hover",
|
|
556
|
+
open: controlledOpen,
|
|
557
|
+
onOpenChange,
|
|
558
|
+
children,
|
|
505
559
|
...props
|
|
506
560
|
}) {
|
|
507
|
-
|
|
561
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);
|
|
562
|
+
const triggerRef = React.useRef(null);
|
|
563
|
+
const isControlled = controlledOpen !== void 0;
|
|
564
|
+
const isOpen = isControlled ? controlledOpen : uncontrolledOpen;
|
|
565
|
+
const handleOpenChange = React.useCallback(
|
|
566
|
+
(newOpen) => {
|
|
567
|
+
if (trigger === "click") return;
|
|
568
|
+
if (!isControlled) {
|
|
569
|
+
setUncontrolledOpen(newOpen);
|
|
570
|
+
}
|
|
571
|
+
onOpenChange == null ? void 0 : onOpenChange(newOpen);
|
|
572
|
+
},
|
|
573
|
+
[isControlled, onOpenChange, trigger]
|
|
574
|
+
);
|
|
575
|
+
const close = React.useCallback(() => {
|
|
576
|
+
if (!isControlled) {
|
|
577
|
+
setUncontrolledOpen(false);
|
|
578
|
+
}
|
|
579
|
+
onOpenChange == null ? void 0 : onOpenChange(false);
|
|
580
|
+
}, [isControlled, onOpenChange]);
|
|
581
|
+
const toggle = React.useCallback(() => {
|
|
582
|
+
const newOpen = !isOpen;
|
|
583
|
+
if (!isControlled) {
|
|
584
|
+
setUncontrolledOpen(newOpen);
|
|
585
|
+
}
|
|
586
|
+
onOpenChange == null ? void 0 : onOpenChange(newOpen);
|
|
587
|
+
}, [isOpen, isControlled, onOpenChange]);
|
|
588
|
+
const tooltipProps = trigger === "click" ? {
|
|
589
|
+
open: isOpen,
|
|
590
|
+
onOpenChange: handleOpenChange
|
|
591
|
+
} : {
|
|
592
|
+
open: isControlled ? controlledOpen : void 0,
|
|
593
|
+
onOpenChange
|
|
594
|
+
};
|
|
595
|
+
return /* @__PURE__ */ jsx(TooltipContext.Provider, { value: { trigger, toggle, close, triggerRef }, children: /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: trigger === "click" ? 1e5 : 0, children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...tooltipProps, ...props, children }) }) });
|
|
508
596
|
}
|
|
509
597
|
function TooltipTrigger({
|
|
598
|
+
onClick,
|
|
510
599
|
...props
|
|
511
600
|
}) {
|
|
512
|
-
|
|
601
|
+
const { trigger, toggle, triggerRef } = React.useContext(TooltipContext);
|
|
602
|
+
const handleClick = React.useCallback(
|
|
603
|
+
(e) => {
|
|
604
|
+
if (trigger === "click") {
|
|
605
|
+
e.preventDefault();
|
|
606
|
+
e.stopPropagation();
|
|
607
|
+
toggle();
|
|
608
|
+
}
|
|
609
|
+
onClick == null ? void 0 : onClick(e);
|
|
610
|
+
},
|
|
611
|
+
[trigger, toggle, onClick]
|
|
612
|
+
);
|
|
613
|
+
return /* @__PURE__ */ jsx(
|
|
614
|
+
TooltipPrimitive.Trigger,
|
|
615
|
+
{
|
|
616
|
+
ref: triggerRef,
|
|
617
|
+
"data-slot": "tooltip-trigger",
|
|
618
|
+
onClick: handleClick,
|
|
619
|
+
...props
|
|
620
|
+
}
|
|
621
|
+
);
|
|
513
622
|
}
|
|
514
623
|
function TooltipContent({
|
|
515
624
|
className,
|
|
@@ -519,20 +628,41 @@ function TooltipContent({
|
|
|
519
628
|
alignOffset = 0,
|
|
520
629
|
...props
|
|
521
630
|
}) {
|
|
631
|
+
const { trigger, close, triggerRef } = React.useContext(TooltipContext);
|
|
632
|
+
const contentRef = React.useRef(null);
|
|
633
|
+
React.useEffect(() => {
|
|
634
|
+
if (trigger !== "click") return;
|
|
635
|
+
const handleClickOutside = (event) => {
|
|
636
|
+
const target = event.target;
|
|
637
|
+
const isOutsideContent = contentRef.current && !contentRef.current.contains(target);
|
|
638
|
+
const isOutsideTrigger = triggerRef.current && !triggerRef.current.contains(target);
|
|
639
|
+
if (isOutsideContent && isOutsideTrigger) {
|
|
640
|
+
close();
|
|
641
|
+
}
|
|
642
|
+
};
|
|
643
|
+
const timeoutId = setTimeout(() => {
|
|
644
|
+
document.addEventListener("click", handleClickOutside);
|
|
645
|
+
}, 0);
|
|
646
|
+
return () => {
|
|
647
|
+
clearTimeout(timeoutId);
|
|
648
|
+
document.removeEventListener("click", handleClickOutside);
|
|
649
|
+
};
|
|
650
|
+
}, [trigger, close, triggerRef]);
|
|
522
651
|
return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
523
652
|
TooltipPrimitive.Content,
|
|
524
653
|
{
|
|
654
|
+
ref: contentRef,
|
|
525
655
|
"data-slot": "tooltip-content",
|
|
526
656
|
sideOffset,
|
|
527
657
|
alignOffset,
|
|
528
658
|
side,
|
|
529
659
|
className: cn(
|
|
530
|
-
"group relative bg-gray-700 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-lg
|
|
660
|
+
"group relative bg-gray-700 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-lg p-6 pt-8 shadow-sm mt-3",
|
|
531
661
|
className
|
|
532
662
|
),
|
|
533
663
|
...props,
|
|
534
664
|
children: [
|
|
535
|
-
/* @__PURE__ */ jsx("div", { className: "absolute left-1/2 -translate-x-1/2 flex justify-center group-data-[side=top]:bottom-0 group-data-[side=top]:rotate-180 group-data-[side=bottom]:top-0 group-data-[side=left]:right-0 group-data-[side=right]:left-0", children: /* @__PURE__ */ jsx(
|
|
665
|
+
/* @__PURE__ */ jsx("div", { className: "absolute left-1/2 -translate-x-1/2 flex justify-center group-data-[side=top]:bottom-0 group-data-[side=top]:rotate-180 group-data-[side=bottom]:top-0 group-data-[side=left]:right-0 group-data-[side=right]:left-0 ", children: /* @__PURE__ */ jsx(
|
|
536
666
|
"svg",
|
|
537
667
|
{
|
|
538
668
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1122,7 +1252,7 @@ const SidebarMenuSubButton = React.forwardRef(({ asChild = false, size = "md", i
|
|
|
1122
1252
|
});
|
|
1123
1253
|
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
1124
1254
|
const labelVariants = cva(
|
|
1125
|
-
"
|
|
1255
|
+
"peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-600 px-2"
|
|
1126
1256
|
);
|
|
1127
1257
|
const Label = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1128
1258
|
LabelPrimitive.Root,
|
|
@@ -1130,7 +1260,7 @@ const Label = React.forwardRef(({ className, children, ...props }, ref) => /* @_
|
|
|
1130
1260
|
ref,
|
|
1131
1261
|
className: cn(labelVariants(), className),
|
|
1132
1262
|
...props,
|
|
1133
|
-
children
|
|
1263
|
+
children: /* @__PURE__ */ jsx("span", { className: "overline-medium", children })
|
|
1134
1264
|
}
|
|
1135
1265
|
));
|
|
1136
1266
|
Label.displayName = LabelPrimitive.Root.displayName;
|
|
@@ -1140,7 +1270,7 @@ const Textarea = React.forwardRef(
|
|
|
1140
1270
|
"textarea",
|
|
1141
1271
|
{
|
|
1142
1272
|
className: cn(
|
|
1143
|
-
"flex min-h-[80px] w-full rounded-
|
|
1273
|
+
"flex min-h-[80px] w-full rounded-[6px] border border-gray-200 bg-white p-4 body-base font-medium text-gray-800 placeholder:font-normal placeholder:text-gray-500 focus:border-cyan-300 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:border-blue-200 disabled:bg-transparent ring-0",
|
|
1144
1274
|
className
|
|
1145
1275
|
),
|
|
1146
1276
|
ref,
|
|
@@ -1269,22 +1399,56 @@ const InputOTPSlot = React.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
1269
1399
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1270
1400
|
const InputOTPSeparator = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(Dot, {}) }));
|
|
1271
1401
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1402
|
+
const UtilityChevronDown = ({
|
|
1403
|
+
className
|
|
1404
|
+
}) => {
|
|
1405
|
+
return /* @__PURE__ */ jsx(
|
|
1406
|
+
"div",
|
|
1407
|
+
{
|
|
1408
|
+
className: cn(
|
|
1409
|
+
"size-4 flex items-center justify-center text-gray-500",
|
|
1410
|
+
className
|
|
1411
|
+
),
|
|
1412
|
+
children: /* @__PURE__ */ jsx(
|
|
1413
|
+
"svg",
|
|
1414
|
+
{
|
|
1415
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1416
|
+
width: "12",
|
|
1417
|
+
height: "6",
|
|
1418
|
+
viewBox: "0 0 12 6",
|
|
1419
|
+
fill: "none",
|
|
1420
|
+
className: cn("text-inherit"),
|
|
1421
|
+
children: /* @__PURE__ */ jsx(
|
|
1422
|
+
"path",
|
|
1423
|
+
{
|
|
1424
|
+
d: "M11 0.75L6 5.25L1 0.75",
|
|
1425
|
+
stroke: "currentColor",
|
|
1426
|
+
strokeWidth: "1.5",
|
|
1427
|
+
strokeLinecap: "round",
|
|
1428
|
+
strokeLinejoin: "round"
|
|
1429
|
+
}
|
|
1430
|
+
)
|
|
1431
|
+
}
|
|
1432
|
+
)
|
|
1433
|
+
}
|
|
1434
|
+
);
|
|
1435
|
+
};
|
|
1272
1436
|
const Select = SelectPrimitive.Root;
|
|
1273
1437
|
const SelectGroup = SelectPrimitive.Group;
|
|
1274
1438
|
const SelectValue = SelectPrimitive.Value;
|
|
1275
|
-
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1439
|
+
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1276
1440
|
SelectPrimitive.Trigger,
|
|
1277
1441
|
{
|
|
1278
1442
|
ref,
|
|
1279
1443
|
className: cn(
|
|
1280
|
-
"flex h-
|
|
1444
|
+
"group flex h-12 w-full rounded-[6px] border border-gray-200 bg-white p-4 text-gray-800 ring-offset-background placeholder:font-normal placeholder:text-gray-500 focus:outline-none focus:ring-0 data-[state=open]:border-cyan-300 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
1281
1445
|
className
|
|
1282
1446
|
),
|
|
1283
1447
|
...props,
|
|
1284
|
-
children: [
|
|
1285
|
-
children,
|
|
1286
|
-
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
1287
|
-
]
|
|
1448
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between w-full", children: [
|
|
1449
|
+
/* @__PURE__ */ jsx("span", { className: " text-gray-800 font-mazzard body-base font-medium", children }),
|
|
1450
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(UtilityChevronDown, { className: " text-gray-600 group-data-[state=open]:rotate-180 transition-transform duration-200" }) })
|
|
1451
|
+
] })
|
|
1288
1452
|
}
|
|
1289
1453
|
));
|
|
1290
1454
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
@@ -1297,7 +1461,7 @@ const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) =>
|
|
|
1297
1461
|
className
|
|
1298
1462
|
),
|
|
1299
1463
|
...props,
|
|
1300
|
-
children: /* @__PURE__ */ jsx(
|
|
1464
|
+
children: /* @__PURE__ */ jsx(UtilityChevronDown, {})
|
|
1301
1465
|
}
|
|
1302
1466
|
));
|
|
1303
1467
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
@@ -1310,7 +1474,7 @@ const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) =
|
|
|
1310
1474
|
className
|
|
1311
1475
|
),
|
|
1312
1476
|
...props,
|
|
1313
|
-
children: /* @__PURE__ */ jsx(
|
|
1477
|
+
children: /* @__PURE__ */ jsx(UtilityChevronDown, {})
|
|
1314
1478
|
}
|
|
1315
1479
|
));
|
|
1316
1480
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
@@ -1319,8 +1483,7 @@ const SelectContent = React.forwardRef(({ className, children, position = "poppe
|
|
|
1319
1483
|
{
|
|
1320
1484
|
ref,
|
|
1321
1485
|
className: cn(
|
|
1322
|
-
"relative z-50 max-h-96 min-w-32 overflow-hidden
|
|
1323
|
-
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
1486
|
+
"relative z-50 max-h-96 min-w-32 overflow-hidden border-cyan-300 bg-gray-700 text-gray-200 shadow-md 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-[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 data-[side=bottom]:-mt-1 data-[side=bottom]:rounded-t-none data-[side=bottom]:rounded-b-[6px] data-[side=top]:border-b-0 data-[side=top]:rounded-t-[6px] data-[side=top]:rounded-b-none data-[side=top]:-mb-1 data-[side=top]:border-t data-[side=bottom]:border-b",
|
|
1324
1487
|
className
|
|
1325
1488
|
),
|
|
1326
1489
|
position,
|
|
@@ -1331,7 +1494,7 @@ const SelectContent = React.forwardRef(({ className, children, position = "poppe
|
|
|
1331
1494
|
SelectPrimitive.Viewport,
|
|
1332
1495
|
{
|
|
1333
1496
|
className: cn(
|
|
1334
|
-
"
|
|
1497
|
+
"",
|
|
1335
1498
|
position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
|
|
1336
1499
|
),
|
|
1337
1500
|
children
|
|
@@ -1346,24 +1509,24 @@ const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1346
1509
|
SelectPrimitive.Label,
|
|
1347
1510
|
{
|
|
1348
1511
|
ref,
|
|
1349
|
-
className: cn(
|
|
1512
|
+
className: cn(
|
|
1513
|
+
"py-1.5 pl-8 pr-2 text-sm font-semibold font-mazzard",
|
|
1514
|
+
className
|
|
1515
|
+
),
|
|
1350
1516
|
...props
|
|
1351
1517
|
}
|
|
1352
1518
|
));
|
|
1353
1519
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
1354
|
-
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1520
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1355
1521
|
SelectPrimitive.Item,
|
|
1356
1522
|
{
|
|
1357
1523
|
ref,
|
|
1358
1524
|
className: cn(
|
|
1359
|
-
"relative flex w-full cursor-default select-none items-center
|
|
1525
|
+
"relative flex h-12 w-full cursor-default select-none items-center border-x border-cyan-300 px-4 outline-none focus:bg-[rgba(0,0,0,0.2)] data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1360
1526
|
className
|
|
1361
1527
|
),
|
|
1362
1528
|
...props,
|
|
1363
|
-
children:
|
|
1364
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
1365
|
-
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
1366
|
-
]
|
|
1529
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
1367
1530
|
}
|
|
1368
1531
|
));
|
|
1369
1532
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
@@ -1469,6 +1632,56 @@ const FormMessage = React.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1469
1632
|
);
|
|
1470
1633
|
});
|
|
1471
1634
|
FormMessage.displayName = "FormMessage";
|
|
1635
|
+
const toggleVariants = cva(
|
|
1636
|
+
"inline-flex items-center justify-center rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer",
|
|
1637
|
+
{
|
|
1638
|
+
variants: {
|
|
1639
|
+
variant: {
|
|
1640
|
+
default: "bg-gray-100 text-gray-600 hover:bg-gray-200"
|
|
1641
|
+
},
|
|
1642
|
+
size: {
|
|
1643
|
+
default: "h-8 px-4"
|
|
1644
|
+
}
|
|
1645
|
+
},
|
|
1646
|
+
defaultVariants: {
|
|
1647
|
+
variant: "default",
|
|
1648
|
+
size: "default"
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
);
|
|
1652
|
+
const ToggleGroupContext = React.createContext({
|
|
1653
|
+
size: "default",
|
|
1654
|
+
variant: "default"
|
|
1655
|
+
});
|
|
1656
|
+
const ToggleGroup = React.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1657
|
+
ToggleGroupPrimitive.Root,
|
|
1658
|
+
{
|
|
1659
|
+
ref,
|
|
1660
|
+
className: cn("flex items-center justify-center gap-1", className),
|
|
1661
|
+
...props,
|
|
1662
|
+
children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
1663
|
+
}
|
|
1664
|
+
));
|
|
1665
|
+
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
1666
|
+
const ToggleGroupItem = React.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
1667
|
+
const context = React.useContext(ToggleGroupContext);
|
|
1668
|
+
return /* @__PURE__ */ jsx(
|
|
1669
|
+
ToggleGroupPrimitive.Item,
|
|
1670
|
+
{
|
|
1671
|
+
ref,
|
|
1672
|
+
className: cn(
|
|
1673
|
+
toggleVariants({
|
|
1674
|
+
variant: context.variant || variant,
|
|
1675
|
+
size: context.size || size
|
|
1676
|
+
}),
|
|
1677
|
+
className
|
|
1678
|
+
),
|
|
1679
|
+
...props,
|
|
1680
|
+
children
|
|
1681
|
+
}
|
|
1682
|
+
);
|
|
1683
|
+
});
|
|
1684
|
+
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
1472
1685
|
function useSegmentedControl({
|
|
1473
1686
|
value,
|
|
1474
1687
|
defaultValue,
|
|
@@ -1497,7 +1710,7 @@ function useSegmentedControl({
|
|
|
1497
1710
|
onValueChange: handleValueChange
|
|
1498
1711
|
};
|
|
1499
1712
|
}
|
|
1500
|
-
|
|
1713
|
+
cva(
|
|
1501
1714
|
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
|
|
1502
1715
|
{
|
|
1503
1716
|
variants: {
|
|
@@ -1525,13 +1738,13 @@ const SegmentedControlInner = React.forwardRef(
|
|
|
1525
1738
|
defaultValue: defaultValue ?? ((_a = options[0]) == null ? void 0 : _a.value),
|
|
1526
1739
|
onValueChange
|
|
1527
1740
|
});
|
|
1528
|
-
return /* @__PURE__ */ jsx("div", { ref, className: cn(className), ...props, children: options.map((option) => {
|
|
1741
|
+
return /* @__PURE__ */ jsx("div", { ref, className: cn("inline-flex", className), ...props, children: options.map((option) => {
|
|
1529
1742
|
const isReactElement = React.isValidElement(option.label);
|
|
1530
1743
|
return /* @__PURE__ */ jsx(
|
|
1531
1744
|
"button",
|
|
1532
1745
|
{
|
|
1533
1746
|
className: cn(
|
|
1534
|
-
"inline-flex items-center justify-center h-8 px-
|
|
1747
|
+
"inline-flex items-center justify-center h-8 px-4 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer",
|
|
1535
1748
|
selectedValue === option.value ? "bg-cyan-700 text-white font-semibold" : "text-gray-600 hover:bg-gray-50 font-medium"
|
|
1536
1749
|
),
|
|
1537
1750
|
onClick: () => handleValueChange(option.value),
|
|
@@ -1547,39 +1760,6 @@ const SegmentedControlInner = React.forwardRef(
|
|
|
1547
1760
|
SegmentedControlInner.displayName = "SegmentedControl";
|
|
1548
1761
|
const SegmentedControl = SegmentedControlInner;
|
|
1549
1762
|
const Toggle = SegmentedControl;
|
|
1550
|
-
const ToggleGroupContext = React.createContext({
|
|
1551
|
-
size: "default",
|
|
1552
|
-
variant: "default"
|
|
1553
|
-
});
|
|
1554
|
-
const ToggleGroup = React.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1555
|
-
ToggleGroupPrimitive.Root,
|
|
1556
|
-
{
|
|
1557
|
-
ref,
|
|
1558
|
-
className: cn("flex items-center justify-center gap-1", className),
|
|
1559
|
-
...props,
|
|
1560
|
-
children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
1561
|
-
}
|
|
1562
|
-
));
|
|
1563
|
-
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
1564
|
-
const ToggleGroupItem = React.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
1565
|
-
const context = React.useContext(ToggleGroupContext);
|
|
1566
|
-
return /* @__PURE__ */ jsx(
|
|
1567
|
-
ToggleGroupPrimitive.Item,
|
|
1568
|
-
{
|
|
1569
|
-
ref,
|
|
1570
|
-
className: cn(
|
|
1571
|
-
toggleVariants({
|
|
1572
|
-
variant: context.variant || variant,
|
|
1573
|
-
size: context.size || size
|
|
1574
|
-
}),
|
|
1575
|
-
className
|
|
1576
|
-
),
|
|
1577
|
-
...props,
|
|
1578
|
-
children
|
|
1579
|
-
}
|
|
1580
|
-
);
|
|
1581
|
-
});
|
|
1582
|
-
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
1583
1763
|
const badgeVariants = cva(
|
|
1584
1764
|
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
1585
1765
|
{
|
|
@@ -1814,7 +1994,10 @@ const BreadcrumbPage = React.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1814
1994
|
role: "link",
|
|
1815
1995
|
"aria-disabled": "true",
|
|
1816
1996
|
"aria-current": "page",
|
|
1817
|
-
className: cn(
|
|
1997
|
+
className: cn(
|
|
1998
|
+
"body-small font-medium text-gray-600 text-center whitespace-nowrap",
|
|
1999
|
+
className
|
|
2000
|
+
),
|
|
1818
2001
|
...props
|
|
1819
2002
|
}
|
|
1820
2003
|
));
|
|
@@ -1828,9 +2011,31 @@ const BreadcrumbSeparator = ({
|
|
|
1828
2011
|
{
|
|
1829
2012
|
role: "presentation",
|
|
1830
2013
|
"aria-hidden": "true",
|
|
1831
|
-
className: cn(
|
|
2014
|
+
className: cn(
|
|
2015
|
+
"size-4 flex items-center justify-center shrink-0",
|
|
2016
|
+
className
|
|
2017
|
+
),
|
|
1832
2018
|
...props,
|
|
1833
|
-
children: children ?? /* @__PURE__ */ jsx(
|
|
2019
|
+
children: children ?? /* @__PURE__ */ jsx(
|
|
2020
|
+
"svg",
|
|
2021
|
+
{
|
|
2022
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2023
|
+
width: "5",
|
|
2024
|
+
height: "8",
|
|
2025
|
+
viewBox: "0 0 5 8",
|
|
2026
|
+
fill: "none",
|
|
2027
|
+
children: /* @__PURE__ */ jsx(
|
|
2028
|
+
"path",
|
|
2029
|
+
{
|
|
2030
|
+
d: "M0.75 6.75L3.75 3.75L0.75 0.75",
|
|
2031
|
+
stroke: "#CBCDD2",
|
|
2032
|
+
strokeWidth: "1.5",
|
|
2033
|
+
strokeLinecap: "round",
|
|
2034
|
+
strokeLinejoin: "round"
|
|
2035
|
+
}
|
|
2036
|
+
)
|
|
2037
|
+
}
|
|
2038
|
+
)
|
|
1834
2039
|
}
|
|
1835
2040
|
);
|
|
1836
2041
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
@@ -1907,103 +2112,1557 @@ function Calendar({
|
|
|
1907
2112
|
);
|
|
1908
2113
|
}
|
|
1909
2114
|
Calendar.displayName = "Calendar";
|
|
1910
|
-
const
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
)
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
)
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2115
|
+
const UtilityClose = ({ className }) => {
|
|
2116
|
+
return /* @__PURE__ */ jsx(
|
|
2117
|
+
"div",
|
|
2118
|
+
{
|
|
2119
|
+
className: cn(
|
|
2120
|
+
"size-4 flex items-center justify-center text-gray-500",
|
|
2121
|
+
className
|
|
2122
|
+
),
|
|
2123
|
+
children: /* @__PURE__ */ jsxs(
|
|
2124
|
+
"svg",
|
|
2125
|
+
{
|
|
2126
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2127
|
+
width: "12",
|
|
2128
|
+
height: "12",
|
|
2129
|
+
viewBox: "0 0 12 12",
|
|
2130
|
+
fill: "none",
|
|
2131
|
+
className: cn("size-3 text-inherit"),
|
|
2132
|
+
children: [
|
|
2133
|
+
/* @__PURE__ */ jsx(
|
|
2134
|
+
"path",
|
|
2135
|
+
{
|
|
2136
|
+
d: "M10.8002 1.19995L1.2002 10.8",
|
|
2137
|
+
stroke: "currentColor",
|
|
2138
|
+
strokeWidth: "1.5",
|
|
2139
|
+
strokeLinecap: "round",
|
|
2140
|
+
strokeLinejoin: "round"
|
|
2141
|
+
}
|
|
2142
|
+
),
|
|
2143
|
+
/* @__PURE__ */ jsx(
|
|
2144
|
+
"path",
|
|
2145
|
+
{
|
|
2146
|
+
d: "M1.2002 1.19995L10.8002 10.8",
|
|
2147
|
+
stroke: "currentColor",
|
|
2148
|
+
strokeWidth: "1.5",
|
|
2149
|
+
strokeLinecap: "round",
|
|
2150
|
+
strokeLinejoin: "round"
|
|
2151
|
+
}
|
|
2152
|
+
)
|
|
2153
|
+
]
|
|
2154
|
+
}
|
|
2155
|
+
)
|
|
2156
|
+
}
|
|
2157
|
+
);
|
|
2158
|
+
};
|
|
2159
|
+
const NavLogo = ({ dark = false }) => {
|
|
2160
|
+
return /* @__PURE__ */ jsxs(
|
|
2161
|
+
"svg",
|
|
2162
|
+
{
|
|
2163
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2164
|
+
width: "64",
|
|
2165
|
+
height: "16",
|
|
2166
|
+
viewBox: "0 0 64 16",
|
|
2167
|
+
fill: "none",
|
|
2168
|
+
className: cn(dark ? "text-gray-700" : "text-white"),
|
|
2169
|
+
children: [
|
|
2170
|
+
/* @__PURE__ */ jsx(
|
|
2171
|
+
"path",
|
|
2172
|
+
{
|
|
2173
|
+
d: "M53.5868 0H55.0485C55.6026 0 56.0325 0.404706 56.0325 0.969412V12.8941H63.016C63.5701 12.8941 64 13.2988 64 13.8447V15.0306C64 15.5765 63.5701 16 63.016 16H53.5868C53.0327 16 52.6028 15.5765 52.6028 15.0306V0.969412C52.6028 0.404706 53.0423 0 53.5868 0Z",
|
|
2174
|
+
fill: "currentColor"
|
|
2175
|
+
}
|
|
2176
|
+
),
|
|
2177
|
+
/* @__PURE__ */ jsx(
|
|
2178
|
+
"path",
|
|
2179
|
+
{
|
|
2180
|
+
d: "M39.9826 0H41.4442C41.9983 0 42.4282 0.404706 42.4282 0.969412V12.8941H49.4118C49.9659 12.8941 50.3958 13.2988 50.3958 13.8447V15.0306C50.3958 15.5765 49.9659 16 49.4118 16H39.9826C39.4285 16 38.9986 15.5765 38.9986 15.0306V0.969412C38.9986 0.404706 39.4285 0 39.9826 0Z",
|
|
2181
|
+
fill: "currentColor"
|
|
2182
|
+
}
|
|
2183
|
+
),
|
|
2184
|
+
/* @__PURE__ */ jsx(
|
|
2185
|
+
"path",
|
|
2186
|
+
{
|
|
2187
|
+
d: "M25.4615 0H35.5212C36.0944 0 36.5052 0.404706 36.5052 0.969412V2.15529C36.5052 2.70118 36.0944 3.12471 35.5212 3.12471H27.9072V6.37176H34.222C34.7761 6.37176 35.206 6.77647 35.206 7.32235V8.50824C35.206 9.07294 34.7761 9.47765 34.222 9.47765H27.9072V12.8941H35.6359C36.2091 12.8941 36.6199 13.2988 36.6199 13.8447V15.0306C36.6199 15.5765 36.2091 16 35.6359 16H25.4615C24.9074 16 24.4775 15.5765 24.4775 15.0306V0.969412C24.4775 0.404706 24.9074 0 25.4615 0Z",
|
|
2188
|
+
fill: "currentColor"
|
|
2189
|
+
}
|
|
2190
|
+
),
|
|
2191
|
+
/* @__PURE__ */ jsx(
|
|
2192
|
+
"path",
|
|
2193
|
+
{
|
|
2194
|
+
d: "M2.26579 0C2.81989 0 3.37399 0.376471 3.53639 0.922353L6.56483 10.4941L9.51684 0.856471C9.66014 0.357647 10.1665 0 10.6728 0H11.6855C12.2109 0 12.7172 0.357647 12.8605 0.856471L15.8412 10.5035L18.8314 0.922353C18.9747 0.376471 19.5288 0 20.102 0H21.6401C22.1942 0 22.4808 0.404706 22.2898 0.922353L17.4653 15.1435C17.2933 15.6141 16.7965 16 16.2616 16H15.2489C14.7426 16 14.2362 15.6424 14.0929 15.1435L11.1887 5.92L8.25578 15.1435C8.11248 15.6424 7.60615 16 7.08071 16H6.08716C5.58083 16 5.0745 15.6235 4.91209 15.1435L0.0589489 0.922353C-0.13212 0.404706 0.154483 0 0.727688 0H2.26579Z",
|
|
2195
|
+
fill: "currentColor"
|
|
2196
|
+
}
|
|
2197
|
+
)
|
|
2198
|
+
]
|
|
2199
|
+
}
|
|
2200
|
+
);
|
|
2201
|
+
};
|
|
2202
|
+
const NavAccount = ({ className = "" }) => {
|
|
2203
|
+
return /* @__PURE__ */ jsxs(
|
|
2204
|
+
"svg",
|
|
2205
|
+
{
|
|
2206
|
+
width: "32",
|
|
2207
|
+
height: "32",
|
|
2208
|
+
viewBox: "0 0 32 32",
|
|
2209
|
+
fill: "none",
|
|
2210
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2211
|
+
className: cn(
|
|
2212
|
+
"transition-colors duration-300 text-bronze-500",
|
|
2213
|
+
className
|
|
2214
|
+
),
|
|
2215
|
+
children: [
|
|
2216
|
+
/* @__PURE__ */ jsx(
|
|
2217
|
+
"path",
|
|
2218
|
+
{
|
|
2219
|
+
d: "M16.0001 14.5C18.2093 14.5 20.0001 12.7091 20.0001 10.5C20.0001 8.29086 18.2093 6.5 16.0001 6.5C13.791 6.5 12.0001 8.29086 12.0001 10.5C12.0001 12.7091 13.791 14.5 16.0001 14.5Z",
|
|
2220
|
+
fill: "currentColor"
|
|
2221
|
+
}
|
|
2222
|
+
),
|
|
2223
|
+
/* @__PURE__ */ jsx(
|
|
2224
|
+
"path",
|
|
2225
|
+
{
|
|
2226
|
+
d: "M6.90759 23.3314C8.48801 19.8899 11.9649 17.5 16 17.5C20.0351 17.5 23.5121 19.89 25.0924 23.3316C22.8919 25.8841 19.6347 27.5 16.0001 27.5C12.3654 27.5 9.10818 25.8841 6.90759 23.3314Z",
|
|
2227
|
+
fill: "currentColor"
|
|
2228
|
+
}
|
|
2229
|
+
)
|
|
2230
|
+
]
|
|
2231
|
+
}
|
|
2232
|
+
);
|
|
2233
|
+
};
|
|
2234
|
+
const NavBullet = ({ color }) => {
|
|
2235
|
+
return /* @__PURE__ */ jsx(
|
|
2236
|
+
"svg",
|
|
2237
|
+
{
|
|
2238
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2239
|
+
width: "8",
|
|
2240
|
+
height: "9",
|
|
2241
|
+
viewBox: "0 0 8 9",
|
|
2242
|
+
fill: "none",
|
|
2243
|
+
children: /* @__PURE__ */ jsx("circle", { cx: "4", cy: "4.5", r: "3.5", fill: color, stroke: "#F3E7D8" })
|
|
2244
|
+
}
|
|
2245
|
+
);
|
|
2246
|
+
};
|
|
2247
|
+
const Navigation = ({
|
|
2248
|
+
navItems,
|
|
2249
|
+
isStrategy = false,
|
|
2250
|
+
Link: LinkComponent,
|
|
2251
|
+
onLinkClick,
|
|
2252
|
+
onClose
|
|
2253
|
+
}) => {
|
|
2254
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
2255
|
+
const [activeItem, setActiveItem] = React.useState(null);
|
|
2256
|
+
const containerRef = React.useRef(null);
|
|
2257
|
+
const menuRef = React.useRef(null);
|
|
2258
|
+
const menuItemsRef = React.useRef(null);
|
|
2259
|
+
const overlayRef = React.useRef(null);
|
|
2260
|
+
const handleMouseLeave = () => {
|
|
2261
|
+
setIsOpen(false);
|
|
2262
|
+
setActiveItem(null);
|
|
2263
|
+
};
|
|
2264
|
+
const handleNavItemMouseEnter = (index) => {
|
|
2265
|
+
setIsOpen(true);
|
|
2266
|
+
setActiveItem(index + 1);
|
|
2267
|
+
};
|
|
2268
|
+
const NavLink = ({ href, className, "aria-label": ariaLabel, children }) => {
|
|
2269
|
+
if (LinkComponent) {
|
|
2270
|
+
return /* @__PURE__ */ jsx(LinkComponent, { href, className, "aria-label": ariaLabel, children });
|
|
2271
|
+
}
|
|
2272
|
+
if (onLinkClick) {
|
|
2273
|
+
return /* @__PURE__ */ jsx(
|
|
2274
|
+
"a",
|
|
2275
|
+
{
|
|
2276
|
+
href,
|
|
2277
|
+
className,
|
|
2278
|
+
"aria-label": ariaLabel,
|
|
2279
|
+
onClick: (e) => {
|
|
2280
|
+
e.preventDefault();
|
|
2281
|
+
onLinkClick(href);
|
|
2282
|
+
},
|
|
2283
|
+
children
|
|
2284
|
+
}
|
|
2285
|
+
);
|
|
2286
|
+
}
|
|
2287
|
+
return /* @__PURE__ */ jsx("a", { href, className, "aria-label": ariaLabel, children });
|
|
2288
|
+
};
|
|
2289
|
+
return /* @__PURE__ */ jsxs(
|
|
2290
|
+
"nav",
|
|
2291
|
+
{
|
|
2292
|
+
ref: containerRef,
|
|
2293
|
+
className: cn(
|
|
2294
|
+
"absolute top-0 left-0 z-50 h-14 w-full",
|
|
2295
|
+
isStrategy && "bg-gray-50 backdrop-blur-xl backdrop-filter border-b border-gray-100"
|
|
2296
|
+
),
|
|
2297
|
+
onMouseLeave: handleMouseLeave,
|
|
2298
|
+
children: [
|
|
2299
|
+
!isStrategy && /* @__PURE__ */ jsx(
|
|
2300
|
+
"div",
|
|
2301
|
+
{
|
|
2302
|
+
ref: overlayRef,
|
|
2303
|
+
className: cn(
|
|
2304
|
+
"absolute top-0 left-0 z-[-1] h-[340px] w-full duration-300 ease-in-out will-change-transform",
|
|
2305
|
+
isOpen ? "translate-y-0 bg-[rgba(62,64,73,0.90)] backdrop-blur-xl" : "-translate-y-[calc(100%-56px)] bg-black/16"
|
|
2306
|
+
)
|
|
2307
|
+
}
|
|
2308
|
+
),
|
|
2309
|
+
/* @__PURE__ */ jsxs("div", { className: "container-lg flex h-14 items-center justify-between", children: [
|
|
2310
|
+
/* @__PURE__ */ jsxs("div", { className: "flex h-full sm:min-w-[200px] items-center", children: [
|
|
2311
|
+
isStrategy ? /* @__PURE__ */ jsx(
|
|
2312
|
+
Button,
|
|
2313
|
+
{
|
|
2314
|
+
className: "mr-4",
|
|
2315
|
+
size: "icon",
|
|
2316
|
+
onClick: (e) => {
|
|
2317
|
+
e.preventDefault();
|
|
2318
|
+
if (onClose) {
|
|
2319
|
+
onClose();
|
|
2320
|
+
} else if (onLinkClick) {
|
|
2321
|
+
onLinkClick("/");
|
|
2322
|
+
}
|
|
2323
|
+
},
|
|
2324
|
+
children: /* @__PURE__ */ jsx(UtilityClose, { className: "text-gray-700 group-hover:text-white" })
|
|
2325
|
+
}
|
|
2326
|
+
) : null,
|
|
2327
|
+
/* @__PURE__ */ jsx(
|
|
2328
|
+
NavLink,
|
|
2329
|
+
{
|
|
2330
|
+
href: "/",
|
|
2331
|
+
className: cn(
|
|
2332
|
+
"flex items-center ease-in-out duration-300 will-change-transform",
|
|
2333
|
+
{
|
|
2334
|
+
"translate-x-0": isStrategy
|
|
2335
|
+
}
|
|
2336
|
+
),
|
|
2337
|
+
"aria-label": "Home",
|
|
2338
|
+
children: /* @__PURE__ */ jsx(NavLogo, { dark: isStrategy })
|
|
2339
|
+
}
|
|
2340
|
+
)
|
|
2341
|
+
] }),
|
|
2342
|
+
!isStrategy ? /* @__PURE__ */ jsx(
|
|
2343
|
+
"div",
|
|
2344
|
+
{
|
|
2345
|
+
className: cn(
|
|
2346
|
+
"relative hidden h-full flex-1 items-center justify-center space-x-12 md:flex"
|
|
2347
|
+
),
|
|
2348
|
+
children: /* @__PURE__ */ jsx("ul", { className: "flex h-full gap-x-12", children: navItems ? navItems.map((item, index) => /* @__PURE__ */ jsxs(
|
|
2349
|
+
"li",
|
|
2350
|
+
{
|
|
2351
|
+
className: cn(
|
|
2352
|
+
"relative flex h-full flex-col items-center justify-center"
|
|
2353
|
+
),
|
|
2354
|
+
onMouseEnter: () => handleNavItemMouseEnter(index),
|
|
2355
|
+
children: [
|
|
2356
|
+
/* @__PURE__ */ jsx("span", { className: "body-small cursor-pointer font-semibold text-white", children: item.label }),
|
|
2357
|
+
activeItem === index + 1 && /* @__PURE__ */ jsx(
|
|
2358
|
+
motion.div,
|
|
2359
|
+
{
|
|
2360
|
+
id: "underline",
|
|
2361
|
+
className: "absolute -bottom-[10px] z-50 h-[10px] w-[10px] rounded-full",
|
|
2362
|
+
layoutId: "underline",
|
|
2363
|
+
transition: { duration: 0.2, ease: "easeOut" },
|
|
2364
|
+
children: /* @__PURE__ */ jsx(
|
|
2365
|
+
"div",
|
|
2366
|
+
{
|
|
2367
|
+
className: "half-circle bg-gradient-to-b from-[#3EECD1] to-[#66FCD9]",
|
|
2368
|
+
style: {
|
|
2369
|
+
width: "10px",
|
|
2370
|
+
height: "5px",
|
|
2371
|
+
borderBottomLeftRadius: "100px",
|
|
2372
|
+
borderBottomRightRadius: "100px",
|
|
2373
|
+
borderBottom: "0",
|
|
2374
|
+
boxSizing: "border-box"
|
|
2375
|
+
}
|
|
2376
|
+
}
|
|
2377
|
+
)
|
|
2378
|
+
}
|
|
2379
|
+
),
|
|
2380
|
+
index === 0 && /* @__PURE__ */ jsx(
|
|
2381
|
+
"div",
|
|
2382
|
+
{
|
|
2383
|
+
className: "absolute -bottom-[5px] z-50 h-[10px] w-[10px] rounded-full",
|
|
2384
|
+
style: { transition: "all 0.2s ease-out" },
|
|
2385
|
+
children: /* @__PURE__ */ jsx(
|
|
2386
|
+
"div",
|
|
2387
|
+
{
|
|
2388
|
+
className: "half-circle bg-white",
|
|
2389
|
+
style: {
|
|
2390
|
+
width: "10px",
|
|
2391
|
+
height: "5px",
|
|
2392
|
+
borderTopLeftRadius: "100px",
|
|
2393
|
+
borderTopRightRadius: "100px",
|
|
2394
|
+
borderBottom: "0",
|
|
2395
|
+
boxSizing: "border-box"
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
)
|
|
2399
|
+
}
|
|
2400
|
+
)
|
|
2401
|
+
]
|
|
2402
|
+
},
|
|
2403
|
+
index + 1
|
|
2404
|
+
)) : null })
|
|
2405
|
+
}
|
|
2406
|
+
) : null,
|
|
2407
|
+
/* @__PURE__ */ jsx("div", { className: "flex h-full sm:min-w-[200px] items-center justify-end gap-4", children: /* @__PURE__ */ jsx(
|
|
2408
|
+
NavLink,
|
|
2409
|
+
{
|
|
2410
|
+
href: "/",
|
|
2411
|
+
"aria-label": "Account link",
|
|
2412
|
+
className: cn(
|
|
2413
|
+
"flex h-8 w-8 items-center justify-center rounded-full transition-colors btn-icon",
|
|
2414
|
+
!isOpen ? "bg-black/8" : "bg-white/12",
|
|
2415
|
+
isStrategy ? "bg-white border border-gray-100" : ""
|
|
2416
|
+
),
|
|
2417
|
+
children: /* @__PURE__ */ jsx(
|
|
2418
|
+
NavAccount,
|
|
2419
|
+
{
|
|
2420
|
+
className: isStrategy ? "text-bronze-500" : "text-bronze-100"
|
|
2421
|
+
}
|
|
2422
|
+
)
|
|
2423
|
+
}
|
|
2424
|
+
) })
|
|
2425
|
+
] }),
|
|
2426
|
+
isOpen && /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-[rgba(255,255,255,0.08)]" }),
|
|
2427
|
+
/* @__PURE__ */ jsx(
|
|
2428
|
+
"div",
|
|
2429
|
+
{
|
|
2430
|
+
ref: menuRef,
|
|
2431
|
+
className: cn(
|
|
2432
|
+
"relative max-h-[292px] pointer-events-none",
|
|
2433
|
+
isOpen ? "pointer-events-auto" : ""
|
|
2434
|
+
),
|
|
2435
|
+
children: /* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 h-full w-full", children: /* @__PURE__ */ jsx("div", { ref: menuItemsRef, className: "relative grid", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
2436
|
+
motion.div,
|
|
2437
|
+
{
|
|
2438
|
+
initial: { y: 10, opacity: 0 },
|
|
2439
|
+
animate: { y: 0, opacity: 1 },
|
|
2440
|
+
exit: { y: -10, opacity: 0 },
|
|
2441
|
+
transition: { duration: 0.2 },
|
|
2442
|
+
children: [
|
|
2443
|
+
activeItem === 1 && /* @__PURE__ */ jsxs("div", { className: "col-span-full row-span-full container-lg mx-auto space-y-6 py-6 transition-opacity duration-200 ease-in-out", children: [
|
|
2444
|
+
/* @__PURE__ */ jsx(
|
|
2445
|
+
"h2",
|
|
2446
|
+
{
|
|
2447
|
+
className: "heading-xsmall py-1",
|
|
2448
|
+
style: {
|
|
2449
|
+
background: "linear-gradient(90deg, #41D5F6 0%, #3EECD1 25%, #66FCD9 50%, #66FCD9 75%, #3EECD1 100%)",
|
|
2450
|
+
WebkitBackgroundClip: "text",
|
|
2451
|
+
WebkitTextFillColor: "transparent",
|
|
2452
|
+
backgroundClip: "text"
|
|
2453
|
+
},
|
|
2454
|
+
children: "WELL sets the standard for people-first places"
|
|
2455
|
+
}
|
|
2456
|
+
),
|
|
2457
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-20", children: [
|
|
2458
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2459
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Everything" }),
|
|
2460
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2461
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2462
|
+
NavLink,
|
|
2463
|
+
{
|
|
2464
|
+
href: "/",
|
|
2465
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2466
|
+
children: "Explore WELL"
|
|
2467
|
+
}
|
|
2468
|
+
) }),
|
|
2469
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2470
|
+
NavLink,
|
|
2471
|
+
{
|
|
2472
|
+
href: "/",
|
|
2473
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2474
|
+
children: "Enroll in WELL"
|
|
2475
|
+
}
|
|
2476
|
+
) }),
|
|
2477
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2478
|
+
NavLink,
|
|
2479
|
+
{
|
|
2480
|
+
href: "/",
|
|
2481
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2482
|
+
children: "What's new"
|
|
2483
|
+
}
|
|
2484
|
+
) })
|
|
2485
|
+
] })
|
|
2486
|
+
] }),
|
|
2487
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2488
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "WHY WELL" }),
|
|
2489
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2490
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2491
|
+
NavLink,
|
|
2492
|
+
{
|
|
2493
|
+
href: "/",
|
|
2494
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2495
|
+
children: "Performance"
|
|
2496
|
+
}
|
|
2497
|
+
) }),
|
|
2498
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2499
|
+
NavLink,
|
|
2500
|
+
{
|
|
2501
|
+
href: "/",
|
|
2502
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2503
|
+
children: "ROI"
|
|
2504
|
+
}
|
|
2505
|
+
) }),
|
|
2506
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2507
|
+
NavLink,
|
|
2508
|
+
{
|
|
2509
|
+
href: "/",
|
|
2510
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2511
|
+
children: "Impact"
|
|
2512
|
+
}
|
|
2513
|
+
) })
|
|
2514
|
+
] })
|
|
2515
|
+
] }),
|
|
2516
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2517
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Standard" }),
|
|
2518
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2519
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2520
|
+
NavLink,
|
|
2521
|
+
{
|
|
2522
|
+
href: "/",
|
|
2523
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2524
|
+
children: "Strategies"
|
|
2525
|
+
}
|
|
2526
|
+
) }),
|
|
2527
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2528
|
+
NavLink,
|
|
2529
|
+
{
|
|
2530
|
+
href: "/",
|
|
2531
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2532
|
+
children: "Themes"
|
|
2533
|
+
}
|
|
2534
|
+
) }),
|
|
2535
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2536
|
+
NavLink,
|
|
2537
|
+
{
|
|
2538
|
+
href: "/",
|
|
2539
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2540
|
+
children: "Milestones"
|
|
2541
|
+
}
|
|
2542
|
+
) })
|
|
2543
|
+
] })
|
|
2544
|
+
] }),
|
|
2545
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2546
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Network" }),
|
|
2547
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2548
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2549
|
+
NavLink,
|
|
2550
|
+
{
|
|
2551
|
+
href: "/",
|
|
2552
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2553
|
+
children: "Organizations"
|
|
2554
|
+
}
|
|
2555
|
+
) }),
|
|
2556
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2557
|
+
NavLink,
|
|
2558
|
+
{
|
|
2559
|
+
href: "/",
|
|
2560
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2561
|
+
children: "People"
|
|
2562
|
+
}
|
|
2563
|
+
) })
|
|
2564
|
+
] })
|
|
2565
|
+
] }),
|
|
2566
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2567
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Solutions" }),
|
|
2568
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2569
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2570
|
+
NavLink,
|
|
2571
|
+
{
|
|
2572
|
+
href: "/",
|
|
2573
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2574
|
+
children: "Products"
|
|
2575
|
+
}
|
|
2576
|
+
) }),
|
|
2577
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2578
|
+
NavLink,
|
|
2579
|
+
{
|
|
2580
|
+
href: "/",
|
|
2581
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2582
|
+
children: "Services"
|
|
2583
|
+
}
|
|
2584
|
+
) })
|
|
2585
|
+
] })
|
|
2586
|
+
] }),
|
|
2587
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2588
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Places" }),
|
|
2589
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-5", children: [
|
|
2590
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2591
|
+
NavLink,
|
|
2592
|
+
{
|
|
2593
|
+
href: "/",
|
|
2594
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2595
|
+
children: "Locations"
|
|
2596
|
+
}
|
|
2597
|
+
) }),
|
|
2598
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2599
|
+
NavLink,
|
|
2600
|
+
{
|
|
2601
|
+
href: "/",
|
|
2602
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2603
|
+
children: "Portfolios"
|
|
2604
|
+
}
|
|
2605
|
+
) })
|
|
2606
|
+
] })
|
|
2607
|
+
] })
|
|
2608
|
+
] })
|
|
2609
|
+
] }),
|
|
2610
|
+
activeItem === 2 && /* @__PURE__ */ jsxs("div", { className: "col-span-full row-span-full container-lg mx-auto space-y-6 py-6 transition-opacity duration-200 ease-in-out", children: [
|
|
2611
|
+
/* @__PURE__ */ jsx(
|
|
2612
|
+
"h2",
|
|
2613
|
+
{
|
|
2614
|
+
className: "heading-xsmall py-1",
|
|
2615
|
+
style: {
|
|
2616
|
+
background: "linear-gradient(99deg, #41D5F6 3.39%, #3EECD1 57.86%, #66FCD9 112.32%)",
|
|
2617
|
+
backgroundClip: "text",
|
|
2618
|
+
WebkitBackgroundClip: "text",
|
|
2619
|
+
WebkitTextFillColor: "transparent"
|
|
2620
|
+
},
|
|
2621
|
+
children: "WELL works everywhere, at any scale"
|
|
2622
|
+
}
|
|
2623
|
+
),
|
|
2624
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-20", children: [
|
|
2625
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2626
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "SUBSCRIBE" }),
|
|
2627
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2628
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2629
|
+
NavLink,
|
|
2630
|
+
{
|
|
2631
|
+
href: "/",
|
|
2632
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2633
|
+
children: "WELL at scale"
|
|
2634
|
+
}
|
|
2635
|
+
) }),
|
|
2636
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2637
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2638
|
+
/* @__PURE__ */ jsx(NavLink, { href: "/", children: /* @__PURE__ */ jsx("span", { className: "body-small font-medium text-gray-100", children: "Pricing" }) })
|
|
2639
|
+
] }) }),
|
|
2640
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2641
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2642
|
+
/* @__PURE__ */ jsx(NavLink, { href: "/", children: /* @__PURE__ */ jsx("span", { className: "body-small font-medium text-gray-100", children: "Leaderboard" }) })
|
|
2643
|
+
] }) })
|
|
2644
|
+
] })
|
|
2645
|
+
] }),
|
|
2646
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2647
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Certify" }),
|
|
2648
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2649
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2650
|
+
NavLink,
|
|
2651
|
+
{
|
|
2652
|
+
href: "/",
|
|
2653
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2654
|
+
children: "WELL Certification"
|
|
2655
|
+
}
|
|
2656
|
+
) }),
|
|
2657
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
|
|
2658
|
+
NavLink,
|
|
2659
|
+
{
|
|
2660
|
+
href: "/",
|
|
2661
|
+
className: "text-gray-100 hover:text-white flex items-center justify-start body-base font-medium",
|
|
2662
|
+
children: [
|
|
2663
|
+
"WELL Residence",
|
|
2664
|
+
/* @__PURE__ */ jsx("span", { className: "overline-small text-[#F0AA99] ml-1", children: "PILOT" })
|
|
2665
|
+
]
|
|
2666
|
+
}
|
|
2667
|
+
) })
|
|
2668
|
+
] })
|
|
2669
|
+
] }),
|
|
2670
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2671
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Get rated" }),
|
|
2672
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2673
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2674
|
+
NavLink,
|
|
2675
|
+
{
|
|
2676
|
+
href: "/",
|
|
2677
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2678
|
+
children: "WELL Ratings"
|
|
2679
|
+
}
|
|
2680
|
+
) }),
|
|
2681
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2682
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#F3E7D8" }),
|
|
2683
|
+
/* @__PURE__ */ jsx(
|
|
2684
|
+
NavLink,
|
|
2685
|
+
{
|
|
2686
|
+
href: "/",
|
|
2687
|
+
className: "body-small font-medium text-gray-100",
|
|
2688
|
+
children: "Health-Safety Rating"
|
|
2689
|
+
}
|
|
2690
|
+
)
|
|
2691
|
+
] }) }),
|
|
2692
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2693
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#0F748A" }),
|
|
2694
|
+
/* @__PURE__ */ jsx(
|
|
2695
|
+
NavLink,
|
|
2696
|
+
{
|
|
2697
|
+
href: "/",
|
|
2698
|
+
className: "body-small font-medium text-gray-100",
|
|
2699
|
+
children: "Performance Rating"
|
|
2700
|
+
}
|
|
2701
|
+
)
|
|
2702
|
+
] }) }),
|
|
2703
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2704
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#17AA8D" }),
|
|
2705
|
+
/* @__PURE__ */ jsx(
|
|
2706
|
+
NavLink,
|
|
2707
|
+
{
|
|
2708
|
+
href: "/",
|
|
2709
|
+
className: "body-small font-medium text-gray-100",
|
|
2710
|
+
children: "Equity Rating"
|
|
2711
|
+
}
|
|
2712
|
+
)
|
|
2713
|
+
] }) })
|
|
2714
|
+
] })
|
|
2715
|
+
] })
|
|
2716
|
+
] })
|
|
2717
|
+
] }),
|
|
2718
|
+
activeItem === 3 && /* @__PURE__ */ jsxs("div", { className: "col-span-full row-span-full container-lg mx-auto space-y-6 py-6 transition-opacity duration-200 ease-in-out", children: [
|
|
2719
|
+
/* @__PURE__ */ jsx(
|
|
2720
|
+
"h2",
|
|
2721
|
+
{
|
|
2722
|
+
className: "heading-xsmall py-1",
|
|
2723
|
+
style: {
|
|
2724
|
+
background: "linear-gradient(90deg, #41D5F6 0%, #3EECD1 25%, #66FCD9 50%, #66FCD9 75%, #3EECD1 100%)",
|
|
2725
|
+
WebkitBackgroundClip: "text",
|
|
2726
|
+
WebkitTextFillColor: "transparent"
|
|
2727
|
+
},
|
|
2728
|
+
children: "Our network drives our movement"
|
|
2729
|
+
}
|
|
2730
|
+
),
|
|
2731
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-20", children: [
|
|
2732
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2733
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "JOIN" }),
|
|
2734
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2735
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2736
|
+
NavLink,
|
|
2737
|
+
{
|
|
2738
|
+
href: "/",
|
|
2739
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2740
|
+
children: "Membership"
|
|
2741
|
+
}
|
|
2742
|
+
) }),
|
|
2743
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2744
|
+
NavLink,
|
|
2745
|
+
{
|
|
2746
|
+
href: "/",
|
|
2747
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2748
|
+
children: "Works with WELL"
|
|
2749
|
+
}
|
|
2750
|
+
) }),
|
|
2751
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2752
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#2E74AD" }),
|
|
2753
|
+
/* @__PURE__ */ jsx(
|
|
2754
|
+
NavLink,
|
|
2755
|
+
{
|
|
2756
|
+
href: "/",
|
|
2757
|
+
className: "body-small font-medium text-gray-100",
|
|
2758
|
+
children: "Enterprise Provider"
|
|
2759
|
+
}
|
|
2760
|
+
)
|
|
2761
|
+
] }) }),
|
|
2762
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2763
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#149EBD" }),
|
|
2764
|
+
/* @__PURE__ */ jsx(
|
|
2765
|
+
NavLink,
|
|
2766
|
+
{
|
|
2767
|
+
href: "/",
|
|
2768
|
+
className: "body-small font-medium text-gray-100",
|
|
2769
|
+
children: "Product Provider"
|
|
2770
|
+
}
|
|
2771
|
+
)
|
|
2772
|
+
] }) }),
|
|
2773
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2774
|
+
/* @__PURE__ */ jsx(NavBullet, { color: "#ED896F" }),
|
|
2775
|
+
/* @__PURE__ */ jsx(
|
|
2776
|
+
NavLink,
|
|
2777
|
+
{
|
|
2778
|
+
href: "/",
|
|
2779
|
+
className: "body-small font-medium text-gray-100",
|
|
2780
|
+
children: "Performance Testing Provider"
|
|
2781
|
+
}
|
|
2782
|
+
)
|
|
2783
|
+
] }) })
|
|
2784
|
+
] })
|
|
2785
|
+
] }),
|
|
2786
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2787
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "EARN" }),
|
|
2788
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2789
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2790
|
+
NavLink,
|
|
2791
|
+
{
|
|
2792
|
+
href: "/",
|
|
2793
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2794
|
+
children: "WELL AP"
|
|
2795
|
+
}
|
|
2796
|
+
) }),
|
|
2797
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2798
|
+
NavLink,
|
|
2799
|
+
{
|
|
2800
|
+
href: "/",
|
|
2801
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2802
|
+
children: "WELL Faculty"
|
|
2803
|
+
}
|
|
2804
|
+
) })
|
|
2805
|
+
] })
|
|
2806
|
+
] })
|
|
2807
|
+
] })
|
|
2808
|
+
] }),
|
|
2809
|
+
activeItem === 4 && /* @__PURE__ */ jsxs("div", { className: "col-span-full row-span-full container-lg mx-auto space-y-6 py-6 transition-opacity duration-200 ease-in-out", children: [
|
|
2810
|
+
/* @__PURE__ */ jsx(
|
|
2811
|
+
"h2",
|
|
2812
|
+
{
|
|
2813
|
+
className: "heading-xsmall py-1",
|
|
2814
|
+
style: {
|
|
2815
|
+
background: "linear-gradient(90deg, #41D5F6 0%, #3EECD1 25%, #66FCD9 50%, #66FCD9 75%, #3EECD1 100%)",
|
|
2816
|
+
WebkitBackgroundClip: "text",
|
|
2817
|
+
WebkitTextFillColor: "transparent"
|
|
2818
|
+
},
|
|
2819
|
+
children: "Learn from the experts on health"
|
|
2820
|
+
}
|
|
2821
|
+
),
|
|
2822
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-20", children: [
|
|
2823
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2824
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "LEARN" }),
|
|
2825
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2826
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2827
|
+
NavLink,
|
|
2828
|
+
{
|
|
2829
|
+
href: "/",
|
|
2830
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2831
|
+
children: "WELL Forum"
|
|
2832
|
+
}
|
|
2833
|
+
) }),
|
|
2834
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2835
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2836
|
+
/* @__PURE__ */ jsx(
|
|
2837
|
+
NavLink,
|
|
2838
|
+
{
|
|
2839
|
+
href: "/",
|
|
2840
|
+
className: "body-small font-medium text-gray-100",
|
|
2841
|
+
children: "Threads"
|
|
2842
|
+
}
|
|
2843
|
+
)
|
|
2844
|
+
] }) }),
|
|
2845
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2846
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2847
|
+
/* @__PURE__ */ jsx(
|
|
2848
|
+
NavLink,
|
|
2849
|
+
{
|
|
2850
|
+
href: "/",
|
|
2851
|
+
className: "body-small font-medium text-gray-100",
|
|
2852
|
+
children: "Webcasts"
|
|
2853
|
+
}
|
|
2854
|
+
)
|
|
2855
|
+
] }) }),
|
|
2856
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2857
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2858
|
+
/* @__PURE__ */ jsx(
|
|
2859
|
+
NavLink,
|
|
2860
|
+
{
|
|
2861
|
+
href: "/",
|
|
2862
|
+
className: "body-small font-medium text-gray-100",
|
|
2863
|
+
children: "Trainings"
|
|
2864
|
+
}
|
|
2865
|
+
)
|
|
2866
|
+
] }) })
|
|
2867
|
+
] })
|
|
2868
|
+
] }),
|
|
2869
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2870
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "ATTEND" }),
|
|
2871
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2872
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2873
|
+
NavLink,
|
|
2874
|
+
{
|
|
2875
|
+
href: "/",
|
|
2876
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2877
|
+
children: "WELL 2025"
|
|
2878
|
+
}
|
|
2879
|
+
) }),
|
|
2880
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2881
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2882
|
+
/* @__PURE__ */ jsx(
|
|
2883
|
+
NavLink,
|
|
2884
|
+
{
|
|
2885
|
+
href: "/",
|
|
2886
|
+
className: "body-small font-medium text-gray-100",
|
|
2887
|
+
children: "Flagship events"
|
|
2888
|
+
}
|
|
2889
|
+
)
|
|
2890
|
+
] }) }),
|
|
2891
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2892
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2893
|
+
/* @__PURE__ */ jsx(
|
|
2894
|
+
NavLink,
|
|
2895
|
+
{
|
|
2896
|
+
href: "/",
|
|
2897
|
+
className: "body-small font-medium text-gray-100",
|
|
2898
|
+
children: "Thematic summits"
|
|
2899
|
+
}
|
|
2900
|
+
)
|
|
2901
|
+
] }) }),
|
|
2902
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2903
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2904
|
+
/* @__PURE__ */ jsx(
|
|
2905
|
+
NavLink,
|
|
2906
|
+
{
|
|
2907
|
+
href: "/",
|
|
2908
|
+
className: "body-small font-medium text-gray-100",
|
|
2909
|
+
children: "Regional summits"
|
|
2910
|
+
}
|
|
2911
|
+
)
|
|
2912
|
+
] }) })
|
|
2913
|
+
] })
|
|
2914
|
+
] }),
|
|
2915
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2916
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "GUIDANCE" }),
|
|
2917
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2918
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2919
|
+
NavLink,
|
|
2920
|
+
{
|
|
2921
|
+
href: "/",
|
|
2922
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2923
|
+
children: "Knowledge base"
|
|
2924
|
+
}
|
|
2925
|
+
) }),
|
|
2926
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2927
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2928
|
+
/* @__PURE__ */ jsx(
|
|
2929
|
+
NavLink,
|
|
2930
|
+
{
|
|
2931
|
+
href: "/",
|
|
2932
|
+
className: "body-small font-medium text-gray-100",
|
|
2933
|
+
children: "Tutorials"
|
|
2934
|
+
}
|
|
2935
|
+
)
|
|
2936
|
+
] }) }),
|
|
2937
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2938
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2939
|
+
/* @__PURE__ */ jsx(
|
|
2940
|
+
NavLink,
|
|
2941
|
+
{
|
|
2942
|
+
href: "/",
|
|
2943
|
+
className: "body-small font-medium text-gray-100",
|
|
2944
|
+
children: "Guides"
|
|
2945
|
+
}
|
|
2946
|
+
)
|
|
2947
|
+
] }) }),
|
|
2948
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2949
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2950
|
+
/* @__PURE__ */ jsx(
|
|
2951
|
+
NavLink,
|
|
2952
|
+
{
|
|
2953
|
+
href: "/",
|
|
2954
|
+
className: "body-small font-medium text-gray-100",
|
|
2955
|
+
children: "FAQs"
|
|
2956
|
+
}
|
|
2957
|
+
)
|
|
2958
|
+
] }) })
|
|
2959
|
+
] })
|
|
2960
|
+
] }),
|
|
2961
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2962
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Resources" }),
|
|
2963
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
2964
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2965
|
+
NavLink,
|
|
2966
|
+
{
|
|
2967
|
+
href: "/",
|
|
2968
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
2969
|
+
children: "Resource library"
|
|
2970
|
+
}
|
|
2971
|
+
) }),
|
|
2972
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2973
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2974
|
+
/* @__PURE__ */ jsx(
|
|
2975
|
+
NavLink,
|
|
2976
|
+
{
|
|
2977
|
+
href: "/",
|
|
2978
|
+
className: "body-small font-medium text-gray-100",
|
|
2979
|
+
children: "Technical tools"
|
|
2980
|
+
}
|
|
2981
|
+
)
|
|
2982
|
+
] }) }),
|
|
2983
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2984
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2985
|
+
/* @__PURE__ */ jsx(
|
|
2986
|
+
NavLink,
|
|
2987
|
+
{
|
|
2988
|
+
href: "/",
|
|
2989
|
+
className: "body-small font-medium text-gray-100",
|
|
2990
|
+
children: "Sales tools"
|
|
2991
|
+
}
|
|
2992
|
+
)
|
|
2993
|
+
] }) }),
|
|
2994
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pl-[6px]", children: [
|
|
2995
|
+
/* @__PURE__ */ jsx("div", { className: "h-1 w-1 rounded-full bg-gray-500" }),
|
|
2996
|
+
/* @__PURE__ */ jsx(
|
|
2997
|
+
NavLink,
|
|
2998
|
+
{
|
|
2999
|
+
href: "/",
|
|
3000
|
+
className: "body-small font-medium text-gray-100",
|
|
3001
|
+
children: "Media"
|
|
3002
|
+
}
|
|
3003
|
+
)
|
|
3004
|
+
] }) })
|
|
3005
|
+
] })
|
|
3006
|
+
] })
|
|
3007
|
+
] })
|
|
3008
|
+
] }),
|
|
3009
|
+
activeItem === 5 && /* @__PURE__ */ jsxs("div", { className: "col-span-full row-span-full container-lg mx-auto space-y-6 py-6 transition-opacity duration-200 ease-in-out", children: [
|
|
3010
|
+
/* @__PURE__ */ jsx(
|
|
3011
|
+
"h2",
|
|
3012
|
+
{
|
|
3013
|
+
className: "heading-xsmall py-1",
|
|
3014
|
+
style: {
|
|
3015
|
+
background: "linear-gradient(90deg, #41D5F6 0%, #3EECD1 25%, #66FCD9 50%, #66FCD9 75%, #3EECD1 100%)",
|
|
3016
|
+
WebkitBackgroundClip: "text",
|
|
3017
|
+
WebkitTextFillColor: "transparent"
|
|
3018
|
+
},
|
|
3019
|
+
children: "The International WELL Building Institute (IWBI)"
|
|
3020
|
+
}
|
|
3021
|
+
),
|
|
3022
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-20", children: [
|
|
3023
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
3024
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "About" }),
|
|
3025
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
3026
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3027
|
+
NavLink,
|
|
3028
|
+
{
|
|
3029
|
+
href: "/",
|
|
3030
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3031
|
+
children: "IWBI"
|
|
3032
|
+
}
|
|
3033
|
+
) }),
|
|
3034
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3035
|
+
NavLink,
|
|
3036
|
+
{
|
|
3037
|
+
href: "/",
|
|
3038
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3039
|
+
children: "Research"
|
|
3040
|
+
}
|
|
3041
|
+
) }),
|
|
3042
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3043
|
+
NavLink,
|
|
3044
|
+
{
|
|
3045
|
+
href: "/",
|
|
3046
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3047
|
+
children: "Advocacy"
|
|
3048
|
+
}
|
|
3049
|
+
) })
|
|
3050
|
+
] })
|
|
3051
|
+
] }),
|
|
3052
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
3053
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Meet" }),
|
|
3054
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
3055
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3056
|
+
NavLink,
|
|
3057
|
+
{
|
|
3058
|
+
href: "/",
|
|
3059
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3060
|
+
children: "Team"
|
|
3061
|
+
}
|
|
3062
|
+
) }),
|
|
3063
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3064
|
+
NavLink,
|
|
3065
|
+
{
|
|
3066
|
+
href: "/",
|
|
3067
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3068
|
+
children: "Advisories"
|
|
3069
|
+
}
|
|
3070
|
+
) }),
|
|
3071
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3072
|
+
NavLink,
|
|
3073
|
+
{
|
|
3074
|
+
href: "/",
|
|
3075
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3076
|
+
children: "Governance Council"
|
|
3077
|
+
}
|
|
3078
|
+
) })
|
|
3079
|
+
] })
|
|
3080
|
+
] }),
|
|
3081
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
3082
|
+
/* @__PURE__ */ jsx("h3", { className: "overline-medium font-semibold text-plum-400", children: "Explore" }),
|
|
3083
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-4", children: [
|
|
3084
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3085
|
+
NavLink,
|
|
3086
|
+
{
|
|
3087
|
+
href: "/",
|
|
3088
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3089
|
+
children: "Newsroom"
|
|
3090
|
+
}
|
|
3091
|
+
) }),
|
|
3092
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3093
|
+
NavLink,
|
|
3094
|
+
{
|
|
3095
|
+
href: "/",
|
|
3096
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3097
|
+
children: "Jobs"
|
|
3098
|
+
}
|
|
3099
|
+
) }),
|
|
3100
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
3101
|
+
NavLink,
|
|
3102
|
+
{
|
|
3103
|
+
href: "/",
|
|
3104
|
+
className: "body-base block font-medium text-gray-100 hover:text-white",
|
|
3105
|
+
children: "Blog"
|
|
3106
|
+
}
|
|
3107
|
+
) })
|
|
3108
|
+
] })
|
|
3109
|
+
] })
|
|
3110
|
+
] })
|
|
3111
|
+
] })
|
|
3112
|
+
]
|
|
3113
|
+
},
|
|
3114
|
+
activeItem ? activeItem + 1 : "empty"
|
|
3115
|
+
) }) }) })
|
|
3116
|
+
}
|
|
3117
|
+
)
|
|
3118
|
+
]
|
|
3119
|
+
}
|
|
3120
|
+
);
|
|
3121
|
+
};
|
|
3122
|
+
function Dialog({
|
|
3123
|
+
...props
|
|
3124
|
+
}) {
|
|
3125
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
3126
|
+
}
|
|
3127
|
+
function DialogTrigger({
|
|
3128
|
+
...props
|
|
3129
|
+
}) {
|
|
3130
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
3131
|
+
}
|
|
3132
|
+
function DialogPortal({
|
|
3133
|
+
...props
|
|
3134
|
+
}) {
|
|
3135
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
3136
|
+
}
|
|
3137
|
+
function DialogClose({
|
|
3138
|
+
...props
|
|
3139
|
+
}) {
|
|
3140
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
3141
|
+
}
|
|
3142
|
+
function DialogOverlay({
|
|
3143
|
+
className,
|
|
3144
|
+
...props
|
|
3145
|
+
}) {
|
|
3146
|
+
return /* @__PURE__ */ jsx(
|
|
3147
|
+
SheetPrimitive.Overlay,
|
|
3148
|
+
{
|
|
3149
|
+
"data-slot": "dialog-overlay",
|
|
3150
|
+
className: cn(
|
|
3151
|
+
"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",
|
|
3152
|
+
className
|
|
3153
|
+
),
|
|
3154
|
+
...props
|
|
3155
|
+
}
|
|
3156
|
+
);
|
|
3157
|
+
}
|
|
3158
|
+
function DialogContent({
|
|
3159
|
+
className,
|
|
3160
|
+
children,
|
|
3161
|
+
showCloseButton = true,
|
|
3162
|
+
...props
|
|
3163
|
+
}) {
|
|
3164
|
+
return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
3165
|
+
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
3166
|
+
/* @__PURE__ */ jsxs(
|
|
3167
|
+
SheetPrimitive.Content,
|
|
3168
|
+
{
|
|
3169
|
+
"data-slot": "dialog-content",
|
|
3170
|
+
className: cn(
|
|
3171
|
+
"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-1/2 left-1/2 z-50 grid -translate-x-1/2 -translate-y-1/2 border-12 border-[rgba(255,255,255,0.20)] duration-200 ",
|
|
3172
|
+
className
|
|
3173
|
+
),
|
|
3174
|
+
...props,
|
|
3175
|
+
children: [
|
|
3176
|
+
/* @__PURE__ */ jsx("div", { className: "p-6 bg-gray-50", children }),
|
|
3177
|
+
showCloseButton && /* @__PURE__ */ jsxs(
|
|
3178
|
+
SheetPrimitive.Close,
|
|
3179
|
+
{
|
|
3180
|
+
"data-slot": "dialog-close",
|
|
3181
|
+
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",
|
|
3182
|
+
children: [
|
|
3183
|
+
/* @__PURE__ */ jsx(XIcon, {}),
|
|
3184
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
3185
|
+
]
|
|
3186
|
+
}
|
|
3187
|
+
)
|
|
3188
|
+
]
|
|
3189
|
+
}
|
|
3190
|
+
)
|
|
3191
|
+
] });
|
|
3192
|
+
}
|
|
3193
|
+
function DialogHeader({ className, ...props }) {
|
|
3194
|
+
return /* @__PURE__ */ jsx(
|
|
3195
|
+
"div",
|
|
3196
|
+
{
|
|
3197
|
+
"data-slot": "dialog-header",
|
|
3198
|
+
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
3199
|
+
...props
|
|
3200
|
+
}
|
|
3201
|
+
);
|
|
3202
|
+
}
|
|
3203
|
+
function DialogFooter({ className, ...props }) {
|
|
3204
|
+
return /* @__PURE__ */ jsx(
|
|
3205
|
+
"div",
|
|
3206
|
+
{
|
|
3207
|
+
"data-slot": "dialog-footer",
|
|
3208
|
+
className: cn(
|
|
3209
|
+
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
3210
|
+
className
|
|
3211
|
+
),
|
|
3212
|
+
...props
|
|
3213
|
+
}
|
|
3214
|
+
);
|
|
3215
|
+
}
|
|
3216
|
+
function DialogTitle({
|
|
3217
|
+
className,
|
|
3218
|
+
...props
|
|
3219
|
+
}) {
|
|
3220
|
+
return /* @__PURE__ */ jsx(
|
|
3221
|
+
SheetPrimitive.Title,
|
|
3222
|
+
{
|
|
3223
|
+
"data-slot": "dialog-title",
|
|
3224
|
+
className: cn("heading-xxsmall ", className),
|
|
3225
|
+
...props
|
|
3226
|
+
}
|
|
3227
|
+
);
|
|
3228
|
+
}
|
|
3229
|
+
function DialogDescription({
|
|
3230
|
+
className,
|
|
3231
|
+
...props
|
|
3232
|
+
}) {
|
|
3233
|
+
return /* @__PURE__ */ jsx(
|
|
3234
|
+
SheetPrimitive.Description,
|
|
3235
|
+
{
|
|
3236
|
+
"data-slot": "dialog-description",
|
|
3237
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
3238
|
+
...props
|
|
3239
|
+
}
|
|
3240
|
+
);
|
|
3241
|
+
}
|
|
3242
|
+
const Command = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3243
|
+
Command$1,
|
|
3244
|
+
{
|
|
3245
|
+
ref,
|
|
3246
|
+
className: cn("flex h-full w-full flex-col overflow-hidden", className),
|
|
3247
|
+
...props
|
|
3248
|
+
}
|
|
3249
|
+
));
|
|
3250
|
+
Command.displayName = Command$1.displayName;
|
|
3251
|
+
const CommandDialog = ({ children, ...props }) => {
|
|
3252
|
+
return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
3253
|
+
};
|
|
3254
|
+
const CommandInput = React.forwardRef(({ className, icon: Icon = Search, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
3255
|
+
"div",
|
|
3256
|
+
{
|
|
3257
|
+
className: cn(
|
|
3258
|
+
"group relative flex h-14 w-full sm:min-w-[344px] items-center gap-4 rounded-lg border border-gray-200 bg-white p-4 focus:ring-0 focus:outline-none",
|
|
3259
|
+
className
|
|
3260
|
+
),
|
|
3261
|
+
"cmdk-input-wrapper": "",
|
|
3262
|
+
children: [
|
|
3263
|
+
/* @__PURE__ */ jsx(Icon, { className: " h-4 w-4 shrink-0 group-focus-within:-translate-x-4 group-focus-within:opacity-0 ease-in-out duration-200" }),
|
|
3264
|
+
/* @__PURE__ */ jsx(
|
|
3265
|
+
Command$1.Input,
|
|
3266
|
+
{
|
|
3267
|
+
ref,
|
|
3268
|
+
className: cn(
|
|
3269
|
+
"text-base w-full ring-0 outline-none group-focus-within:-translate-x-8 ease-in-out duration-200",
|
|
3270
|
+
className
|
|
3271
|
+
),
|
|
3272
|
+
...props
|
|
3273
|
+
}
|
|
3274
|
+
)
|
|
3275
|
+
]
|
|
3276
|
+
}
|
|
3277
|
+
));
|
|
3278
|
+
CommandInput.displayName = Command$1.Input.displayName;
|
|
3279
|
+
const CommandList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3280
|
+
Command$1.List,
|
|
3281
|
+
{
|
|
3282
|
+
ref,
|
|
3283
|
+
className: cn(
|
|
3284
|
+
"max-h-[300px] overflow-y-auto overflow-x-hidden bg-gray-700 rounded-b-lg",
|
|
3285
|
+
className
|
|
3286
|
+
),
|
|
3287
|
+
...props
|
|
3288
|
+
}
|
|
3289
|
+
));
|
|
3290
|
+
CommandList.displayName = Command$1.List.displayName;
|
|
3291
|
+
const CommandEmpty = React.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
3292
|
+
Command$1.Empty,
|
|
3293
|
+
{
|
|
3294
|
+
ref,
|
|
3295
|
+
className: "py-6 text-center text-sm",
|
|
3296
|
+
...props
|
|
3297
|
+
}
|
|
3298
|
+
));
|
|
3299
|
+
CommandEmpty.displayName = Command$1.Empty.displayName;
|
|
3300
|
+
const CommandGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3301
|
+
Command$1.Group,
|
|
3302
|
+
{
|
|
3303
|
+
ref,
|
|
3304
|
+
className: cn(
|
|
3305
|
+
"group overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground ",
|
|
3306
|
+
className
|
|
3307
|
+
),
|
|
3308
|
+
...props
|
|
3309
|
+
}
|
|
3310
|
+
));
|
|
3311
|
+
CommandGroup.displayName = Command$1.Group.displayName;
|
|
3312
|
+
const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3313
|
+
Command$1.Separator,
|
|
3314
|
+
{
|
|
3315
|
+
ref,
|
|
3316
|
+
className: cn("-mx-1 h-px bg-border", className),
|
|
3317
|
+
...props
|
|
3318
|
+
}
|
|
3319
|
+
));
|
|
3320
|
+
CommandSeparator.displayName = Command$1.Separator.displayName;
|
|
3321
|
+
const CommandItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3322
|
+
Command$1.Item,
|
|
3323
|
+
{
|
|
3324
|
+
ref,
|
|
3325
|
+
className: cn(
|
|
3326
|
+
"relative flex w-full items-center gap-2 cursor-default select-none p-4 text-sm outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-gray-700 hover:bg-[rgba(0,0,0,0.2)] text-gray-200",
|
|
3327
|
+
className
|
|
3328
|
+
),
|
|
3329
|
+
...props
|
|
3330
|
+
}
|
|
3331
|
+
));
|
|
3332
|
+
CommandItem.displayName = Command$1.Item.displayName;
|
|
3333
|
+
const CommandShortcut = ({
|
|
3334
|
+
className,
|
|
3335
|
+
...props
|
|
3336
|
+
}) => {
|
|
3337
|
+
return /* @__PURE__ */ jsx(
|
|
3338
|
+
"span",
|
|
3339
|
+
{
|
|
3340
|
+
className: cn(
|
|
3341
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
3342
|
+
className
|
|
3343
|
+
),
|
|
3344
|
+
...props
|
|
3345
|
+
}
|
|
3346
|
+
);
|
|
3347
|
+
};
|
|
3348
|
+
CommandShortcut.displayName = "CommandShortcut";
|
|
3349
|
+
const SearchField = ({
|
|
3350
|
+
options,
|
|
3351
|
+
placeholder,
|
|
3352
|
+
emptyMessage,
|
|
3353
|
+
value,
|
|
3354
|
+
onValueChange,
|
|
3355
|
+
disabled,
|
|
3356
|
+
isLoading = false
|
|
3357
|
+
}) => {
|
|
3358
|
+
const inputRef = useRef(null);
|
|
3359
|
+
const [isOpen, setOpen] = useState(false);
|
|
3360
|
+
const [selected, setSelected] = useState(value);
|
|
3361
|
+
const [inputValue, setInputValue] = useState((value == null ? void 0 : value.label) || "");
|
|
3362
|
+
const handleKeyDown = useCallback(
|
|
3363
|
+
(event) => {
|
|
3364
|
+
const input = inputRef.current;
|
|
3365
|
+
if (!input) {
|
|
3366
|
+
return;
|
|
3367
|
+
}
|
|
3368
|
+
if (!isOpen) {
|
|
3369
|
+
setOpen(true);
|
|
3370
|
+
}
|
|
3371
|
+
if (event.key === "Enter" && input.value !== "") {
|
|
3372
|
+
const optionToSelect = options.find(
|
|
3373
|
+
(option) => option.label === input.value
|
|
3374
|
+
);
|
|
3375
|
+
if (optionToSelect) {
|
|
3376
|
+
setSelected(optionToSelect);
|
|
3377
|
+
onValueChange == null ? void 0 : onValueChange(optionToSelect);
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
if (event.key === "Escape") {
|
|
3381
|
+
input.blur();
|
|
3382
|
+
}
|
|
3383
|
+
},
|
|
3384
|
+
[isOpen, options, onValueChange]
|
|
3385
|
+
);
|
|
3386
|
+
const handleBlur = useCallback(() => {
|
|
3387
|
+
setOpen(false);
|
|
3388
|
+
setInputValue(selected == null ? void 0 : selected.label);
|
|
3389
|
+
}, [selected]);
|
|
3390
|
+
const handleSelectOption = useCallback(
|
|
3391
|
+
(selectedOption) => {
|
|
3392
|
+
setInputValue(selectedOption.label);
|
|
3393
|
+
setSelected(selectedOption);
|
|
3394
|
+
onValueChange == null ? void 0 : onValueChange(selectedOption);
|
|
3395
|
+
setTimeout(() => {
|
|
3396
|
+
var _a;
|
|
3397
|
+
(_a = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a.blur();
|
|
3398
|
+
}, 0);
|
|
3399
|
+
},
|
|
3400
|
+
[onValueChange]
|
|
3401
|
+
);
|
|
3402
|
+
return /* @__PURE__ */ jsxs(Command$1, { onKeyDown: handleKeyDown, children: [
|
|
3403
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
3404
|
+
CommandInput,
|
|
3405
|
+
{
|
|
3406
|
+
ref: inputRef,
|
|
3407
|
+
value: inputValue,
|
|
3408
|
+
onValueChange: isLoading ? void 0 : setInputValue,
|
|
3409
|
+
onBlur: handleBlur,
|
|
3410
|
+
onFocus: () => setOpen(true),
|
|
3411
|
+
placeholder,
|
|
3412
|
+
disabled,
|
|
3413
|
+
className: cn(
|
|
3414
|
+
"focus-within:border-cyan-300 focus:border-cyan-300",
|
|
3415
|
+
isOpen && "rounded-b-none"
|
|
3416
|
+
)
|
|
3417
|
+
}
|
|
3418
|
+
) }),
|
|
3419
|
+
/* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsx(
|
|
3420
|
+
"div",
|
|
3421
|
+
{
|
|
3422
|
+
className: cn(
|
|
3423
|
+
"animate-in fade-in-0 absolute top-0 z-10 w-full rounded-xl bg-white outline-none",
|
|
3424
|
+
isOpen ? "block" : "hidden"
|
|
3425
|
+
),
|
|
3426
|
+
children: /* @__PURE__ */ jsxs(CommandList, { className: "border-b border-x border-cyan-300", children: [
|
|
3427
|
+
(options == null ? void 0 : options.length) > 0 && !isLoading ? /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => {
|
|
3428
|
+
const isSelected = (selected == null ? void 0 : selected.value) === option.value;
|
|
3429
|
+
return /* @__PURE__ */ jsxs(
|
|
3430
|
+
CommandItem,
|
|
3431
|
+
{
|
|
3432
|
+
value: option.label,
|
|
3433
|
+
onMouseDown: (event) => {
|
|
3434
|
+
event.preventDefault();
|
|
3435
|
+
event.stopPropagation();
|
|
3436
|
+
},
|
|
3437
|
+
onSelect: () => handleSelectOption(option),
|
|
3438
|
+
children: [
|
|
3439
|
+
isSelected ? /* @__PURE__ */ jsx(Check, { className: "w-4" }) : null,
|
|
3440
|
+
option.label
|
|
3441
|
+
]
|
|
3442
|
+
},
|
|
3443
|
+
option.value
|
|
3444
|
+
);
|
|
3445
|
+
}) }) : null,
|
|
3446
|
+
!isLoading ? /* @__PURE__ */ jsx(CommandEmpty, { className: "select-none rounded-sm px-2 py-3 text-center text-sm text-gray-200", children: emptyMessage }) : null
|
|
3447
|
+
] })
|
|
3448
|
+
}
|
|
3449
|
+
) })
|
|
3450
|
+
] });
|
|
3451
|
+
};
|
|
3452
|
+
const getStatusColors = (status, variant = "light") => {
|
|
3453
|
+
const colors = {
|
|
3454
|
+
light: {
|
|
3455
|
+
todo: {
|
|
3456
|
+
bg: "bg-gray-100",
|
|
3457
|
+
text: "text-gray-600"
|
|
3458
|
+
},
|
|
3459
|
+
low: {
|
|
3460
|
+
bg: "bg-cyan-100",
|
|
3461
|
+
text: "text-cyan-600"
|
|
3462
|
+
},
|
|
3463
|
+
medium: {
|
|
3464
|
+
bg: "bg-plum-100",
|
|
3465
|
+
text: "text-plum-600"
|
|
3466
|
+
},
|
|
3467
|
+
high: {
|
|
3468
|
+
bg: "bg-coral-100",
|
|
3469
|
+
text: "text-coral-600"
|
|
3470
|
+
},
|
|
3471
|
+
done: {
|
|
3472
|
+
bg: "bg-emerald-100",
|
|
3473
|
+
text: "text-emerald-600"
|
|
3474
|
+
}
|
|
3475
|
+
},
|
|
3476
|
+
dark: {
|
|
3477
|
+
todo: {
|
|
3478
|
+
bg: "bg-gray-600",
|
|
3479
|
+
text: "text-gray-100"
|
|
3480
|
+
},
|
|
3481
|
+
low: {
|
|
3482
|
+
bg: "bg-cyan-700",
|
|
3483
|
+
text: "text-cyan-100"
|
|
3484
|
+
},
|
|
3485
|
+
medium: {
|
|
3486
|
+
bg: "bg-plum-700",
|
|
3487
|
+
text: "text-plum-100"
|
|
3488
|
+
},
|
|
3489
|
+
high: {
|
|
3490
|
+
bg: "bg-coral-700",
|
|
3491
|
+
text: "text-coral-100"
|
|
3492
|
+
},
|
|
3493
|
+
done: {
|
|
3494
|
+
bg: "bg-emerald-700",
|
|
3495
|
+
text: "text-emerald-100"
|
|
3496
|
+
}
|
|
3497
|
+
}
|
|
3498
|
+
};
|
|
3499
|
+
return colors[variant][status];
|
|
3500
|
+
};
|
|
3501
|
+
const Tag = React.forwardRef(
|
|
3502
|
+
({
|
|
3503
|
+
children,
|
|
3504
|
+
active = false,
|
|
3505
|
+
status,
|
|
3506
|
+
variant = "light",
|
|
3507
|
+
className,
|
|
3508
|
+
onClick,
|
|
3509
|
+
...props
|
|
3510
|
+
}, ref) => {
|
|
3511
|
+
if (status) {
|
|
3512
|
+
const statusColors = getStatusColors(status, variant);
|
|
3513
|
+
return /* @__PURE__ */ jsx(
|
|
3514
|
+
"button",
|
|
3515
|
+
{
|
|
3516
|
+
ref,
|
|
3517
|
+
onClick,
|
|
3518
|
+
className: cn(
|
|
3519
|
+
"inline-flex items-center p-[8px] rounded-sm w-fit",
|
|
3520
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
3521
|
+
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3522
|
+
statusColors.bg,
|
|
3523
|
+
statusColors.text,
|
|
3524
|
+
className
|
|
3525
|
+
),
|
|
3526
|
+
...props,
|
|
3527
|
+
children: /* @__PURE__ */ jsx("span", { className: "overline-medium", children })
|
|
3528
|
+
}
|
|
3529
|
+
);
|
|
3530
|
+
}
|
|
3531
|
+
return /* @__PURE__ */ jsx(
|
|
3532
|
+
"button",
|
|
3533
|
+
{
|
|
3534
|
+
ref,
|
|
3535
|
+
onClick,
|
|
3536
|
+
className: cn(
|
|
3537
|
+
"inline-flex items-center h-[32px] px-[12px] py-0 rounded-sm w-fit cursor-pointer",
|
|
3538
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
3539
|
+
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3540
|
+
"transition-all duration-200",
|
|
3541
|
+
active ? "bg-cyan-700 text-white hover:border-cyan-700" : "bg-blue-100 text-blue-700 hover:bg-cyan-700 hover:text-white",
|
|
3542
|
+
className
|
|
3543
|
+
),
|
|
3544
|
+
...props,
|
|
3545
|
+
children: /* @__PURE__ */ jsx("span", { className: "body-small font-semibold", children })
|
|
3546
|
+
}
|
|
3547
|
+
);
|
|
3548
|
+
}
|
|
3549
|
+
);
|
|
3550
|
+
Tag.displayName = "Tag";
|
|
3551
|
+
function useTabs({ tabs, initialTabId }) {
|
|
3552
|
+
const initialIndex = tabs.findIndex((tab) => tab.value === initialTabId);
|
|
3553
|
+
const [selectedTabIndex, setSelectedTabIndex] = useState(
|
|
3554
|
+
initialIndex >= 0 ? initialIndex : 0
|
|
3555
|
+
);
|
|
3556
|
+
const setSelectedTab = useCallback(([index, direction]) => {
|
|
3557
|
+
setSelectedTabIndex(index);
|
|
3558
|
+
}, []);
|
|
3559
|
+
const selectedTab = tabs[selectedTabIndex] || tabs[0];
|
|
3560
|
+
return {
|
|
3561
|
+
tabProps: {
|
|
3562
|
+
tabs,
|
|
3563
|
+
selectedTabIndex,
|
|
3564
|
+
setSelectedTab
|
|
3565
|
+
},
|
|
3566
|
+
selectedTab
|
|
3567
|
+
};
|
|
3568
|
+
}
|
|
3569
|
+
const TabsRoot = React__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3570
|
+
TabsPrimitive.Root,
|
|
3571
|
+
{
|
|
3572
|
+
ref,
|
|
3573
|
+
className: cn("w-full", className),
|
|
3574
|
+
...props
|
|
3575
|
+
}
|
|
3576
|
+
));
|
|
3577
|
+
TabsRoot.displayName = TabsPrimitive.Root.displayName;
|
|
3578
|
+
const TabsList = React__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3579
|
+
TabsPrimitive.List,
|
|
3580
|
+
{
|
|
3581
|
+
ref,
|
|
3582
|
+
className: cn(
|
|
3583
|
+
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
3584
|
+
className
|
|
3585
|
+
),
|
|
3586
|
+
...props
|
|
3587
|
+
}
|
|
3588
|
+
));
|
|
3589
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3590
|
+
const TabsTrigger = React__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3591
|
+
TabsPrimitive.Trigger,
|
|
3592
|
+
{
|
|
3593
|
+
ref,
|
|
3594
|
+
className: cn(
|
|
3595
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
|
|
3596
|
+
className
|
|
3597
|
+
),
|
|
3598
|
+
...props
|
|
3599
|
+
}
|
|
3600
|
+
));
|
|
3601
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3602
|
+
const TabsContent = React__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3603
|
+
TabsPrimitive.Content,
|
|
3604
|
+
{
|
|
3605
|
+
ref,
|
|
3606
|
+
className: cn(
|
|
3607
|
+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
3608
|
+
className
|
|
3609
|
+
),
|
|
3610
|
+
...props
|
|
3611
|
+
}
|
|
3612
|
+
));
|
|
3613
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3614
|
+
const Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
3615
|
+
"nav",
|
|
3616
|
+
{
|
|
3617
|
+
role: "navigation",
|
|
3618
|
+
"aria-label": "pagination",
|
|
3619
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
3620
|
+
...props
|
|
3621
|
+
}
|
|
3622
|
+
);
|
|
3623
|
+
Pagination.displayName = "Pagination";
|
|
3624
|
+
const PaginationContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3625
|
+
"ul",
|
|
3626
|
+
{
|
|
3627
|
+
ref,
|
|
3628
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
3629
|
+
...props
|
|
3630
|
+
}
|
|
3631
|
+
));
|
|
3632
|
+
PaginationContent.displayName = "PaginationContent";
|
|
3633
|
+
const PaginationItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
|
|
3634
|
+
PaginationItem.displayName = "PaginationItem";
|
|
3635
|
+
const PaginationLink = ({
|
|
3636
|
+
className,
|
|
3637
|
+
isActive,
|
|
3638
|
+
size = "icon",
|
|
3639
|
+
...props
|
|
3640
|
+
}) => /* @__PURE__ */ jsx(
|
|
3641
|
+
"a",
|
|
3642
|
+
{
|
|
3643
|
+
"aria-current": isActive ? "page" : void 0,
|
|
3644
|
+
className: cn(
|
|
3645
|
+
buttonVariants({
|
|
3646
|
+
variant: isActive ? "general-secondary" : "general-tertiary",
|
|
3647
|
+
size
|
|
3648
|
+
}),
|
|
3649
|
+
className
|
|
3650
|
+
),
|
|
3651
|
+
...props
|
|
3652
|
+
}
|
|
3653
|
+
);
|
|
3654
|
+
PaginationLink.displayName = "PaginationLink";
|
|
3655
|
+
const PaginationPrevious = ({
|
|
3656
|
+
className,
|
|
3657
|
+
...props
|
|
3658
|
+
}) => /* @__PURE__ */ jsxs(
|
|
3659
|
+
PaginationLink,
|
|
3660
|
+
{
|
|
3661
|
+
"aria-label": "Go to previous page",
|
|
3662
|
+
size: "utility",
|
|
3663
|
+
className: cn("gap-1 pl-2.5", className),
|
|
3664
|
+
...props,
|
|
3665
|
+
children: [
|
|
2007
3666
|
/* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
|
|
2008
3667
|
/* @__PURE__ */ jsx("span", { children: "Previous" })
|
|
2009
3668
|
]
|
|
@@ -2320,225 +3979,105 @@ const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) =
|
|
|
2320
3979
|
className: cn(
|
|
2321
3980
|
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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-[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",
|
|
2322
3981
|
className
|
|
2323
|
-
),
|
|
2324
|
-
...props
|
|
2325
|
-
}
|
|
2326
|
-
));
|
|
2327
|
-
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
2328
|
-
const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
2329
|
-
DropdownMenuPrimitive.Content,
|
|
2330
|
-
{
|
|
2331
|
-
ref,
|
|
2332
|
-
sideOffset,
|
|
2333
|
-
className: cn(
|
|
2334
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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-[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",
|
|
2335
|
-
className
|
|
2336
|
-
),
|
|
2337
|
-
...props
|
|
2338
|
-
}
|
|
2339
|
-
) }));
|
|
2340
|
-
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2341
|
-
const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2342
|
-
DropdownMenuPrimitive.Item,
|
|
2343
|
-
{
|
|
2344
|
-
ref,
|
|
2345
|
-
className: cn(
|
|
2346
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2347
|
-
inset && "pl-8",
|
|
2348
|
-
className
|
|
2349
|
-
),
|
|
2350
|
-
...props
|
|
2351
|
-
}
|
|
2352
|
-
));
|
|
2353
|
-
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2354
|
-
const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2355
|
-
DropdownMenuPrimitive.CheckboxItem,
|
|
2356
|
-
{
|
|
2357
|
-
ref,
|
|
2358
|
-
className: cn(
|
|
2359
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2360
|
-
className
|
|
2361
|
-
),
|
|
2362
|
-
checked,
|
|
2363
|
-
...props,
|
|
2364
|
-
children: [
|
|
2365
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
2366
|
-
children
|
|
2367
|
-
]
|
|
2368
|
-
}
|
|
2369
|
-
));
|
|
2370
|
-
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2371
|
-
const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2372
|
-
DropdownMenuPrimitive.RadioItem,
|
|
2373
|
-
{
|
|
2374
|
-
ref,
|
|
2375
|
-
className: cn(
|
|
2376
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2377
|
-
className
|
|
2378
|
-
),
|
|
2379
|
-
...props,
|
|
2380
|
-
children: [
|
|
2381
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
2382
|
-
children
|
|
2383
|
-
]
|
|
2384
|
-
}
|
|
2385
|
-
));
|
|
2386
|
-
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2387
|
-
const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2388
|
-
DropdownMenuPrimitive.Label,
|
|
2389
|
-
{
|
|
2390
|
-
ref,
|
|
2391
|
-
className: cn(
|
|
2392
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
2393
|
-
inset && "pl-8",
|
|
2394
|
-
className
|
|
2395
|
-
),
|
|
2396
|
-
...props
|
|
2397
|
-
}
|
|
2398
|
-
));
|
|
2399
|
-
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2400
|
-
const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2401
|
-
DropdownMenuPrimitive.Separator,
|
|
2402
|
-
{
|
|
2403
|
-
ref,
|
|
2404
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
2405
|
-
...props
|
|
2406
|
-
}
|
|
2407
|
-
));
|
|
2408
|
-
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
2409
|
-
const DropdownMenuShortcut = ({
|
|
2410
|
-
className,
|
|
2411
|
-
...props
|
|
2412
|
-
}) => {
|
|
2413
|
-
return /* @__PURE__ */ jsx(
|
|
2414
|
-
"span",
|
|
2415
|
-
{
|
|
2416
|
-
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
2417
|
-
...props
|
|
2418
|
-
}
|
|
2419
|
-
);
|
|
2420
|
-
};
|
|
2421
|
-
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2422
|
-
function Dialog({
|
|
2423
|
-
...props
|
|
2424
|
-
}) {
|
|
2425
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
2426
|
-
}
|
|
2427
|
-
function DialogTrigger({
|
|
2428
|
-
...props
|
|
2429
|
-
}) {
|
|
2430
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
2431
|
-
}
|
|
2432
|
-
function DialogPortal({
|
|
2433
|
-
...props
|
|
2434
|
-
}) {
|
|
2435
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
2436
|
-
}
|
|
2437
|
-
function DialogClose({
|
|
2438
|
-
...props
|
|
2439
|
-
}) {
|
|
2440
|
-
return /* @__PURE__ */ jsx(SheetPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
2441
|
-
}
|
|
2442
|
-
function DialogOverlay({
|
|
2443
|
-
className,
|
|
2444
|
-
...props
|
|
2445
|
-
}) {
|
|
2446
|
-
return /* @__PURE__ */ jsx(
|
|
2447
|
-
SheetPrimitive.Overlay,
|
|
2448
|
-
{
|
|
2449
|
-
"data-slot": "dialog-overlay",
|
|
2450
|
-
className: cn(
|
|
2451
|
-
"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",
|
|
2452
|
-
className
|
|
2453
|
-
),
|
|
2454
|
-
...props
|
|
2455
|
-
}
|
|
2456
|
-
);
|
|
2457
|
-
}
|
|
2458
|
-
function DialogContent({
|
|
2459
|
-
className,
|
|
2460
|
-
children,
|
|
2461
|
-
showCloseButton = true,
|
|
2462
|
-
...props
|
|
2463
|
-
}) {
|
|
2464
|
-
return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
2465
|
-
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
2466
|
-
/* @__PURE__ */ jsxs(
|
|
2467
|
-
SheetPrimitive.Content,
|
|
2468
|
-
{
|
|
2469
|
-
"data-slot": "dialog-content",
|
|
2470
|
-
className: cn(
|
|
2471
|
-
"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",
|
|
2472
|
-
className
|
|
2473
|
-
),
|
|
2474
|
-
...props,
|
|
2475
|
-
children: [
|
|
2476
|
-
/* @__PURE__ */ jsx("div", { className: "p-6 bg-gray-50", children }),
|
|
2477
|
-
showCloseButton && /* @__PURE__ */ jsxs(
|
|
2478
|
-
SheetPrimitive.Close,
|
|
2479
|
-
{
|
|
2480
|
-
"data-slot": "dialog-close",
|
|
2481
|
-
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",
|
|
2482
|
-
children: [
|
|
2483
|
-
/* @__PURE__ */ jsx(XIcon, {}),
|
|
2484
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
2485
|
-
]
|
|
2486
|
-
}
|
|
2487
|
-
)
|
|
2488
|
-
]
|
|
2489
|
-
}
|
|
2490
|
-
)
|
|
2491
|
-
] });
|
|
2492
|
-
}
|
|
2493
|
-
function DialogHeader({ className, ...props }) {
|
|
2494
|
-
return /* @__PURE__ */ jsx(
|
|
2495
|
-
"div",
|
|
2496
|
-
{
|
|
2497
|
-
"data-slot": "dialog-header",
|
|
2498
|
-
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
2499
|
-
...props
|
|
2500
|
-
}
|
|
2501
|
-
);
|
|
2502
|
-
}
|
|
2503
|
-
function DialogFooter({ className, ...props }) {
|
|
2504
|
-
return /* @__PURE__ */ jsx(
|
|
2505
|
-
"div",
|
|
2506
|
-
{
|
|
2507
|
-
"data-slot": "dialog-footer",
|
|
2508
|
-
className: cn(
|
|
2509
|
-
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
2510
|
-
className
|
|
2511
|
-
),
|
|
2512
|
-
...props
|
|
2513
|
-
}
|
|
2514
|
-
);
|
|
2515
|
-
}
|
|
2516
|
-
function DialogTitle({
|
|
2517
|
-
className,
|
|
2518
|
-
...props
|
|
2519
|
-
}) {
|
|
2520
|
-
return /* @__PURE__ */ jsx(
|
|
2521
|
-
SheetPrimitive.Title,
|
|
2522
|
-
{
|
|
2523
|
-
"data-slot": "dialog-title",
|
|
2524
|
-
className: cn("heading-xxsmall ", className),
|
|
2525
|
-
...props
|
|
2526
|
-
}
|
|
2527
|
-
);
|
|
2528
|
-
}
|
|
2529
|
-
function DialogDescription({
|
|
3982
|
+
),
|
|
3983
|
+
...props
|
|
3984
|
+
}
|
|
3985
|
+
));
|
|
3986
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
3987
|
+
const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
3988
|
+
DropdownMenuPrimitive.Content,
|
|
3989
|
+
{
|
|
3990
|
+
ref,
|
|
3991
|
+
sideOffset,
|
|
3992
|
+
className: cn(
|
|
3993
|
+
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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-[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",
|
|
3994
|
+
className
|
|
3995
|
+
),
|
|
3996
|
+
...props
|
|
3997
|
+
}
|
|
3998
|
+
) }));
|
|
3999
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
4000
|
+
const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4001
|
+
DropdownMenuPrimitive.Item,
|
|
4002
|
+
{
|
|
4003
|
+
ref,
|
|
4004
|
+
className: cn(
|
|
4005
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
4006
|
+
inset && "pl-8",
|
|
4007
|
+
className
|
|
4008
|
+
),
|
|
4009
|
+
...props
|
|
4010
|
+
}
|
|
4011
|
+
));
|
|
4012
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
4013
|
+
const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4014
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
4015
|
+
{
|
|
4016
|
+
ref,
|
|
4017
|
+
className: cn(
|
|
4018
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
4019
|
+
className
|
|
4020
|
+
),
|
|
4021
|
+
checked,
|
|
4022
|
+
...props,
|
|
4023
|
+
children: [
|
|
4024
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
4025
|
+
children
|
|
4026
|
+
]
|
|
4027
|
+
}
|
|
4028
|
+
));
|
|
4029
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
4030
|
+
const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4031
|
+
DropdownMenuPrimitive.RadioItem,
|
|
4032
|
+
{
|
|
4033
|
+
ref,
|
|
4034
|
+
className: cn(
|
|
4035
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
4036
|
+
className
|
|
4037
|
+
),
|
|
4038
|
+
...props,
|
|
4039
|
+
children: [
|
|
4040
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
4041
|
+
children
|
|
4042
|
+
]
|
|
4043
|
+
}
|
|
4044
|
+
));
|
|
4045
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
4046
|
+
const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4047
|
+
DropdownMenuPrimitive.Label,
|
|
4048
|
+
{
|
|
4049
|
+
ref,
|
|
4050
|
+
className: cn(
|
|
4051
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
4052
|
+
inset && "pl-8",
|
|
4053
|
+
className
|
|
4054
|
+
),
|
|
4055
|
+
...props
|
|
4056
|
+
}
|
|
4057
|
+
));
|
|
4058
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
4059
|
+
const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4060
|
+
DropdownMenuPrimitive.Separator,
|
|
4061
|
+
{
|
|
4062
|
+
ref,
|
|
4063
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
4064
|
+
...props
|
|
4065
|
+
}
|
|
4066
|
+
));
|
|
4067
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
4068
|
+
const DropdownMenuShortcut = ({
|
|
2530
4069
|
className,
|
|
2531
4070
|
...props
|
|
2532
|
-
}) {
|
|
4071
|
+
}) => {
|
|
2533
4072
|
return /* @__PURE__ */ jsx(
|
|
2534
|
-
|
|
4073
|
+
"span",
|
|
2535
4074
|
{
|
|
2536
|
-
|
|
2537
|
-
className: cn("text-muted-foreground text-sm", className),
|
|
4075
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
2538
4076
|
...props
|
|
2539
4077
|
}
|
|
2540
4078
|
);
|
|
2541
|
-
}
|
|
4079
|
+
};
|
|
4080
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2542
4081
|
const Drawer = ({
|
|
2543
4082
|
shouldScaleBackground = true,
|
|
2544
4083
|
...props
|
|
@@ -2975,113 +4514,6 @@ CarouselNext.displayName = "CarouselNext";
|
|
|
2975
4514
|
const Collapsible = CollapsiblePrimitive.Root;
|
|
2976
4515
|
const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;
|
|
2977
4516
|
const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;
|
|
2978
|
-
const Command = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2979
|
-
Command$1,
|
|
2980
|
-
{
|
|
2981
|
-
ref,
|
|
2982
|
-
className: cn("flex h-full w-full flex-col overflow-hidden", className),
|
|
2983
|
-
...props
|
|
2984
|
-
}
|
|
2985
|
-
));
|
|
2986
|
-
Command.displayName = Command$1.displayName;
|
|
2987
|
-
const CommandDialog = ({ children, ...props }) => {
|
|
2988
|
-
return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
2989
|
-
};
|
|
2990
|
-
const CommandInput = React.forwardRef(({ className, icon: Icon = Search, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2991
|
-
"div",
|
|
2992
|
-
{
|
|
2993
|
-
className: cn(
|
|
2994
|
-
"group relative flex h-14 w-full sm:min-w-[344px] items-center gap-4 rounded-lg border border-gray-200 bg-white p-4 focus:ring-0 focus:outline-none",
|
|
2995
|
-
className
|
|
2996
|
-
),
|
|
2997
|
-
"cmdk-input-wrapper": "",
|
|
2998
|
-
children: [
|
|
2999
|
-
/* @__PURE__ */ jsx(Icon, { className: " h-4 w-4 shrink-0 group-focus-within:-translate-x-4 group-focus-within:opacity-0 ease-in-out duration-200" }),
|
|
3000
|
-
/* @__PURE__ */ jsx(
|
|
3001
|
-
Command$1.Input,
|
|
3002
|
-
{
|
|
3003
|
-
ref,
|
|
3004
|
-
className: cn(
|
|
3005
|
-
"text-base w-full ring-0 outline-none group-focus-within:-translate-x-8 ease-in-out duration-200",
|
|
3006
|
-
className
|
|
3007
|
-
),
|
|
3008
|
-
...props
|
|
3009
|
-
}
|
|
3010
|
-
)
|
|
3011
|
-
]
|
|
3012
|
-
}
|
|
3013
|
-
));
|
|
3014
|
-
CommandInput.displayName = Command$1.Input.displayName;
|
|
3015
|
-
const CommandList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3016
|
-
Command$1.List,
|
|
3017
|
-
{
|
|
3018
|
-
ref,
|
|
3019
|
-
className: cn(
|
|
3020
|
-
"max-h-[300px] overflow-y-auto overflow-x-hidden bg-gray-700 rounded-b-lg",
|
|
3021
|
-
className
|
|
3022
|
-
),
|
|
3023
|
-
...props
|
|
3024
|
-
}
|
|
3025
|
-
));
|
|
3026
|
-
CommandList.displayName = Command$1.List.displayName;
|
|
3027
|
-
const CommandEmpty = React.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
3028
|
-
Command$1.Empty,
|
|
3029
|
-
{
|
|
3030
|
-
ref,
|
|
3031
|
-
className: "py-6 text-center text-sm",
|
|
3032
|
-
...props
|
|
3033
|
-
}
|
|
3034
|
-
));
|
|
3035
|
-
CommandEmpty.displayName = Command$1.Empty.displayName;
|
|
3036
|
-
const CommandGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3037
|
-
Command$1.Group,
|
|
3038
|
-
{
|
|
3039
|
-
ref,
|
|
3040
|
-
className: cn(
|
|
3041
|
-
"group overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground ",
|
|
3042
|
-
className
|
|
3043
|
-
),
|
|
3044
|
-
...props
|
|
3045
|
-
}
|
|
3046
|
-
));
|
|
3047
|
-
CommandGroup.displayName = Command$1.Group.displayName;
|
|
3048
|
-
const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3049
|
-
Command$1.Separator,
|
|
3050
|
-
{
|
|
3051
|
-
ref,
|
|
3052
|
-
className: cn("-mx-1 h-px bg-border", className),
|
|
3053
|
-
...props
|
|
3054
|
-
}
|
|
3055
|
-
));
|
|
3056
|
-
CommandSeparator.displayName = Command$1.Separator.displayName;
|
|
3057
|
-
const CommandItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3058
|
-
Command$1.Item,
|
|
3059
|
-
{
|
|
3060
|
-
ref,
|
|
3061
|
-
className: cn(
|
|
3062
|
-
"relative flex w-full items-center gap-2 cursor-default select-none p-4 text-sm outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-gray-700 hover:bg-[rgba(0,0,0,0.2)] text-gray-200",
|
|
3063
|
-
className
|
|
3064
|
-
),
|
|
3065
|
-
...props
|
|
3066
|
-
}
|
|
3067
|
-
));
|
|
3068
|
-
CommandItem.displayName = Command$1.Item.displayName;
|
|
3069
|
-
const CommandShortcut = ({
|
|
3070
|
-
className,
|
|
3071
|
-
...props
|
|
3072
|
-
}) => {
|
|
3073
|
-
return /* @__PURE__ */ jsx(
|
|
3074
|
-
"span",
|
|
3075
|
-
{
|
|
3076
|
-
className: cn(
|
|
3077
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
3078
|
-
className
|
|
3079
|
-
),
|
|
3080
|
-
...props
|
|
3081
|
-
}
|
|
3082
|
-
);
|
|
3083
|
-
};
|
|
3084
|
-
CommandShortcut.displayName = "CommandShortcut";
|
|
3085
4517
|
const ToastProvider = ToastPrimitives.Provider;
|
|
3086
4518
|
const ToastViewport = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3087
4519
|
ToastPrimitives.Viewport,
|
|
@@ -3530,67 +4962,142 @@ const defaultCertifications = [
|
|
|
3530
4962
|
{ name: "Gold", locations: 1, color: "#D7C686", icon: "gold" },
|
|
3531
4963
|
{ name: "Silver", locations: 1, color: "#C0C2C4", icon: "silver" },
|
|
3532
4964
|
{ name: "Bronze", locations: 1, color: "#D1A778", icon: "bronze" },
|
|
3533
|
-
{
|
|
4965
|
+
{
|
|
4966
|
+
name: "Precertified",
|
|
4967
|
+
locations: 1,
|
|
4968
|
+
color: "#44B0BC",
|
|
4969
|
+
icon: "precertified"
|
|
4970
|
+
}
|
|
3534
4971
|
];
|
|
3535
4972
|
const defaultRatings = [
|
|
3536
|
-
{
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
4973
|
+
{
|
|
4974
|
+
name: "Health-Safety",
|
|
4975
|
+
locations: 1,
|
|
4976
|
+
color: "#7FB3DC",
|
|
4977
|
+
percentage: 50,
|
|
4978
|
+
icon: "health"
|
|
4979
|
+
},
|
|
4980
|
+
{
|
|
4981
|
+
name: "Equity",
|
|
4982
|
+
locations: 1,
|
|
4983
|
+
color: "#41937D",
|
|
4984
|
+
percentage: 67,
|
|
4985
|
+
icon: "equity"
|
|
4986
|
+
},
|
|
4987
|
+
{
|
|
4988
|
+
name: "Performance",
|
|
4989
|
+
locations: "Not Pursued",
|
|
4990
|
+
color: "#0B667F",
|
|
4991
|
+
percentage: 2,
|
|
4992
|
+
icon: "performance",
|
|
4993
|
+
inactive: true
|
|
4994
|
+
},
|
|
4995
|
+
{
|
|
4996
|
+
name: "Coworking",
|
|
4997
|
+
locations: "Not Pursued",
|
|
4998
|
+
color: "#AD7DA3",
|
|
4999
|
+
percentage: 2,
|
|
5000
|
+
icon: "coworking",
|
|
5001
|
+
inactive: true
|
|
5002
|
+
}
|
|
3540
5003
|
];
|
|
3541
5004
|
const WELLDashboard = React.forwardRef(
|
|
3542
|
-
({
|
|
5005
|
+
({
|
|
5006
|
+
certifiedPercentage = 60,
|
|
5007
|
+
certifications = defaultCertifications,
|
|
5008
|
+
ratings = defaultRatings,
|
|
5009
|
+
className
|
|
5010
|
+
}, ref) => {
|
|
3543
5011
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-4", className), children: [
|
|
3544
5012
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col lg:flex-row gap-4", children: [
|
|
3545
5013
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 rounded-md border border-[#DEDEE5] bg-white/0 p-4 shadow-xs", children: [
|
|
3546
|
-
/* @__PURE__ */ jsx(
|
|
5014
|
+
/* @__PURE__ */ jsx(
|
|
5015
|
+
"h2",
|
|
5016
|
+
{
|
|
5017
|
+
className: "text-xl font-medium text-[#3D3E46] text-center mb-6",
|
|
5018
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5019
|
+
children: "WELL Certified Locations"
|
|
5020
|
+
}
|
|
5021
|
+
),
|
|
3547
5022
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row justify-center items-center gap-10", children: [
|
|
3548
5023
|
/* @__PURE__ */ jsxs("div", { className: "relative w-60 h-60 shrink-0", children: [
|
|
3549
|
-
/* @__PURE__ */ jsxs(
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
"
|
|
5024
|
+
/* @__PURE__ */ jsxs(
|
|
5025
|
+
"svg",
|
|
5026
|
+
{
|
|
5027
|
+
width: "240",
|
|
5028
|
+
height: "240",
|
|
5029
|
+
viewBox: "0 0 240 240",
|
|
5030
|
+
className: "transform -rotate-90",
|
|
5031
|
+
children: [
|
|
5032
|
+
/* @__PURE__ */ jsx("circle", { cx: "120", cy: "120", r: "120", fill: "#F5F9FB" }),
|
|
5033
|
+
/* @__PURE__ */ jsx(
|
|
5034
|
+
"circle",
|
|
5035
|
+
{
|
|
5036
|
+
cx: "120",
|
|
5037
|
+
cy: "120",
|
|
5038
|
+
r: "100",
|
|
5039
|
+
fill: "none",
|
|
5040
|
+
stroke: "#327DB9",
|
|
5041
|
+
strokeWidth: "20",
|
|
5042
|
+
strokeDasharray: `${certifiedPercentage / 100 * 628} 628`,
|
|
5043
|
+
strokeLinecap: "round"
|
|
5044
|
+
}
|
|
5045
|
+
),
|
|
5046
|
+
certifications.map((cert, index) => {
|
|
5047
|
+
const totalSegments = certifications.length;
|
|
5048
|
+
const segmentAngle = certifiedPercentage / 100 * 360 / totalSegments;
|
|
5049
|
+
const startAngle = index * segmentAngle;
|
|
5050
|
+
const arcLength = segmentAngle * Math.PI * 100 / 180;
|
|
5051
|
+
const offset = startAngle * Math.PI * 100 / 180;
|
|
5052
|
+
return /* @__PURE__ */ jsx(
|
|
5053
|
+
"circle",
|
|
5054
|
+
{
|
|
5055
|
+
cx: "120",
|
|
5056
|
+
cy: "120",
|
|
5057
|
+
r: "100",
|
|
5058
|
+
fill: "none",
|
|
5059
|
+
stroke: cert.color,
|
|
5060
|
+
strokeWidth: "20",
|
|
5061
|
+
strokeDasharray: `${arcLength} 628`,
|
|
5062
|
+
strokeDashoffset: -offset,
|
|
5063
|
+
opacity: "0.7"
|
|
5064
|
+
},
|
|
5065
|
+
cert.name
|
|
5066
|
+
);
|
|
5067
|
+
}),
|
|
5068
|
+
/* @__PURE__ */ jsx(
|
|
5069
|
+
"circle",
|
|
5070
|
+
{
|
|
5071
|
+
cx: "120",
|
|
5072
|
+
cy: "120",
|
|
5073
|
+
r: "80",
|
|
5074
|
+
fill: "white",
|
|
5075
|
+
filter: "drop-shadow(0 0 16px rgba(0,0,0,0.04))"
|
|
5076
|
+
}
|
|
5077
|
+
)
|
|
5078
|
+
]
|
|
5079
|
+
}
|
|
5080
|
+
),
|
|
5081
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
5082
|
+
/* @__PURE__ */ jsxs(
|
|
5083
|
+
"div",
|
|
3553
5084
|
{
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
strokeDasharray: `${certifiedPercentage / 100 * 628} 628`,
|
|
3561
|
-
strokeLinecap: "round"
|
|
5085
|
+
className: "text-5xl font-medium text-[#327DB9]",
|
|
5086
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5087
|
+
children: [
|
|
5088
|
+
certifiedPercentage,
|
|
5089
|
+
"%"
|
|
5090
|
+
]
|
|
3562
5091
|
}
|
|
3563
5092
|
),
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
{
|
|
3573
|
-
cx: "120",
|
|
3574
|
-
cy: "120",
|
|
3575
|
-
r: "100",
|
|
3576
|
-
fill: "none",
|
|
3577
|
-
stroke: cert.color,
|
|
3578
|
-
strokeWidth: "20",
|
|
3579
|
-
strokeDasharray: `${arcLength} 628`,
|
|
3580
|
-
strokeDashoffset: -offset,
|
|
3581
|
-
opacity: "0.7"
|
|
3582
|
-
},
|
|
3583
|
-
cert.name
|
|
3584
|
-
);
|
|
3585
|
-
}),
|
|
3586
|
-
/* @__PURE__ */ jsx("circle", { cx: "120", cy: "120", r: "80", fill: "white", filter: "drop-shadow(0 0 16px rgba(0,0,0,0.04))" })
|
|
3587
|
-
] }),
|
|
3588
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
3589
|
-
/* @__PURE__ */ jsxs("div", { className: "text-5xl font-medium text-[#327DB9]", style: { fontFamily: "'DM Sans', sans-serif" }, children: [
|
|
3590
|
-
certifiedPercentage,
|
|
3591
|
-
"%"
|
|
3592
|
-
] }),
|
|
3593
|
-
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-[#78777F] mt-1", style: { fontFamily: "'DM Sans', sans-serif" }, children: "Certified" })
|
|
5093
|
+
/* @__PURE__ */ jsx(
|
|
5094
|
+
"div",
|
|
5095
|
+
{
|
|
5096
|
+
className: "text-sm font-medium text-[#78777F] mt-1",
|
|
5097
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5098
|
+
children: "Certified"
|
|
5099
|
+
}
|
|
5100
|
+
)
|
|
3594
5101
|
] })
|
|
3595
5102
|
] }),
|
|
3596
5103
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 min-w-[160px]", children: certifications.map((cert) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -3603,21 +5110,49 @@ const WELLDashboard = React.forwardRef(
|
|
|
3603
5110
|
}
|
|
3604
5111
|
),
|
|
3605
5112
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1", children: [
|
|
3606
|
-
/* @__PURE__ */ jsx(
|
|
5113
|
+
/* @__PURE__ */ jsx(
|
|
5114
|
+
"div",
|
|
5115
|
+
{
|
|
5116
|
+
className: "text-base font-medium text-[#3D3E46]",
|
|
5117
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5118
|
+
children: cert.name
|
|
5119
|
+
}
|
|
5120
|
+
),
|
|
3607
5121
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
3608
|
-
/* @__PURE__ */ jsx(
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
5122
|
+
/* @__PURE__ */ jsx(
|
|
5123
|
+
Building2,
|
|
5124
|
+
{
|
|
5125
|
+
size: 16,
|
|
5126
|
+
className: "text-[#327DB9]",
|
|
5127
|
+
strokeWidth: 1.2
|
|
5128
|
+
}
|
|
5129
|
+
),
|
|
5130
|
+
/* @__PURE__ */ jsxs(
|
|
5131
|
+
"span",
|
|
5132
|
+
{
|
|
5133
|
+
className: "text-xs font-medium text-[#327DB9]",
|
|
5134
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5135
|
+
children: [
|
|
5136
|
+
cert.locations,
|
|
5137
|
+
" Location",
|
|
5138
|
+
cert.locations !== 1 ? "s" : ""
|
|
5139
|
+
]
|
|
5140
|
+
}
|
|
5141
|
+
)
|
|
3614
5142
|
] })
|
|
3615
5143
|
] })
|
|
3616
5144
|
] }, cert.name)) })
|
|
3617
5145
|
] })
|
|
3618
5146
|
] }),
|
|
3619
5147
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 rounded-md border border-[#DEDEE5] bg-white/0 p-4 shadow-xs", children: [
|
|
3620
|
-
/* @__PURE__ */ jsx(
|
|
5148
|
+
/* @__PURE__ */ jsx(
|
|
5149
|
+
"h2",
|
|
5150
|
+
{
|
|
5151
|
+
className: "text-xl font-medium text-[#3D3E46] text-center mb-6",
|
|
5152
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5153
|
+
children: "WELL Rated Locations"
|
|
5154
|
+
}
|
|
5155
|
+
),
|
|
3621
5156
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row justify-center items-center gap-10", children: [
|
|
3622
5157
|
/* @__PURE__ */ jsxs("div", { className: "flex items-end gap-4 h-60 px-4", children: [
|
|
3623
5158
|
ratings.map((rating) => /* @__PURE__ */ jsxs("div", { className: "w-10 h-60 relative", children: [
|
|
@@ -3638,7 +5173,10 @@ const WELLDashboard = React.forwardRef(
|
|
|
3638
5173
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 min-w-[160px]", children: ratings.map((rating) => /* @__PURE__ */ jsxs(
|
|
3639
5174
|
"div",
|
|
3640
5175
|
{
|
|
3641
|
-
className: cn(
|
|
5176
|
+
className: cn(
|
|
5177
|
+
"flex items-center gap-2",
|
|
5178
|
+
rating.inactive && "opacity-50"
|
|
5179
|
+
),
|
|
3642
5180
|
children: [
|
|
3643
5181
|
/* @__PURE__ */ jsx(
|
|
3644
5182
|
"div",
|
|
@@ -3648,7 +5186,14 @@ const WELLDashboard = React.forwardRef(
|
|
|
3648
5186
|
}
|
|
3649
5187
|
),
|
|
3650
5188
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1", children: [
|
|
3651
|
-
/* @__PURE__ */ jsx(
|
|
5189
|
+
/* @__PURE__ */ jsx(
|
|
5190
|
+
"div",
|
|
5191
|
+
{
|
|
5192
|
+
className: "text-base font-medium text-[#3D3E46]",
|
|
5193
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5194
|
+
children: rating.name
|
|
5195
|
+
}
|
|
5196
|
+
),
|
|
3652
5197
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
3653
5198
|
/* @__PURE__ */ jsx(
|
|
3654
5199
|
Building2,
|
|
@@ -3678,10 +5223,22 @@ const WELLDashboard = React.forwardRef(
|
|
|
3678
5223
|
] })
|
|
3679
5224
|
] })
|
|
3680
5225
|
] }),
|
|
3681
|
-
/* @__PURE__ */ jsxs(
|
|
3682
|
-
"
|
|
3683
|
-
|
|
3684
|
-
|
|
5226
|
+
/* @__PURE__ */ jsxs(
|
|
5227
|
+
"p",
|
|
5228
|
+
{
|
|
5229
|
+
className: "text-[10px] leading-3 font-medium text-[#78777F] text-center",
|
|
5230
|
+
style: { fontFamily: "'DM Sans', sans-serif" },
|
|
5231
|
+
children: [
|
|
5232
|
+
"Achievement metrics reflect all active program achievements, as of",
|
|
5233
|
+
" ",
|
|
5234
|
+
(/* @__PURE__ */ new Date()).toLocaleDateString("en-US", {
|
|
5235
|
+
month: "long",
|
|
5236
|
+
day: "numeric",
|
|
5237
|
+
year: "numeric"
|
|
5238
|
+
})
|
|
5239
|
+
]
|
|
5240
|
+
}
|
|
5241
|
+
)
|
|
3685
5242
|
] });
|
|
3686
5243
|
}
|
|
3687
5244
|
);
|
|
@@ -3785,6 +5342,8 @@ export {
|
|
|
3785
5342
|
DialogDescription,
|
|
3786
5343
|
DialogFooter,
|
|
3787
5344
|
DialogHeader,
|
|
5345
|
+
DialogOverlay,
|
|
5346
|
+
DialogPortal,
|
|
3788
5347
|
DialogTitle,
|
|
3789
5348
|
DialogTrigger,
|
|
3790
5349
|
Drawer,
|
|
@@ -3840,6 +5399,7 @@ export {
|
|
|
3840
5399
|
MenubarSubContent,
|
|
3841
5400
|
MenubarSubTrigger,
|
|
3842
5401
|
MenubarTrigger,
|
|
5402
|
+
Navigation,
|
|
3843
5403
|
NavigationMenu,
|
|
3844
5404
|
NavigationMenuContent,
|
|
3845
5405
|
NavigationMenuItem,
|
|
@@ -3864,6 +5424,7 @@ export {
|
|
|
3864
5424
|
ResizablePanelGroup,
|
|
3865
5425
|
ScrollArea,
|
|
3866
5426
|
ScrollBar,
|
|
5427
|
+
SearchField,
|
|
3867
5428
|
Select,
|
|
3868
5429
|
SelectContent,
|
|
3869
5430
|
SelectGroup,
|
|
@@ -3912,6 +5473,7 @@ export {
|
|
|
3912
5473
|
TabsContent,
|
|
3913
5474
|
TabsList,
|
|
3914
5475
|
TabsTrigger,
|
|
5476
|
+
Tag,
|
|
3915
5477
|
Textarea,
|
|
3916
5478
|
Toast,
|
|
3917
5479
|
ToastAction,
|
|
@@ -3931,6 +5493,10 @@ export {
|
|
|
3931
5493
|
WELLDashboard,
|
|
3932
5494
|
badgeVariants,
|
|
3933
5495
|
buttonVariants,
|
|
5496
|
+
cn,
|
|
3934
5497
|
navigationMenuTriggerStyle,
|
|
5498
|
+
useIsMobile,
|
|
5499
|
+
useSegmentedControl,
|
|
5500
|
+
useTabs,
|
|
3935
5501
|
useToast
|
|
3936
5502
|
};
|