@datatechsolutions/ui 2.7.127 → 2.7.129

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.
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import { triggerHaptic } from './chunk-D2JF6C3E.mjs';
3
- import * as Headless11 from '@headlessui/react';
3
+ import * as Headless6 from '@headlessui/react';
4
4
  import { Button as Button$1, Transition, Dialog, TransitionChild, DialogPanel, DialogTitle, DialogBackdrop, Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/react';
5
5
  import clsx, { clsx as clsx$1 } from 'clsx';
6
6
  import * as React11 from 'react';
7
- import React11__default, { forwardRef, useId, useState, useCallback, createContext, memo, useMemo, useRef, useEffect, Fragment as Fragment$1, useContext, Suspense } from 'react';
7
+ import React11__default, { forwardRef, useId, useState, useCallback, createContext, memo, useRef, useEffect, Fragment as Fragment$1, useMemo, useContext, Suspense } from 'react';
8
8
  import { AnimatePresence, motion, useMotionValue, useTransform, animate, useInView, useSpring } from 'framer-motion';
9
9
  import NextLink from 'next/link';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
  import { useTranslations, useLocale } from 'next-intl';
12
- import { ChevronDownIcon, CheckCircleIcon, EyeSlashIcon as EyeSlashIcon$1, EyeIcon as EyeIcon$1, XMarkIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, EllipsisVerticalIcon, ClipboardDocumentIcon as ClipboardDocumentIcon$1, ArrowDownTrayIcon } from '@heroicons/react/20/solid';
12
+ import { ChevronDownIcon, CheckCircleIcon, EyeSlashIcon, EyeIcon, XMarkIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, EllipsisVerticalIcon, ClipboardDocumentIcon as ClipboardDocumentIcon$1, ArrowDownTrayIcon } from '@heroicons/react/20/solid';
13
13
  import * as HeroIcons from '@heroicons/react/24/outline';
14
- import { PlusIcon, MinusIcon, EyeSlashIcon, EyeIcon, MapIcon, XMarkIcon as XMarkIcon$1, ClockIcon, BuildingStorefrontIcon, MagnifyingGlassIcon, InformationCircleIcon, ArrowTrendingUpIcon, ArrowTrendingDownIcon, ChevronUpIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronUpDownIcon, DocumentMagnifyingGlassIcon, ShieldExclamationIcon, ServerStackIcon, WifiIcon, ExclamationTriangleIcon, ArrowPathIcon, FolderOpenIcon, BellIcon, TrashIcon, ExclamationCircleIcon, CheckCircleIcon as CheckCircleIcon$1, CheckIcon as CheckIcon$1, ClipboardDocumentCheckIcon, ClipboardDocumentIcon, CalendarDaysIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon as ChevronRightIcon$1, FunnelIcon, BeakerIcon, WrenchScrewdriverIcon, EyeDropperIcon, MoonIcon as MoonIcon$1, SunIcon as SunIcon$1, UserCircleIcon, ArrowRightOnRectangleIcon, LanguageIcon, Squares2X2Icon, PlusCircleIcon, GlobeAltIcon, XCircleIcon, LockClosedIcon, UserIcon } from '@heroicons/react/24/outline';
14
+ import { PlusIcon, MinusIcon, MapIcon, XMarkIcon as XMarkIcon$1, ClockIcon, BuildingStorefrontIcon, MagnifyingGlassIcon, InformationCircleIcon, ArrowTrendingUpIcon, ArrowTrendingDownIcon, ChevronUpIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronUpDownIcon, DocumentMagnifyingGlassIcon, ShieldExclamationIcon, ServerStackIcon, WifiIcon, ExclamationTriangleIcon, ArrowPathIcon, FolderOpenIcon, BellIcon, TrashIcon, ExclamationCircleIcon, CheckCircleIcon as CheckCircleIcon$1, CheckIcon as CheckIcon$1, ClipboardDocumentCheckIcon, ClipboardDocumentIcon, CalendarDaysIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon as ChevronRightIcon$1, FunnelIcon, BeakerIcon, WrenchScrewdriverIcon, EyeDropperIcon, MoonIcon as MoonIcon$1, SunIcon as SunIcon$1, UserCircleIcon, ArrowRightOnRectangleIcon, LanguageIcon, Squares2X2Icon, PlusCircleIcon, GlobeAltIcon, XCircleIcon, LockClosedIcon, UserIcon } from '@heroicons/react/24/outline';
15
15
  import * as Popover from '@radix-ui/react-popover';
16
16
  import { createPortal } from 'react-dom';
17
17
  import { startOfDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, subMonths, addMonths, isAfter, format, isSameDay, isSameMonth, parse } from 'date-fns';
@@ -23,12 +23,11 @@ import Image from 'next/image';
23
23
  import { CalendarIcon, ChevronLeftIcon as ChevronLeftIcon$2, ChevronRightIcon as ChevronRightIcon$2 } from 'lucide-react';
24
24
  import { geoAlbersUsa, geoMercator, geoPath } from 'd3-geo';
25
25
  export { LOCALE_FLAGS } from '@datatechsolutions/shared-domain/i18n';
26
- import * as ProgressPrimitive from '@radix-ui/react-progress';
27
26
  import * as TabsPrimitive from '@radix-ui/react-tabs';
28
27
  import { create } from 'zustand';
29
28
 
30
29
  var Link = forwardRef(function Link2(props, ref) {
31
- return /* @__PURE__ */ jsx(Headless11.DataInteractive, { children: /* @__PURE__ */ jsx(NextLink, { ...props, ref }) });
30
+ return /* @__PURE__ */ jsx(Headless6.DataInteractive, { children: /* @__PURE__ */ jsx(NextLink, { ...props, ref }) });
32
31
  });
33
32
 
34
33
  // src/lib/animations.ts
@@ -996,7 +995,7 @@ var Input = forwardRef(
996
995
  onClick: togglePassword,
997
996
  className: "p-1 rounded-full text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
998
997
  "aria-label": showPassword ? t("hidePassword") : t("showPassword"),
999
- children: showPassword ? /* @__PURE__ */ jsx(EyeSlashIcon$1, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx(EyeIcon$1, { className: "h-5 w-5" })
998
+ children: showPassword ? /* @__PURE__ */ jsx(EyeSlashIcon, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx(EyeIcon, { className: "h-5 w-5" })
1000
999
  }
1001
1000
  ) }),
1002
1001
  /* @__PURE__ */ jsx(AnimatePresence, { children: showClearButton && /* @__PURE__ */ jsx(
@@ -2611,7 +2610,7 @@ var colorClasses2 = {
2611
2610
  };
2612
2611
  function CircleSpinner({ size, color, className, ariaLabel }) {
2613
2612
  const config = sizeConfig[size];
2614
- const colors3 = colorClasses2[color];
2613
+ const colors2 = colorClasses2[color];
2615
2614
  return /* @__PURE__ */ jsx(
2616
2615
  "div",
2617
2616
  {
@@ -2619,8 +2618,8 @@ function CircleSpinner({ size, color, className, ariaLabel }) {
2619
2618
  "rounded-full animate-spin",
2620
2619
  config.size,
2621
2620
  config.border,
2622
- colors3.track,
2623
- colors3.indicator,
2621
+ colors2.track,
2622
+ colors2.indicator,
2624
2623
  className
2625
2624
  ),
2626
2625
  role: "status",
@@ -2630,7 +2629,7 @@ function CircleSpinner({ size, color, className, ariaLabel }) {
2630
2629
  }
2631
2630
  function DotsSpinner({ size, color, className, ariaLabel }) {
2632
2631
  const config = sizeConfig[size];
2633
- const colors3 = colorClasses2[color];
2632
+ const colors2 = colorClasses2[color];
2634
2633
  const dotVariants = {
2635
2634
  initial: { scale: 0.8, opacity: 0.4 },
2636
2635
  animate: { scale: 1, opacity: 1 }
@@ -2638,7 +2637,7 @@ function DotsSpinner({ size, color, className, ariaLabel }) {
2638
2637
  return /* @__PURE__ */ jsx("div", { className: clsx$1("flex items-center gap-1", className), role: "status", "aria-label": ariaLabel, children: [0, 1, 2].map((index) => /* @__PURE__ */ jsx(
2639
2638
  motion.div,
2640
2639
  {
2641
- className: clsx$1("rounded-full", colors3.dot),
2640
+ className: clsx$1("rounded-full", colors2.dot),
2642
2641
  style: {
2643
2642
  width: config.dotSize,
2644
2643
  height: config.dotSize
@@ -2658,12 +2657,12 @@ function DotsSpinner({ size, color, className, ariaLabel }) {
2658
2657
  }
2659
2658
  function PulseSpinner({ size, color, className, ariaLabel }) {
2660
2659
  const config = sizeConfig[size];
2661
- const colors3 = colorClasses2[color];
2660
+ const colors2 = colorClasses2[color];
2662
2661
  return /* @__PURE__ */ jsxs("div", { className: clsx$1("relative", config.size, className), role: "status", "aria-label": ariaLabel, children: [
2663
2662
  /* @__PURE__ */ jsx(
2664
2663
  motion.div,
2665
2664
  {
2666
- className: clsx$1("absolute inset-0 rounded-full", colors3.dot),
2665
+ className: clsx$1("absolute inset-0 rounded-full", colors2.dot),
2667
2666
  animate: {
2668
2667
  scale: [1, 1.5, 1],
2669
2668
  opacity: [0.7, 0, 0.7]
@@ -2675,7 +2674,7 @@ function PulseSpinner({ size, color, className, ariaLabel }) {
2675
2674
  }
2676
2675
  }
2677
2676
  ),
2678
- /* @__PURE__ */ jsx("div", { className: clsx$1("absolute inset-0 rounded-full", colors3.dot) })
2677
+ /* @__PURE__ */ jsx("div", { className: clsx$1("absolute inset-0 rounded-full", colors2.dot) })
2679
2678
  ] });
2680
2679
  }
2681
2680
  function Spinner({
@@ -2906,10 +2905,10 @@ function TagBadge({
2906
2905
  value,
2907
2906
  size = "sm",
2908
2907
  className = "",
2909
- styles: styles3 = {},
2908
+ styles: styles2 = {},
2910
2909
  fallbackStyle = DEFAULT_FALLBACK_STYLE
2911
2910
  }) {
2912
- const style = styles3[value] ?? fallbackStyle;
2911
+ const style = styles2[value] ?? fallbackStyle;
2913
2912
  const sizeClass = SIZE_CLASSES[size];
2914
2913
  return /* @__PURE__ */ jsx(
2915
2914
  "span",
@@ -2987,7 +2986,7 @@ function SegmentedControl({
2987
2986
  (seg) => typeof seg === "string" ? { value: seg, label: seg } : seg
2988
2987
  );
2989
2988
  const selectedIndex = normalizedSegments.findIndex((seg) => seg.value === value);
2990
- const styles3 = sizeStyles2[size];
2989
+ const styles2 = sizeStyles2[size];
2991
2990
  useEffect(() => {
2992
2991
  if (containerRef.current && selectedIndex >= 0) {
2993
2992
  const container = containerRef.current;
@@ -3015,7 +3014,7 @@ function SegmentedControl({
3015
3014
  className: `
3016
3015
  relative inline-flex items-center rounded-xl
3017
3016
  bg-gray-100 dark:bg-gray-800
3018
- ${styles3.container}
3017
+ ${styles2.container}
3019
3018
  ${fullWidth ? "w-full" : ""}
3020
3019
  ${disabled ? "opacity-50 pointer-events-none" : ""}
3021
3020
  `,
@@ -3042,7 +3041,7 @@ function SegmentedControl({
3042
3041
  className: `
3043
3042
  relative z-10 flex items-center justify-center gap-1.5
3044
3043
  font-medium rounded-lg transition-colors duration-150
3045
- ${styles3.segment}
3044
+ ${styles2.segment}
3046
3045
  ${fullWidth ? "flex-1" : ""}
3047
3046
  ${isSelected ? "text-gray-900 dark:text-white" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"}
3048
3047
  `,
@@ -3101,7 +3100,7 @@ function PageIndicator({
3101
3100
  }) {
3102
3101
  const t = useTranslations("common");
3103
3102
  const { dot, gap } = sizeConfig2[size];
3104
- const colors3 = variantConfig[variant];
3103
+ const colors2 = variantConfig[variant];
3105
3104
  const handleClick = (index) => {
3106
3105
  if (onChange && index !== active) {
3107
3106
  triggerHaptic("light");
@@ -3128,7 +3127,7 @@ function PageIndicator({
3128
3127
  className: `
3129
3128
  rounded-full transition-colors duration-200
3130
3129
  ${onChange ? "cursor-pointer" : "cursor-default"}
3131
- ${isActive ? colors3.active : colors3.inactive}
3130
+ ${isActive ? colors2.active : colors2.inactive}
3132
3131
  `,
3133
3132
  style: {
3134
3133
  width: dot,
@@ -3159,7 +3158,7 @@ function ExpandingPageIndicator({
3159
3158
  activeWidth = 24
3160
3159
  }) {
3161
3160
  const t = useTranslations("common");
3162
- const colors3 = variantConfig[variant];
3161
+ const colors2 = variantConfig[variant];
3163
3162
  const handleClick = (index) => {
3164
3163
  if (onChange && index !== active) {
3165
3164
  triggerHaptic("light");
@@ -3185,7 +3184,7 @@ function ExpandingPageIndicator({
3185
3184
  className: `
3186
3185
  h-2 rounded-full transition-colors duration-200
3187
3186
  ${onChange ? "cursor-pointer" : "cursor-default"}
3188
- ${isActive ? colors3.active : colors3.inactive}
3187
+ ${isActive ? colors2.active : colors2.inactive}
3189
3188
  `,
3190
3189
  animate: {
3191
3190
  width: isActive ? activeWidth : 8,
@@ -4881,7 +4880,7 @@ function DynamicIslandNotification({
4881
4880
  position = "right"
4882
4881
  }) {
4883
4882
  const [state, setState] = useState("idle");
4884
- const styles3 = variantStyles[variant];
4883
+ const styles2 = variantStyles[variant];
4885
4884
  useEffect(() => {
4886
4885
  if (show) {
4887
4886
  setState("expanded");
@@ -4906,12 +4905,12 @@ function DynamicIslandNotification({
4906
4905
  position,
4907
4906
  idleContent: (
4908
4907
  // Idle: Colored icon pill
4909
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: icon && /* @__PURE__ */ jsx("div", { className: `h-6 w-6 rounded-full ${styles3.iconBg} flex items-center justify-center`, children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4 text-white", children: icon }) }) })
4908
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: icon && /* @__PURE__ */ jsx("div", { className: `h-6 w-6 rounded-full ${styles2.iconBg} flex items-center justify-center`, children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4 text-white", children: icon }) }) })
4910
4909
  ),
4911
4910
  compactContent: (
4912
4911
  // Compact: Colored icon + title + message preview
4913
4912
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 w-full", children: [
4914
- icon && /* @__PURE__ */ jsx("div", { className: `h-8 w-8 rounded-full ${styles3.iconBg} flex items-center justify-center shrink-0`, children: /* @__PURE__ */ jsx("div", { className: "h-5 w-5 text-white", children: icon }) }),
4913
+ icon && /* @__PURE__ */ jsx("div", { className: `h-8 w-8 rounded-full ${styles2.iconBg} flex items-center justify-center shrink-0`, children: /* @__PURE__ */ jsx("div", { className: "h-5 w-5 text-white", children: icon }) }),
4915
4914
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
4916
4915
  /* @__PURE__ */ jsx("p", { className: "text-sm font-semibold truncate", children: title }),
4917
4916
  message && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-400 truncate", children: message })
@@ -4921,9 +4920,9 @@ function DynamicIslandNotification({
4921
4920
  expandedContent: (
4922
4921
  // Expanded: Full notification with colored icon background
4923
4922
  /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-4 px-5 w-full h-full`, children: [
4924
- icon && /* @__PURE__ */ jsx("div", { className: `h-14 w-14 rounded-2xl ${styles3.iconBg} flex items-center justify-center shrink-0 ${styles3.glow}`, children: /* @__PURE__ */ jsx("div", { className: "h-8 w-8 text-white", children: icon }) }),
4923
+ icon && /* @__PURE__ */ jsx("div", { className: `h-14 w-14 rounded-2xl ${styles2.iconBg} flex items-center justify-center shrink-0 ${styles2.glow}`, children: /* @__PURE__ */ jsx("div", { className: "h-8 w-8 text-white", children: icon }) }),
4925
4924
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
4926
- appName && /* @__PURE__ */ jsx("p", { className: `text-[11px] uppercase tracking-wide font-medium ${styles3.accentColor}`, children: appName }),
4925
+ appName && /* @__PURE__ */ jsx("p", { className: `text-[11px] uppercase tracking-wide font-medium ${styles2.accentColor}`, children: appName }),
4927
4926
  /* @__PURE__ */ jsx("p", { className: "text-[15px] font-semibold leading-tight", children: title }),
4928
4927
  message && /* @__PURE__ */ jsx("p", { className: "text-[13px] text-gray-400 mt-0.5 truncate", children: message })
4929
4928
  ] })
@@ -5444,16 +5443,16 @@ function Dialog4({
5444
5443
  children,
5445
5444
  ...props
5446
5445
  }) {
5447
- return /* @__PURE__ */ jsxs(Headless11.Dialog, { ...props, children: [
5446
+ return /* @__PURE__ */ jsxs(Headless6.Dialog, { ...props, children: [
5448
5447
  /* @__PURE__ */ jsx(
5449
- Headless11.DialogBackdrop,
5448
+ Headless6.DialogBackdrop,
5450
5449
  {
5451
5450
  transition: true,
5452
5451
  className: "fixed inset-0 flex w-screen justify-center overflow-y-auto bg-zinc-950/25 px-2 py-2 transition duration-100 focus:outline-0 data-closed:opacity-0 data-enter:ease-out data-leave:ease-in sm:px-6 sm:py-8 lg:px-8 lg:py-16 dark:bg-zinc-950/50"
5453
5452
  }
5454
5453
  ),
5455
5454
  /* @__PURE__ */ jsx("div", { className: "fixed inset-0 w-screen overflow-y-auto pt-6 sm:pt-0", children: /* @__PURE__ */ jsx("div", { className: "grid min-h-full grid-rows-[1fr_auto] justify-items-center sm:grid-rows-[1fr_auto_3fr] sm:p-4", children: /* @__PURE__ */ jsx(
5456
- Headless11.DialogPanel,
5455
+ Headless6.DialogPanel,
5457
5456
  {
5458
5457
  transition: true,
5459
5458
  className: clsx(
@@ -5472,7 +5471,7 @@ function DialogTitle3({
5472
5471
  ...props
5473
5472
  }) {
5474
5473
  return /* @__PURE__ */ jsx(
5475
- Headless11.DialogTitle,
5474
+ Headless6.DialogTitle,
5476
5475
  {
5477
5476
  ...props,
5478
5477
  className: clsx(
@@ -5487,7 +5486,7 @@ function DialogDescription({
5487
5486
  ...props
5488
5487
  }) {
5489
5488
  return /* @__PURE__ */ jsx(
5490
- Headless11.Description,
5489
+ Headless6.Description,
5491
5490
  {
5492
5491
  as: Text,
5493
5492
  ...props,
@@ -8557,7 +8556,7 @@ var AvatarButton = forwardRef(function AvatarButton2({
8557
8556
  if (typeof props.href === "string") {
8558
8557
  return /* @__PURE__ */ jsx(Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Avatar, { src, square, initials, alt }) }) });
8559
8558
  }
8560
- return /* @__PURE__ */ jsx(Headless11.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Avatar, { src, square, initials, alt }) }) });
8559
+ return /* @__PURE__ */ jsx(Headless6.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Avatar, { src, square, initials, alt }) }) });
8561
8560
  });
8562
8561
  var colors = {
8563
8562
  red: "bg-red-500/15 text-red-700 group-data-hover:bg-red-500/25 dark:bg-red-500/10 dark:text-red-400 dark:group-data-hover:bg-red-500/20",
@@ -8605,7 +8604,7 @@ forwardRef(function BadgeButton2({
8605
8604
  if (typeof props.href === "string") {
8606
8605
  return /* @__PURE__ */ jsx(Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Badge, { color, children }) }) });
8607
8606
  }
8608
- return /* @__PURE__ */ jsx(Headless11.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Badge, { color, children }) }) });
8607
+ return /* @__PURE__ */ jsx(Headless6.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Badge, { color, children }) }) });
8609
8608
  });
8610
8609
  function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard" }) {
8611
8610
  const t = useTranslations("common");
@@ -8777,7 +8776,7 @@ function Divider({
8777
8776
  );
8778
8777
  }
8779
8778
  function Dropdown(props) {
8780
- return /* @__PURE__ */ jsx(Headless11.Menu, { ...props });
8779
+ return /* @__PURE__ */ jsx(Headless6.Menu, { ...props });
8781
8780
  }
8782
8781
  function DynamicIslandConfirm({
8783
8782
  open,
@@ -9818,7 +9817,7 @@ function Fieldset2({
9818
9817
  ...props
9819
9818
  }) {
9820
9819
  return /* @__PURE__ */ jsx(
9821
- Headless11.Fieldset,
9820
+ Headless6.Fieldset,
9822
9821
  {
9823
9822
  ...props,
9824
9823
  className: clsx(
@@ -9833,7 +9832,7 @@ function Legend2({
9833
9832
  ...props
9834
9833
  }) {
9835
9834
  return /* @__PURE__ */ jsx(
9836
- Headless11.Legend,
9835
+ Headless6.Legend,
9837
9836
  {
9838
9837
  "data-slot": "legend",
9839
9838
  ...props,
@@ -9862,7 +9861,7 @@ function Field2({
9862
9861
  ...props
9863
9862
  }) {
9864
9863
  return /* @__PURE__ */ jsx(
9865
- Headless11.Field,
9864
+ Headless6.Field,
9866
9865
  {
9867
9866
  ...props,
9868
9867
  className: clsx(
@@ -9882,7 +9881,7 @@ function Label2({
9882
9881
  ...props
9883
9882
  }) {
9884
9883
  return /* @__PURE__ */ jsx(
9885
- Headless11.Label,
9884
+ Headless6.Label,
9886
9885
  {
9887
9886
  "data-slot": "label",
9888
9887
  ...props,
@@ -9898,7 +9897,7 @@ function Description4({
9898
9897
  ...props
9899
9898
  }) {
9900
9899
  return /* @__PURE__ */ jsx(
9901
- Headless11.Description,
9900
+ Headless6.Description,
9902
9901
  {
9903
9902
  "data-slot": "description",
9904
9903
  ...props,
@@ -9914,7 +9913,7 @@ function ErrorMessage({
9914
9913
  ...props
9915
9914
  }) {
9916
9915
  return /* @__PURE__ */ jsx(
9917
- Headless11.Description,
9916
+ Headless6.Description,
9918
9917
  {
9919
9918
  "data-slot": "error",
9920
9919
  ...props,
@@ -9930,7 +9929,7 @@ var Textarea = React11.forwardRef(({ className, ...props }, ref) => {
9930
9929
  "textarea",
9931
9930
  {
9932
9931
  className: clsx(
9933
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
9932
+ "flex min-h-[80px] w-full rounded-xl liquid-surface border border-white/50 dark:border-white/10 px-3 py-2.5 text-sm text-slate-900 dark:text-white outline-none placeholder:text-slate-400 dark:placeholder:text-slate-500 focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",
9934
9933
  className
9935
9934
  ),
9936
9935
  ref,
@@ -11692,11 +11691,11 @@ function GeoMapCanvasInner({
11692
11691
  return `rgba(${r}, ${g}, ${b}, 0.25)`;
11693
11692
  };
11694
11693
  const lighterColors = useMemo(() => {
11695
- const colors3 = /* @__PURE__ */ new Map();
11694
+ const colors2 = /* @__PURE__ */ new Map();
11696
11695
  regionColorMap.forEach((color, code) => {
11697
- colors3.set(code, getLighterColor(color));
11696
+ colors2.set(code, getLighterColor(color));
11698
11697
  });
11699
- return colors3;
11698
+ return colors2;
11700
11699
  }, [regionColorMap]);
11701
11700
  const featureCollection = useMemo(() => {
11702
11701
  if (!geoData) return null;
@@ -12543,1471 +12542,108 @@ var getUsGradient = (state, direction) => getSubdivisionGradient("US", state, di
12543
12542
  var getUsColors = (state) => getSubdivisionColors("US", state);
12544
12543
  var getUsAccent = (state) => getSubdivisionAccent("US", state);
12545
12544
  var isValidUsState = (state) => isValidSubdivision("US", state);
12546
- var Link4 = forwardRef(function Link5(props, ref) {
12547
- return /* @__PURE__ */ jsx(NextLink, { ref, ...props });
12548
- });
12549
- var styles2 = {
12550
- base: [
12551
- "relative inline-flex items-center justify-center gap-x-2 rounded-lg border text-sm font-semibold",
12552
- "px-3.5 py-2.5 transition-colors",
12553
- "focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-indigo-400 dark:focus:ring-offset-zinc-900",
12554
- "disabled:opacity-50 disabled:pointer-events-none",
12555
- "[&>svg]:size-4 [&>svg]:shrink-0"
12556
- ],
12557
- solid: ["border-transparent shadow-sm"],
12558
- outline: [
12559
- "border-zinc-300 bg-transparent hover:bg-zinc-50 text-zinc-900",
12560
- "dark:border-zinc-600 dark:hover:bg-zinc-800 dark:text-zinc-100"
12561
- ],
12562
- plain: [
12563
- "border-transparent text-zinc-700 hover:bg-zinc-100",
12564
- "dark:text-zinc-300 dark:hover:bg-zinc-800"
12565
- ],
12566
- colors: {
12567
- "dark/zinc": ["bg-zinc-900 text-white hover:bg-zinc-800"],
12568
- light: [
12569
- "bg-white text-zinc-900 hover:bg-zinc-50 dark:bg-zinc-800 dark:text-white dark:hover:bg-zinc-700"
12570
- ],
12571
- "dark/white": [
12572
- "bg-zinc-900 text-white hover:bg-zinc-800 dark:bg-white dark:text-zinc-900 dark:hover:bg-zinc-100"
12573
- ],
12574
- dark: ["bg-zinc-900 text-white hover:bg-zinc-800"],
12575
- white: ["bg-white text-zinc-900 hover:bg-zinc-50"],
12576
- zinc: ["bg-zinc-600 text-white hover:bg-zinc-700"],
12577
- indigo: ["bg-indigo-500 text-white hover:bg-indigo-600"],
12578
- cyan: ["bg-cyan-300 text-cyan-950 hover:bg-cyan-400"],
12579
- red: ["bg-red-600 text-white hover:bg-red-700"],
12580
- orange: ["bg-orange-500 text-white hover:bg-orange-600"],
12581
- amber: ["bg-amber-400 text-amber-950 hover:bg-amber-500"],
12582
- yellow: ["bg-yellow-300 text-yellow-950 hover:bg-yellow-400"],
12583
- lime: ["bg-lime-300 text-lime-950 hover:bg-lime-400"],
12584
- green: ["bg-green-600 text-white hover:bg-green-700"],
12585
- emerald: ["bg-emerald-600 text-white hover:bg-emerald-700"],
12586
- teal: ["bg-teal-600 text-white hover:bg-teal-700"],
12587
- sky: ["bg-sky-500 text-white hover:bg-sky-600"],
12588
- blue: ["bg-blue-600 text-white hover:bg-blue-700"],
12589
- brand: ["bg-brand-600 text-white hover:bg-brand-700"],
12590
- accent: ["bg-accent text-accent-foreground hover:bg-accent/90"],
12591
- violet: ["bg-violet-500 text-white hover:bg-violet-600"],
12592
- purple: ["bg-purple-500 text-white hover:bg-purple-600"],
12593
- fuchsia: ["bg-fuchsia-500 text-white hover:bg-fuchsia-600"],
12594
- pink: ["bg-pink-500 text-white hover:bg-pink-600"],
12595
- rose: ["bg-rose-500 text-white hover:bg-rose-600"]
12596
- }
12597
- };
12598
- var Button6 = forwardRef(function Button7({
12599
- color,
12600
- outline,
12601
- plain,
12602
- className,
12603
- children,
12604
- loading,
12605
- "aria-label": ariaLabel,
12606
- "aria-describedby": ariaDescribedBy,
12607
- "aria-busy": ariaBusy,
12608
- ...props
12609
- }, ref) {
12610
- const classes = clsx(
12611
- className,
12612
- styles2.base,
12613
- outline ? styles2.outline : plain ? styles2.plain : clsx(styles2.solid, styles2.colors[color ?? "brand"])
12614
- );
12615
- const accessibilityProps = {
12616
- "aria-label": ariaLabel,
12617
- "aria-describedby": ariaDescribedBy,
12618
- "aria-busy": ariaBusy || loading,
12619
- ...loading && { disabled: true }
12620
- };
12621
- return "href" in props ? /* @__PURE__ */ jsx(
12622
- Link4,
12623
- {
12624
- ...props,
12625
- ...accessibilityProps,
12626
- className: classes,
12627
- ref,
12628
- children: /* @__PURE__ */ jsxs(TouchTarget2, { children: [
12629
- loading && /* @__PURE__ */ jsx(
12630
- "span",
12631
- {
12632
- className: "animate-spin inline-block size-4 border-2 border-current border-t-transparent rounded-full mr-2",
12633
- "aria-hidden": "true"
12634
- }
12635
- ),
12636
- children
12637
- ] })
12638
- }
12639
- ) : /* @__PURE__ */ jsx(
12640
- Headless11.Button,
12641
- {
12642
- ...props,
12643
- ...accessibilityProps,
12644
- className: classes,
12645
- ref,
12646
- children: /* @__PURE__ */ jsxs(TouchTarget2, { children: [
12647
- loading && /* @__PURE__ */ jsx(
12648
- "span",
12649
- {
12650
- className: "animate-spin inline-block size-4 border-2 border-current border-t-transparent rounded-full mr-2",
12651
- "aria-hidden": "true"
12652
- }
12653
- ),
12654
- children
12655
- ] })
12656
- }
12657
- );
12658
- });
12659
- function TouchTarget2({ children }) {
12660
- return /* @__PURE__ */ jsxs(Fragment, { children: [
12661
- /* @__PURE__ */ jsx(
12662
- "span",
12663
- {
12664
- className: "absolute top-1/2 left-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 pointer-fine:hidden",
12665
- "aria-hidden": "true"
12666
- }
12667
- ),
12668
- children
12669
- ] });
12670
- }
12671
- function InputGroup({
12672
- children
12673
- }) {
12674
- return /* @__PURE__ */ jsx(
12675
- "span",
12676
- {
12677
- "data-slot": "control",
12678
- className: clsx(
12679
- "relative isolate block",
12680
- "has-[[data-slot=icon]:first-child]:[&_input]:pl-10 has-[[data-slot=icon]:last-child]:[&_input]:pr-10 sm:has-[[data-slot=icon]:first-child]:[&_input]:pl-8 sm:has-[[data-slot=icon]:last-child]:[&_input]:pr-8",
12681
- "*:data-[slot=icon]:pointer-events-none *:data-[slot=icon]:absolute *:data-[slot=icon]:top-3 *:data-[slot=icon]:z-10 *:data-[slot=icon]:size-5 sm:*:data-[slot=icon]:top-2.5 sm:*:data-[slot=icon]:size-4",
12682
- "[&>[data-slot=icon]:first-child]:left-3 sm:[&>[data-slot=icon]:first-child]:left-2.5 [&>[data-slot=icon]:last-child]:right-3 sm:[&>[data-slot=icon]:last-child]:right-2.5",
12683
- "*:data-[slot=icon]:text-zinc-500"
12684
- ),
12685
- children
12686
- }
12687
- );
12688
- }
12689
- var dateTypes = ["date", "datetime-local", "month", "time", "week"];
12690
- var Input3 = forwardRef(function Input4({
12691
- className,
12692
- "aria-label": ariaLabel,
12693
- "aria-describedby": ariaDescribedBy,
12694
- "aria-invalid": ariaInvalid,
12695
- "aria-required": ariaRequired,
12696
- required,
12697
- invalid,
12698
- ...props
12699
- }, ref) {
12700
- return /* @__PURE__ */ jsx(
12701
- "span",
12702
- {
12703
- "data-slot": "control",
12704
- className: clsx([
12705
- className,
12706
- // Basic layout
12707
- "relative block w-full",
12708
- // Focus ring
12709
- "after:pointer-events-none after:absolute after:inset-0 after:rounded-lg after:ring-transparent after:ring-inset sm:focus-within:after:ring-2 sm:focus-within:after:ring-blue-500",
12710
- // Disabled state
12711
- "has-data-disabled:opacity-50"
12712
- ]),
12713
- children: /* @__PURE__ */ jsx(
12714
- Headless11.Input,
12715
- {
12716
- ref,
12717
- ...props,
12718
- "aria-label": ariaLabel,
12719
- "aria-describedby": ariaDescribedBy,
12720
- "aria-invalid": ariaInvalid || invalid,
12721
- "aria-required": ariaRequired || required,
12722
- style: {
12723
- ...props.style,
12724
- // Override autofill with CSS custom properties
12725
- "--autofill-bg": "white",
12726
- "--autofill-color": "black"
12727
- },
12728
- className: clsx([
12729
- // Date classes
12730
- props.type && dateTypes.includes(props.type) && [
12731
- "[&::-webkit-datetime-edit-fields-wrapper]:p-0",
12732
- "[&::-webkit-date-and-time-value]:min-h-[1.5em]",
12733
- "[&::-webkit-datetime-edit]:inline-flex",
12734
- "[&::-webkit-datetime-edit]:p-0",
12735
- "[&::-webkit-datetime-edit-year-field]:p-0",
12736
- "[&::-webkit-datetime-edit-month-field]:p-0",
12737
- "[&::-webkit-datetime-edit-day-field]:p-0",
12738
- "[&::-webkit-datetime-edit-hour-field]:p-0",
12739
- "[&::-webkit-datetime-edit-minute-field]:p-0",
12740
- "[&::-webkit-datetime-edit-second-field]:p-0",
12741
- "[&::-webkit-datetime-edit-millisecond-field]:p-0",
12742
- "[&::-webkit-datetime-edit-meridiem-field]:p-0"
12743
- ],
12744
- // Basic layout
12745
- "relative block w-full appearance-none rounded-lg px-3.5 py-2.5 sm:px-3 sm:py-1.5",
12746
- // Typography
12747
- "text-base/6 text-zinc-950 dark:text-zinc-100 placeholder:text-zinc-500 dark:placeholder:text-zinc-400 sm:text-sm/6",
12748
- // Border
12749
- "border border-zinc-950/10 data-hover:border-zinc-950/20 dark:border-white/10 dark:data-hover:border-white/20",
12750
- // Background color
12751
- "bg-transparent dark:bg-white/5",
12752
- // Hide default focus styles
12753
- "focus:outline-none",
12754
- // Invalid state
12755
- "data-invalid:border-red-500 data-invalid:data-hover:border-red-500 dark:data-invalid:border-red-500 dark:data-invalid:data-hover:border-red-500",
12756
- // Disabled state
12757
- "data-disabled:border-zinc-950/20 dark:data-disabled:border-white/15 dark:data-disabled:bg-white/2.5 dark:data-hover:data-disabled:border-white/15",
12758
- // System icons
12759
- "dark:scheme-dark",
12760
- // Autofill override styles
12761
- "[&:-webkit-autofill]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill]:!text-black",
12762
- "[&:-webkit-autofill:hover]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:hover]:!text-black",
12763
- "[&:-webkit-autofill:focus]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:focus]:!text-black",
12764
- "[&:-webkit-autofill:active]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:active]:!text-black",
12765
- "dark:[&:-webkit-autofill]:!shadow-[inset_0_0_0_1000px_rgb(24,24,27)] dark:[&:-webkit-autofill]:!text-zinc-200",
12766
- "dark:[&:-webkit-autofill:hover]:!shadow-[inset_0_0_0_1000px_rgb(24,24,27)] dark:[&:-webkit-autofill:hover]:!text-zinc-200",
12767
- "dark:[&:-webkit-autofill:focus]:!shadow-[inset_0_0_0_1000px_rgb(24,24,27)] dark:[&:-webkit-autofill:focus]:!text-zinc-200",
12768
- "dark:[&:-webkit-autofill:active]:!shadow-[inset_0_0_0_1000px_rgb(24,24,27)] dark:[&:-webkit-autofill:active]:!text-zinc-200"
12769
- ])
12770
- }
12771
- )
12772
- }
12773
- );
12774
- });
12775
- var SelectContent = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });
12776
- var SelectItem = ({
12777
- children,
12778
- value
12779
- }) => /* @__PURE__ */ jsx("option", { value, children });
12780
- var SelectTrigger = ({
12781
- children,
12782
- className
12783
- }) => /* @__PURE__ */ jsx("div", { className, children });
12784
- var SelectValue = ({ placeholder }) => /* @__PURE__ */ jsx("span", { children: placeholder });
12785
- forwardRef(function Select4({
12786
- className,
12787
- multiple,
12788
- ...props
12789
- }, ref) {
12790
- return /* @__PURE__ */ jsxs(
12791
- "span",
12792
- {
12793
- "data-slot": "control",
12794
- className: clsx([
12795
- className,
12796
- // Basic layout
12797
- "group relative block w-full",
12798
- // Background color + shadow applied to inset pseudo element, so shadow blends with border in light mode
12799
- "before:absolute before:inset-px before:rounded-lg before:bg-white before:shadow-sm",
12800
- // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
12801
- "dark:before:hidden",
12802
- // Focus ring
12803
- "after:pointer-events-none after:absolute after:inset-0 after:rounded-lg after:ring-transparent after:ring-inset has-data-focus:after:ring-2 has-data-focus:after:ring-blue-500",
12804
- // Disabled state
12805
- "has-data-disabled:opacity-50 has-data-disabled:before:bg-zinc-950/5 has-data-disabled:before:shadow-none"
12806
- ]),
12807
- children: [
12808
- /* @__PURE__ */ jsx(
12809
- Headless11.Select,
12810
- {
12811
- ref,
12812
- multiple,
12813
- ...props,
12814
- className: clsx([
12815
- // Basic layout
12816
- "relative block w-full appearance-none rounded-lg py-2.5 sm:py-1.5",
12817
- // Horizontal padding
12818
- multiple ? "px-3.5 sm:px-3" : "pr-10 pl-3.5 sm:pr-9 sm:pl-3",
12819
- // Options (multi-select)
12820
- "[&_optgroup]:font-semibold",
12821
- // Typography
12822
- "text-base/6 text-zinc-950 dark:text-zinc-100 placeholder:text-zinc-500 dark:placeholder:text-zinc-400 sm:text-sm/6",
12823
- // Border
12824
- "border border-zinc-950/10 data-hover:border-zinc-950/20 dark:border-white/10 dark:data-hover:border-white/20",
12825
- // Background color
12826
- "bg-transparent dark:bg-white/5 dark:*:bg-zinc-800",
12827
- // Hide default focus styles
12828
- "focus:outline-none",
12829
- // Invalid state
12830
- "data-invalid:border-red-500 data-invalid:data-hover:border-red-500 dark:data-invalid:border-red-600 dark:data-invalid:data-hover:border-red-600",
12831
- // Disabled state
12832
- "data-disabled:border-zinc-950/20 data-disabled:opacity-100 dark:data-disabled:border-white/15 dark:data-disabled:bg-white/2.5 dark:data-hover:data-disabled:border-white/15"
12833
- ])
12834
- }
12835
- ),
12836
- !multiple && /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2", children: /* @__PURE__ */ jsxs(
12837
- "svg",
12838
- {
12839
- className: "size-5 stroke-zinc-500 group-has-data-disabled:stroke-zinc-600 sm:size-4 dark:stroke-zinc-400 forced-colors:stroke-[CanvasText]",
12840
- viewBox: "0 0 16 16",
12841
- "aria-hidden": "true",
12842
- fill: "none",
12843
- children: [
12844
- /* @__PURE__ */ jsx(
12845
- "path",
12846
- {
12847
- d: "M5.75 10.75L8 13L10.25 10.75",
12848
- strokeWidth: 1.5,
12849
- strokeLinecap: "round",
12850
- strokeLinejoin: "round"
12851
- }
12852
- ),
12853
- /* @__PURE__ */ jsx(
12854
- "path",
12855
- {
12856
- d: "M10.25 5.25L8 3L5.75 5.25",
12857
- strokeWidth: 1.5,
12858
- strokeLinecap: "round",
12859
- strokeLinejoin: "round"
12860
- }
12861
- )
12862
- ]
12863
- }
12864
- ) })
12865
- ]
12866
- }
12867
- );
12868
- });
12869
- var Label3 = React11__default.forwardRef(
12870
- ({ children, className = "", required = false, ...props }, ref) => {
12871
- return /* @__PURE__ */ jsxs(
12872
- "label",
12873
- {
12874
- ref,
12875
- className: `block text-sm font-medium text-gray-700 ${className}`,
12876
- ...props,
12877
- children: [
12878
- children,
12879
- required && /* @__PURE__ */ jsx("span", { className: "text-red-500 ml-1", children: "*" })
12880
- ]
12881
- }
12882
- );
12883
- }
12884
- );
12885
- Label3.displayName = "Label";
12886
- function SwitchGroup({
12887
- className,
12888
- ...props
12889
- }) {
12890
- return /* @__PURE__ */ jsx(
12891
- "div",
12892
- {
12893
- "data-slot": "control",
12894
- ...props,
12895
- className: clsx(
12896
- className,
12897
- // Basic groups
12898
- "space-y-3 **:data-[slot=label]:font-normal",
12899
- // With descriptions
12900
- "has-data-[slot=description]:space-y-6 has-data-[slot=description]:**:data-[slot=label]:font-medium"
12901
- )
12902
- }
12903
- );
12904
- }
12905
- function SwitchField({
12906
- className,
12907
- ...props
12908
- }) {
12909
- return /* @__PURE__ */ jsx(
12910
- Headless11.Field,
12911
- {
12912
- "data-slot": "field",
12913
- ...props,
12914
- className: clsx(
12915
- className,
12916
- // Base layout
12917
- "grid grid-cols-[1fr_auto] gap-x-8 gap-y-1 sm:grid-cols-[1fr_auto]",
12918
- // Control layout
12919
- "*:data-[slot=control]:col-start-2 *:data-[slot=control]:self-start sm:*:data-[slot=control]:mt-0.5",
12920
- // Label layout
12921
- "*:data-[slot=label]:col-start-1 *:data-[slot=label]:row-start-1",
12922
- // Description layout
12923
- "*:data-[slot=description]:col-start-1 *:data-[slot=description]:row-start-2",
12924
- // With description
12925
- "has-data-[slot=description]:**:data-[slot=label]:font-medium"
12926
- )
12927
- }
12928
- );
12929
- }
12930
- var colors2 = {
12931
- "dark/zinc": [
12932
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]/25",
12933
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-zinc-700)]/90"
12934
- ],
12935
- "dark/white": [
12936
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]",
12937
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:transparent] dark:[--switch:var(--color-zinc-900)]"
12938
- ],
12939
- dark: [
12940
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:var(--color-white)]/15",
12941
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white]"
12942
- ],
12943
- zinc: [
12944
- "[--switch-bg-ring:var(--color-zinc-700)]/90 [--switch-bg:var(--color-zinc-600)] dark:[--switch-bg-ring:transparent]",
12945
- "[--switch-shadow:var(--color-black)]/10 [--switch:white] [--switch-ring:var(--color-zinc-700)]/90"
12946
- ],
12947
- white: [
12948
- "[--switch-bg-ring:var(--color-black)]/15 [--switch-bg:white] dark:[--switch-bg-ring:transparent]",
12949
- "[--switch-shadow:var(--color-black)]/10 [--switch-ring:transparent] [--switch:var(--color-zinc-950)]"
12950
- ],
12951
- red: [
12952
- "[--switch-bg-ring:var(--color-red-700)]/90 [--switch-bg:var(--color-red-600)] dark:[--switch-bg-ring:transparent]",
12953
- "[--switch:white] [--switch-ring:var(--color-red-700)]/90 [--switch-shadow:var(--color-red-900)]/20"
12954
- ],
12955
- orange: [
12956
- "[--switch-bg-ring:var(--color-orange-600)]/90 [--switch-bg:var(--color-orange-500)] dark:[--switch-bg-ring:transparent]",
12957
- "[--switch:white] [--switch-ring:var(--color-orange-600)]/90 [--switch-shadow:var(--color-orange-900)]/20"
12958
- ],
12959
- amber: [
12960
- "[--switch-bg-ring:var(--color-amber-500)]/80 [--switch-bg:var(--color-amber-400)] dark:[--switch-bg-ring:transparent]",
12961
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-amber-950)]"
12962
- ],
12963
- yellow: [
12964
- "[--switch-bg-ring:var(--color-yellow-400)]/80 [--switch-bg:var(--color-yellow-300)] dark:[--switch-bg-ring:transparent]",
12965
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-yellow-950)]"
12966
- ],
12967
- lime: [
12968
- "[--switch-bg-ring:var(--color-lime-400)]/80 [--switch-bg:var(--color-lime-300)] dark:[--switch-bg-ring:transparent]",
12969
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-lime-950)]"
12970
- ],
12971
- green: [
12972
- "[--switch-bg-ring:var(--color-green-700)]/90 [--switch-bg:var(--color-green-600)] dark:[--switch-bg-ring:transparent]",
12973
- "[--switch:white] [--switch-ring:var(--color-green-700)]/90 [--switch-shadow:var(--color-green-900)]/20"
12974
- ],
12975
- emerald: [
12976
- "[--switch-bg-ring:var(--color-emerald-600)]/90 [--switch-bg:var(--color-emerald-500)] dark:[--switch-bg-ring:transparent]",
12977
- "[--switch:white] [--switch-ring:var(--color-emerald-600)]/90 [--switch-shadow:var(--color-emerald-900)]/20"
12978
- ],
12979
- teal: [
12980
- "[--switch-bg-ring:var(--color-teal-700)]/90 [--switch-bg:var(--color-teal-600)] dark:[--switch-bg-ring:transparent]",
12981
- "[--switch:white] [--switch-ring:var(--color-teal-700)]/90 [--switch-shadow:var(--color-teal-900)]/20"
12982
- ],
12983
- cyan: [
12984
- "[--switch-bg-ring:var(--color-cyan-400)]/80 [--switch-bg:var(--color-cyan-300)] dark:[--switch-bg-ring:transparent]",
12985
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-cyan-950)]"
12986
- ],
12987
- sky: [
12988
- "[--switch-bg-ring:var(--color-sky-600)]/80 [--switch-bg:var(--color-sky-500)] dark:[--switch-bg-ring:transparent]",
12989
- "[--switch:white] [--switch-ring:var(--color-sky-600)]/80 [--switch-shadow:var(--color-sky-900)]/20"
12990
- ],
12991
- blue: [
12992
- "[--switch-bg-ring:var(--color-blue-700)]/90 [--switch-bg:var(--color-blue-600)] dark:[--switch-bg-ring:transparent]",
12993
- "[--switch:white] [--switch-ring:var(--color-blue-700)]/90 [--switch-shadow:var(--color-blue-900)]/20"
12994
- ],
12995
- indigo: [
12996
- "[--switch-bg-ring:var(--color-indigo-600)]/90 [--switch-bg:var(--color-indigo-500)] dark:[--switch-bg-ring:transparent]",
12997
- "[--switch:white] [--switch-ring:var(--color-indigo-600)]/90 [--switch-shadow:var(--color-indigo-900)]/20"
12998
- ],
12999
- violet: [
13000
- "[--switch-bg-ring:var(--color-violet-600)]/90 [--switch-bg:var(--color-violet-500)] dark:[--switch-bg-ring:transparent]",
13001
- "[--switch:white] [--switch-ring:var(--color-violet-600)]/90 [--switch-shadow:var(--color-violet-900)]/20"
13002
- ],
13003
- purple: [
13004
- "[--switch-bg-ring:var(--color-purple-600)]/90 [--switch-bg:var(--color-purple-500)] dark:[--switch-bg-ring:transparent]",
13005
- "[--switch:white] [--switch-ring:var(--color-purple-600)]/90 [--switch-shadow:var(--color-purple-900)]/20"
13006
- ],
13007
- fuchsia: [
13008
- "[--switch-bg-ring:var(--color-fuchsia-600)]/90 [--switch-bg:var(--color-fuchsia-500)] dark:[--switch-bg-ring:transparent]",
13009
- "[--switch:white] [--switch-ring:var(--color-fuchsia-600)]/90 [--switch-shadow:var(--color-fuchsia-900)]/20"
13010
- ],
13011
- pink: [
13012
- "[--switch-bg-ring:var(--color-pink-600)]/90 [--switch-bg:var(--color-pink-500)] dark:[--switch-bg-ring:transparent]",
13013
- "[--switch:white] [--switch-ring:var(--color-pink-600)]/90 [--switch-shadow:var(--color-pink-900)]/20"
13014
- ],
13015
- rose: [
13016
- "[--switch-bg-ring:var(--color-rose-600)]/90 [--switch-bg:var(--color-rose-500)] dark:[--switch-bg-ring:transparent]",
13017
- "[--switch:white] [--switch-ring:var(--color-rose-600)]/90 [--switch-shadow:var(--color-rose-900)]/20"
13018
- ]
13019
- };
13020
- function Switch2({
13021
- color = "dark/zinc",
13022
- className,
13023
- ...props
13024
- }) {
13025
- return /* @__PURE__ */ jsx(
13026
- Headless11.Switch,
13027
- {
13028
- "data-slot": "control",
13029
- ...props,
13030
- className: clsx(
13031
- className,
13032
- // Base styles
13033
- "group relative isolate inline-flex h-6 w-10 cursor-default rounded-full p-[3px] sm:h-5 sm:w-8",
13034
- // Transitions
13035
- "transition duration-0 ease-in-out data-changing:duration-200",
13036
- // Outline and background color in forced-colors mode so switch is still visible
13037
- "forced-colors:outline forced-colors:[--switch-bg:Highlight] dark:forced-colors:[--switch-bg:Highlight]",
13038
- // Unchecked
13039
- "bg-zinc-200 ring-1 ring-black/5 ring-inset dark:bg-white/5 dark:ring-white/15",
13040
- // Checked
13041
- "data-checked:bg-(--switch-bg) data-checked:ring-(--switch-bg-ring) dark:data-checked:bg-(--switch-bg) dark:data-checked:ring-(--switch-bg-ring)",
13042
- // Focus
13043
- "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-blue-500",
13044
- // Hover
13045
- "data-hover:ring-black/15 data-hover:data-checked:ring-(--switch-bg-ring)",
13046
- "dark:data-hover:ring-white/25 dark:data-hover:data-checked:ring-(--switch-bg-ring)",
13047
- // Disabled
13048
- "data-disabled:bg-zinc-200 data-disabled:opacity-50 data-disabled:data-checked:bg-zinc-200 data-disabled:data-checked:ring-black/5",
13049
- "dark:data-disabled:bg-white/15 dark:data-disabled:data-checked:bg-white/15 dark:data-disabled:data-checked:ring-white/15",
13050
- // Color specific styles
13051
- colors2[color]
13052
- ),
13053
- children: /* @__PURE__ */ jsx(
13054
- "span",
13055
- {
13056
- "aria-hidden": "true",
13057
- className: clsx(
13058
- // Basic layout
13059
- "pointer-events-none relative inline-block size-4.5 rounded-full sm:size-3.5",
13060
- // Transition
13061
- "translate-x-0 transition duration-200 ease-in-out",
13062
- // Invisible border so the switch is still visible in forced-colors mode
13063
- "border border-transparent",
13064
- // Unchecked
13065
- "bg-white shadow-sm ring-1 ring-black/5",
13066
- // Checked
13067
- "group-data-checked:bg-(--switch) group-data-checked:shadow-(--switch-shadow) group-data-checked:ring-(--switch-ring)",
13068
- "group-data-checked:translate-x-4 sm:group-data-checked:translate-x-3",
13069
- // Disabled
13070
- "group-data-checked:group-data-disabled:bg-white group-data-checked:group-data-disabled:shadow-sm group-data-checked:group-data-disabled:ring-black/5"
13071
- )
13072
- }
13073
- )
13074
- }
13075
- );
13076
- }
13077
- function DropdownButton({
13078
- as = Button6,
13079
- ...props
13080
- }) {
13081
- return /* @__PURE__ */ jsx(Headless11.MenuButton, { as, ...props });
13082
- }
13083
- function DropdownMenu({
13084
- anchor = "bottom",
13085
- className,
13086
- ...props
13087
- }) {
13088
- return /* @__PURE__ */ jsx(
13089
- Headless11.MenuItems,
13090
- {
13091
- ...props,
13092
- transition: true,
13093
- anchor,
13094
- className: clsx(
13095
- className,
13096
- // Anchor positioning
13097
- "[--anchor-gap:--spacing(2)] [--anchor-padding:--spacing(1)] data-[anchor~=end]:[--anchor-offset:6px] data-[anchor~=start]:[--anchor-offset:-6px] sm:data-[anchor~=end]:[--anchor-offset:4px] sm:data-[anchor~=start]:[--anchor-offset:-4px]",
13098
- // Base styles
13099
- "isolate w-max rounded-xl p-1",
13100
- // Invisible border that is only visible in `forced-colors` mode for accessibility purposes
13101
- "outline outline-transparent focus:outline-hidden",
13102
- // Handle scrolling when menu won't fit in viewport
13103
- "overflow-y-auto",
13104
- // Popover background
13105
- "bg-white/75 backdrop-blur-xl dark:bg-zinc-800/75",
13106
- // Shadows
13107
- "shadow-lg ring-1 ring-zinc-950/10 dark:ring-white/10 dark:ring-inset",
13108
- // Define grid at the menu level if subgrid is supported
13109
- "supports-[grid-template-columns:subgrid]:grid supports-[grid-template-columns:subgrid]:grid-cols-[auto_1fr_1.5rem_0.5rem_auto]",
13110
- // Transitions
13111
- "transition data-leave:duration-100 data-leave:ease-in data-closed:data-leave:opacity-0"
13112
- )
13113
- }
13114
- );
13115
- }
13116
- function DropdownItem({
13117
- className,
13118
- ...props
13119
- }) {
13120
- const classes = clsx(
13121
- className,
13122
- // Base styles
13123
- "group cursor-default rounded-lg px-3.5 py-2.5 focus:outline-hidden sm:px-3 sm:py-1.5",
13124
- // Text styles
13125
- "text-left text-base/6 text-zinc-950 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
13126
- // Focus
13127
- "data-focus:bg-blue-500 data-focus:text-white",
13128
- // Disabled state
13129
- "data-disabled:opacity-50",
13130
- // Forced colors mode
13131
- "forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText] forced-colors:data-focus:*:data-[slot=icon]:text-[HighlightText]",
13132
- // Use subgrid when available but fallback to an explicit grid layout if not
13133
- "col-span-full grid grid-cols-[auto_1fr_1.5rem_0.5rem_auto] items-center supports-[grid-template-columns:subgrid]:grid-cols-subgrid",
13134
- // Icons
13135
- "*:data-[slot=icon]:col-start-1 *:data-[slot=icon]:row-start-1 *:data-[slot=icon]:mr-2.5 *:data-[slot=icon]:-ml-0.5 *:data-[slot=icon]:size-5 sm:*:data-[slot=icon]:mr-2 sm:*:data-[slot=icon]:size-4",
13136
- "*:data-[slot=icon]:text-zinc-500 data-focus:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-zinc-400 dark:data-focus:*:data-[slot=icon]:text-white",
13137
- // Avatar
13138
- "*:data-[slot=avatar]:mr-2.5 *:data-[slot=avatar]:-ml-1 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:mr-2 sm:*:data-[slot=avatar]:size-5"
13139
- );
13140
- return "href" in props ? /* @__PURE__ */ jsx(Headless11.MenuItem, { as: Link4, ...props, className: classes }) : /* @__PURE__ */ jsx(
13141
- Headless11.MenuItem,
13142
- {
13143
- as: "button",
13144
- type: "button",
13145
- ...props,
13146
- className: classes
13147
- }
13148
- );
13149
- }
13150
- function DropdownHeader({
13151
- className,
13152
- ...props
13153
- }) {
13154
- return /* @__PURE__ */ jsx(
13155
- "div",
13156
- {
13157
- ...props,
13158
- className: clsx(className, "col-span-5 px-3.5 pt-2.5 pb-1 sm:px-3")
13159
- }
13160
- );
13161
- }
13162
- function DropdownSection({
13163
- className,
13164
- ...props
13165
- }) {
13166
- return /* @__PURE__ */ jsx(
13167
- Headless11.MenuSection,
13168
- {
13169
- ...props,
13170
- className: clsx(
13171
- className,
13172
- // Define grid at the section level instead of the item level if subgrid is supported
13173
- "col-span-full supports-[grid-template-columns:subgrid]:grid supports-[grid-template-columns:subgrid]:grid-cols-[auto_1fr_1.5rem_0.5rem_auto]"
13174
- )
13175
- }
13176
- );
13177
- }
13178
- function DropdownHeading({
13179
- className,
13180
- ...props
13181
- }) {
13182
- return /* @__PURE__ */ jsx(
13183
- Headless11.MenuHeading,
13184
- {
13185
- ...props,
13186
- className: clsx(
13187
- className,
13188
- "col-span-full grid grid-cols-[1fr_auto] gap-x-12 px-3.5 pt-2 pb-1 text-sm/5 font-medium text-zinc-500 sm:px-3 sm:text-xs/5 dark:text-zinc-400"
13189
- )
13190
- }
13191
- );
13192
- }
13193
- function DropdownDivider({
13194
- className,
13195
- ...props
13196
- }) {
13197
- return /* @__PURE__ */ jsx(
13198
- Headless11.MenuSeparator,
13199
- {
13200
- ...props,
13201
- className: clsx(
13202
- className,
13203
- "col-span-full mx-3.5 my-1 h-px border-0 bg-zinc-950/5 sm:mx-3 dark:bg-white/10 forced-colors:bg-[CanvasText]"
13204
- )
13205
- }
13206
- );
13207
- }
13208
- function DropdownLabel({
13209
- className,
13210
- ...props
13211
- }) {
13212
- return /* @__PURE__ */ jsx(
13213
- "div",
13214
- {
13215
- ...props,
13216
- "data-slot": "label",
13217
- className: clsx(className, "col-start-2 row-start-1"),
13218
- ...props
13219
- }
13220
- );
13221
- }
13222
- function DropdownDescription({
13223
- className,
13224
- ...props
13225
- }) {
13226
- return /* @__PURE__ */ jsx(
13227
- Headless11.Description,
13228
- {
13229
- "data-slot": "description",
13230
- ...props,
13231
- className: clsx(
13232
- className,
13233
- "col-span-2 col-start-2 row-start-2 text-sm/5 text-zinc-500 group-data-focus:text-white sm:text-xs/5 dark:text-zinc-400 forced-colors:group-data-focus:text-[HighlightText]"
13234
- )
13235
- }
13236
- );
13237
- }
13238
- function DropdownShortcut({
13239
- keys,
13240
- className,
13241
- ...props
13242
- }) {
13243
- return /* @__PURE__ */ jsx(
13244
- Headless11.Description,
13245
- {
13246
- as: "kbd",
13247
- ...props,
13248
- className: clsx(
13249
- className,
13250
- "col-start-5 row-start-1 flex justify-self-end"
13251
- ),
13252
- children: (Array.isArray(keys) ? keys : keys.split("")).map((char, index) => /* @__PURE__ */ jsx(
13253
- "kbd",
13254
- {
13255
- className: clsx([
13256
- "min-w-[2ch] text-center font-sans text-zinc-400 capitalize group-data-focus:text-white forced-colors:group-data-focus:text-[HighlightText]",
13257
- // Make sure key names that are longer than one character (like "Tab") have extra space
13258
- index > 0 && char.length > 1 && "pl-1"
13259
- ]),
13260
- children: char
13261
- },
13262
- index
13263
- ))
13264
- }
13265
- );
13266
- }
13267
- var Card2 = memo(function Card3({
13268
- children,
13269
- className,
13270
- padding = "md",
13271
- variant = "default",
13272
- hover = false,
13273
- loading = false,
13274
- onClick
13275
- }) {
13276
- const paddingClasses = {
13277
- none: "",
13278
- sm: "p-3 sm:p-4",
13279
- md: "p-4 sm:p-6",
13280
- lg: "p-6 sm:p-8"
13281
- };
13282
- const variantClasses2 = {
13283
- default: "bg-white dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 shadow-sm",
13284
- elevated: "bg-white dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 shadow-md",
13285
- outlined: "bg-transparent border-2 border-zinc-300 dark:border-zinc-600",
13286
- flat: "bg-zinc-50 dark:bg-zinc-800/50"
13287
- };
13288
- const hoverClasses = hover || onClick ? "hover:shadow-lg transition-shadow duration-200" : "";
13289
- const clickableClasses = onClick ? "cursor-pointer" : "";
13290
- const loadingClasses = loading ? "opacity-75 pointer-events-none" : "";
13291
- return /* @__PURE__ */ jsx(
13292
- "div",
13293
- {
13294
- role: onClick ? "button" : void 0,
13295
- tabIndex: onClick ? 0 : void 0,
13296
- className: clsx(
13297
- "rounded-lg",
13298
- variantClasses2[variant],
13299
- paddingClasses[padding],
13300
- hoverClasses,
13301
- clickableClasses,
13302
- loadingClasses,
13303
- className
13304
- ),
13305
- onClick,
13306
- onKeyDown: onClick ? (e) => {
13307
- if (e.key === "Enter" || e.key === " ") {
13308
- e.preventDefault();
13309
- onClick();
13310
- }
13311
- } : void 0,
13312
- children
13313
- }
13314
- );
13315
- });
13316
- var CardHeader2 = memo(function CardHeader3({
13317
- title,
13318
- subtitle,
13319
- actions,
13320
- className,
13321
- children
13322
- }) {
13323
- return /* @__PURE__ */ jsxs("div", { className: clsx("mb-4", className), children: [
13324
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2", children: [
13325
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
13326
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-zinc-900 dark:text-zinc-100 truncate", children: title }),
13327
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2", children: subtitle })
13328
- ] }),
13329
- actions && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 flex items-center gap-2", children: actions })
13330
- ] }),
13331
- children && /* @__PURE__ */ jsx("div", { className: "mt-3", children })
13332
- ] });
13333
- });
13334
- var CardTitle2 = memo(function CardTitle3({
13335
- children,
13336
- className
13337
- }) {
13338
- return /* @__PURE__ */ jsx(
13339
- "h3",
13340
- {
13341
- className: clsx(
13342
- "text-lg font-semibold text-zinc-900 dark:text-zinc-100",
13343
- className
13344
- ),
13345
- children
13346
- }
13347
- );
13348
- });
13349
- var CardDescription2 = memo(function CardDescription3({
13350
- children,
13351
- className
13352
- }) {
13353
- return /* @__PURE__ */ jsx("p", { className: clsx("text-sm text-zinc-600 dark:text-zinc-400", className), children });
13354
- });
13355
- var CardContent2 = memo(function CardContent3({
13356
- children,
13357
- className
13358
- }) {
13359
- return /* @__PURE__ */ jsx("div", { className: clsx("text-zinc-600 dark:text-zinc-400", className), children });
13360
- });
13361
- var CardFooter2 = memo(function CardFooter3({
13362
- children,
13363
- className,
13364
- justify = "end"
13365
- }) {
13366
- const justifyClasses = {
13367
- start: "justify-start",
13368
- center: "justify-center",
13369
- end: "justify-end",
13370
- between: "justify-between"
13371
- };
13372
- return /* @__PURE__ */ jsx(
13373
- "div",
13374
- {
13375
- className: clsx(
13376
- "mt-4 pt-4 border-t border-zinc-200 dark:border-zinc-700 flex items-center gap-2",
13377
- justifyClasses[justify],
13378
- className
13379
- ),
13380
- children
13381
- }
13382
- );
13383
- });
13384
- var StatCard2 = memo(function StatCard3({
13385
- title,
13386
- value,
13387
- subtitle,
13388
- icon,
13389
- trend,
13390
- loading = false,
13391
- className
13392
- }) {
13393
- const trendColors = {
13394
- up: "text-green-600 dark:text-green-400",
13395
- down: "text-red-600 dark:text-red-400",
13396
- neutral: "text-zinc-600 dark:text-zinc-400"
13397
- };
13398
- return /* @__PURE__ */ jsx(Card2, { variant: "elevated", hover: true, className, loading, children: /* @__PURE__ */ jsxs("div", { className: "flex items-start", children: [
13399
- icon && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ jsx("div", { className: "w-12 h-12 rounded-lg bg-zinc-100 dark:bg-zinc-700 flex items-center justify-center", children: icon }) }),
13400
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
13401
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-zinc-600 dark:text-zinc-400 truncate", children: title }),
13402
- /* @__PURE__ */ jsxs("div", { className: "mt-1 flex items-baseline", children: [
13403
- /* @__PURE__ */ jsx("p", { className: "text-2xl font-bold text-zinc-900 dark:text-zinc-100", children: loading ? "..." : value }),
13404
- trend && !loading && /* @__PURE__ */ jsxs(
13405
- "div",
13406
- {
13407
- className: clsx(
13408
- "ml-2 flex items-center text-sm",
13409
- trendColors[trend.direction]
13410
- ),
13411
- children: [
13412
- /* @__PURE__ */ jsx("span", { children: trend.direction === "up" ? "\u2197" : trend.direction === "down" ? "\u2198" : "\u2192" }),
13413
- /* @__PURE__ */ jsxs("span", { className: "ml-1", children: [
13414
- trend.value,
13415
- "%"
13416
- ] })
13417
- ]
13418
- }
13419
- )
13420
- ] }),
13421
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-zinc-600 dark:text-zinc-400", children: subtitle }),
13422
- trend && !loading && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-zinc-500 dark:text-zinc-500", children: trend.label })
13423
- ] })
13424
- ] }) });
13425
- });
13426
- var Progress = React11.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
13427
- ProgressPrimitive.Root,
13428
- {
13429
- ref,
13430
- className: clsx(
13431
- "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
13432
- className
13433
- ),
13434
- ...props,
13435
- children: /* @__PURE__ */ jsx(
13436
- ProgressPrimitive.Indicator,
13437
- {
13438
- className: "h-full w-full flex-1 bg-primary transition-all",
13439
- style: { transform: `translateX(-${100 - (value || 0)}%)` }
13440
- }
13441
- )
13442
- }
13443
- ));
13444
- Progress.displayName = ProgressPrimitive.Root.displayName;
13445
- function validatePasswordStrength(password) {
13446
- return {
13447
- minLength: password.length >= 8,
13448
- hasUppercase: /[A-Z]/.test(password),
13449
- hasLowercase: /[a-z]/.test(password),
13450
- hasNumber: /\d/.test(password),
13451
- hasSpecial: /[!@#$%^&*()_+\-=]/.test(password)
13452
- };
13453
- }
13454
- function RequirementCheck({
13455
- met,
13456
- label
13457
- }) {
13458
- return /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-1.5 text-xs", children: [
13459
- /* @__PURE__ */ jsx(
13460
- "span",
13461
- {
13462
- className: `flex-shrink-0 w-3.5 h-3.5 rounded-full flex items-center justify-center text-[10px] font-bold ${met ? "bg-emerald-500 text-white" : "bg-zinc-200 dark:bg-zinc-700 text-zinc-400 dark:text-zinc-500"}`,
13463
- children: met ? "\u2713" : ""
13464
- }
13465
- ),
13466
- /* @__PURE__ */ jsx(
13467
- "span",
13468
- {
13469
- className: met ? "text-emerald-600 dark:text-emerald-400" : "text-zinc-500 dark:text-zinc-400",
13470
- children: label
13471
- }
13472
- )
13473
- ] });
13474
- }
13475
- var PasswordInput2 = forwardRef(
13476
- function PasswordInput3({ className = "", variant = "default", showStrength = false, onChange, ...props }, ref) {
13477
- const [showPassword, setShowPassword] = useState(false);
13478
- const [internalValue, setInternalValue] = useState("");
13479
- const t = useTranslations();
13480
- const handleChange = (e) => {
13481
- setInternalValue(e.target.value);
13482
- onChange?.(e);
13483
- };
13484
- const strength = useMemo(
13485
- () => validatePasswordStrength(internalValue),
13486
- [internalValue]
13487
- );
13488
- const metCount = useMemo(() => {
13489
- const checks = Object.values(strength);
13490
- return checks.filter(Boolean).length;
13491
- }, [strength]);
13492
- const strengthLevel = useMemo(() => {
13493
- if (metCount <= 2) return "weak";
13494
- if (metCount <= 4) return "medium";
13495
- return "strong";
13496
- }, [metCount]);
13497
- const strengthBarColor = {
13498
- weak: "bg-red-500",
13499
- medium: "bg-amber-500",
13500
- strong: "bg-emerald-500"
13501
- }[strengthLevel];
13502
- const strengthBarWidth = {
13503
- weak: "w-1/3",
13504
- medium: "w-2/3",
13505
- strong: "w-full"
13506
- }[strengthLevel];
13507
- const baseInputClasses = variant === "apple" ? "w-full px-4 py-3 pr-12 text-[17px] bg-white dark:bg-zinc-800 border border-[#d2d2d7] dark:border-zinc-700 text-[#1d1d1f] dark:text-white placeholder-[#86868b] dark:placeholder-zinc-500 rounded-xl focus:outline-none focus:ring-2 focus:ring-[#0071e3] transition-all" : "w-full px-4 py-3.5 pr-12 text-base rounded-xl border transition-all duration-300 text-zinc-900 dark:text-white placeholder-zinc-500 dark:placeholder-zinc-500 focus:outline-none focus:ring-2 focus:border-transparent";
13508
- const buttonClasses = variant === "apple" ? "absolute top-1/2 -translate-y-1/2 right-3 p-1.5 hover:bg-[#f5f5f7] dark:hover:bg-zinc-700 rounded-lg transition-colors" : "absolute top-1/2 -translate-y-1/2 right-3 p-2 hover:bg-zinc-200/50 dark:hover:bg-zinc-700/50 rounded-lg transition-all duration-200";
13509
- const iconClasses = variant === "apple" ? "h-5 w-5 text-[#86868b] dark:text-zinc-400" : "h-5 w-5 text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200";
13510
- return /* @__PURE__ */ jsxs("div", { children: [
13511
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
13512
- /* @__PURE__ */ jsx(
13513
- "input",
13514
- {
13515
- ref,
13516
- type: showPassword ? "text" : "password",
13517
- className: `${baseInputClasses} ${className}`,
13518
- onChange: handleChange,
13519
- ...props
13520
- }
13521
- ),
13522
- /* @__PURE__ */ jsx(
13523
- "button",
13524
- {
13525
- type: "button",
13526
- onClick: () => setShowPassword(!showPassword),
13527
- className: buttonClasses,
13528
- "aria-label": showPassword ? t("aria.hidePassword") : t("aria.showPassword"),
13529
- children: showPassword ? /* @__PURE__ */ jsx(EyeSlashIcon, { className: iconClasses }) : /* @__PURE__ */ jsx(EyeIcon, { className: iconClasses })
13530
- }
13531
- )
13532
- ] }),
13533
- showStrength && internalValue.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 space-y-2", children: [
13534
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
13535
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-1.5 bg-zinc-200 dark:bg-zinc-700 rounded-full overflow-hidden", children: /* @__PURE__ */ jsx(
13536
- "div",
13537
- {
13538
- className: `h-full rounded-full transition-all duration-300 ${strengthBarColor} ${strengthBarWidth}`
13539
- }
13540
- ) }),
13541
- /* @__PURE__ */ jsx(
13542
- "span",
13543
- {
13544
- className: `text-xs font-medium ${strengthLevel === "weak" ? "text-red-500" : strengthLevel === "medium" ? "text-amber-500" : "text-emerald-500"}`,
13545
- children: t(`login.passwordStrength.${strengthLevel}`)
13546
- }
13547
- )
13548
- ] }),
13549
- /* @__PURE__ */ jsxs("ul", { className: "space-y-1", children: [
13550
- /* @__PURE__ */ jsx(
13551
- RequirementCheck,
13552
- {
13553
- met: strength.minLength,
13554
- label: t("login.passwordRequirements.minLength")
13555
- }
13556
- ),
13557
- /* @__PURE__ */ jsx(
13558
- RequirementCheck,
13559
- {
13560
- met: strength.hasUppercase,
13561
- label: t("login.passwordRequirements.uppercase")
13562
- }
13563
- ),
13564
- /* @__PURE__ */ jsx(
13565
- RequirementCheck,
13566
- {
13567
- met: strength.hasLowercase,
13568
- label: t("login.passwordRequirements.lowercase")
13569
- }
13570
- ),
13571
- /* @__PURE__ */ jsx(
13572
- RequirementCheck,
13573
- {
13574
- met: strength.hasNumber,
13575
- label: t("login.passwordRequirements.number")
13576
- }
13577
- ),
13578
- /* @__PURE__ */ jsx(
13579
- RequirementCheck,
13580
- {
13581
- met: strength.hasSpecial,
13582
- label: t("login.passwordRequirements.special")
13583
- }
13584
- )
13585
- ] })
13586
- ] })
13587
- ] });
13588
- }
13589
- );
13590
- var Tabs = TabsPrimitive.Root;
13591
- var TabsList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
13592
- TabsPrimitive.List,
13593
- {
13594
- ref,
13595
- className: clsx(
13596
- "inline-flex h-9 items-center justify-center rounded-lg bg-muted/50 p-0.5 text-muted-foreground",
13597
- className
13598
- ),
13599
- ...props
13600
- }
13601
- ));
13602
- TabsList.displayName = TabsPrimitive.List.displayName;
13603
- var TabsTrigger = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
13604
- TabsPrimitive.Trigger,
13605
- {
13606
- ref,
13607
- className: clsx(
13608
- "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
13609
- className
13610
- ),
13611
- ...props
13612
- }
13613
- ));
13614
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
13615
- var TabsContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
13616
- TabsPrimitive.Content,
13617
- {
13618
- ref,
13619
- className: clsx(
13620
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
13621
- className
13622
- ),
13623
- ...props
13624
- }
13625
- ));
13626
- TabsContent.displayName = TabsPrimitive.Content.displayName;
13627
- var SliderInput = ({
13628
- id,
13629
- label,
13630
- value,
13631
- onChange,
13632
- min,
13633
- max,
13634
- step,
13635
- suffix = "",
13636
- tooltip,
13637
- formatDisplay,
13638
- showValue = true
13639
- }) => {
13640
- const tAria = useTranslations("aria");
13641
- const tCommon = useTranslations("common");
13642
- const [showTooltip, setShowTooltip] = useState(false);
13643
- const safeValue = typeof value === "number" && !isNaN(value) ? value : min;
13644
- const percentage = (safeValue - min) / (max - min) * 100;
13645
- const displayValue = formatDisplay ? formatDisplay(safeValue) : safeValue.toFixed(step < 1 ? 2 : 0);
13646
- return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
13647
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
13648
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
13649
- /* @__PURE__ */ jsx(
13650
- "label",
13651
- {
13652
- htmlFor: id,
13653
- className: "text-sm font-medium text-zinc-700 dark:text-zinc-300",
13654
- children: label
13655
- }
13656
- ),
13657
- tooltip && /* @__PURE__ */ jsxs("div", { className: "relative", children: [
13658
- /* @__PURE__ */ jsx(
13659
- "button",
13660
- {
13661
- type: "button",
13662
- onMouseEnter: () => setShowTooltip(true),
13663
- onMouseLeave: () => setShowTooltip(false),
13664
- className: "w-4 h-4 rounded-full bg-zinc-200 dark:bg-zinc-700 text-zinc-600 dark:text-zinc-400 text-xs flex items-center justify-center hover:bg-zinc-300 dark:hover:bg-zinc-600 transition-colors",
13665
- "aria-label": tAria("info"),
13666
- children: "?"
13667
- }
13668
- ),
13669
- showTooltip && /* @__PURE__ */ jsxs("div", { className: "absolute left-6 top-0 z-10 w-64 p-3 bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 text-xs rounded-lg shadow-lg", children: [
13670
- tooltip,
13671
- /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-2 -translate-x-1 w-2 h-2 bg-zinc-900 dark:bg-zinc-100 rotate-45" })
13672
- ] })
13673
- ] })
13674
- ] }),
13675
- showValue && /* @__PURE__ */ jsxs("span", { className: "text-sm font-semibold text-zinc-900 dark:text-zinc-100", children: [
13676
- displayValue,
13677
- suffix
13678
- ] })
13679
- ] }),
13680
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
13681
- /* @__PURE__ */ jsx("div", { className: "flex-1 relative", children: /* @__PURE__ */ jsx(
13682
- "input",
13683
- {
13684
- id,
13685
- type: "range",
13686
- min,
13687
- max,
13688
- step,
13689
- value: safeValue,
13690
- onChange: (e) => onChange(Number(e.target.value)),
13691
- className: "w-full h-2 bg-zinc-200 dark:bg-zinc-700 rounded-lg appearance-none cursor-pointer slider-thumb",
13692
- "aria-label": label,
13693
- style: {
13694
- background: `linear-gradient(to right, rgb(59 130 246) 0%, rgb(59 130 246) ${percentage}%, rgb(228 228 231) ${percentage}%, rgb(228 228 231) 100%)`
13695
- }
13696
- }
13697
- ) }),
13698
- /* @__PURE__ */ jsx(
13699
- "input",
13700
- {
13701
- type: "number",
13702
- min,
13703
- max,
13704
- step,
13705
- value: safeValue,
13706
- onChange: (e) => onChange(Number(e.target.value)),
13707
- className: "w-24 px-3 py-1.5 text-sm border border-zinc-300 dark:border-zinc-600 rounded-md bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 focus:ring-2 focus:ring-blue-500 focus:border-transparent",
13708
- "aria-label": `${label} (${tCommon("number")})`
13709
- }
13710
- )
13711
- ] }),
13712
- /* @__PURE__ */ jsx("style", { children: `
13713
- .slider-thumb::-webkit-slider-thumb {
13714
- appearance: none;
13715
- width: 18px;
13716
- height: 18px;
13717
- border-radius: 50%;
13718
- background: rgb(59 130 246);
13719
- cursor: pointer;
13720
- border: 2px solid white;
13721
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
13722
- }
13723
-
13724
- .slider-thumb::-moz-range-thumb {
13725
- width: 18px;
13726
- height: 18px;
13727
- border-radius: 50%;
13728
- background: rgb(59 130 246);
13729
- cursor: pointer;
13730
- border: 2px solid white;
13731
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
13732
- }
13733
-
13734
- .slider-thumb::-webkit-slider-thumb:hover {
13735
- background: rgb(37 99 235);
13736
- }
13737
-
13738
- .slider-thumb::-moz-range-thumb:hover {
13739
- background: rgb(37 99 235);
13740
- }
13741
- ` })
13742
- ] });
13743
- };
13744
12545
  function DataPagination({
13745
12546
  pagination,
13746
- params,
13747
12547
  onUpdate,
13748
12548
  loading = false,
13749
- showSearch = true,
13750
- searchPlaceholder,
13751
- showPageSize = true,
13752
- pageSizeOptions = [10, 20, 50, 100]
12549
+ showPageSize = false,
12550
+ pageSizeOptions = [10, 20, 50],
12551
+ params
13753
12552
  }) {
13754
- const tSearch = useTranslations("search");
13755
- const tPagination = useTranslations("pagination");
13756
- const tCommon = useTranslations("common");
13757
- const tAria = useTranslations("aria");
13758
- const [localSearchValue, setLocalSearchValue] = useState(params.search || "");
13759
- useEffect(() => {
13760
- const timeoutId = setTimeout(() => {
13761
- if (localSearchValue !== params.search) {
13762
- onUpdate({ search: localSearchValue, page: 1 });
13763
- }
13764
- }, 500);
13765
- return () => clearTimeout(timeoutId);
13766
- }, [localSearchValue, onUpdate, params.search]);
13767
- useEffect(() => {
13768
- if (localSearchValue !== params.search) {
13769
- setLocalSearchValue(params.search || "");
13770
- }
13771
- }, [params.search, localSearchValue]);
13772
- const handleSearchChange = (value) => {
13773
- setLocalSearchValue(value);
13774
- };
13775
- const handlePageSizeChange = (value) => {
13776
- onUpdate({ limit: parseInt(value), page: 1 });
13777
- };
13778
- const handlePageChange = (page) => {
13779
- onUpdate({ page });
13780
- };
13781
12553
  const effectivePageSize = pagination.pageSize ?? pagination.limit ?? 10;
13782
- const skip = (pagination.page - 1) * effectivePageSize;
13783
- const startItem = skip + 1;
13784
- const endItem = Math.min(skip + effectivePageSize, pagination.total);
13785
- return /* @__PURE__ */ jsxs("div", { className: "w-full space-y-4", children: [
13786
- showSearch && /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col sm:flex-row sm:items-center sm:justify-between space-y-3 sm:space-y-0", children: [
13787
- /* @__PURE__ */ jsx("div", { className: "flex-1 max-w-full sm:max-w-sm", children: /* @__PURE__ */ jsx(
13788
- Input3,
12554
+ const from = (pagination.page - 1) * effectivePageSize + 1;
12555
+ const to = Math.min(pagination.page * effectivePageSize, pagination.total);
12556
+ const handlePageChange = (page) => onUpdate({ page });
12557
+ const handlePageSizeChange = (value) => onUpdate({ limit: parseInt(value), page: 1 });
12558
+ if (pagination.totalPages <= 1 && !showPageSize) return null;
12559
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3 rounded-2xl liquid-surface px-4 py-3", children: [
12560
+ /* @__PURE__ */ jsxs("p", { className: "text-sm tabular-nums text-slate-600 dark:text-slate-400", children: [
12561
+ from,
12562
+ "\u2013",
12563
+ to,
12564
+ " / ",
12565
+ pagination.total
12566
+ ] }),
12567
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
12568
+ showPageSize && /* @__PURE__ */ jsx(
12569
+ "select",
13789
12570
  {
13790
- type: "text",
13791
- placeholder: searchPlaceholder || tSearch("placeholder"),
13792
- value: localSearchValue,
13793
- onChange: (e) => handleSearchChange(e.target.value),
12571
+ value: params?.limit ?? effectivePageSize,
12572
+ onChange: (event) => handlePageSizeChange(event.target.value),
13794
12573
  disabled: loading,
13795
- className: "w-full min-h-[44px] text-base sm:text-sm"
12574
+ className: "rounded-xl liquid-surface px-2 py-1.5 text-xs font-medium text-slate-700 outline-none dark:text-slate-300",
12575
+ children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
13796
12576
  }
13797
- ) }),
13798
- showPageSize && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2 sm:hidden", children: [
13799
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-zinc-700 dark:text-zinc-300 whitespace-nowrap", children: tPagination("itemsPerPage") }),
12577
+ ),
12578
+ pagination.totalPages > 1 && /* @__PURE__ */ jsxs("nav", { className: "flex items-center gap-1", "aria-label": "Pagination", children: [
13800
12579
  /* @__PURE__ */ jsx(
13801
- "select",
12580
+ "button",
12581
+ {
12582
+ type: "button",
12583
+ disabled: pagination.page <= 1 || loading,
12584
+ onClick: () => handlePageChange(pagination.page - 1),
12585
+ className: "inline-flex h-9 w-9 items-center justify-center rounded-xl text-slate-500 transition hover:bg-white/40 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-white/[0.08]",
12586
+ children: /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "h-5 w-5" })
12587
+ }
12588
+ ),
12589
+ getPageNumbers(pagination.page, pagination.totalPages).map(
12590
+ (page, index) => page === "..." ? /* @__PURE__ */ jsx(
12591
+ "span",
12592
+ {
12593
+ className: "inline-flex h-9 w-6 items-center justify-center text-xs text-slate-400",
12594
+ children: "\u2026"
12595
+ },
12596
+ `ellipsis-${index}`
12597
+ ) : /* @__PURE__ */ jsx(
12598
+ "button",
12599
+ {
12600
+ type: "button",
12601
+ disabled: loading,
12602
+ onClick: () => handlePageChange(page),
12603
+ "aria-current": page === pagination.page ? "page" : void 0,
12604
+ className: `inline-flex h-9 min-w-9 items-center justify-center rounded-xl px-2 text-sm font-medium transition ${page === pagination.page ? "liquid-surface liquid-surface-active text-slate-900 dark:text-white" : "text-slate-500 hover:bg-white/40 dark:text-slate-400 dark:hover:bg-white/[0.08]"}`,
12605
+ children: page
12606
+ },
12607
+ `page-${page}`
12608
+ )
12609
+ ),
12610
+ /* @__PURE__ */ jsx(
12611
+ "button",
13802
12612
  {
13803
- value: params.limit,
13804
- onChange: (e) => handlePageSizeChange(e.target.value),
13805
- disabled: loading,
13806
- className: "rounded-md border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-3 py-2 min-h-[44px] text-sm font-medium text-zinc-700 dark:text-zinc-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 touch-manipulation",
13807
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
12613
+ type: "button",
12614
+ disabled: pagination.page >= pagination.totalPages || loading,
12615
+ onClick: () => handlePageChange(pagination.page + 1),
12616
+ className: "inline-flex h-9 w-9 items-center justify-center rounded-xl text-slate-500 transition hover:bg-white/40 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-white/[0.08]",
12617
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-5 w-5" })
13808
12618
  }
13809
12619
  )
13810
12620
  ] })
13811
- ] }),
13812
- /* @__PURE__ */ jsxs(
13813
- "div",
13814
- {
13815
- className: `flex items-center justify-between bg-white dark:bg-zinc-800 rounded-lg shadow hover:shadow-md transition-all duration-200 px-6 py-4 ${loading ? "opacity-75 pointer-events-none" : "opacity-100"}`,
13816
- children: [
13817
- /* @__PURE__ */ jsxs("div", { className: "flex flex-1 justify-between items-center sm:hidden", children: [
13818
- /* @__PURE__ */ jsxs(
13819
- "button",
13820
- {
13821
- onClick: () => handlePageChange(pagination.page - 1),
13822
- disabled: !pagination.hasPrev || loading,
13823
- className: "relative inline-flex items-center rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-6 py-3 min-h-[44px] text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
13824
- children: [
13825
- /* @__PURE__ */ jsx(ChevronLeftIcon$1, { className: "h-5 w-5 mr-1" }),
13826
- tPagination("previous")
13827
- ]
13828
- }
13829
- ),
13830
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center text-xs text-zinc-600 dark:text-zinc-400", children: [
13831
- /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
13832
- pagination.page,
13833
- " / ",
13834
- pagination.totalPages
13835
- ] }),
13836
- /* @__PURE__ */ jsxs("span", { children: [
13837
- pagination.total,
13838
- " ",
13839
- tCommon("items")
13840
- ] })
13841
- ] }),
13842
- /* @__PURE__ */ jsxs(
13843
- "button",
13844
- {
13845
- onClick: () => handlePageChange(pagination.page + 1),
13846
- disabled: !pagination.hasNext || loading,
13847
- className: "relative inline-flex items-center rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-6 py-3 min-h-[44px] text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
13848
- children: [
13849
- tPagination("next"),
13850
- /* @__PURE__ */ jsx(ChevronRightIcon$1, { className: "h-5 w-5 ml-1" })
13851
- ]
13852
- }
13853
- )
13854
- ] }),
13855
- /* @__PURE__ */ jsxs("div", { className: "hidden sm:flex sm:flex-1 sm:items-center sm:justify-between", children: [
13856
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
13857
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
13858
- loading && /* @__PURE__ */ jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-indigo-600" }),
13859
- /* @__PURE__ */ jsx("p", { className: "text-sm text-zinc-700 dark:text-zinc-300", children: tPagination("showing", {
13860
- start: String(startItem),
13861
- end: String(endItem),
13862
- total: String(pagination.total)
13863
- }) })
13864
- ] }),
13865
- showPageSize && /* @__PURE__ */ jsxs("div", { className: "hidden sm:flex items-center gap-2", children: [
13866
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-zinc-700 dark:text-zinc-300 whitespace-nowrap", children: tPagination("itemsPerPage") }),
13867
- /* @__PURE__ */ jsx(
13868
- "select",
13869
- {
13870
- value: params.limit,
13871
- onChange: (e) => handlePageSizeChange(e.target.value),
13872
- disabled: loading,
13873
- className: "rounded-md border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-3 py-1 text-sm font-medium text-zinc-700 dark:text-zinc-300 focus:outline-none focus:ring-2 focus:ring-indigo-500",
13874
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
13875
- }
13876
- )
13877
- ] })
13878
- ] }),
13879
- pagination.totalPages > 1 && /* @__PURE__ */ jsxs(
13880
- "nav",
13881
- {
13882
- "aria-label": tAria("pagination"),
13883
- className: "isolate inline-flex -space-x-px rounded-md shadow-sm",
13884
- children: [
13885
- /* @__PURE__ */ jsxs(
13886
- "button",
13887
- {
13888
- onClick: () => handlePageChange(pagination.page - 1),
13889
- disabled: !pagination.hasPrev || loading,
13890
- className: "relative inline-flex items-center justify-center rounded-l-md px-3 py-2 min-h-[44px] min-w-[44px] text-zinc-400 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700 focus:z-20 focus:outline-offset-0 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
13891
- children: [
13892
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: tPagination("previous") }),
13893
- /* @__PURE__ */ jsx(ChevronLeftIcon$1, { "aria-hidden": "true", className: "h-5 w-5" })
13894
- ]
13895
- }
13896
- ),
13897
- getPageNumbers(pagination.page, pagination.totalPages).map(
13898
- (page, index) => page === "..." ? /* @__PURE__ */ jsx(
13899
- "span",
13900
- {
13901
- className: "relative inline-flex items-center px-4 py-2 text-sm font-semibold text-zinc-700 dark:text-zinc-300 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset focus:outline-offset-0",
13902
- children: "..."
13903
- },
13904
- `ellipsis-${index}`
13905
- ) : /* @__PURE__ */ jsx(
13906
- "button",
13907
- {
13908
- onClick: () => handlePageChange(page),
13909
- disabled: loading,
13910
- "aria-current": page === pagination.page ? "page" : void 0,
13911
- className: `relative inline-flex items-center justify-center px-4 py-2 min-h-[44px] min-w-[44px] text-sm font-semibold focus:z-20 focus:outline-offset-0 touch-manipulation ${page === pagination.page ? "z-10 bg-indigo-600 text-white focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" : "text-zinc-900 dark:text-zinc-300 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700"}`,
13912
- children: page
13913
- },
13914
- `page-${page}`
13915
- )
13916
- ),
13917
- /* @__PURE__ */ jsxs(
13918
- "button",
13919
- {
13920
- onClick: () => handlePageChange(pagination.page + 1),
13921
- disabled: !pagination.hasNext || loading,
13922
- className: "relative inline-flex items-center justify-center rounded-r-md px-3 py-2 min-h-[44px] min-w-[44px] text-zinc-400 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700 focus:z-20 focus:outline-offset-0 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
13923
- children: [
13924
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: tPagination("next") }),
13925
- /* @__PURE__ */ jsx(ChevronRightIcon$1, { "aria-hidden": "true", className: "h-5 w-5" })
13926
- ]
13927
- }
13928
- )
13929
- ]
13930
- }
13931
- )
13932
- ] })
13933
- ]
13934
- }
13935
- )
12621
+ ] })
13936
12622
  ] });
13937
12623
  }
13938
12624
  function getPageNumbers(currentPage, totalPages) {
13939
12625
  if (totalPages <= 7) {
13940
12626
  return Array.from({ length: totalPages }, (_, i) => i + 1);
13941
12627
  }
13942
- const pages = [];
13943
- pages.push(1);
12628
+ const pages = [1];
13944
12629
  if (currentPage <= 4) {
13945
- for (let i = 2; i <= Math.min(5, totalPages); i++) {
13946
- pages.push(i);
13947
- }
12630
+ for (let i = 2; i <= Math.min(5, totalPages); i++) pages.push(i);
13948
12631
  if (totalPages > 5) {
13949
12632
  pages.push("...");
13950
12633
  pages.push(totalPages);
13951
12634
  }
13952
12635
  } else if (currentPage >= totalPages - 3) {
13953
12636
  pages.push("...");
13954
- for (let i = Math.max(totalPages - 4, 2); i <= totalPages; i++) {
12637
+ for (let i = Math.max(totalPages - 4, 2); i <= totalPages; i++)
13955
12638
  pages.push(i);
13956
- }
13957
12639
  } else {
13958
12640
  pages.push("...");
13959
- for (let i = currentPage - 1; i <= currentPage + 1; i++) {
13960
- pages.push(i);
13961
- }
12641
+ for (let i = currentPage - 1; i <= currentPage + 1; i++) pages.push(i);
13962
12642
  pages.push("...");
13963
12643
  pages.push(totalPages);
13964
12644
  }
13965
12645
  return pages;
13966
12646
  }
13967
- var ContactCard = React11__default.memo(function ContactCard2({
13968
- type,
13969
- email,
13970
- phone
13971
- }) {
13972
- const t = useTranslations("contact");
13973
- return /* @__PURE__ */ jsxs("div", { className: "rounded-2xl bg-gray-50 p-10", children: [
13974
- /* @__PURE__ */ jsx("h3", { className: "text-base/7 font-semibold text-gray-900", children: t(type) }),
13975
- /* @__PURE__ */ jsxs("dl", { className: "mt-3 space-y-1 text-sm/6 text-gray-600", children: [
13976
- /* @__PURE__ */ jsxs("div", { children: [
13977
- /* @__PURE__ */ jsx("dt", { className: "sr-only", children: "Email" }),
13978
- /* @__PURE__ */ jsx("dd", { children: /* @__PURE__ */ jsx("a", { href: `mailto:${email}`, className: "font-semibold text-blue-600", children: email }) })
13979
- ] }),
13980
- /* @__PURE__ */ jsxs("div", { className: "mt-1", children: [
13981
- /* @__PURE__ */ jsx("dt", { className: "sr-only", children: "Telefone" }),
13982
- /* @__PURE__ */ jsx("dd", { children: phone })
13983
- ] })
13984
- ] })
13985
- ] });
13986
- });
13987
- var OfficeCard = React11__default.memo(function OfficeCard2({
13988
- city,
13989
- address,
13990
- postalCode
13991
- }) {
13992
- return /* @__PURE__ */ jsxs("div", { className: "rounded-2xl bg-gray-50 p-10", children: [
13993
- /* @__PURE__ */ jsx("h3", { className: "text-base/7 font-semibold text-gray-900", children: city }),
13994
- /* @__PURE__ */ jsxs("address", { className: "mt-3 space-y-1 text-sm/6 text-gray-600 not-italic", children: [
13995
- /* @__PURE__ */ jsx("p", { children: address }),
13996
- /* @__PURE__ */ jsx("p", { children: postalCode })
13997
- ] })
13998
- ] });
13999
- });
14000
- var ContactSection = React11__default.memo(
14001
- function ContactSection2({ title, subtitle, children }) {
14002
- return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-10 py-16 lg:grid-cols-3", children: [
14003
- /* @__PURE__ */ jsxs("div", { children: [
14004
- /* @__PURE__ */ jsx("h2", { className: "text-4xl font-semibold tracking-tight text-pretty text-gray-900", children: title }),
14005
- /* @__PURE__ */ jsx("p", { className: "mt-4 text-base/7 text-gray-600", children: subtitle })
14006
- ] }),
14007
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 lg:col-span-2 lg:gap-8", children })
14008
- ] });
14009
- }
14010
- );
14011
12647
  var PageHeader = memo(function PageHeader2({
14012
12648
  title,
14013
12649
  subtitle,
@@ -14023,13 +12659,13 @@ var PageHeader = memo(function PageHeader2({
14023
12659
  "h1",
14024
12660
  {
14025
12661
  className: clsx(
14026
- "font-bold text-zinc-900 dark:text-zinc-100 truncate",
12662
+ "font-bold text-slate-900 dark:text-slate-100 truncate",
14027
12663
  size === "large" ? "text-3xl" : "text-2xl"
14028
12664
  ),
14029
12665
  children: title
14030
12666
  }
14031
12667
  ),
14032
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2", children: subtitle })
12668
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-slate-600 dark:text-slate-400 line-clamp-2", children: subtitle })
14033
12669
  ] }),
14034
12670
  actions && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 flex items-center gap-2 flex-wrap", children: actions })
14035
12671
  ] }),
@@ -14046,8 +12682,8 @@ var PageSectionHeader = memo(function PageSectionHeader2({
14046
12682
  return /* @__PURE__ */ jsxs("div", { className: clsx("mb-4", className), children: [
14047
12683
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3", children: [
14048
12684
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
14049
- /* @__PURE__ */ jsx("h2", { className: "text-lg sm:text-xl font-semibold text-zinc-900 dark:text-zinc-100", children: title }),
14050
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-zinc-600 dark:text-zinc-400 line-clamp-2", children: subtitle })
12685
+ /* @__PURE__ */ jsx("h2", { className: "text-lg sm:text-xl font-semibold text-slate-900 dark:text-slate-100", children: title }),
12686
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-slate-600 dark:text-slate-400 line-clamp-2", children: subtitle })
14051
12687
  ] }),
14052
12688
  actions && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 flex items-center gap-2 flex-wrap", children: actions })
14053
12689
  ] }),
@@ -14064,76 +12700,51 @@ var CardSectionHeader = memo(function CardSectionHeader2({
14064
12700
  return /* @__PURE__ */ jsxs("div", { className: clsx("mb-3", className), children: [
14065
12701
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2", children: [
14066
12702
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
14067
- /* @__PURE__ */ jsx("h3", { className: "text-base sm:text-lg font-medium text-zinc-900 dark:text-zinc-100", children: title }),
14068
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs sm:text-sm text-zinc-600 dark:text-zinc-400 line-clamp-1", children: subtitle })
12703
+ /* @__PURE__ */ jsx("h3", { className: "text-base sm:text-lg font-medium text-slate-900 dark:text-slate-100", children: title }),
12704
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs sm:text-sm text-slate-600 dark:text-slate-400 line-clamp-1", children: subtitle })
14069
12705
  ] }),
14070
12706
  actions && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 flex items-center gap-1 flex-wrap", children: actions })
14071
12707
  ] }),
14072
12708
  children && /* @__PURE__ */ jsx("div", { className: "mt-2", children })
14073
12709
  ] });
14074
12710
  });
14075
- var MetricCard2 = ({
14076
- title,
14077
- value,
14078
- subtitle,
14079
- tooltip,
14080
- className = "",
14081
- children
14082
- }) => {
14083
- const [showTooltip, setShowTooltip] = useState(false);
14084
- return /* @__PURE__ */ jsxs(
14085
- "div",
14086
- {
14087
- className: `bg-zinc-50 dark:bg-zinc-800/50 rounded-2xl border border-zinc-200/50 dark:border-zinc-700/50 p-5 hover:border-zinc-300 dark:hover:border-zinc-600 transition-colors ${className}`,
14088
- children: [
14089
- /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between mb-3", children: [
14090
- /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-zinc-500 dark:text-zinc-400", children: title }),
14091
- tooltip && /* @__PURE__ */ jsxs("div", { className: "relative", children: [
14092
- /* @__PURE__ */ jsx(
14093
- "button",
14094
- {
14095
- type: "button",
14096
- onMouseEnter: () => setShowTooltip(true),
14097
- onMouseLeave: () => setShowTooltip(false),
14098
- className: "w-4 h-4 rounded-full bg-zinc-200 dark:bg-zinc-700 text-zinc-600 dark:text-zinc-400 text-xs flex items-center justify-center hover:bg-zinc-300 dark:hover:bg-zinc-600 transition-colors",
14099
- "aria-label": "Info",
14100
- children: "?"
14101
- }
14102
- ),
14103
- showTooltip && /* @__PURE__ */ jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3 bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 text-xs rounded-lg shadow-lg", children: [
14104
- tooltip,
14105
- /* @__PURE__ */ jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-zinc-900 dark:bg-zinc-100 rotate-45" })
14106
- ] })
14107
- ] })
14108
- ] }),
14109
- children ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
14110
- /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold text-zinc-900 dark:text-zinc-100 mb-1", children: value }),
14111
- subtitle && /* @__PURE__ */ jsx("div", { className: "text-xs text-zinc-500 dark:text-zinc-400", children: subtitle })
14112
- ] })
14113
- ]
14114
- }
14115
- );
14116
- };
14117
- var MetricTooltip = ({ text }) => {
14118
- const [show, setShow] = useState(false);
14119
- return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
14120
- /* @__PURE__ */ jsx(
14121
- "button",
14122
- {
14123
- type: "button",
14124
- onMouseEnter: () => setShow(true),
14125
- onMouseLeave: () => setShow(false),
14126
- className: "w-4 h-4 rounded-full bg-zinc-200 dark:bg-zinc-700 text-zinc-600 dark:text-zinc-400 text-xs flex items-center justify-center hover:bg-zinc-300 dark:hover:bg-zinc-600 transition-colors",
14127
- "aria-label": "Info",
14128
- children: "?"
14129
- }
12711
+ var Tabs = TabsPrimitive.Root;
12712
+ var TabsList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
12713
+ TabsPrimitive.List,
12714
+ {
12715
+ ref,
12716
+ className: clsx(
12717
+ "inline-flex h-9 items-center justify-center rounded-lg bg-muted/50 p-0.5 text-muted-foreground",
12718
+ className
14130
12719
  ),
14131
- show && /* @__PURE__ */ jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3 bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 text-xs rounded-lg shadow-lg", children: [
14132
- text,
14133
- /* @__PURE__ */ jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-zinc-900 dark:bg-zinc-100 rotate-45" })
14134
- ] })
14135
- ] });
14136
- };
12720
+ ...props
12721
+ }
12722
+ ));
12723
+ TabsList.displayName = TabsPrimitive.List.displayName;
12724
+ var TabsTrigger = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
12725
+ TabsPrimitive.Trigger,
12726
+ {
12727
+ ref,
12728
+ className: clsx(
12729
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
12730
+ className
12731
+ ),
12732
+ ...props
12733
+ }
12734
+ ));
12735
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
12736
+ var TabsContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
12737
+ TabsPrimitive.Content,
12738
+ {
12739
+ ref,
12740
+ className: clsx(
12741
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
12742
+ className
12743
+ ),
12744
+ ...props
12745
+ }
12746
+ ));
12747
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
14137
12748
 
14138
12749
  // src/lib/navigation.ts
14139
12750
  function buildDockActions(items, pathname, handlers, options = {}) {
@@ -14868,6 +13479,6 @@ function PlatformShell({
14868
13479
  ] });
14869
13480
  }
14870
13481
 
14871
- export { ActionMenu, ActionSheet, ActiveFilterChips, AnalysisSkeleton, AnimatedNumber, AnimatedTableRow, AppLogo, AppNavigation, AppShell, ArchiveSwipeAction, AuthLayout, Avatar, AvatarButton, BRAZIL_ACCENT_MAP, BRAZIL_MACRO_REGIONS, BRAZIL_MAP_CENTER, BRAZIL_STATE_COORDINATES, BRAZIL_STATE_PALETTES, BR_THEME_CONFIG, BackupCodeGrid, BadRequestPage, Badge, BaseForm, BentoCard, BooleanFlagsPicker, BottomSafeArea, BrandFilterSkeleton, BrandedLoader, Breadcrumb, Button, Card, Card2, CardActionMenu, CardContent, CardContent2, CardDescription, CardDescription2, CardDivider, CardFooter, CardFooter2, CardGridSkeleton, CardHeader, CardHeader2, CardSectionHeader, CardTitle, CardTitle2, CategoryBadge, CategoryTab, CategoryTabs, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, ContactCard, ContactSection, Container, ContextMenu, CookieConsent, CopyableId, CountPill, CreateActionButton, DashboardProgressShell, DataPagination, DatePicker, DeleteSwipeAction, Description4 as Description, DetailsPopover, DevModeBanner, Dialog4 as Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle3 as DialogTitle, Divider, Dock, DockContainer, DockSkeleton, DotRefreshIndicator, Dropdown, DropdownButton, DropdownDescription, DropdownDivider, DropdownHeader, DropdownHeading, DropdownItem, DropdownLabel, DropdownMenu, DropdownSection, DropdownSelect, DropdownShortcut, DynamicIsland, DynamicIslandConfirm, DynamicIslandNotification, EdgeSwipeIndicator, EdgeSwipeProvider, EditSwipeAction, EmptyState, EntityCard, EntityDrawer, ErrorMessage, ErrorState, ExpandableHistoryList, ExpandingPageIndicator, FUEL_PRICE_LOADER, FavoriteSwipeAction, FeatureCard, FeedItemCard, Field2 as Field, FieldGroup, Fieldset2 as Fieldset, FilterBadge, FilterPill, FilterSectionHeader, FilterTileButton, FloatingActionButton, FlyoutMenu, FlyoutNavGrid, FlyoutQuickActions, ForceTouchMenu, Form, FormActions, FormActionsRow, FormCheckbox, FormField, FormGrid, FormInput, FormModal, FormPriceInput, FormSection, FormSelect, FormTextarea, FormToggle, GeoMapCanvas, GeoMapLegend, GlassModal, Gradient, GradientBackground, GrowthIndicator, Heading, HeroPanel, HeroSection, IconButton, InfoPopover, InlineForm, InlineSpinner, Input, InputGroup, InteractiveGeoMap, ItemSummary, KORI_ERP_LOADER, Label2 as Label, Label3 as Label2, LabeledToggle, LanguageSwitcher, LaunchpadGrid, Lead, Legend2 as Legend, Link4 as Link, LiquidFilterInput, ListCard, ListCardItem, ListItem, LoadingOverlay, ManagementPageLayout, ManagementSurface, MapZoomControls, MetricCard, MetricCard2, MetricTooltip, MonthPicker, MultiColumnPicker, NavigationProgress, NoDataState, NoResultsState, NotFoundPage, NotificationBadge, NotificationBellButton, NotificationProvider, OfficeCard, OfflineState, OptionGrid, OtpInput, PageEmptyState, PageHeader, PageHeading, PageIndicator, PageLoadingState, PageSectionHeader, Pagination, PasswordInput, PasswordInput2, PasswordStrengthMeter, Pill, PlatformShell, PlusGrid, PlusGridItem, PlusGridRow, PreferenceSection, PriceChangeBadge, ProfileIdentityCard, Progress, ProgressIndicator, PullToRefreshContainer, PullToRefreshIndicator, RadiantHeading, RadiantStatCard, RadiantSubheading, RegionFilterSkeleton, RoleBadge, SafeArea, SafeAreaSpacer, SafeAreaView, SearchBar, SearchFilterToolbar, SearchInput, SectionCard, SectionHeader, SectionHeaderSkeleton, SegmentedControl, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, SelectableChipPicker, SelectableListPicker, SelectableOptionsGrid, SelectableTableRow, SelectionCard, ServerErrorPage, SettingsDialog, SettingsModal, Sheet, SliderInput, SocialLoginButtons, SortableTableHeader, Spinner, Stat, StatCard, StatCard2, StatCardSkeleton, StatusBadge, StatusToggle, StepFormPage, StepNavigationButtons, StepTimeline, Strong, Subheading, SwipeableRow, Switch2 as Switch, SwitchField, SwitchGroup, Table, TableBody, TableCell, TableEmptyState, TableHead, TableHeader, TableRow, TableSkeleton, TableSkeletonRow, Tabs, TabsContent, TabsList, TabsTrigger, TagBadge, Text, TextLink, Textarea, ThemeSwitch, ThemeToggle, ThemeToggleCompact, TimePicker, ToggleSwitch, TouchTarget, US_ACCENT_MAP, US_MACRO_REGIONS, US_MAP_CENTER, US_STATE_COORDINATES, US_STATE_PALETTES, US_THEME_CONFIG, UserAvatar, UserMobileInfo, WINDSOCK_LOADER, WIRE_LOADER, WheelPicker, WindsockIcon, buildDockActions, buildFlyoutNavItems, buildLaunchpadItems, buttonPress, buttonPressReduced, buttonTap, cardHover, cardHoverReduced, cardPress, createMotionProps, durations, durationsReduced, easings, fadeOnly, fadeScale, filterByPermission, formatCurrency, formatDate, formatPercentage, getBrazilAccent, getBrazilColors, getBrazilFlagUrl, getBrazilGradient, getBrazilHexColor, getBrazilPalette, getStatusColor, getSubdivisionAccent, getSubdivisionColors, getSubdivisionFlagUrl, getSubdivisionGradient, getSubdivisionHexColor, getSubdivisionPalette, getTransition, getUsAccent, getUsColors, getUsFlagUrl, getUsGradient, getUsHexColor, getUsPalette, getVariants, iosColors, isValidBrazilState, isValidSubdivision, isValidUsState, listItem, listItemReduced, notificationBanner, notificationBannerReduced, pageControlDot, prefersReducedMotion, registerSubdivisionTheme, resolveGlassAccentRgb, selectIsAuthenticated, selectShowShellChrome, selectUserInitial, selectUserName, shimmerClass, shimmerWhiteClass, slideDown, slideRight, slideUp, springPresets, springPresetsReduced, staggerContainer, swipeActionThreshold, swipeConstraints, useGeoMapState, useNotifications, usePlatformShellStore, usePullToRefresh };
14872
- //# sourceMappingURL=chunk-3VSRFFI6.mjs.map
14873
- //# sourceMappingURL=chunk-3VSRFFI6.mjs.map
13482
+ export { ActionMenu, ActionSheet, ActiveFilterChips, AnalysisSkeleton, AnimatedNumber, AnimatedTableRow, AppLogo, AppNavigation, AppShell, ArchiveSwipeAction, AuthLayout, Avatar, AvatarButton, BRAZIL_ACCENT_MAP, BRAZIL_MACRO_REGIONS, BRAZIL_MAP_CENTER, BRAZIL_STATE_COORDINATES, BRAZIL_STATE_PALETTES, BR_THEME_CONFIG, BackupCodeGrid, BadRequestPage, Badge, BaseForm, BentoCard, BooleanFlagsPicker, BottomSafeArea, BrandFilterSkeleton, BrandedLoader, Breadcrumb, Button, Card, CardActionMenu, CardContent, CardDescription, CardDivider, CardFooter, CardGridSkeleton, CardHeader, CardSectionHeader, CardTitle, CategoryBadge, CategoryTab, CategoryTabs, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, Container, ContextMenu, CookieConsent, CopyableId, CountPill, CreateActionButton, DashboardProgressShell, DataPagination, DatePicker, DeleteSwipeAction, Description4 as Description, DetailsPopover, DevModeBanner, Dialog4 as Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle3 as DialogTitle, Divider, Dock, DockContainer, DockSkeleton, DotRefreshIndicator, Dropdown, DropdownSelect, DynamicIsland, DynamicIslandConfirm, DynamicIslandNotification, EdgeSwipeIndicator, EdgeSwipeProvider, EditSwipeAction, EmptyState, EntityCard, EntityDrawer, ErrorMessage, ErrorState, ExpandableHistoryList, ExpandingPageIndicator, FUEL_PRICE_LOADER, FavoriteSwipeAction, FeatureCard, FeedItemCard, Field2 as Field, FieldGroup, Fieldset2 as Fieldset, FilterBadge, FilterPill, FilterSectionHeader, FilterTileButton, FloatingActionButton, FlyoutMenu, FlyoutNavGrid, FlyoutQuickActions, ForceTouchMenu, Form, FormActions, FormActionsRow, FormCheckbox, FormField, FormGrid, FormInput, FormModal, FormPriceInput, FormSection, FormSelect, FormTextarea, FormToggle, GeoMapCanvas, GeoMapLegend, GlassModal, Gradient, GradientBackground, GrowthIndicator, Heading, HeroPanel, HeroSection, IconButton, InfoPopover, InlineForm, InlineSpinner, Input, InteractiveGeoMap, ItemSummary, KORI_ERP_LOADER, Label2 as Label, LabeledToggle, LanguageSwitcher, LaunchpadGrid, Lead, Legend2 as Legend, LiquidFilterInput, ListCard, ListCardItem, ListItem, LoadingOverlay, ManagementPageLayout, ManagementSurface, MapZoomControls, MetricCard, MonthPicker, MultiColumnPicker, NavigationProgress, NoDataState, NoResultsState, NotFoundPage, NotificationBadge, NotificationBellButton, NotificationProvider, OfflineState, OptionGrid, OtpInput, PageEmptyState, PageHeader, PageHeading, PageIndicator, PageLoadingState, PageSectionHeader, Pagination, PasswordInput, PasswordStrengthMeter, Pill, PlatformShell, PlusGrid, PlusGridItem, PlusGridRow, PreferenceSection, PriceChangeBadge, ProfileIdentityCard, ProgressIndicator, PullToRefreshContainer, PullToRefreshIndicator, RadiantHeading, RadiantStatCard, RadiantSubheading, RegionFilterSkeleton, RoleBadge, SafeArea, SafeAreaSpacer, SafeAreaView, SearchBar, SearchFilterToolbar, SearchInput, SectionCard, SectionHeader, SectionHeaderSkeleton, SegmentedControl, Select, SelectableChipPicker, SelectableListPicker, SelectableOptionsGrid, SelectableTableRow, SelectionCard, ServerErrorPage, SettingsDialog, SettingsModal, Sheet, SocialLoginButtons, SortableTableHeader, Spinner, Stat, StatCard, StatCardSkeleton, StatusBadge, StatusToggle, StepFormPage, StepNavigationButtons, StepTimeline, Strong, Subheading, SwipeableRow, Table, TableBody, TableCell, TableEmptyState, TableHead, TableHeader, TableRow, TableSkeleton, TableSkeletonRow, Tabs, TabsContent, TabsList, TabsTrigger, TagBadge, Text, TextLink, Textarea, ThemeSwitch, ThemeToggle, ThemeToggleCompact, TimePicker, ToggleSwitch, TouchTarget, US_ACCENT_MAP, US_MACRO_REGIONS, US_MAP_CENTER, US_STATE_COORDINATES, US_STATE_PALETTES, US_THEME_CONFIG, UserAvatar, UserMobileInfo, WINDSOCK_LOADER, WIRE_LOADER, WheelPicker, WindsockIcon, buildDockActions, buildFlyoutNavItems, buildLaunchpadItems, buttonPress, buttonPressReduced, buttonTap, cardHover, cardHoverReduced, cardPress, createMotionProps, durations, durationsReduced, easings, fadeOnly, fadeScale, filterByPermission, formatCurrency, formatDate, formatPercentage, getBrazilAccent, getBrazilColors, getBrazilFlagUrl, getBrazilGradient, getBrazilHexColor, getBrazilPalette, getStatusColor, getSubdivisionAccent, getSubdivisionColors, getSubdivisionFlagUrl, getSubdivisionGradient, getSubdivisionHexColor, getSubdivisionPalette, getTransition, getUsAccent, getUsColors, getUsFlagUrl, getUsGradient, getUsHexColor, getUsPalette, getVariants, iosColors, isValidBrazilState, isValidSubdivision, isValidUsState, listItem, listItemReduced, notificationBanner, notificationBannerReduced, pageControlDot, prefersReducedMotion, registerSubdivisionTheme, resolveGlassAccentRgb, selectIsAuthenticated, selectShowShellChrome, selectUserInitial, selectUserName, shimmerClass, shimmerWhiteClass, slideDown, slideRight, slideUp, springPresets, springPresetsReduced, staggerContainer, swipeActionThreshold, swipeConstraints, useGeoMapState, useNotifications, usePlatformShellStore, usePullToRefresh };
13483
+ //# sourceMappingURL=chunk-XAXP6HE6.mjs.map
13484
+ //# sourceMappingURL=chunk-XAXP6HE6.mjs.map