@tangle-network/sandbox-ui 0.21.0 → 0.21.1

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/pages.js CHANGED
@@ -8,6 +8,8 @@ import {
8
8
  import {
9
9
  Badge,
10
10
  Button,
11
+ Input,
12
+ Switch,
11
13
  Textarea
12
14
  } from "./chunk-7ZA5SEK3.js";
13
15
  import "./chunk-4KAPMTPU.js";
@@ -292,6 +294,8 @@ var VALID_DRIVERS = /* @__PURE__ */ new Set([
292
294
  "firecracker",
293
295
  "tangle"
294
296
  ]);
297
+ var SECTION_CARD_CLASS = "rounded-lg border border-border bg-card p-5 shadow-sm";
298
+ var FIELD_LABEL_CLASS = "block text-xs font-medium text-muted-foreground uppercase tracking-[0.06em]";
295
299
  var STACK_DISPLAY = {
296
300
  universal: {
297
301
  name: "Default",
@@ -723,41 +727,43 @@ function ProvisioningWizard({
723
727
  const rateSuffix = pricingView === "hourly" ? "/h" : "/s";
724
728
  const fmtRate = (v) => pricingView === "hourly" ? v.toFixed(2) : formatPerSecondValue(v);
725
729
  return /* @__PURE__ */ jsxs2("div", { className: cn("max-w-6xl mx-auto flex flex-col", className), children: [
726
- /* @__PURE__ */ jsxs2("div", { className: "mb-6 flex items-center gap-4 shrink-0", children: [
730
+ /* @__PURE__ */ jsxs2("div", { className: "mb-4 flex items-center gap-3 shrink-0", children: [
727
731
  onBack && /* @__PURE__ */ jsx2(
728
- "button",
732
+ Button,
729
733
  {
730
734
  type: "button",
735
+ variant: "outline",
736
+ size: "icon",
731
737
  onClick: onBack,
732
- className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-border hover:bg-muted/50 transition-colors text-foreground",
733
- children: /* @__PURE__ */ jsx2(ArrowLeft, { className: "h-5 w-5" })
738
+ className: "h-9 w-9 shrink-0",
739
+ children: /* @__PURE__ */ jsx2(ArrowLeft, { className: "h-4 w-4" })
734
740
  }
735
741
  ),
736
742
  /* @__PURE__ */ jsxs2("div", { children: [
737
- /* @__PURE__ */ jsx2("h1", { className: "text-3xl font-extrabold tracking-tight text-foreground mb-1", children: "Sandbox Provisioning" }),
743
+ /* @__PURE__ */ jsx2("h1", { className: "text-2xl font-semibold tracking-tight text-foreground", children: "Sandbox Provisioning" }),
738
744
  /* @__PURE__ */ jsx2("p", { className: "text-muted-foreground text-sm", children: "Select your stack, allocate resources, and deploy." })
739
745
  ] })
740
746
  ] }),
741
- /* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-12 gap-6 flex-1 min-h-0", children: [
747
+ /* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-12 gap-5 flex-1 min-h-0", children: [
742
748
  /* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-8 flex flex-col min-h-0", children: [
743
- isMultistep && /* @__PURE__ */ jsx2("div", { className: "flex items-center gap-2 mb-4 bg-card border border-border p-3 rounded-2xl mx-auto max-w-2xl justify-between shrink-0", children: stepLabels.map((label, index) => {
749
+ isMultistep && /* @__PURE__ */ jsx2("div", { className: "flex items-center gap-2 mb-4 rounded-lg border border-border bg-card px-4 py-2 shadow-sm mx-auto max-w-2xl justify-between shrink-0", children: stepLabels.map((label, index) => {
744
750
  const s = index + 1;
745
751
  return /* @__PURE__ */ jsxs2("div", { className: "flex items-center", children: [
746
752
  /* @__PURE__ */ jsx2(
747
753
  "div",
748
754
  {
749
755
  className: cn(
750
- "w-7 h-7 rounded-full flex items-center justify-center font-bold text-xs shrink-0 transition-all duration-200",
751
- currentStep === s ? "bg-primary text-primary-foreground ring-2 ring-primary/30 ring-offset-2 ring-offset-card shadow-sm" : currentStep > s ? "bg-primary text-primary-foreground" : "bg-muted border border-border text-muted-foreground"
756
+ "h-6 w-6 rounded-full flex items-center justify-center font-semibold text-xs shrink-0 transition-colors duration-200",
757
+ currentStep >= s ? "bg-primary text-primary-foreground" : "bg-muted border border-border text-muted-foreground"
752
758
  ),
753
- children: currentStep > s ? /* @__PURE__ */ jsx2(Check, { className: "h-3.5 w-3.5" }) : s
759
+ children: currentStep > s ? /* @__PURE__ */ jsx2(Check, { className: "h-3 w-3" }) : s
754
760
  }
755
761
  ),
756
762
  /* @__PURE__ */ jsx2(
757
763
  "span",
758
764
  {
759
765
  className: cn(
760
- "ml-2 sm:ml-3 font-bold text-sm tracking-tight hidden sm:inline transition-colors duration-200",
766
+ "ml-2 font-medium text-sm hidden sm:inline transition-colors duration-200",
761
767
  currentStep === s ? "text-foreground" : currentStep > s ? "text-primary" : "text-muted-foreground"
762
768
  ),
763
769
  children: label
@@ -767,22 +773,23 @@ function ProvisioningWizard({
767
773
  "div",
768
774
  {
769
775
  className: cn(
770
- "w-4 sm:w-8 h-0.5 mx-2 sm:mx-4 rounded-full transition-colors duration-300",
776
+ "w-4 sm:w-8 h-px mx-2 sm:mx-3 transition-colors duration-300",
771
777
  currentStep > s ? "bg-primary" : "bg-border"
772
778
  )
773
779
  }
774
780
  )
775
781
  ] }, s);
776
782
  }) }),
777
- dc && isMultistep && /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between bg-card border border-border rounded-2xl px-4 py-3 shrink-0", children: [
783
+ dc && isMultistep && /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between rounded-lg border border-border bg-card px-4 py-2.5 shadow-sm shrink-0 mb-4", children: [
778
784
  /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 text-sm", children: [
779
785
  /* @__PURE__ */ jsx2(Info, { className: "h-4 w-4 text-primary shrink-0" }),
780
786
  /* @__PURE__ */ jsx2("span", { className: "text-muted-foreground", children: "Pre-configured from template." })
781
787
  ] }),
782
788
  /* @__PURE__ */ jsx2(
783
- "button",
789
+ Button,
784
790
  {
785
791
  type: "button",
792
+ variant: "link",
786
793
  onClick: () => {
787
794
  setCurrentStep(1);
788
795
  setSelectedEnv(environments[0]?.id ?? "");
@@ -800,30 +807,30 @@ function ProvisioningWizard({
800
807
  setActivePreset(null);
801
808
  setPricingView("hourly");
802
809
  },
803
- className: "text-xs font-bold text-primary hover:text-primary/70 transition-colors",
810
+ className: "h-auto p-0 text-xs",
804
811
  children: "Start from scratch"
805
812
  }
806
813
  )
807
814
  ] }),
808
- loadError && /* @__PURE__ */ jsxs2("div", { className: "rounded-2xl border border-destructive/30 bg-destructive/10 p-3 flex items-center gap-2 shrink-0", children: [
815
+ loadError && /* @__PURE__ */ jsxs2("div", { className: "rounded-lg border border-destructive/30 bg-destructive/10 p-3 flex items-center gap-2 shrink-0 mb-4", children: [
809
816
  /* @__PURE__ */ jsx2(Info, { className: "h-4 w-4 text-destructive shrink-0" }),
810
817
  /* @__PURE__ */ jsx2("p", { className: "text-sm font-medium text-destructive", children: loadError })
811
818
  ] }),
812
819
  /* @__PURE__ */ jsxs2("div", { className: "flex-1 overflow-y-auto min-h-0 space-y-4", children: [
813
- (!isMultistep || currentStep === 1) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: "bg-card border border-border rounded-[24px] p-6 shadow-2xl relative overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-300", children: [
814
- /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3 mb-6", children: [
815
- /* @__PURE__ */ jsx2("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-primary/10 border border-primary/20 text-primary", children: /* @__PURE__ */ jsx2(Layers, { className: "h-5 w-5" }) }),
816
- /* @__PURE__ */ jsx2("h2", { className: "text-lg font-bold text-foreground tracking-tight", children: "Environment Selection" })
820
+ (!isMultistep || currentStep === 1) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: SECTION_CARD_CLASS, children: [
821
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 mb-4", children: [
822
+ /* @__PURE__ */ jsx2(Layers, { className: "h-4 w-4 text-primary shrink-0" }),
823
+ /* @__PURE__ */ jsx2("h2", { className: "text-sm font-semibold uppercase tracking-[0.06em] text-muted-foreground", children: "Environment Selection" })
817
824
  ] }),
818
825
  /* @__PURE__ */ jsx2("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-3", children: isLoadingEnvironments && environments.length === 0 ? Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsxs2(
819
826
  "div",
820
827
  {
821
- className: "p-4 rounded-[16px] border border-border bg-card/50 animate-pulse",
828
+ className: "p-3.5 rounded-lg border border-border bg-card/50 animate-pulse",
822
829
  "aria-hidden": "true",
823
830
  children: [
824
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-start mb-3", children: [
831
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-start mb-2.5", children: [
825
832
  /* @__PURE__ */ jsx2("div", { className: "w-10 h-10 rounded-full bg-muted/60 border border-border" }),
826
- /* @__PURE__ */ jsx2("div", { className: "w-5 h-5 rounded-full border-2 border-border" })
833
+ /* @__PURE__ */ jsx2("div", { className: "w-4 h-4 rounded-full border-2 border-border" })
827
834
  ] }),
828
835
  /* @__PURE__ */ jsx2("div", { className: "h-3 w-1/3 rounded bg-muted/60 mb-2" }),
829
836
  /* @__PURE__ */ jsx2("div", { className: "h-2.5 w-5/6 rounded bg-muted/50 mb-1.5" }),
@@ -837,39 +844,38 @@ function ProvisioningWizard({
837
844
  type: "button",
838
845
  onClick: () => setSelectedEnv(env.id),
839
846
  className: cn(
840
- "group relative p-4 rounded-[16px] text-left overflow-hidden border transition-all duration-200",
841
- selectedEnv === env.id ? "bg-primary/5 border-primary ring-2 ring-primary/20 shadow-md" : "bg-card border-border hover:border-primary/30 hover:shadow-sm hover:-translate-y-0.5 active:scale-[0.98]"
847
+ "group p-3.5 rounded-lg text-left border transition-colors duration-200",
848
+ selectedEnv === env.id ? "bg-primary/5 border-primary ring-1 ring-primary/20" : "bg-card border-border hover:border-primary/30 active:scale-[0.99]"
842
849
  ),
843
850
  children: [
844
- selectedEnv === env.id && /* @__PURE__ */ jsx2("div", { className: "absolute inset-0 bg-gradient-to-br from-primary/8 to-transparent pointer-events-none" }),
845
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-start mb-3 relative z-10", children: [
846
- /* @__PURE__ */ jsx2("div", { className: "w-10 h-10 rounded-full flex items-center justify-center bg-muted/50 border border-border shadow-inner", children: env.icon }),
851
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-start mb-2.5", children: [
852
+ /* @__PURE__ */ jsx2("div", { className: "w-10 h-10 rounded-full flex items-center justify-center bg-muted/50 border border-border", children: env.icon }),
847
853
  /* @__PURE__ */ jsx2(
848
854
  "div",
849
855
  {
850
856
  className: cn(
851
- "w-5 h-5 rounded-full border-2 flex items-center justify-center transition-all duration-200",
857
+ "w-4 h-4 rounded-full border-2 flex items-center justify-center transition-colors duration-200",
852
858
  selectedEnv === env.id ? "border-primary bg-primary" : "border-border group-hover:border-primary/40"
853
859
  ),
854
- children: selectedEnv === env.id && /* @__PURE__ */ jsx2(Check, { className: "h-3 w-3 text-primary-foreground animate-in zoom-in duration-200" })
860
+ children: selectedEnv === env.id && /* @__PURE__ */ jsx2(Check, { className: "h-2.5 w-2.5 text-primary-foreground" })
855
861
  }
856
862
  )
857
863
  ] }),
858
- /* @__PURE__ */ jsx2("h3", { className: "font-bold text-sm mb-0.5 text-foreground relative z-10", children: env.name }),
859
- /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground leading-relaxed relative z-10", children: env.description })
864
+ /* @__PURE__ */ jsx2("h3", { className: "font-semibold text-sm mb-0.5 text-foreground", children: env.name }),
865
+ /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground leading-relaxed", children: env.description })
860
866
  ]
861
867
  },
862
868
  env.id
863
869
  )) })
864
870
  ] }) }),
865
- (!isMultistep || currentStep === 2) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: "bg-card border border-border rounded-[24px] p-6 shadow-2xl relative overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-300", children: [
866
- /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3 mb-5", children: [
867
- /* @__PURE__ */ jsx2("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-primary/10 border border-primary/20 text-primary", children: /* @__PURE__ */ jsx2(Cpu, { className: "h-5 w-5" }) }),
868
- /* @__PURE__ */ jsx2("h2", { className: "text-lg font-bold text-foreground tracking-tight", children: "Resource Allocation" })
871
+ (!isMultistep || currentStep === 2) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: SECTION_CARD_CLASS, children: [
872
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 mb-4", children: [
873
+ /* @__PURE__ */ jsx2(Cpu, { className: "h-4 w-4 text-primary shrink-0" }),
874
+ /* @__PURE__ */ jsx2("h2", { className: "text-sm font-semibold uppercase tracking-[0.06em] text-muted-foreground", children: "Resource Allocation" })
869
875
  ] }),
870
- /* @__PURE__ */ jsxs2("div", { className: "mb-6", children: [
871
- /* @__PURE__ */ jsx2("label", { className: "block font-label text-xs font-bold uppercase tracking-widest text-muted-foreground mb-3", children: "Compute Presets" }),
872
- /* @__PURE__ */ jsx2("div", { className: "grid grid-cols-3 gap-3", children: presets.map((p) => {
876
+ /* @__PURE__ */ jsxs2("div", { className: "mb-4", children: [
877
+ /* @__PURE__ */ jsx2("label", { className: cn(FIELD_LABEL_CLASS, "mb-2"), children: "Compute Presets" }),
878
+ /* @__PURE__ */ jsx2("div", { className: "grid grid-cols-3 gap-2", children: presets.map((p) => {
873
879
  const active = activePreset === p.name && !p.locked;
874
880
  return /* @__PURE__ */ jsxs2(
875
881
  "button",
@@ -878,16 +884,16 @@ function ProvisioningWizard({
878
884
  onClick: () => !p.locked && applyPreset(p.name, p.cpu, p.ram, p.storage),
879
885
  disabled: p.locked,
880
886
  className: cn(
881
- "p-3 rounded-[14px] transition-all duration-200 text-center group border relative",
882
- active ? "bg-primary/5 border-primary ring-1 ring-primary/20 shadow-sm" : p.locked ? "bg-muted/30 border-border opacity-60 cursor-not-allowed" : "bg-card border-border hover:border-primary/30 hover:shadow-sm active:scale-[0.97]"
887
+ "p-2.5 rounded-lg transition-colors duration-200 text-center group border relative",
888
+ active ? "bg-primary/5 border-primary ring-1 ring-primary/20" : p.locked ? "bg-muted/30 border-border opacity-60 cursor-not-allowed" : "bg-card border-border hover:border-primary/30 active:scale-[0.99]"
883
889
  ),
884
890
  children: [
885
- p.locked && /* @__PURE__ */ jsx2("div", { className: "absolute -top-1.5 -right-1.5 bg-primary text-primary-foreground text-[9px] font-bold px-1.5 py-0.5 rounded-full uppercase tracking-wider", children: p.unlockLabel }),
891
+ p.locked && /* @__PURE__ */ jsx2("div", { className: "absolute -top-1.5 -right-1.5 bg-primary text-primary-foreground text-[9px] font-semibold px-1.5 py-0.5 rounded-full uppercase tracking-wider", children: p.unlockLabel }),
886
892
  /* @__PURE__ */ jsx2(
887
893
  "div",
888
894
  {
889
895
  className: cn(
890
- "font-bold text-sm transition-colors duration-200",
896
+ "font-semibold text-sm transition-colors duration-200",
891
897
  active ? "text-primary" : p.locked ? "text-muted-foreground" : "text-foreground"
892
898
  ),
893
899
  children: p.name
@@ -910,7 +916,7 @@ function ProvisioningWizard({
910
916
  );
911
917
  }) })
912
918
  ] }),
913
- /* @__PURE__ */ jsx2("div", { className: "space-y-6", children: [
919
+ /* @__PURE__ */ jsx2("div", { className: "space-y-4", children: [
914
920
  {
915
921
  label: "Compute Cores (CPU)",
916
922
  value: cpuCores,
@@ -942,9 +948,9 @@ function ProvisioningWizard({
942
948
  ({ label, value, setter, min, max, step: s, unit }) => {
943
949
  const displayUnit = unit === "vCPU" ? `${value} vCPU${value === 1 ? "" : "s"}` : `${value}${unit}`;
944
950
  return /* @__PURE__ */ jsxs2("div", { children: [
945
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end border-b border-border pb-1.5 mb-2", children: [
946
- /* @__PURE__ */ jsx2("label", { className: "font-label text-xs font-bold uppercase tracking-widest text-muted-foreground", children: label }),
947
- /* @__PURE__ */ jsx2("span", { className: "text-xl font-bold text-foreground tracking-tight", children: displayUnit })
951
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-end pb-1 mb-1.5", children: [
952
+ /* @__PURE__ */ jsx2("label", { className: FIELD_LABEL_CLASS, children: label }),
953
+ /* @__PURE__ */ jsx2("span", { className: "text-sm font-semibold text-foreground tabular-nums", children: displayUnit })
948
954
  ] }),
949
955
  /* @__PURE__ */ jsx2(
950
956
  "input",
@@ -958,7 +964,7 @@ function ProvisioningWizard({
958
964
  setter(+e.target.value);
959
965
  setActivePreset(null);
960
966
  },
961
- className: "w-full h-2 rounded-full appearance-none cursor-pointer accent-primary [&::-webkit-slider-runnable-track]:bg-border [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:h-2 [&::-moz-range-track]:bg-border [&::-moz-range-track]:rounded-full [&::-moz-range-track]:h-2 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:-mt-[6px] [&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-primary-foreground [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:hover:scale-110"
967
+ className: "w-full h-1.5 rounded-full appearance-none cursor-pointer accent-primary [&::-webkit-slider-runnable-track]:bg-border [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:h-1.5 [&::-moz-range-track]:bg-border [&::-moz-range-track]:rounded-full [&::-moz-range-track]:h-1.5 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:-mt-[5px] [&::-webkit-slider-thumb]:shadow-sm [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-primary-foreground"
962
968
  }
963
969
  ),
964
970
  /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-[10px] font-mono text-muted-foreground/60 mt-1", children: [
@@ -975,37 +981,37 @@ function ProvisioningWizard({
975
981
  }
976
982
  ) })
977
983
  ] }) }),
978
- (!isMultistep || currentStep === 2) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsx2("section", { className: "bg-card border border-border rounded-[24px] p-6 shadow-2xl relative overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-300", children: /* @__PURE__ */ jsx2("div", { className: "space-y-5", children: /* @__PURE__ */ jsxs2("div", { children: [
984
+ (!isMultistep || currentStep === 2) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsx2("section", { className: SECTION_CARD_CLASS, children: /* @__PURE__ */ jsxs2("div", { children: [
979
985
  /* @__PURE__ */ jsxs2(
980
986
  "button",
981
987
  {
982
988
  type: "button",
983
989
  onClick: () => setShowAdvanced(!showAdvanced),
984
- className: "flex items-center gap-2 text-foreground/70 hover:text-foreground transition-colors text-sm font-bold focus:outline-none",
990
+ className: "flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors text-sm font-medium focus:outline-none",
985
991
  children: [
986
992
  /* @__PURE__ */ jsx2(Settings, { className: "w-4 h-4" }),
987
993
  showAdvanced ? "Hide Advanced Options" : "Show Advanced Options"
988
994
  ]
989
995
  }
990
996
  ),
991
- showAdvanced && /* @__PURE__ */ jsxs2("div", { className: "mt-6 space-y-5 animate-in slide-in-from-top-4 fade-in duration-300", children: [
997
+ showAdvanced && /* @__PURE__ */ jsxs2("div", { className: "mt-4 space-y-4", children: [
992
998
  /* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
993
999
  /* @__PURE__ */ jsxs2("div", { children: [
994
- /* @__PURE__ */ jsx2("label", { className: "block font-label text-xs font-bold uppercase tracking-widest text-muted-foreground mb-2", children: "Workspace Name" }),
1000
+ /* @__PURE__ */ jsx2("label", { className: cn(FIELD_LABEL_CLASS, "mb-1.5"), children: "Workspace Name" }),
995
1001
  /* @__PURE__ */ jsx2(
996
- "input",
1002
+ Input,
997
1003
  {
998
1004
  type: "text",
999
1005
  value: name,
1000
1006
  onChange: (e) => setName(e.target.value),
1001
1007
  maxLength: 128,
1002
- className: "w-full bg-card border border-border rounded-xl h-12 px-4 font-bold text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent placeholder:text-muted-foreground",
1008
+ className: "h-9 px-3 text-sm",
1003
1009
  placeholder: "my-cool-sandbox"
1004
1010
  }
1005
1011
  )
1006
1012
  ] }),
1007
1013
  /* @__PURE__ */ jsxs2("div", { children: [
1008
- /* @__PURE__ */ jsx2("label", { className: "block font-label text-xs font-bold uppercase tracking-widest text-muted-foreground mb-2", children: "Virtualization Driver" }),
1014
+ /* @__PURE__ */ jsx2("label", { className: cn(FIELD_LABEL_CLASS, "mb-1.5"), children: "Virtualization Driver" }),
1009
1015
  /* @__PURE__ */ jsxs2(
1010
1016
  "select",
1011
1017
  {
@@ -1016,7 +1022,7 @@ function ProvisioningWizard({
1016
1022
  e.target.value
1017
1023
  );
1018
1024
  },
1019
- className: "w-full bg-card border border-border rounded-xl h-12 px-4 font-bold text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent appearance-none",
1025
+ className: "w-full bg-card border border-border rounded-lg h-9 px-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent appearance-none",
1020
1026
  children: [
1021
1027
  /* @__PURE__ */ jsx2("option", { value: "docker", className: "bg-gray-900", children: "Docker container (Default)" }),
1022
1028
  /* @__PURE__ */ jsx2(
@@ -1034,21 +1040,21 @@ function ProvisioningWizard({
1034
1040
  ] })
1035
1041
  ] }),
1036
1042
  /* @__PURE__ */ jsxs2("div", { children: [
1037
- /* @__PURE__ */ jsx2("label", { className: "block font-label text-xs font-bold uppercase tracking-widest text-muted-foreground mb-2", children: "Git Repository URL" }),
1043
+ /* @__PURE__ */ jsx2("label", { className: cn(FIELD_LABEL_CLASS, "mb-1.5"), children: "Git Repository URL" }),
1038
1044
  /* @__PURE__ */ jsx2(
1039
- "input",
1045
+ Input,
1040
1046
  {
1041
1047
  type: "text",
1042
1048
  value: gitUrl,
1043
1049
  onChange: (e) => setGitUrl(e.target.value),
1044
- className: "w-full bg-card border border-border rounded-xl h-12 px-4 font-bold text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent placeholder:text-muted-foreground",
1050
+ className: "h-9 px-3 text-sm",
1045
1051
  placeholder: "https://github.com/my-org/my-repo.git"
1046
1052
  }
1047
1053
  )
1048
1054
  ] }),
1049
1055
  /* @__PURE__ */ jsxs2("div", { children: [
1050
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center mb-2", children: [
1051
- /* @__PURE__ */ jsx2("label", { className: "block font-label text-xs font-bold uppercase tracking-widest text-muted-foreground", children: "Environment Variables" }),
1056
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center mb-1.5", children: [
1057
+ /* @__PURE__ */ jsx2("label", { className: FIELD_LABEL_CLASS, children: "Environment Variables" }),
1052
1058
  /* @__PURE__ */ jsxs2(
1053
1059
  "button",
1054
1060
  {
@@ -1057,7 +1063,7 @@ function ProvisioningWizard({
1057
1063
  ...envVars,
1058
1064
  { key: "", value: "" }
1059
1065
  ]),
1060
- className: "flex items-center gap-1 text-xs text-primary hover:text-primary/70 transition-colors font-bold",
1066
+ className: "flex items-center gap-1 text-xs text-primary hover:text-primary/70 transition-colors font-medium",
1061
1067
  children: [
1062
1068
  /* @__PURE__ */ jsx2(Plus, { className: "h-3 w-3" }),
1063
1069
  " Add Var"
@@ -1068,7 +1074,7 @@ function ProvisioningWizard({
1068
1074
  /* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
1069
1075
  envVars.map((env, i) => /* @__PURE__ */ jsxs2("div", { className: "flex gap-2", children: [
1070
1076
  /* @__PURE__ */ jsx2(
1071
- "input",
1077
+ Input,
1072
1078
  {
1073
1079
  type: "text",
1074
1080
  value: env.key,
@@ -1077,12 +1083,12 @@ function ProvisioningWizard({
1077
1083
  (v, idx) => idx === i ? { ...v, key: e.target.value } : v
1078
1084
  )
1079
1085
  ),
1080
- className: "flex-1 bg-card border border-border rounded-xl h-10 px-3 font-mono text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-primary placeholder:text-muted-foreground",
1086
+ className: "flex-1 h-9 px-3 font-mono text-sm",
1081
1087
  placeholder: "API_KEY"
1082
1088
  }
1083
1089
  ),
1084
1090
  /* @__PURE__ */ jsx2(
1085
- "input",
1091
+ Input,
1086
1092
  {
1087
1093
  type: "password",
1088
1094
  value: env.value,
@@ -1091,27 +1097,29 @@ function ProvisioningWizard({
1091
1097
  (v, idx) => idx === i ? { ...v, value: e.target.value } : v
1092
1098
  )
1093
1099
  ),
1094
- className: "flex-[2] bg-card border border-border rounded-xl h-10 px-3 font-mono text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-primary placeholder:text-muted-foreground",
1100
+ className: "flex-[2] h-9 px-3 font-mono text-sm",
1095
1101
  placeholder: "sk-xxxxxxxxxxx"
1096
1102
  }
1097
1103
  ),
1098
1104
  /* @__PURE__ */ jsx2(
1099
- "button",
1105
+ Button,
1100
1106
  {
1101
1107
  type: "button",
1108
+ variant: "outline",
1109
+ size: "icon",
1102
1110
  onClick: () => setEnvVars(
1103
1111
  envVars.filter((_, idx) => idx !== i)
1104
1112
  ),
1105
- className: "h-10 w-10 flex items-center justify-center shrink-0 rounded-xl bg-card border border-border text-red-400 hover:bg-red-500/10 hover:border-red-500/30 transition-colors",
1113
+ className: "h-9 w-9 shrink-0 text-destructive hover:bg-destructive/10 hover:border-destructive/30",
1106
1114
  children: /* @__PURE__ */ jsx2(Trash2, { className: "h-4 w-4" })
1107
1115
  }
1108
1116
  )
1109
1117
  ] }, i)),
1110
- envVars.length === 0 && /* @__PURE__ */ jsx2("div", { className: "text-center p-3 bg-card border border-border rounded-xl text-muted-foreground/60 text-sm italic", children: "No environment variables set" })
1118
+ envVars.length === 0 && /* @__PURE__ */ jsx2("div", { className: "text-center p-3 border border-dashed border-border rounded-lg text-muted-foreground/60 text-xs italic", children: "No environment variables set" })
1111
1119
  ] })
1112
1120
  ] }),
1113
1121
  availableScripts.length > 0 && /* @__PURE__ */ jsxs2("div", { children: [
1114
- /* @__PURE__ */ jsx2("div", { className: "text-xs font-bold uppercase tracking-widest text-muted-foreground mb-2", children: "Startup Scripts" }),
1122
+ /* @__PURE__ */ jsx2("div", { className: cn(FIELD_LABEL_CLASS, "mb-1.5"), children: "Startup Scripts" }),
1115
1123
  /* @__PURE__ */ jsx2("div", { className: "space-y-2", children: availableScripts.filter((s) => s.enabled).map((script) => {
1116
1124
  const selected = startupScriptIds.includes(
1117
1125
  script.id
@@ -1178,46 +1186,49 @@ function ProvisioningWizard({
1178
1186
  );
1179
1187
  }) })
1180
1188
  ] }),
1181
- /* @__PURE__ */ jsx2("div", { className: "pt-2 border-t border-border", children: /* @__PURE__ */ jsxs2("label", { className: "flex items-center gap-3 cursor-pointer group", children: [
1182
- /* @__PURE__ */ jsxs2("div", { className: "relative flex items-center justify-center shrink-0", children: [
1189
+ /* @__PURE__ */ jsxs2("div", { className: "pt-3 border-t border-border flex items-start justify-between gap-3", children: [
1190
+ /* @__PURE__ */ jsxs2("div", { children: [
1183
1191
  /* @__PURE__ */ jsx2(
1184
- "input",
1192
+ "label",
1185
1193
  {
1186
- type: "checkbox",
1187
- className: "sr-only peer",
1188
- checked: bare,
1189
- onChange: (e) => setBare(e.target.checked)
1194
+ htmlFor: "wizard-bare-mode",
1195
+ className: "block text-sm font-medium text-foreground cursor-pointer",
1196
+ children: "Bare Mode"
1190
1197
  }
1191
1198
  ),
1192
- /* @__PURE__ */ jsx2("div", { className: "w-10 h-6 bg-muted peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary hover:bg-muted/80 transition-colors" })
1199
+ /* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Start as a raw container without an embedded AI Agent backend." })
1193
1200
  ] }),
1194
- /* @__PURE__ */ jsxs2("div", { children: [
1195
- /* @__PURE__ */ jsx2("div", { className: "text-sm font-bold text-foreground mb-0.5 group-hover:text-primary transition-colors", children: "Bare Mode" }),
1196
- /* @__PURE__ */ jsx2("div", { className: "text-xs text-muted-foreground", children: "Start as a raw container without an embedded AI Agent backend." })
1197
- ] })
1198
- ] }) })
1201
+ /* @__PURE__ */ jsx2(
1202
+ Switch,
1203
+ {
1204
+ id: "wizard-bare-mode",
1205
+ checked: bare,
1206
+ onCheckedChange: setBare,
1207
+ className: "mt-0.5"
1208
+ }
1209
+ )
1210
+ ] })
1199
1211
  ] })
1200
- ] }) }) }) }),
1201
- sshAccess && (!isMultistep || currentStep === 3) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: "bg-card border border-border rounded-[24px] p-6 shadow-2xl relative overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-300", children: [
1202
- /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3 mb-5", children: [
1203
- /* @__PURE__ */ jsx2("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-primary/10 border border-primary/20 text-primary", children: /* @__PURE__ */ jsx2(Settings, { className: "h-5 w-5" }) }),
1204
- /* @__PURE__ */ jsx2("h2", { className: "text-lg font-bold text-foreground tracking-tight", children: "Access Configuration" })
1212
+ ] }) }) }),
1213
+ sshAccess && (!isMultistep || currentStep === 3) && /* @__PURE__ */ jsx2(React2.Fragment, { children: /* @__PURE__ */ jsxs2("section", { className: SECTION_CARD_CLASS, children: [
1214
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 mb-4", children: [
1215
+ /* @__PURE__ */ jsx2(Settings, { className: "h-4 w-4 text-primary shrink-0" }),
1216
+ /* @__PURE__ */ jsx2("h2", { className: "text-sm font-semibold uppercase tracking-[0.06em] text-muted-foreground", children: "Access Configuration" })
1205
1217
  ] }),
1206
1218
  /* @__PURE__ */ jsx2(SshAccessStep, { config: sshAccess })
1207
1219
  ] }) })
1208
1220
  ] })
1209
1221
  ] }),
1210
1222
  /* @__PURE__ */ jsxs2("div", { className: "col-span-12 xl:col-span-4 sticky top-4 space-y-4", children: [
1211
- /* @__PURE__ */ jsxs2("div", { className: "p-6 rounded-[24px] bg-card border border-primary/15 relative overflow-hidden", children: [
1212
- /* @__PURE__ */ jsx2("div", { className: "hidden" }),
1213
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center mb-4 relative z-10", children: [
1214
- /* @__PURE__ */ jsx2("span", { className: "font-label text-xs font-bold uppercase tracking-widest text-muted-foreground", children: "Run Cost" }),
1223
+ /* @__PURE__ */ jsxs2("div", { className: "rounded-lg border border-border bg-card p-5 shadow-sm", children: [
1224
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between items-center mb-3", children: [
1225
+ /* @__PURE__ */ jsx2("span", { className: FIELD_LABEL_CLASS, children: "Run Cost" }),
1215
1226
  /* @__PURE__ */ jsxs2(
1216
1227
  "div",
1217
1228
  {
1218
1229
  role: "group",
1219
1230
  "aria-label": "Pricing view",
1220
- className: "inline-flex items-center rounded-full border border-border bg-muted/50 p-0.5",
1231
+ className: "inline-flex items-center rounded-md border border-border bg-muted/50 p-0.5",
1221
1232
  children: [
1222
1233
  /* @__PURE__ */ jsx2(
1223
1234
  "button",
@@ -1226,7 +1237,7 @@ function ProvisioningWizard({
1226
1237
  "aria-pressed": pricingView === "hourly",
1227
1238
  onClick: () => setPricingView("hourly"),
1228
1239
  className: cn(
1229
- "rounded-full px-2.5 py-0.5 text-[10px] font-bold transition-all",
1240
+ "rounded px-2.5 py-0.5 text-[10px] font-medium transition-all",
1230
1241
  pricingView === "hourly" ? "bg-card text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
1231
1242
  ),
1232
1243
  children: "Per Hour"
@@ -1239,7 +1250,7 @@ function ProvisioningWizard({
1239
1250
  "aria-pressed": pricingView === "perSecond",
1240
1251
  onClick: () => setPricingView("perSecond"),
1241
1252
  className: cn(
1242
- "rounded-full px-2.5 py-0.5 text-[10px] font-bold transition-all",
1253
+ "rounded px-2.5 py-0.5 text-[10px] font-medium transition-all",
1243
1254
  pricingView === "perSecond" ? "bg-card text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
1244
1255
  ),
1245
1256
  children: "Per Second"
@@ -1249,13 +1260,13 @@ function ProvisioningWizard({
1249
1260
  }
1250
1261
  )
1251
1262
  ] }),
1252
- /* @__PURE__ */ jsxs2("div", { className: "flex items-baseline gap-2 mb-5 relative z-10", children: [
1263
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-baseline gap-2 mb-4", children: [
1253
1264
  /* @__PURE__ */ jsxs2(
1254
1265
  "span",
1255
1266
  {
1256
1267
  className: cn(
1257
- "font-black text-foreground tracking-tighter animate-in fade-in duration-200",
1258
- pricingView === "hourly" ? "text-4xl" : "text-2xl"
1268
+ "font-semibold text-foreground tracking-tight tabular-nums animate-in fade-in duration-200",
1269
+ pricingView === "hourly" ? "text-3xl" : "text-xl"
1259
1270
  ),
1260
1271
  children: [
1261
1272
  "$",
@@ -1264,10 +1275,10 @@ function ProvisioningWizard({
1264
1275
  },
1265
1276
  pricingView
1266
1277
  ),
1267
- /* @__PURE__ */ jsx2("span", { className: "text-muted-foreground text-sm font-bold", children: pricingSuffix })
1278
+ /* @__PURE__ */ jsx2("span", { className: "text-muted-foreground text-sm", children: pricingSuffix })
1268
1279
  ] }),
1269
- /* @__PURE__ */ jsxs2("div", { className: "space-y-2 relative z-10 bg-card border border-border rounded-xl p-3", children: [
1270
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-widest text-muted-foreground", children: [
1280
+ /* @__PURE__ */ jsxs2("div", { className: "space-y-2 rounded-md border border-border bg-muted/30 p-3", children: [
1281
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-wide text-muted-foreground", children: [
1271
1282
  /* @__PURE__ */ jsx2("span", { children: "COMPUTE" }),
1272
1283
  /* @__PURE__ */ jsxs2("span", { className: "text-foreground", children: [
1273
1284
  "$",
@@ -1275,7 +1286,7 @@ function ProvisioningWizard({
1275
1286
  rateSuffix
1276
1287
  ] })
1277
1288
  ] }),
1278
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-widest text-muted-foreground", children: [
1289
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-wide text-muted-foreground", children: [
1279
1290
  /* @__PURE__ */ jsx2("span", { children: "MEMORY" }),
1280
1291
  /* @__PURE__ */ jsxs2("span", { className: "text-foreground/80", children: [
1281
1292
  "$",
@@ -1283,7 +1294,7 @@ function ProvisioningWizard({
1283
1294
  rateSuffix
1284
1295
  ] })
1285
1296
  ] }),
1286
- /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-widest text-muted-foreground", children: [
1297
+ /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-wide text-muted-foreground", children: [
1287
1298
  /* @__PURE__ */ jsx2("span", { children: "STORAGE" }),
1288
1299
  /* @__PURE__ */ jsxs2("span", { className: "text-foreground/80", children: [
1289
1300
  "$",
@@ -1291,7 +1302,7 @@ function ProvisioningWizard({
1291
1302
  rateSuffix
1292
1303
  ] })
1293
1304
  ] }),
1294
- hourlyCostBreakdown.floorApplies && /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-widest text-primary border-t border-border pt-2", children: [
1305
+ hourlyCostBreakdown.floorApplies && /* @__PURE__ */ jsxs2("div", { className: "flex justify-between text-xs font-mono tracking-wide text-primary border-t border-border pt-2", children: [
1295
1306
  /* @__PURE__ */ jsx2("span", { children: "MIN CHARGE" }),
1296
1307
  /* @__PURE__ */ jsxs2("span", { children: [
1297
1308
  "$",
@@ -1303,29 +1314,29 @@ function ProvisioningWizard({
1303
1314
  ] })
1304
1315
  ] })
1305
1316
  ] }),
1306
- deployError && /* @__PURE__ */ jsxs2("div", { className: "rounded-xl border border-destructive/30 bg-destructive/10 p-3 flex items-center gap-2", children: [
1317
+ deployError && /* @__PURE__ */ jsxs2("div", { className: "rounded-lg border border-destructive/30 bg-destructive/10 p-3 flex items-center gap-2", children: [
1307
1318
  /* @__PURE__ */ jsx2(Info, { className: "h-4 w-4 text-destructive shrink-0" }),
1308
1319
  /* @__PURE__ */ jsx2("p", { className: "text-sm font-medium text-destructive", children: deployError })
1309
1320
  ] }),
1310
- /* @__PURE__ */ jsx2("div", { className: "space-y-3", children: isMultistep ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
1321
+ /* @__PURE__ */ jsx2("div", { className: "space-y-2", children: isMultistep ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
1311
1322
  currentStep < finalStep ? /* @__PURE__ */ jsxs2(
1312
- "button",
1323
+ Button,
1313
1324
  {
1314
1325
  type: "button",
1315
1326
  onClick: () => setCurrentStep((s) => s + 1),
1316
- className: "w-full relative overflow-hidden h-12 bg-primary text-primary-foreground font-extrabold text-sm rounded-2xl hover:brightness-110 transition-all active:scale-[0.98] shadow-md",
1327
+ className: "w-full",
1317
1328
  children: [
1318
1329
  "Continue to ",
1319
1330
  stepLabels[currentStep]
1320
1331
  ]
1321
1332
  }
1322
1333
  ) : /* @__PURE__ */ jsx2(
1323
- "button",
1334
+ Button,
1324
1335
  {
1325
1336
  type: "button",
1326
1337
  onClick: handleDeploy,
1327
1338
  disabled: isDeploying || !selectedEnv,
1328
- className: "w-full h-12 bg-primary text-primary-foreground font-extrabold text-sm rounded-2xl tracking-wide shadow-md disabled:opacity-50 hover:brightness-110 active:scale-[0.98] transition-all",
1339
+ className: "w-full",
1329
1340
  children: isDeploying ? /* @__PURE__ */ jsxs2("span", { className: "flex items-center justify-center gap-2", children: [
1330
1341
  /* @__PURE__ */ jsx2(Loader2, { className: "h-4 w-4 animate-spin" }),
1331
1342
  "Deploying..."
@@ -1333,21 +1344,22 @@ function ProvisioningWizard({
1333
1344
  }
1334
1345
  ),
1335
1346
  currentStep > 1 && /* @__PURE__ */ jsx2(
1336
- "button",
1347
+ Button,
1337
1348
  {
1338
1349
  type: "button",
1350
+ variant: "secondary",
1339
1351
  onClick: () => setCurrentStep((s) => s - 1),
1340
- className: "w-full h-10 bg-secondary text-secondary-foreground border border-border font-bold text-sm rounded-2xl hover:brightness-95 active:scale-[0.98] transition-all",
1352
+ className: "w-full",
1341
1353
  children: "Back"
1342
1354
  }
1343
1355
  )
1344
1356
  ] }) : /* @__PURE__ */ jsx2(
1345
- "button",
1357
+ Button,
1346
1358
  {
1347
1359
  type: "button",
1348
1360
  onClick: handleDeploy,
1349
1361
  disabled: isDeploying || !selectedEnv,
1350
- className: "w-full h-12 bg-primary text-primary-foreground font-extrabold text-sm rounded-2xl tracking-wide shadow-md disabled:opacity-50 hover:brightness-110 active:scale-[0.98] transition-all",
1362
+ className: "w-full",
1351
1363
  children: isDeploying ? /* @__PURE__ */ jsxs2("span", { className: "flex items-center justify-center gap-2", children: [
1352
1364
  /* @__PURE__ */ jsx2(Loader2, { className: "h-4 w-4 animate-spin" }),
1353
1365
  "Spinning up environment..."
@@ -1523,7 +1535,7 @@ import {
1523
1535
  DialogTitle
1524
1536
  } from "@tangle-network/ui/primitives";
1525
1537
  import { EmptyState } from "@tangle-network/ui/primitives";
1526
- import { Input } from "@tangle-network/ui/primitives";
1538
+ import { Input as Input2 } from "@tangle-network/ui/primitives";
1527
1539
  import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
1528
1540
  var TIER_LIMITS = {
1529
1541
  free: 3,
@@ -1616,7 +1628,7 @@ function ProfilesPage({
1616
1628
  /* @__PURE__ */ jsxs4("div", { className: "relative max-w-md", children: [
1617
1629
  /* @__PURE__ */ jsx4(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
1618
1630
  /* @__PURE__ */ jsx4(
1619
- Input,
1631
+ Input2,
1620
1632
  {
1621
1633
  placeholder: "Search profiles...",
1622
1634
  value: searchQuery,
@@ -1892,7 +1904,7 @@ function ProfileFormDialog({
1892
1904
  /* @__PURE__ */ jsxs4("div", { children: [
1893
1905
  /* @__PURE__ */ jsx4("label", { className: "mb-1 block font-medium text-sm", children: "Name *" }),
1894
1906
  /* @__PURE__ */ jsx4(
1895
- Input,
1907
+ Input2,
1896
1908
  {
1897
1909
  value: formData.name,
1898
1910
  onChange: (e) => setFormData((d) => ({ ...d, name: e.target.value })),
@@ -1906,7 +1918,7 @@ function ProfileFormDialog({
1906
1918
  /* @__PURE__ */ jsxs4("div", { children: [
1907
1919
  /* @__PURE__ */ jsx4("label", { className: "mb-1 block font-medium text-sm", children: "Description" }),
1908
1920
  /* @__PURE__ */ jsx4(
1909
- Input,
1921
+ Input2,
1910
1922
  {
1911
1923
  value: formData.description,
1912
1924
  onChange: (e) => setFormData((d) => ({ ...d, description: e.target.value })),
@@ -1936,7 +1948,7 @@ function ProfileFormDialog({
1936
1948
  /* @__PURE__ */ jsxs4("div", { children: [
1937
1949
  /* @__PURE__ */ jsx4("label", { className: "mb-1 block font-medium text-sm", children: "Model" }),
1938
1950
  /* @__PURE__ */ jsx4(
1939
- Input,
1951
+ Input2,
1940
1952
  {
1941
1953
  value: formData.model,
1942
1954
  onChange: (e) => setFormData((d) => ({ ...d, model: e.target.value })),
@@ -1961,7 +1973,7 @@ function ProfileFormDialog({
1961
1973
  /* @__PURE__ */ jsxs4("div", { children: [
1962
1974
  /* @__PURE__ */ jsx4("label", { className: "mb-1 block font-medium text-sm", children: "Tags" }),
1963
1975
  /* @__PURE__ */ jsx4(
1964
- Input,
1976
+ Input2,
1965
1977
  {
1966
1978
  value: formData.tags?.join(", "),
1967
1979
  onChange: (e) => setFormData((d) => ({