magick-ui 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui/index.cjs CHANGED
@@ -77,6 +77,7 @@ __export(ui_exports, {
77
77
  FileUploadField: () => FileUploadField,
78
78
  Form: () => Form,
79
79
  FormField: () => FormField,
80
+ GoogleMapView: () => GoogleMapView,
80
81
  GradientContainer: () => GradientContainer,
81
82
  Grid: () => Grid,
82
83
  IconButton: () => IconButton,
@@ -3720,11 +3721,130 @@ function LinkButton({
3720
3721
  );
3721
3722
  }
3722
3723
 
3724
+ // src/ui/Map/index.tsx
3725
+ var import_react_google_maps = require("@vis.gl/react-google-maps");
3726
+ var import_react7 = require("react");
3727
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3728
+ function MarkerWithInfo({
3729
+ marker,
3730
+ index,
3731
+ onMarkerClick
3732
+ }) {
3733
+ const [open, setOpen] = (0, import_react7.useState)(false);
3734
+ const handleClick = (0, import_react7.useCallback)(() => {
3735
+ setOpen((prev) => !prev);
3736
+ onMarkerClick?.(marker, index);
3737
+ }, [marker, index, onMarkerClick]);
3738
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
3739
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3740
+ import_react_google_maps.Marker,
3741
+ {
3742
+ position: { lat: marker.lat, lng: marker.lng },
3743
+ title: marker.title,
3744
+ onClick: handleClick
3745
+ }
3746
+ ),
3747
+ open && (marker.title || marker.description) && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3748
+ import_react_google_maps.InfoWindow,
3749
+ {
3750
+ position: { lat: marker.lat, lng: marker.lng },
3751
+ onCloseClick: () => setOpen(false),
3752
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "max-w-xs", children: [
3753
+ marker.title && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h3", { className: "text-body-sm font-semibold", children: marker.title }),
3754
+ marker.description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-body-sm text-element-inverse-gray mt-1", children: marker.description })
3755
+ ] })
3756
+ }
3757
+ )
3758
+ ] });
3759
+ }
3760
+ var CURRENT_LOCATION_ICON = {
3761
+ path: 0,
3762
+ // google.maps.SymbolPath.CIRCLE
3763
+ scale: 8,
3764
+ fillColor: "#4285F4",
3765
+ fillOpacity: 1,
3766
+ strokeColor: "#ffffff",
3767
+ strokeWeight: 2.5
3768
+ };
3769
+ function CurrentLocationMarker() {
3770
+ const map = (0, import_react_google_maps.useMap)();
3771
+ const [position, setPosition] = (0, import_react7.useState)(null);
3772
+ (0, import_react7.useEffect)(() => {
3773
+ if (!navigator.geolocation) return;
3774
+ const watchId = navigator.geolocation.watchPosition(
3775
+ (pos) => {
3776
+ const coords = { lat: pos.coords.latitude, lng: pos.coords.longitude };
3777
+ setPosition(coords);
3778
+ },
3779
+ () => {
3780
+ },
3781
+ { enableHighAccuracy: true, maximumAge: 1e4 }
3782
+ );
3783
+ return () => navigator.geolocation.clearWatch(watchId);
3784
+ }, [map]);
3785
+ if (!position) return null;
3786
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3787
+ import_react_google_maps.Marker,
3788
+ {
3789
+ position,
3790
+ title: "Your location",
3791
+ icon: CURRENT_LOCATION_ICON,
3792
+ clickable: false
3793
+ }
3794
+ );
3795
+ }
3796
+ var DEFAULT_CENTER = { lat: 16.8661, lng: 96.1951 };
3797
+ function GoogleMapView({
3798
+ apiKey,
3799
+ center = DEFAULT_CENTER,
3800
+ zoom = 12,
3801
+ markers = [],
3802
+ mapId,
3803
+ height = "400px",
3804
+ width = "100%",
3805
+ className,
3806
+ gestureHandling = "cooperative",
3807
+ disableDefaultUI = false,
3808
+ showCurrentLocation = false,
3809
+ onMarkerClick
3810
+ }) {
3811
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_google_maps.APIProvider, { apiKey, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3812
+ "div",
3813
+ {
3814
+ className: cn("overflow-hidden rounded-unit-corner-radius-xl", className),
3815
+ style: { height, width },
3816
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3817
+ import_react_google_maps.Map,
3818
+ {
3819
+ defaultCenter: center,
3820
+ defaultZoom: zoom,
3821
+ mapId,
3822
+ gestureHandling,
3823
+ disableDefaultUI,
3824
+ style: { width: "100%", height: "100%" },
3825
+ children: [
3826
+ showCurrentLocation && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CurrentLocationMarker, {}),
3827
+ markers.map((marker, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3828
+ MarkerWithInfo,
3829
+ {
3830
+ marker,
3831
+ index: i,
3832
+ onMarkerClick
3833
+ },
3834
+ `${marker.lat}-${marker.lng}-${i}`
3835
+ ))
3836
+ ]
3837
+ }
3838
+ )
3839
+ }
3840
+ ) });
3841
+ }
3842
+
3723
3843
  // src/ui/Media/index.tsx
3724
3844
  var import_class_variance_authority10 = require("class-variance-authority");
3725
3845
  var import_lucide_react16 = require("lucide-react");
3726
3846
  var React10 = __toESM(require("react"), 1);
3727
- var import_jsx_runtime34 = require("react/jsx-runtime");
3847
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3728
3848
  var mediaVariants = (0, import_class_variance_authority10.cva)(
3729
3849
  "relative overflow-hidden bg-gray-100 dark:bg-gray-800",
3730
3850
  {
@@ -3822,7 +3942,7 @@ var Media = React10.forwardRef(
3822
3942
  const handleImageError = () => {
3823
3943
  setImageError(true);
3824
3944
  };
3825
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3945
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3826
3946
  "div",
3827
3947
  {
3828
3948
  ref,
@@ -3830,8 +3950,8 @@ var Media = React10.forwardRef(
3830
3950
  onMouseEnter: () => setIsHovered(true),
3831
3951
  onMouseLeave: () => setIsHovered(false),
3832
3952
  ...props,
3833
- children: type === "image" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
3834
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3953
+ children: type === "image" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
3954
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3835
3955
  "img",
3836
3956
  {
3837
3957
  src,
@@ -3849,13 +3969,13 @@ var Media = React10.forwardRef(
3849
3969
  style: { objectFit }
3850
3970
  }
3851
3971
  ),
3852
- !imageLoaded && !imageError && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) }),
3853
- imageError && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "text-center text-gray-500", children: [
3854
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-2xl", children: "\u{1F4F7}" }),
3855
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-sm", children: "Failed to load" })
3972
+ !imageLoaded && !imageError && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) }),
3973
+ imageError && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "text-center text-gray-500", children: [
3974
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-2xl", children: "\u{1F4F7}" }),
3975
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-sm", children: "Failed to load" })
3856
3976
  ] }) })
3857
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
3858
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3977
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
3978
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3859
3979
  "video",
3860
3980
  {
3861
3981
  ref: videoRef,
@@ -3868,7 +3988,7 @@ var Media = React10.forwardRef(
3868
3988
  preload: "metadata"
3869
3989
  }
3870
3990
  ),
3871
- showPlayButton && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3991
+ showPlayButton && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3872
3992
  "div",
3873
3993
  {
3874
3994
  className: cn(
@@ -3878,10 +3998,10 @@ var Media = React10.forwardRef(
3878
3998
  "opacity-0": !isHovered && !videoPlaying
3879
3999
  }
3880
4000
  ),
3881
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4001
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3882
4002
  IconButton,
3883
4003
  {
3884
- icon: videoPlaying ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react16.Pause, { className: "text-gray-900" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react16.Play, { className: "ml-1 text-gray-900" }),
4004
+ icon: videoPlaying ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.Pause, { className: "text-gray-900" }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.Play, { className: "ml-1 text-gray-900" }),
3885
4005
  onClick: videoPlaying ? handlePause : handlePlay,
3886
4006
  varient: "outline",
3887
4007
  size: "md",
@@ -3902,7 +4022,7 @@ Media.displayName = "Media";
3902
4022
  // src/ui/MultiSelect/index.tsx
3903
4023
  var import_lucide_react17 = require("lucide-react");
3904
4024
  var React11 = __toESM(require("react"), 1);
3905
- var import_jsx_runtime35 = require("react/jsx-runtime");
4025
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3906
4026
  function MultiSelect({
3907
4027
  options,
3908
4028
  selected,
@@ -3975,8 +4095,8 @@ function MultiSelect({
3975
4095
  e.preventDefault();
3976
4096
  inputRef.current?.focus();
3977
4097
  };
3978
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
3979
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
4098
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
4099
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3980
4100
  "div",
3981
4101
  {
3982
4102
  ref: containerRef,
@@ -3988,10 +4108,10 @@ function MultiSelect({
3988
4108
  ),
3989
4109
  onClick: handleContainerClick,
3990
4110
  children: [
3991
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-1 flex-wrap items-center gap-1", children: [
4111
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-1 flex-wrap items-center gap-1", children: [
3992
4112
  selected.map((value) => {
3993
4113
  const option = options.find((opt) => opt.value === value);
3994
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4114
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3995
4115
  Chip,
3996
4116
  {
3997
4117
  label: option?.label || value,
@@ -4002,12 +4122,12 @@ function MultiSelect({
4002
4122
  className: cn(
4003
4123
  disabled && "pointer-events-none cursor-not-allowed"
4004
4124
  ),
4005
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react17.X, { className: "hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer" })
4125
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.X, { className: "hover:text-destructive ml-1.5 h-3 w-3 cursor-pointer" })
4006
4126
  },
4007
4127
  value
4008
4128
  );
4009
4129
  }),
4010
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4130
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4011
4131
  "input",
4012
4132
  {
4013
4133
  ref: inputRef,
@@ -4021,25 +4141,25 @@ function MultiSelect({
4021
4141
  }
4022
4142
  )
4023
4143
  ] }),
4024
- selected.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4144
+ selected.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4025
4145
  import_lucide_react17.CircleXIcon,
4026
4146
  {
4027
4147
  className: "text-icon-default size-4.5 shrink-0",
4028
4148
  onClick: () => onChange([])
4029
4149
  }
4030
4150
  ),
4031
- !createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react17.ChevronDown, { className: "text-icon-default size-4.5 shrink-0" })
4151
+ !createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react17.ChevronDown, { className: "text-icon-default size-4.5 shrink-0" })
4032
4152
  ]
4033
4153
  }
4034
4154
  ) }),
4035
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4155
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4036
4156
  PopoverContent,
4037
4157
  {
4038
4158
  className: "shadow-box w-[var(--radix-popover-trigger-width)] border-none bg-white p-2",
4039
4159
  align: "start",
4040
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "max-h-[300px] overflow-y-auto", children: filteredOptions.length === 0 && !canCreate ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "py-6 text-center text-gray-500", children: inputValue ? "No results found." : "Start typing to search..." }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5", children: [
4041
- createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-text-default pb-0.5 font-semibold", children: "Select or create one" }),
4042
- filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4160
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "max-h-[300px] overflow-y-auto", children: filteredOptions.length === 0 && !canCreate ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "py-6 text-center text-gray-500", children: inputValue ? "No results found." : "Start typing to search..." }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-col gap-1.5 px-1.5 pt-1.5 pb-0.5", children: [
4161
+ createConfig?.enabled && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-text-default pb-0.5 font-semibold", children: "Select or create one" }),
4162
+ filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4043
4163
  Chip,
4044
4164
  {
4045
4165
  label: option.label,
@@ -4048,14 +4168,14 @@ function MultiSelect({
4048
4168
  },
4049
4169
  option.value
4050
4170
  )),
4051
- canCreate && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
4171
+ canCreate && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
4052
4172
  "div",
4053
4173
  {
4054
4174
  onClick: async () => await handleCreate(),
4055
4175
  className: "flex items-center justify-between",
4056
4176
  children: [
4057
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Chip, { label: inputValue.trim(), className: "rounded-md" }),
4058
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4177
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Chip, { label: inputValue.trim(), className: "rounded-md" }),
4178
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4059
4179
  Button,
4060
4180
  {
4061
4181
  variant: "ghost",
@@ -4076,7 +4196,7 @@ function MultiSelect({
4076
4196
  // src/ui/OTPInput/index.tsx
4077
4197
  var import_input_otp = require("input-otp");
4078
4198
  var React12 = __toESM(require("react"), 1);
4079
- var import_jsx_runtime36 = require("react/jsx-runtime");
4199
+ var import_jsx_runtime37 = require("react/jsx-runtime");
4080
4200
  function OTPInput({
4081
4201
  type = 4,
4082
4202
  separate = false,
@@ -4084,8 +4204,8 @@ function OTPInput({
4084
4204
  className,
4085
4205
  ...props
4086
4206
  }) {
4087
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cn(className), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(InputOTP, { disabled, className: "w-full", ...props, children: [
4088
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4207
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: cn(className), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(InputOTP, { disabled, className: "w-full", ...props, children: [
4208
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4089
4209
  InputOTPSlot,
4090
4210
  {
4091
4211
  className: "w-full",
@@ -4094,8 +4214,8 @@ function OTPInput({
4094
4214
  },
4095
4215
  index
4096
4216
  )) }),
4097
- separate && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPSeparator, {}),
4098
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4217
+ separate && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPSeparator, {}),
4218
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(InputOTPGroup, { className: "w-full", children: [...new Array(type / 2)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4099
4219
  InputOTPSlot,
4100
4220
  {
4101
4221
  className: "w-full",
@@ -4111,7 +4231,7 @@ function InputOTP({
4111
4231
  containerClassName,
4112
4232
  ...props
4113
4233
  }) {
4114
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4234
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4115
4235
  import_input_otp.OTPInput,
4116
4236
  {
4117
4237
  "data-slot": "input-otp",
@@ -4122,7 +4242,7 @@ function InputOTP({
4122
4242
  );
4123
4243
  }
4124
4244
  function InputOTPGroup({ className, ...props }) {
4125
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4245
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4126
4246
  "div",
4127
4247
  {
4128
4248
  "data-slot": "input-otp-group",
@@ -4140,7 +4260,7 @@ function InputOTPSlot({
4140
4260
  }) {
4141
4261
  const inputOTPContext = React12.useContext(import_input_otp.OTPInputContext);
4142
4262
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
4143
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
4263
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4144
4264
  "div",
4145
4265
  {
4146
4266
  "data-slot": "input-otp-slot",
@@ -4155,26 +4275,26 @@ function InputOTPSlot({
4155
4275
  ),
4156
4276
  ...props,
4157
4277
  children: [
4158
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-h6", children: char || placeholder }),
4159
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
4278
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-h6", children: char || placeholder }),
4279
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
4160
4280
  ]
4161
4281
  }
4162
4282
  );
4163
4283
  }
4164
4284
  function InputOTPSeparator({ ...props }) {
4165
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "bg-border-primary-normal h-0.5 w-2" }) });
4285
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "bg-border-primary-normal h-0.5 w-2" }) });
4166
4286
  }
4167
4287
 
4168
4288
  // src/ui/PasswordInput/index.tsx
4169
4289
  var React13 = __toESM(require("react"), 1);
4170
4290
  var import_lucide_react18 = require("lucide-react");
4171
- var import_jsx_runtime37 = require("react/jsx-runtime");
4291
+ var import_jsx_runtime38 = require("react/jsx-runtime");
4172
4292
  var PasswordInput = React13.memo(
4173
4293
  ({ type, label, className, ...props }) => {
4174
4294
  const [showPassword, setShowPassword] = React13.useState(false);
4175
4295
  const error = props["aria-invalid"] || false;
4176
4296
  const inputRef = React13.useRef(null);
4177
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4297
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
4178
4298
  "div",
4179
4299
  {
4180
4300
  className: cn(
@@ -4194,7 +4314,7 @@ var PasswordInput = React13.memo(
4194
4314
  }
4195
4315
  ),
4196
4316
  children: [
4197
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4317
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4198
4318
  "input",
4199
4319
  {
4200
4320
  ref: inputRef,
@@ -4218,7 +4338,7 @@ var PasswordInput = React13.memo(
4218
4338
  }
4219
4339
  }
4220
4340
  ),
4221
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4341
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4222
4342
  "button",
4223
4343
  {
4224
4344
  tabIndex: -1,
@@ -4227,7 +4347,7 @@ var PasswordInput = React13.memo(
4227
4347
  onClick: () => setShowPassword(!showPassword),
4228
4348
  "aria-label": showPassword ? "Hide password" : "Show password",
4229
4349
  className: "hover:bg-primary-bg-soft absolute right-2 flex h-5 w-5 cursor-pointer items-center justify-center rounded-sm bg-white",
4230
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react18.Eye, { size: 16, className: "text-element-inverse-default-alt" }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react18.EyeOff, { size: 16, className: "text-element-inverse-default-alt" })
4350
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.Eye, { size: 16, className: "text-element-inverse-default-alt" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.EyeOff, { size: 16, className: "text-element-inverse-default-alt" })
4231
4351
  }
4232
4352
  )
4233
4353
  ]
@@ -4239,16 +4359,16 @@ var PasswordInput = React13.memo(
4239
4359
  // src/ui/Radio/index.tsx
4240
4360
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
4241
4361
  var import_lucide_react19 = require("lucide-react");
4242
- var import_jsx_runtime38 = require("react/jsx-runtime");
4362
+ var import_jsx_runtime39 = require("react/jsx-runtime");
4243
4363
  function Radio({ onSelect, options, ...props }) {
4244
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BaseRadioGroup, { ...props, children: options.map((option) => {
4245
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
4364
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BaseRadioGroup, { ...props, children: options.map((option) => {
4365
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
4246
4366
  Label2,
4247
4367
  {
4248
4368
  htmlFor: option.value,
4249
4369
  className: "hover:bg-surface-bg flex cursor-pointer items-center gap-x-2 rounded-lg p-1.5",
4250
4370
  children: [
4251
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4371
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4252
4372
  BaseRadioGroupItem,
4253
4373
  {
4254
4374
  onClick: () => {
@@ -4269,7 +4389,7 @@ function BaseRadioGroup({
4269
4389
  className,
4270
4390
  ...props
4271
4391
  }) {
4272
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4392
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4273
4393
  RadioGroupPrimitive.Root,
4274
4394
  {
4275
4395
  "data-slot": "radio-group",
@@ -4282,7 +4402,7 @@ function BaseRadioGroupItem({
4282
4402
  className,
4283
4403
  ...props
4284
4404
  }) {
4285
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4405
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4286
4406
  RadioGroupPrimitive.Item,
4287
4407
  {
4288
4408
  "data-slot": "radio-group-item",
@@ -4291,12 +4411,12 @@ function BaseRadioGroupItem({
4291
4411
  className
4292
4412
  ),
4293
4413
  ...props,
4294
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4414
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4295
4415
  RadioGroupPrimitive.Indicator,
4296
4416
  {
4297
4417
  "data-slot": "radio-group-indicator",
4298
4418
  className: "relative flex items-center justify-center",
4299
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react19.CircleIcon, { className: "fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none" })
4419
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react19.CircleIcon, { className: "fill-check-box-and-radio-checked-enabled group-data-[state=checked]:hover:fill-check-box-and-radio-checked-hovered absolute top-1/2 left-1/2 size-[16px] -translate-x-1/2 -translate-y-1/2 stroke-none" })
4300
4420
  }
4301
4421
  )
4302
4422
  }
@@ -4307,8 +4427,8 @@ function BaseRadioGroupItem({
4307
4427
  var import_lodash = require("lodash");
4308
4428
  var import_lucide_react20 = require("lucide-react");
4309
4429
  var import_nuqs = require("nuqs");
4310
- var import_react7 = require("react");
4311
- var import_jsx_runtime39 = require("react/jsx-runtime");
4430
+ var import_react8 = require("react");
4431
+ var import_jsx_runtime40 = require("react/jsx-runtime");
4312
4432
  function SearchInput({
4313
4433
  searchKey,
4314
4434
  placeholder = "Search by...",
@@ -4320,8 +4440,8 @@ function SearchInput({
4320
4440
  const [search, setSearch] = (0, import_nuqs.useQueryState)(searchKey, {
4321
4441
  defaultValue: ""
4322
4442
  });
4323
- const [inputValue, setInputValue] = (0, import_react7.useState)(search ?? "");
4324
- const debouncedSetValue = (0, import_react7.useCallback)(
4443
+ const [inputValue, setInputValue] = (0, import_react8.useState)(search ?? "");
4444
+ const debouncedSetValue = (0, import_react8.useCallback)(
4325
4445
  (0, import_lodash.debounce)((value) => {
4326
4446
  if (addToParam) {
4327
4447
  setSearch(value);
@@ -4331,13 +4451,13 @@ function SearchInput({
4331
4451
  }, debounceDelay),
4332
4452
  [debounceDelay, addToParam, setSearch]
4333
4453
  );
4334
- (0, import_react7.useEffect)(() => {
4454
+ (0, import_react8.useEffect)(() => {
4335
4455
  debouncedSetValue(inputValue);
4336
4456
  return () => {
4337
4457
  debouncedSetValue.cancel();
4338
4458
  };
4339
4459
  }, [inputValue, debouncedSetValue]);
4340
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn("relative", className), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4460
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("relative", className), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4341
4461
  Input,
4342
4462
  {
4343
4463
  onChange: (e) => {
@@ -4346,7 +4466,7 @@ function SearchInput({
4346
4466
  },
4347
4467
  placeholder,
4348
4468
  prefixNode: {
4349
- node: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react20.SearchIcon, { className: "text-element-inverse-default" }),
4469
+ node: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react20.SearchIcon, { className: "text-element-inverse-default" }),
4350
4470
  withBorder: false
4351
4471
  },
4352
4472
  value: inputValue,
@@ -4359,7 +4479,7 @@ function SearchInput({
4359
4479
  // src/ui/SelectHover/index.tsx
4360
4480
  var import_lucide_react21 = require("lucide-react");
4361
4481
  var React14 = __toESM(require("react"), 1);
4362
- var import_jsx_runtime40 = require("react/jsx-runtime");
4482
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4363
4483
  function SelectHover({
4364
4484
  options,
4365
4485
  placeholder = "Select an option",
@@ -4386,15 +4506,15 @@ function SelectHover({
4386
4506
  setIsOpen(false);
4387
4507
  }, 300);
4388
4508
  };
4389
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Popover, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [
4390
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Button, { role: "combobox", "aria-expanded": isOpen, className, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }) }) }),
4391
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4509
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Popover, { open: isOpen, onOpenChange: setIsOpen, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [
4510
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Button, { role: "combobox", "aria-expanded": isOpen, className, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }) }) }),
4511
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4392
4512
  PopoverContent,
4393
4513
  {
4394
4514
  className: "bg-surface-bg-container w-full rounded-3xl border-none p-2 shadow-md",
4395
4515
  onMouseEnter: handleMouseEnter,
4396
4516
  onMouseLeave: handleMouseLeave,
4397
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
4517
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "flex max-h-[300px] flex-col items-start gap-[2px] overflow-auto", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4398
4518
  "button",
4399
4519
  {
4400
4520
  className: cn(
@@ -4403,8 +4523,8 @@ function SelectHover({
4403
4523
  ),
4404
4524
  onClick: () => handleSelect(option.value),
4405
4525
  children: [
4406
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1", children: option.label }),
4407
- value === option.value && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react21.Check, { className: "text-icon-secondary ml-2 h-4 w-4" })
4526
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "flex-1", children: option.label }),
4527
+ value === option.value && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react21.Check, { className: "text-icon-secondary ml-2 h-4 w-4" })
4408
4528
  ]
4409
4529
  },
4410
4530
  option.value
@@ -4417,7 +4537,7 @@ function SelectHover({
4417
4537
  // src/ui/SelectInput/index.tsx
4418
4538
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
4419
4539
  var import_lucide_react22 = require("lucide-react");
4420
- var import_jsx_runtime41 = require("react/jsx-runtime");
4540
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4421
4541
  function SelectInput({
4422
4542
  defaultValue,
4423
4543
  options,
@@ -4430,8 +4550,8 @@ function SelectInput({
4430
4550
  itemProps,
4431
4551
  ...props
4432
4552
  }) {
4433
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(BaseSelect, { onValueChange: onChange, defaultValue, ...props, children: [
4434
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4553
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(BaseSelect, { onValueChange: onChange, defaultValue, ...props, children: [
4554
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4435
4555
  BaseSelectTrigger,
4436
4556
  {
4437
4557
  withArrow,
@@ -4439,7 +4559,7 @@ function SelectInput({
4439
4559
  "aria-invalid": props["aria-invalid"],
4440
4560
  className: cn("w-full cursor-pointer", className),
4441
4561
  variant,
4442
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4562
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4443
4563
  BaseSelectValue,
4444
4564
  {
4445
4565
  className: "flex-1",
@@ -4448,7 +4568,7 @@ function SelectInput({
4448
4568
  )
4449
4569
  }
4450
4570
  ),
4451
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4571
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4452
4572
  BaseSelectContent,
4453
4573
  {
4454
4574
  ...contentProps,
@@ -4456,7 +4576,7 @@ function SelectInput({
4456
4576
  "border-stroke-inverse-slate-02 border",
4457
4577
  contentProps?.className
4458
4578
  ),
4459
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4579
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4460
4580
  BaseSelectItem,
4461
4581
  {
4462
4582
  value: option.value,
@@ -4476,12 +4596,12 @@ function SelectInput({
4476
4596
  function BaseSelect({
4477
4597
  ...props
4478
4598
  }) {
4479
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
4599
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
4480
4600
  }
4481
4601
  function BaseSelectValue({
4482
4602
  ...props
4483
4603
  }) {
4484
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
4604
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
4485
4605
  }
4486
4606
  function BaseSelectTrigger({
4487
4607
  className,
@@ -4491,7 +4611,7 @@ function BaseSelectTrigger({
4491
4611
  children,
4492
4612
  ...props
4493
4613
  }) {
4494
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4614
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4495
4615
  SelectPrimitive.Trigger,
4496
4616
  {
4497
4617
  "data-slot": "select-trigger",
@@ -4512,7 +4632,7 @@ function BaseSelectTrigger({
4512
4632
  ...props,
4513
4633
  children: [
4514
4634
  children,
4515
- withArrow && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronDownIcon, { className: "text-icon-default size-4" }) })
4635
+ withArrow && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronDownIcon, { className: "text-icon-default size-4" }) })
4516
4636
  ]
4517
4637
  }
4518
4638
  );
@@ -4523,7 +4643,7 @@ function BaseSelectContent({
4523
4643
  position = "popper",
4524
4644
  ...props
4525
4645
  }) {
4526
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4646
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4527
4647
  SelectPrimitive.Content,
4528
4648
  {
4529
4649
  "data-slot": "select-content",
@@ -4535,8 +4655,8 @@ function BaseSelectContent({
4535
4655
  position,
4536
4656
  ...props,
4537
4657
  children: [
4538
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(BaseSelectScrollUpButton, {}),
4539
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4658
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BaseSelectScrollUpButton, {}),
4659
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4540
4660
  SelectPrimitive.Viewport,
4541
4661
  {
4542
4662
  className: cn(
@@ -4546,7 +4666,7 @@ function BaseSelectContent({
4546
4666
  children
4547
4667
  }
4548
4668
  ),
4549
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(BaseSelectScrollDownButton, {})
4669
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BaseSelectScrollDownButton, {})
4550
4670
  ]
4551
4671
  }
4552
4672
  ) });
@@ -4556,7 +4676,7 @@ function BaseSelectItem({
4556
4676
  children,
4557
4677
  ...props
4558
4678
  }) {
4559
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4679
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4560
4680
  SelectPrimitive.Item,
4561
4681
  {
4562
4682
  "data-slot": "select-item",
@@ -4566,8 +4686,8 @@ function BaseSelectItem({
4566
4686
  ),
4567
4687
  ...props,
4568
4688
  children: [
4569
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.CheckIcon, { className: "text-icon-secondary size-4" }) }) }),
4570
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectPrimitive.ItemText, { children })
4689
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.CheckIcon, { className: "text-icon-secondary size-4" }) }) }),
4690
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectPrimitive.ItemText, { children })
4571
4691
  ]
4572
4692
  }
4573
4693
  );
@@ -4576,7 +4696,7 @@ function BaseSelectScrollUpButton({
4576
4696
  className,
4577
4697
  ...props
4578
4698
  }) {
4579
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4699
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4580
4700
  SelectPrimitive.ScrollUpButton,
4581
4701
  {
4582
4702
  "data-slot": "select-scroll-up-button",
@@ -4585,7 +4705,7 @@ function BaseSelectScrollUpButton({
4585
4705
  className
4586
4706
  ),
4587
4707
  ...props,
4588
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronUpIcon, { className: "size-4" })
4708
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronUpIcon, { className: "size-4" })
4589
4709
  }
4590
4710
  );
4591
4711
  }
@@ -4593,7 +4713,7 @@ function BaseSelectScrollDownButton({
4593
4713
  className,
4594
4714
  ...props
4595
4715
  }) {
4596
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4716
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4597
4717
  SelectPrimitive.ScrollDownButton,
4598
4718
  {
4599
4719
  "data-slot": "select-scroll-down-button",
@@ -4602,7 +4722,7 @@ function BaseSelectScrollDownButton({
4602
4722
  className
4603
4723
  ),
4604
4724
  ...props,
4605
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4" })
4725
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4" })
4606
4726
  }
4607
4727
  );
4608
4728
  }
@@ -4610,15 +4730,15 @@ function BaseSelectScrollDownButton({
4610
4730
  // src/ui/Sheet/index.tsx
4611
4731
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
4612
4732
  var import_lucide_react23 = require("lucide-react");
4613
- var import_jsx_runtime42 = require("react/jsx-runtime");
4733
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4614
4734
  function Sheet({ ...props }) {
4615
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
4735
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
4616
4736
  }
4617
4737
 
4618
4738
  // src/ui/Skeleton/index.tsx
4619
- var import_jsx_runtime43 = require("react/jsx-runtime");
4739
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4620
4740
  function Skeleton({ className, ...props }) {
4621
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4741
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4622
4742
  "div",
4623
4743
  {
4624
4744
  "data-slot": "skeleton",
@@ -4634,7 +4754,7 @@ function Skeleton({ className, ...props }) {
4634
4754
  // src/ui/Slider/index.tsx
4635
4755
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
4636
4756
  var React15 = __toESM(require("react"), 1);
4637
- var import_jsx_runtime44 = require("react/jsx-runtime");
4757
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4638
4758
  function Slider({
4639
4759
  className,
4640
4760
  defaultValue,
@@ -4647,7 +4767,7 @@ function Slider({
4647
4767
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
4648
4768
  [value, defaultValue, min, max]
4649
4769
  );
4650
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4770
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4651
4771
  SliderPrimitive.Root,
4652
4772
  {
4653
4773
  "data-slot": "slider",
@@ -4661,14 +4781,14 @@ function Slider({
4661
4781
  ),
4662
4782
  ...props,
4663
4783
  children: [
4664
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4784
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4665
4785
  SliderPrimitive.Track,
4666
4786
  {
4667
4787
  "data-slot": "slider-track",
4668
4788
  className: cn(
4669
4789
  "bg-audioProgress-bg relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
4670
4790
  ),
4671
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4791
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4672
4792
  SliderPrimitive.Range,
4673
4793
  {
4674
4794
  "data-slot": "slider-range",
@@ -4679,7 +4799,7 @@ function Slider({
4679
4799
  )
4680
4800
  }
4681
4801
  ),
4682
- Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4802
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4683
4803
  SliderPrimitive.Thumb,
4684
4804
  {
4685
4805
  "data-slot": "slider-thumb",
@@ -4695,10 +4815,10 @@ function Slider({
4695
4815
  // src/ui/Sooner/index.tsx
4696
4816
  var import_next_themes = require("next-themes");
4697
4817
  var import_sonner = require("sonner");
4698
- var import_jsx_runtime45 = require("react/jsx-runtime");
4818
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4699
4819
  var Toaster = ({ ...props }) => {
4700
4820
  const { theme = "system" } = (0, import_next_themes.useTheme)();
4701
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4821
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4702
4822
  import_sonner.Toaster,
4703
4823
  {
4704
4824
  theme,
@@ -4715,14 +4835,14 @@ var Toaster = ({ ...props }) => {
4715
4835
 
4716
4836
  // src/ui/Switch/index.tsx
4717
4837
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"), 1);
4718
- var import_jsx_runtime46 = require("react/jsx-runtime");
4838
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4719
4839
  function Switch({
4720
4840
  className,
4721
4841
  label,
4722
4842
  ...props
4723
4843
  }) {
4724
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center space-x-2", children: [
4725
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4844
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center space-x-2", children: [
4845
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4726
4846
  SwitchPrimitive.Root,
4727
4847
  {
4728
4848
  "data-slot": "switch",
@@ -4732,7 +4852,7 @@ function Switch({
4732
4852
  className
4733
4853
  ),
4734
4854
  ...props,
4735
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4855
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4736
4856
  SwitchPrimitive.Thumb,
4737
4857
  {
4738
4858
  "data-slot": "switch-thumb",
@@ -4743,7 +4863,7 @@ function Switch({
4743
4863
  )
4744
4864
  }
4745
4865
  ),
4746
- label && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Label2, { htmlFor: props.id || label, children: label })
4866
+ label && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Label2, { htmlFor: props.id || label, children: label })
4747
4867
  ] });
4748
4868
  }
4749
4869
 
@@ -4755,8 +4875,8 @@ var import_class_variance_authority11 = require("class-variance-authority");
4755
4875
  var import_lucide_react25 = require("lucide-react");
4756
4876
  var import_magick_icons4 = require("magick-icons");
4757
4877
  var React16 = __toESM(require("react"), 1);
4758
- var import_react8 = require("react");
4759
- var import_jsx_runtime47 = require("react/jsx-runtime");
4878
+ var import_react9 = require("react");
4879
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4760
4880
  var Table = ({
4761
4881
  columns,
4762
4882
  tableData,
@@ -4764,7 +4884,7 @@ var Table = ({
4764
4884
  emptyState = {
4765
4885
  emptyAction: void 0,
4766
4886
  label: "There is currently no data available to display in this table.",
4767
- icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(IconProfile, { icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.IconsaxBriefcaseBold, {}), color: "teal" })
4887
+ icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(IconProfile, { icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.IconsaxBriefcaseBold, {}), color: "teal" })
4768
4888
  },
4769
4889
  onRowClick
4770
4890
  }) => {
@@ -4776,41 +4896,41 @@ var Table = ({
4776
4896
  getSortedRowModel: (0, import_react_table.getSortedRowModel)()
4777
4897
  });
4778
4898
  const rowCount = table.getRowModel().rows.length;
4779
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative flex flex-col overflow-auto", children: [
4780
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4899
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative flex flex-col overflow-auto", children: [
4900
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4781
4901
  "div",
4782
4902
  {
4783
4903
  className: cn(
4784
4904
  rowCount === 0 ? "" : "bg-gray-100 dark:bg-gray-700",
4785
4905
  "absolute top-10 left-0 w-full h-full min-h-[100px] opacity-70 z-10 flex items-center justify-center"
4786
4906
  ),
4787
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react24.Loader2, { className: "size-10 text-stroke-inverse-slate-04 " })
4907
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react24.Loader2, { className: "size-10 text-stroke-inverse-slate-04 " })
4788
4908
  }
4789
4909
  ) : null,
4790
- !isLoading && rowCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col items-center gap-4", children: [
4910
+ !isLoading && rowCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex flex-col items-center gap-4", children: [
4791
4911
  emptyState?.icon,
4792
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { children: emptyState?.label }),
4793
- emptyState?.emptyAction ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4912
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { children: emptyState?.label }),
4913
+ emptyState?.emptyAction ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4794
4914
  Button,
4795
4915
  {
4796
4916
  variant: "outline",
4797
- prefix: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.MagickoAdd, { className: "[&_path]:fill-element-inverse-default" }),
4917
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.MagickoAdd, { className: "[&_path]:fill-element-inverse-default" }),
4798
4918
  onClick: () => emptyState?.emptyAction?.(),
4799
4919
  children: "Create new"
4800
4920
  }
4801
4921
  ) : null
4802
4922
  ] }) }) : null,
4803
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "max-w-full flex-1 overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4923
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "max-w-full flex-1 overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
4804
4924
  "table",
4805
4925
  {
4806
4926
  className: "w-full caption-bottom text-sm",
4807
4927
  style: { minWidth: "max-content" },
4808
4928
  children: [
4809
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("thead", { className: "bg-fill-inverse-slate-03", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4929
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("thead", { className: "bg-fill-inverse-slate-03", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4810
4930
  "tr",
4811
4931
  {
4812
4932
  className: "hover:bg-muted/50 border-stroke-inverse-slate-02 border-b transition-colors",
4813
- children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4933
+ children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4814
4934
  "th",
4815
4935
  {
4816
4936
  className: "text-muted-foreground h-12 px-4 text-left align-middle font-medium",
@@ -4824,14 +4944,14 @@ var Table = ({
4824
4944
  },
4825
4945
  headerGroup.id
4826
4946
  )) }),
4827
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("tbody", { className: "relative", children: [
4947
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("tbody", { className: "relative", children: [
4828
4948
  table.getRowModel().rows.map((row) => {
4829
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4949
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4830
4950
  "tr",
4831
4951
  {
4832
4952
  className: "hover:bg-muted/50 bg-table-table-cell-unselected group/row border-stroke-inverse-slate-02 cursor-pointer border-b transition-colors",
4833
4953
  onClick: () => onRowClick?.(row.original),
4834
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("td", { className: "p-4", children: (0, import_react_table.flexRender)(
4954
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { className: "p-4", children: (0, import_react_table.flexRender)(
4835
4955
  cell.column.columnDef.cell,
4836
4956
  cell.getContext()
4837
4957
  ) }, cell.id))
@@ -4839,7 +4959,7 @@ var Table = ({
4839
4959
  row.id
4840
4960
  );
4841
4961
  }),
4842
- rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("td", { colSpan: columns.length, className: "h-12 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "" }) }) }, index))
4962
+ rowCount === 0 && Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { colSpan: columns.length, className: "h-12 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "" }) }) }, index))
4843
4963
  ] })
4844
4964
  ]
4845
4965
  }
@@ -4874,13 +4994,13 @@ var PrimaryCell = React16.forwardRef(
4874
4994
  }, ref) => {
4875
4995
  let content = children;
4876
4996
  if (variant === "badge") {
4877
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2", children: [
4997
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2", children: [
4878
4998
  children,
4879
- badgeContent && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Badge, { type: badgeType, size: badgeSize, children: badgeContent })
4999
+ badgeContent && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Badge, { type: badgeType, size: badgeSize, children: badgeContent })
4880
5000
  ] });
4881
5001
  } else if (variant === "progress") {
4882
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
4883
- progressValue !== 100 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5002
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
5003
+ progressValue !== 100 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4884
5004
  ProgressIndicator,
4885
5005
  {
4886
5006
  variant: "circle",
@@ -4889,23 +5009,23 @@ var PrimaryCell = React16.forwardRef(
4889
5009
  showPercentage: showProgressPercentage
4890
5010
  }
4891
5011
  ),
4892
- children && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-body-sm text-element-inverse-default", children })
5012
+ children && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-body-sm text-element-inverse-default", children })
4893
5013
  ] });
4894
5014
  } else if (variant === "error") {
4895
- content = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
4896
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react25.AlertCircle, { className: "size-4 shrink-0" }),
4897
- errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-body-sm", children: errorMessage }) : children
5015
+ content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
5016
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react25.AlertCircle, { className: "size-4 shrink-0" }),
5017
+ errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-body-sm", children: errorMessage }) : children
4898
5018
  ] });
4899
5019
  }
4900
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
5020
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
4901
5021
  "div",
4902
5022
  {
4903
5023
  ref,
4904
5024
  className: cn(primaryCellVariants({ variant })),
4905
5025
  ...props,
4906
5026
  children: [
4907
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: content }),
4908
- hoverUI && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100", children: hoverUI })
5027
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: content }),
5028
+ hoverUI && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "ml-2 flex items-center gap-2 opacity-0 transition-opacity duration-200 group-hover/row:opacity-100", children: hoverUI })
4909
5029
  ]
4910
5030
  }
4911
5031
  );
@@ -4914,7 +5034,7 @@ var PrimaryCell = React16.forwardRef(
4914
5034
  PrimaryCell.displayName = "PrimaryCell";
4915
5035
  Table.PrimaryCell = PrimaryCell;
4916
5036
  var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props }, ref) => {
4917
- const [isCopied, setIsCopied] = (0, import_react8.useState)(false);
5037
+ const [isCopied, setIsCopied] = (0, import_react9.useState)(false);
4918
5038
  const [hoverRef, isHovering] = (0, import_usehooks.useHover)();
4919
5039
  const handleCopy = () => {
4920
5040
  navigator.clipboard.writeText(text);
@@ -4927,11 +5047,11 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
4927
5047
  }, 1200);
4928
5048
  }
4929
5049
  }, [isCopied]);
4930
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: cn("w-full h-full", className), ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "relative", ref: hoverRef, children: [
4931
- copyable && isHovering && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5050
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn("w-full h-full", className), ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative", ref: hoverRef, children: [
5051
+ copyable && isHovering && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4932
5052
  IconButton,
4933
5053
  {
4934
- icon: isCopied ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5054
+ icon: isCopied ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4935
5055
  import_magick_icons4.MagickoCopySuccess,
4936
5056
  {
4937
5057
  className: cn(
@@ -4939,16 +5059,16 @@ var TextCell = React16.forwardRef(({ text, copyable = true, className, ...props
4939
5059
  "transition-all ease-in duration-200"
4940
5060
  )
4941
5061
  }
4942
- ) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_magick_icons4.MagickoCopy, { className: "size-4" }),
5062
+ ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_magick_icons4.MagickoCopy, { className: "size-4" }),
4943
5063
  className: "absolute top-1/2 -right-3 -translate-y-1/2",
4944
5064
  size: "sm",
4945
5065
  varient: "soft",
4946
5066
  onClick: handleCopy
4947
5067
  }
4948
5068
  ),
4949
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Popover, { children: [
4950
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { className: "truncate line-clamp-1", children: text ?? "-" }) }),
4951
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverContent, { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { children: text ?? "-" }) })
5069
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Popover, { children: [
5070
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { className: "truncate line-clamp-1", children: text ?? "-" }) }),
5071
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { children: text ?? "-" }) })
4952
5072
  ] })
4953
5073
  ] }) });
4954
5074
  });
@@ -4958,7 +5078,7 @@ var Table_default = Table;
4958
5078
 
4959
5079
  // src/ui/Tabs/index.tsx
4960
5080
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
4961
- var import_jsx_runtime48 = require("react/jsx-runtime");
5081
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4962
5082
  function Tabs({
4963
5083
  defaultActiveTab,
4964
5084
  tabSmall,
@@ -4967,8 +5087,8 @@ function Tabs({
4967
5087
  showContent = true,
4968
5088
  ...props
4969
5089
  }) {
4970
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(BaseTabs, { defaultValue: defaultActiveTab, className, ...props, children: [
4971
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(BaseTabsList, { children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
5090
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(BaseTabs, { defaultValue: defaultActiveTab, className, ...props, children: [
5091
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(BaseTabsList, { children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
4972
5092
  BaseTabsTrigger,
4973
5093
  {
4974
5094
  tabSmall,
@@ -4976,22 +5096,22 @@ function Tabs({
4976
5096
  className: "relative flex cursor-pointer items-center justify-center gap-x-2",
4977
5097
  onClick: typeof tab === "object" && "onClick" in tab ? tab.onClick : void 0,
4978
5098
  children: [
4979
- tab.icon && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: tab.icon }),
5099
+ tab.icon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: tab.icon }),
4980
5100
  tab.label,
4981
- tab.notification && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full" }),
4982
- !!tab.count && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Badge, { type: "primary-soft", children: tab.count })
5101
+ tab.notification && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "bg-icon-destructive absolute top-1 right-1 size-1.5 rounded-full" }),
5102
+ !!tab.count && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge, { type: "primary-soft", children: tab.count })
4983
5103
  ]
4984
5104
  },
4985
5105
  tab.value
4986
5106
  )) }),
4987
- showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(BaseTabsContent, { value: tab.value, children: tab.content }, tab.value))
5107
+ showContent && "content" in tabs[0] && tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(BaseTabsContent, { value: tab.value, children: tab.content }, tab.value))
4988
5108
  ] });
4989
5109
  }
4990
5110
  function BaseTabs({
4991
5111
  className,
4992
5112
  ...props
4993
5113
  }) {
4994
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5114
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4995
5115
  TabsPrimitive.Root,
4996
5116
  {
4997
5117
  "data-slot": "tabs",
@@ -5004,7 +5124,7 @@ function BaseTabsList({
5004
5124
  className,
5005
5125
  ...props
5006
5126
  }) {
5007
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5127
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5008
5128
  TabsPrimitive.List,
5009
5129
  {
5010
5130
  "data-slot": "tabs-list",
@@ -5021,7 +5141,7 @@ function BaseTabsTrigger({
5021
5141
  tabSmall,
5022
5142
  ...props
5023
5143
  }) {
5024
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5144
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5025
5145
  TabsPrimitive.Trigger,
5026
5146
  {
5027
5147
  "data-slot": "tabs-trigger",
@@ -5038,7 +5158,7 @@ function BaseTabsContent({
5038
5158
  className,
5039
5159
  ...props
5040
5160
  }) {
5041
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5161
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5042
5162
  TabsPrimitive.Content,
5043
5163
  {
5044
5164
  "data-slot": "tabs-content",
@@ -5050,7 +5170,7 @@ function BaseTabsContent({
5050
5170
 
5051
5171
  // src/ui/Tag/index.tsx
5052
5172
  var import_class_variance_authority12 = require("class-variance-authority");
5053
- var import_jsx_runtime49 = require("react/jsx-runtime");
5173
+ var import_jsx_runtime50 = require("react/jsx-runtime");
5054
5174
  var tagVariants = (0, import_class_variance_authority12.cva)("px-1 rounded-sm", {
5055
5175
  variants: {
5056
5176
  variant: {
@@ -5068,14 +5188,14 @@ function Tag({
5068
5188
  variant,
5069
5189
  className
5070
5190
  }) {
5071
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { "data-slot": "tag", className: cn(tagVariants({ variant }), className), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-caption font-semibold text-white", children: label }) });
5191
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { "data-slot": "tag", className: cn(tagVariants({ variant }), className), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-caption font-semibold text-white", children: label }) });
5072
5192
  }
5073
5193
 
5074
5194
  // src/ui/TextAreaInput/index.tsx
5075
5195
  var React17 = __toESM(require("react"), 1);
5076
- var import_jsx_runtime50 = require("react/jsx-runtime");
5196
+ var import_jsx_runtime51 = require("react/jsx-runtime");
5077
5197
  var TextareaInput = React17.forwardRef(({ className, label, ...props }, ref) => {
5078
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5198
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5079
5199
  "textarea",
5080
5200
  {
5081
5201
  ref,
@@ -5095,8 +5215,8 @@ var TextAreaInput_default = TextareaInput;
5095
5215
 
5096
5216
  // src/ui/TimePicker/index.tsx
5097
5217
  var import_lucide_react26 = require("lucide-react");
5098
- var import_react9 = require("react");
5099
- var import_jsx_runtime51 = require("react/jsx-runtime");
5218
+ var import_react10 = require("react");
5219
+ var import_jsx_runtime52 = require("react/jsx-runtime");
5100
5220
  function TimePicker({
5101
5221
  label,
5102
5222
  onValueChange,
@@ -5105,7 +5225,7 @@ function TimePicker({
5105
5225
  value,
5106
5226
  ...props
5107
5227
  }) {
5108
- const [isOpen, setIsOpen] = (0, import_react9.useState)(false);
5228
+ const [isOpen, setIsOpen] = (0, import_react10.useState)(false);
5109
5229
  const currentValue = value || defaultValue || "";
5110
5230
  const formatTimeForDisplay = (timeValue) => {
5111
5231
  if (!timeValue) return "";
@@ -5117,10 +5237,10 @@ function TimePicker({
5117
5237
  const handleChange = (value2) => {
5118
5238
  onValueChange?.(value2);
5119
5239
  };
5120
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col gap-3", children: [
5121
- label && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Label2, { htmlFor: "time-picker", className: "px-1", children: "Time" }),
5122
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: setIsOpen, children: [
5123
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DropdownMenuTrigger, { className: "!p-0", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5240
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col gap-3", children: [
5241
+ label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Label2, { htmlFor: "time-picker", className: "px-1", children: "Time" }),
5242
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: setIsOpen, children: [
5243
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DropdownMenuTrigger, { className: "!p-0", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5124
5244
  Input,
5125
5245
  {
5126
5246
  ...props,
@@ -5128,17 +5248,17 @@ function TimePicker({
5128
5248
  value: currentValue ? formatTimeForDisplay(currentValue) : "",
5129
5249
  onKeyDown: (e) => e.preventDefault(),
5130
5250
  prefixNode: {
5131
- node: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react26.Clock, { className: "pointer-events-none h-5 w-5 text-gray-700" }),
5251
+ node: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react26.Clock, { className: "pointer-events-none h-5 w-5 text-gray-700" }),
5132
5252
  withBorder: false
5133
5253
  }
5134
5254
  }
5135
5255
  ) }),
5136
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5256
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5137
5257
  DropdownMenuContent,
5138
5258
  {
5139
5259
  align: "start",
5140
5260
  className: "max-h-60 min-w-41 overflow-y-auto",
5141
- children: timeOptions?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5261
+ children: timeOptions?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5142
5262
  DropdownMenuItem,
5143
5263
  {
5144
5264
  className: cn(
@@ -5159,11 +5279,11 @@ function TimePicker({
5159
5279
  // src/ui/Title/index.tsx
5160
5280
  var import_react_slot6 = require("@radix-ui/react-slot");
5161
5281
  var React18 = __toESM(require("react"), 1);
5162
- var import_jsx_runtime52 = require("react/jsx-runtime");
5282
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5163
5283
  var Title2 = React18.forwardRef(
5164
5284
  ({ className, asChild = false, ...props }, ref) => {
5165
5285
  const Comp = asChild ? import_react_slot6.Slot : "h2";
5166
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5286
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5167
5287
  Comp,
5168
5288
  {
5169
5289
  ref,
@@ -5182,7 +5302,7 @@ var Title_default = Title2;
5182
5302
  // src/ui/Toggle/index.tsx
5183
5303
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
5184
5304
  var import_class_variance_authority13 = require("class-variance-authority");
5185
- var import_jsx_runtime53 = require("react/jsx-runtime");
5305
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5186
5306
  var toggleVariants = (0, import_class_variance_authority13.cva)(
5187
5307
  "inline-flex items-center justify-center gap-2 text-sm font-medium disabled:pointer-events-none disabled:text-icon-inactive data-[state=on]:disabled:text-icon-inactive data-[state=on]:disabled:bg-toggle-bg-inactiveDefault data-[state=on]:bg-toggle-bg-activeDefault data-[state=on]:hover:bg-toggle-bg-activeHover data-[state=on]:text-icon-white hover:bg-toggle-bg-inactiveHover hover:text-icon-default [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap cursor-pointer",
5188
5308
  {
@@ -5217,7 +5337,7 @@ function Toggle({
5217
5337
  size,
5218
5338
  ...props
5219
5339
  }) {
5220
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5340
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5221
5341
  TogglePrimitive.Root,
5222
5342
  {
5223
5343
  "data-slot": "toggle",
@@ -5229,12 +5349,12 @@ function Toggle({
5229
5349
  }
5230
5350
 
5231
5351
  // src/ui/ToggleDropdownButton/index.tsx
5232
- var import_react11 = require("react");
5352
+ var import_react12 = require("react");
5233
5353
 
5234
5354
  // src/ui/ToggleDropdownButton/ToggleDropdownLeftButton.tsx
5235
5355
  var import_class_variance_authority14 = require("class-variance-authority");
5236
5356
  var React19 = __toESM(require("react"), 1);
5237
- var import_jsx_runtime54 = require("react/jsx-runtime");
5357
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5238
5358
  var toggleDropdownLeftButtonVariants = (0, import_class_variance_authority14.cva)(
5239
5359
  "flex items-center justify-center cursor-pointer transition-all",
5240
5360
  {
@@ -5330,7 +5450,7 @@ function ToggleDropdownLeftButton({
5330
5450
  }) {
5331
5451
  const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
5332
5452
  const isIcon = React19.isValidElement(children);
5333
- return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5453
+ return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5334
5454
  "button",
5335
5455
  {
5336
5456
  type: "button",
@@ -5339,7 +5459,7 @@ function ToggleDropdownLeftButton({
5339
5459
  className
5340
5460
  ),
5341
5461
  ...props,
5342
- children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5462
+ children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5343
5463
  IconContainer,
5344
5464
  {
5345
5465
  colorInFill: false,
@@ -5352,7 +5472,7 @@ function ToggleDropdownLeftButton({
5352
5472
  }
5353
5473
  ) : children
5354
5474
  }
5355
- ) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5475
+ ) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5356
5476
  "button",
5357
5477
  {
5358
5478
  type: "button",
@@ -5361,7 +5481,7 @@ function ToggleDropdownLeftButton({
5361
5481
  className
5362
5482
  ),
5363
5483
  ...props,
5364
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5484
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5365
5485
  IconContainer,
5366
5486
  {
5367
5487
  colorInFill: false,
@@ -5380,7 +5500,7 @@ function ToggleDropdownLeftButton({
5380
5500
  // src/ui/ToggleDropdownButton/ToggleDropdownRightButton.tsx
5381
5501
  var import_class_variance_authority15 = require("class-variance-authority");
5382
5502
  var React20 = __toESM(require("react"), 1);
5383
- var import_jsx_runtime55 = require("react/jsx-runtime");
5503
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5384
5504
  var toggleDropdownRightButtonVariants = (0, import_class_variance_authority15.cva)(
5385
5505
  "flex items-center justify-center group cursor-pointer transition-all",
5386
5506
  {
@@ -5476,7 +5596,7 @@ function ToggleDropdownRightButton({
5476
5596
  }) {
5477
5597
  const iconClass = selected ? "text-element-static-white fill-element-static-white" : "text-element-inverse-default fill-element-inverse-default";
5478
5598
  const isIcon = React20.isValidElement(children);
5479
- return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5599
+ return type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5480
5600
  "button",
5481
5601
  {
5482
5602
  type: "button",
@@ -5485,7 +5605,7 @@ function ToggleDropdownRightButton({
5485
5605
  className
5486
5606
  ),
5487
5607
  ...props,
5488
- children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5608
+ children: isIcon ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5489
5609
  IconContainer,
5490
5610
  {
5491
5611
  colorInFill: false,
@@ -5498,7 +5618,7 @@ function ToggleDropdownRightButton({
5498
5618
  }
5499
5619
  ) : children
5500
5620
  }
5501
- ) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5621
+ ) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5502
5622
  "button",
5503
5623
  {
5504
5624
  type: "button",
@@ -5507,7 +5627,7 @@ function ToggleDropdownRightButton({
5507
5627
  className
5508
5628
  ),
5509
5629
  ...props,
5510
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5630
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5511
5631
  IconContainer,
5512
5632
  {
5513
5633
  colorInFill: false,
@@ -5524,10 +5644,10 @@ function ToggleDropdownRightButton({
5524
5644
  }
5525
5645
 
5526
5646
  // src/ui/ToggleDropdownButton/useToggleDropdown.ts
5527
- var import_react10 = require("react");
5647
+ var import_react11 = require("react");
5528
5648
 
5529
5649
  // src/ui/ToggleDropdownButton/index.tsx
5530
- var import_jsx_runtime56 = require("react/jsx-runtime");
5650
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5531
5651
  var ToggleDropdownButton = ({
5532
5652
  type,
5533
5653
  selected,
@@ -5538,15 +5658,15 @@ var ToggleDropdownButton = ({
5538
5658
  onLeftButtonClick,
5539
5659
  dropdownMenu
5540
5660
  }) => {
5541
- const rightButtonRef = (0, import_react11.useRef)(null);
5661
+ const rightButtonRef = (0, import_react12.useRef)(null);
5542
5662
  const handleRightButtonClick = () => {
5543
5663
  onRightButtonClick?.();
5544
5664
  };
5545
5665
  const handleLeftButtonClick = () => {
5546
5666
  onLeftButtonClick?.();
5547
5667
  };
5548
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "gap-x-unit-1px flex items-center", children: [
5549
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5668
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "gap-x-unit-1px flex items-center", children: [
5669
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5550
5670
  ToggleDropdownLeftButton,
5551
5671
  {
5552
5672
  selected,
@@ -5557,8 +5677,8 @@ var ToggleDropdownButton = ({
5557
5677
  children: leftButtonChildren
5558
5678
  }
5559
5679
  ),
5560
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "relative", children: [
5561
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5680
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "relative", children: [
5681
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5562
5682
  ToggleDropdownRightButton,
5563
5683
  {
5564
5684
  ref: rightButtonRef,
@@ -5578,8 +5698,8 @@ var ToggleDropdownButton_default = ToggleDropdownButton;
5578
5698
 
5579
5699
  // src/ui/ToolToggle/index.tsx
5580
5700
  var import_lucide_react27 = require("lucide-react");
5581
- var import_react12 = require("react");
5582
- var import_jsx_runtime57 = require("react/jsx-runtime");
5701
+ var import_react13 = require("react");
5702
+ var import_jsx_runtime58 = require("react/jsx-runtime");
5583
5703
  var ToolToggle = ({
5584
5704
  dropdown,
5585
5705
  dropdownContent,
@@ -5587,41 +5707,41 @@ var ToolToggle = ({
5587
5707
  className,
5588
5708
  onClick
5589
5709
  }) => {
5590
- const [active, setActive] = (0, import_react12.useState)(false);
5710
+ const [active, setActive] = (0, import_react13.useState)(false);
5591
5711
  const handleClick = () => {
5592
5712
  setActive(!active);
5593
5713
  onClick?.(active);
5594
5714
  };
5595
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn(dropdown ? "min-w-20" : "min-w-[52px]", className), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(DropdownMenu, { children: [
5596
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5715
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn(dropdown ? "min-w-20" : "min-w-[52px]", className), children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(DropdownMenu, { children: [
5716
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5597
5717
  DropdownMenuTrigger,
5598
5718
  {
5599
5719
  className: cn(
5600
5720
  "border-border-primary-light !bg-toggle-bg-inactiveDefault hover:!bg-toggle-bg-inactiveHover flex h-full w-full items-center justify-center gap-x-2 !rounded-full border p-4 transition-all",
5601
5721
  active && "!bg-toggle-bg-activeDefault hover:!bg-toggle-bg-activeHover"
5602
5722
  ),
5603
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
5723
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5604
5724
  "div",
5605
5725
  {
5606
5726
  className: "flex items-center justify-center gap-x-2",
5607
5727
  onClick: handleClick,
5608
5728
  children: [
5609
5729
  icon,
5610
- dropdown && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react27.ChevronDown, { className: "text-icon-default size-5" })
5730
+ dropdown && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react27.ChevronDown, { className: "text-icon-default size-5" })
5611
5731
  ]
5612
5732
  }
5613
5733
  )
5614
5734
  }
5615
5735
  ),
5616
- dropdown && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DropdownMenuContent, { align: "start", className: "min-w-41", children: dropdownContent })
5736
+ dropdown && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DropdownMenuContent, { align: "start", className: "min-w-41", children: dropdownContent })
5617
5737
  ] }) });
5618
5738
  };
5619
5739
 
5620
5740
  // src/ui/WrapperCard/index.tsx
5621
- var import_jsx_runtime58 = require("react/jsx-runtime");
5741
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5622
5742
  var WrapperCard = (props) => {
5623
5743
  const { children, className } = props;
5624
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5744
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5625
5745
  "div",
5626
5746
  {
5627
5747
  className: cn(
@@ -5637,7 +5757,7 @@ var WrapperCard = (props) => {
5637
5757
  var import_react_slot7 = require("@radix-ui/react-slot");
5638
5758
  var React21 = __toESM(require("react"), 1);
5639
5759
  var import_react_hook_form = require("react-hook-form");
5640
- var import_jsx_runtime59 = require("react/jsx-runtime");
5760
+ var import_jsx_runtime60 = require("react/jsx-runtime");
5641
5761
  var BaseForm = import_react_hook_form.FormProvider;
5642
5762
  var FormFieldContext = React21.createContext(
5643
5763
  {}
@@ -5645,7 +5765,7 @@ var FormFieldContext = React21.createContext(
5645
5765
  var BaseFormField = ({
5646
5766
  ...props
5647
5767
  }) => {
5648
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_hook_form.Controller, { ...props }) });
5768
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_hook_form.Controller, { ...props }) });
5649
5769
  };
5650
5770
  var useFormField = () => {
5651
5771
  const fieldContext = React21.useContext(FormFieldContext);
@@ -5671,7 +5791,7 @@ var FormItemContext = React21.createContext(
5671
5791
  );
5672
5792
  function BaseFormItem({ className, ...props }) {
5673
5793
  const id = React21.useId();
5674
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5794
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5675
5795
  "div",
5676
5796
  {
5677
5797
  "data-slot": "form-item",
@@ -5685,7 +5805,7 @@ function BaseFormLabel({
5685
5805
  ...props
5686
5806
  }) {
5687
5807
  const { error, formItemId } = useFormField();
5688
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5808
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5689
5809
  Label2,
5690
5810
  {
5691
5811
  "data-slot": "form-label",
@@ -5701,7 +5821,7 @@ function BaseFormLabel({
5701
5821
  }
5702
5822
  function BaseFormControl({ ...props }) {
5703
5823
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
5704
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5824
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5705
5825
  import_react_slot7.Slot,
5706
5826
  {
5707
5827
  "data-slot": "form-control",
@@ -5717,7 +5837,7 @@ function BaseFormDescription({
5717
5837
  ...props
5718
5838
  }) {
5719
5839
  const { formDescriptionId } = useFormField();
5720
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5840
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5721
5841
  "p",
5722
5842
  {
5723
5843
  "data-slot": "form-description",
@@ -5733,7 +5853,7 @@ function BaseFormMessage({ className, ...props }) {
5733
5853
  if (!body) {
5734
5854
  return null;
5735
5855
  }
5736
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5856
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5737
5857
  "p",
5738
5858
  {
5739
5859
  "data-slot": "form-message",
@@ -5747,7 +5867,7 @@ function BaseFormMessage({ className, ...props }) {
5747
5867
 
5748
5868
  // src/ui/form/FormField.tsx
5749
5869
  var React22 = __toESM(require("react"), 1);
5750
- var import_jsx_runtime60 = require("react/jsx-runtime");
5870
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5751
5871
  var FormField = ({
5752
5872
  control,
5753
5873
  field,
@@ -5755,18 +5875,18 @@ var FormField = ({
5755
5875
  onBlur,
5756
5876
  className
5757
5877
  }) => {
5758
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5878
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5759
5879
  BaseFormField,
5760
5880
  {
5761
5881
  control,
5762
5882
  name: field.name,
5763
- render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(BaseFormItem, { className: cn("w-full", className), children: [
5764
- field.label && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(BaseFormLabel, { className: "gap-1", children: [
5883
+ render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(BaseFormItem, { className: cn("w-full", className), children: [
5884
+ field.label && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(BaseFormLabel, { className: "gap-1", children: [
5765
5885
  field.label,
5766
- field.required && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-element-inverse-red", children: "*" }),
5767
- field.optional && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-title-sm!", children: "(Optional)" })
5886
+ field.required && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-element-inverse-red", children: "*" }),
5887
+ field.optional && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-title-sm!", children: "(Optional)" })
5768
5888
  ] }),
5769
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseFormControl, { children: React22.isValidElement(field.render) ? React22.cloneElement(
5889
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseFormControl, { children: React22.isValidElement(field.render) ? React22.cloneElement(
5770
5890
  field.render,
5771
5891
  {
5772
5892
  ...formField,
@@ -5776,7 +5896,7 @@ var FormField = ({
5776
5896
  }
5777
5897
  }
5778
5898
  ) : field.render }),
5779
- isShowError && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseFormMessage, {})
5899
+ isShowError && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseFormMessage, {})
5780
5900
  ] })
5781
5901
  },
5782
5902
  field.name
@@ -5784,10 +5904,10 @@ var FormField = ({
5784
5904
  };
5785
5905
 
5786
5906
  // src/ui/form/Form.tsx
5787
- var import_react13 = require("react");
5907
+ var import_react14 = require("react");
5788
5908
  var import_react_hook_form2 = require("react-hook-form");
5789
- var import_jsx_runtime61 = require("react/jsx-runtime");
5790
- var FormMethodsContext = (0, import_react13.createContext)(
5909
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5910
+ var FormMethodsContext = (0, import_react14.createContext)(
5791
5911
  null
5792
5912
  );
5793
5913
  function Form({
@@ -5797,11 +5917,11 @@ function Form({
5797
5917
  className,
5798
5918
  children
5799
5919
  }) {
5800
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5920
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5801
5921
  FormMethodsContext.Provider,
5802
5922
  {
5803
5923
  value: formMethods,
5804
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BaseForm, { ...formMethods, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5924
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BaseForm, { ...formMethods, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5805
5925
  "form",
5806
5926
  {
5807
5927
  id,
@@ -5822,7 +5942,7 @@ Form.InputField = function InputField({
5822
5942
  ...props
5823
5943
  }) {
5824
5944
  const { control } = (0, import_react_hook_form2.useFormContext)();
5825
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5945
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5826
5946
  FormField,
5827
5947
  {
5828
5948
  className: "w-full",
@@ -5833,7 +5953,7 @@ Form.InputField = function InputField({
5833
5953
  name,
5834
5954
  label,
5835
5955
  required,
5836
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Input, { ...props, inputClassName: props.inputClassName })
5956
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Input, { ...props, inputClassName: props.inputClassName })
5837
5957
  }
5838
5958
  }
5839
5959
  );
@@ -5844,7 +5964,7 @@ Form.PasswordField = function PasswordField({
5844
5964
  ...props
5845
5965
  }) {
5846
5966
  const { control } = (0, import_react_hook_form2.useFormContext)();
5847
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5967
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5848
5968
  FormField,
5849
5969
  {
5850
5970
  className: "w-full",
@@ -5852,7 +5972,7 @@ Form.PasswordField = function PasswordField({
5852
5972
  field: {
5853
5973
  name,
5854
5974
  label,
5855
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(PasswordInput, { ...props })
5975
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(PasswordInput, { ...props })
5856
5976
  }
5857
5977
  }
5858
5978
  );
@@ -5864,7 +5984,7 @@ Form.SelectInputField = function SelectInputField({
5864
5984
  ...props
5865
5985
  }) {
5866
5986
  const { control } = (0, import_react_hook_form2.useFormContext)();
5867
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5987
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5868
5988
  FormField,
5869
5989
  {
5870
5990
  control,
@@ -5872,7 +5992,7 @@ Form.SelectInputField = function SelectInputField({
5872
5992
  name,
5873
5993
  required,
5874
5994
  label,
5875
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectInput, { ...props })
5995
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(SelectInput, { ...props })
5876
5996
  }
5877
5997
  }
5878
5998
  );
@@ -5884,14 +6004,14 @@ Form.MultiSelectField = function MultiSelectField({
5884
6004
  }) {
5885
6005
  const { control, watch, setValue } = (0, import_react_hook_form2.useFormContext)();
5886
6006
  const selectedValues = watch(name) || [];
5887
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6007
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5888
6008
  FormField,
5889
6009
  {
5890
6010
  control,
5891
6011
  field: {
5892
6012
  name,
5893
6013
  label,
5894
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6014
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5895
6015
  MultiSelect,
5896
6016
  {
5897
6017
  ...props,
@@ -5910,7 +6030,7 @@ Form.TextareaField = function TextareaField({
5910
6030
  ...props
5911
6031
  }) {
5912
6032
  const { control } = (0, import_react_hook_form2.useFormContext)();
5913
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6033
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5914
6034
  FormField,
5915
6035
  {
5916
6036
  control,
@@ -5918,7 +6038,7 @@ Form.TextareaField = function TextareaField({
5918
6038
  name,
5919
6039
  label,
5920
6040
  optional,
5921
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(TextAreaInput_default, { ...props })
6041
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TextAreaInput_default, { ...props })
5922
6042
  }
5923
6043
  }
5924
6044
  );
@@ -5936,14 +6056,14 @@ Form.FileUploadField = function FileUploadFieldComponent({
5936
6056
  const { control, formState } = (0, import_react_hook_form2.useFormContext)();
5937
6057
  const fieldError = formState.errors[name];
5938
6058
  const hasValidationError = !!fieldError;
5939
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6059
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5940
6060
  import_react_hook_form2.Controller,
5941
6061
  {
5942
6062
  control,
5943
6063
  name,
5944
- render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "space-y-1", children: [
5945
- label && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("label", { htmlFor: name, className: "font-medium", children: label }),
5946
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6064
+ render: ({ field: formField }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "space-y-1", children: [
6065
+ label && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("label", { htmlFor: name, className: "font-medium", children: label }),
6066
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5947
6067
  FileUploadField,
5948
6068
  {
5949
6069
  field: { name, isMultiple, maxFiles, children },
@@ -5974,7 +6094,7 @@ Form.DateInputField = function DateInputField({
5974
6094
  }) {
5975
6095
  const { control, watch, setValue } = (0, import_react_hook_form2.useFormContext)();
5976
6096
  const value = watch(name);
5977
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6097
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5978
6098
  FormField,
5979
6099
  {
5980
6100
  control,
@@ -5982,7 +6102,7 @@ Form.DateInputField = function DateInputField({
5982
6102
  name,
5983
6103
  label,
5984
6104
  required,
5985
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6105
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5986
6106
  DatePickerInput,
5987
6107
  {
5988
6108
  ...props,
@@ -6001,14 +6121,14 @@ Form.TimeInputField = function TimeInputField({
6001
6121
  ...props
6002
6122
  }) {
6003
6123
  const { control, setValue } = (0, import_react_hook_form2.useFormContext)();
6004
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6124
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6005
6125
  FormField,
6006
6126
  {
6007
6127
  control,
6008
6128
  field: {
6009
6129
  name,
6010
6130
  label,
6011
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6131
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6012
6132
  TimePicker,
6013
6133
  {
6014
6134
  onValueChange: (value) => {
@@ -6027,13 +6147,13 @@ Form.CheckboxField = function CheckboxField({
6027
6147
  ...props
6028
6148
  }) {
6029
6149
  const { control } = (0, import_react_hook_form2.useFormContext)();
6030
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6150
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6031
6151
  FormField,
6032
6152
  {
6033
6153
  control,
6034
6154
  field: {
6035
6155
  name,
6036
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Checkbox, { value: name, label, ...props })
6156
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Checkbox, { value: name, label, ...props })
6037
6157
  }
6038
6158
  }
6039
6159
  );
@@ -6043,12 +6163,12 @@ Form.OTPInputField = function OTPInputField({
6043
6163
  ...props
6044
6164
  }) {
6045
6165
  const { control } = (0, import_react_hook_form2.useFormContext)();
6046
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6166
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6047
6167
  FormField,
6048
6168
  {
6049
6169
  className: "w-full",
6050
6170
  control,
6051
- field: { name, render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(OTPInput, { ...props }) }
6171
+ field: { name, render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(OTPInput, { ...props }) }
6052
6172
  }
6053
6173
  );
6054
6174
  };
@@ -6059,14 +6179,14 @@ Form.RadioField = function RadioField({
6059
6179
  }) {
6060
6180
  const { control } = (0, import_react_hook_form2.useFormContext)();
6061
6181
  const { setValue } = (0, import_react_hook_form2.useFormContext)();
6062
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6182
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6063
6183
  FormField,
6064
6184
  {
6065
6185
  control,
6066
6186
  field: {
6067
6187
  name,
6068
6188
  label,
6069
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6189
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6070
6190
  Radio,
6071
6191
  {
6072
6192
  ...props,
@@ -6083,13 +6203,13 @@ Form.ComboboxField = function ComboboxField({
6083
6203
  }) {
6084
6204
  const { control, setValue, watch } = (0, import_react_hook_form2.useFormContext)();
6085
6205
  const value = watch(name);
6086
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6206
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6087
6207
  FormField,
6088
6208
  {
6089
6209
  control,
6090
6210
  field: {
6091
6211
  name,
6092
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6212
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6093
6213
  Combobox,
6094
6214
  {
6095
6215
  ...props,
@@ -6111,7 +6231,7 @@ Form.SwitchField = function SwitchField({
6111
6231
  }) {
6112
6232
  const { control, setValue, watch } = (0, import_react_hook_form2.useFormContext)();
6113
6233
  const value = watch(name);
6114
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6234
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6115
6235
  FormField,
6116
6236
  {
6117
6237
  control,
@@ -6119,9 +6239,9 @@ Form.SwitchField = function SwitchField({
6119
6239
  field: {
6120
6240
  name,
6121
6241
  label,
6122
- render: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center", children: [
6123
- prefix && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "mr-2", children: prefix }),
6124
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6242
+ render: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center", children: [
6243
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "mr-2", children: prefix }),
6244
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6125
6245
  Switch,
6126
6246
  {
6127
6247
  ...props,
@@ -6129,7 +6249,7 @@ Form.SwitchField = function SwitchField({
6129
6249
  onCheckedChange: (checked) => setValue(name, checked)
6130
6250
  }
6131
6251
  ),
6132
- suffix && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "ml-2", children: suffix })
6252
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "ml-2", children: suffix })
6133
6253
  ] })
6134
6254
  }
6135
6255
  }
@@ -6184,6 +6304,7 @@ Form.SwitchField = function SwitchField({
6184
6304
  FileUploadField,
6185
6305
  Form,
6186
6306
  FormField,
6307
+ GoogleMapView,
6187
6308
  GradientContainer,
6188
6309
  Grid,
6189
6310
  IconButton,