kaleido-ui 0.1.106 → 0.1.107

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.
@@ -3800,6 +3800,42 @@ function readableTagColor(color) {
3800
3800
  const luminance = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;
3801
3801
  return luminance < 0.45 ? `color-mix(in srgb, ${color} 45%, white)` : color;
3802
3802
  }
3803
+ var chipBaseClass = "shrink-0 rounded-full text-tiny font-bold uppercase tracking-wide shadow-inner transition-colors";
3804
+ var chipActiveClass = "bg-primary/[0.14] text-primary";
3805
+ var chipIdleClass = "bg-surface-card text-text-dimmed hover:text-white/75";
3806
+ function AssetSelectorNetworkMark({ network }) {
3807
+ return network.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("img", { src: network.iconUrl, alt: "", className: "size-4 shrink-0 rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold uppercase leading-none text-muted-foreground", children: network.label.charAt(0) });
3808
+ }
3809
+ function AssetSelectorNetworkFilterTrigger({
3810
+ activeNetworkOption,
3811
+ open,
3812
+ onClick
3813
+ }) {
3814
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3815
+ "button",
3816
+ {
3817
+ type: "button",
3818
+ onClick,
3819
+ className: cn(
3820
+ chipBaseClass,
3821
+ "flex items-center gap-1.5 py-1.5 pl-2 pr-2.5",
3822
+ activeNetworkOption || open ? chipActiveClass : chipIdleClass
3823
+ ),
3824
+ children: [
3825
+ activeNetworkOption && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssetSelectorNetworkMark, { network: activeNetworkOption }),
3826
+ activeNetworkOption ? activeNetworkOption.label : "All",
3827
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3828
+ Icon,
3829
+ {
3830
+ name: "expand_more",
3831
+ size: "xs",
3832
+ className: cn("shrink-0 transition-transform duration-200", open && "rotate-180")
3833
+ }
3834
+ )
3835
+ ]
3836
+ }
3837
+ );
3838
+ }
3803
3839
  function AssetSelector({
3804
3840
  label,
3805
3841
  selectedTicker,
@@ -3858,36 +3894,13 @@ function AssetSelector({
3858
3894
  disabled: option.id === disabledId || option.ticker === disabledTicker
3859
3895
  }));
3860
3896
  const categoryLabelById = new Map(categories.map((category) => [category.id, category.label]));
3861
- const chipBaseClass = "shrink-0 rounded-full text-tiny font-bold uppercase tracking-wide shadow-inner transition-colors";
3862
- const chipActiveClass = "bg-primary/[0.14] text-primary";
3863
- const chipIdleClass = "bg-surface-card text-text-dimmed hover:text-white/75";
3864
- const networkMark = (network) => network.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("img", { src: network.iconUrl, alt: "", className: "size-4 shrink-0 rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold uppercase leading-none text-muted-foreground", children: network.label.charAt(0) });
3865
3897
  const networkFilterButton = hasNetworkFilter && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative shrink-0", children: [
3866
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3867
- "button",
3898
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3899
+ AssetSelectorNetworkFilterTrigger,
3868
3900
  {
3869
- type: "button",
3870
- onClick: () => setNetworkMenuOpen((value) => !value),
3871
- className: cn(
3872
- chipBaseClass,
3873
- "flex items-center gap-1.5 py-1.5 pl-2 pr-2.5",
3874
- activeNetworkOption || networkMenuOpen ? chipActiveClass : chipIdleClass
3875
- ),
3876
- children: [
3877
- activeNetworkOption ? networkMark(activeNetworkOption) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { name: "hub", size: "xs", className: "shrink-0" }),
3878
- activeNetworkOption ? activeNetworkOption.label : "All",
3879
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3880
- Icon,
3881
- {
3882
- name: "expand_more",
3883
- size: "xs",
3884
- className: cn(
3885
- "shrink-0 transition-transform duration-200",
3886
- networkMenuOpen && "rotate-180"
3887
- )
3888
- }
3889
- )
3890
- ]
3901
+ activeNetworkOption,
3902
+ open: networkMenuOpen,
3903
+ onClick: () => setNetworkMenuOpen((value) => !value)
3891
3904
  }
3892
3905
  ),
3893
3906
  networkMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "absolute right-0 top-full z-10 mt-1.5 w-48 overflow-hidden rounded-xl border border-white/[0.08] bg-popover shadow-popover", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "max-h-60 overflow-y-auto p-1", children: [
@@ -3925,7 +3938,7 @@ function AssetSelector({
3925
3938
  isActive ? "bg-primary/[0.14] text-primary" : "text-white/75 hover:bg-accent hover:text-white"
3926
3939
  ),
3927
3940
  children: [
3928
- networkMark(network),
3941
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssetSelectorNetworkMark, { network }),
3929
3942
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: network.label }),
3930
3943
  isActive && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { name: "check", size: "xs", className: "shrink-0 text-primary" })
3931
3944
  ]
package/dist/web/index.js CHANGED
@@ -3618,6 +3618,42 @@ function readableTagColor(color) {
3618
3618
  const luminance = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;
3619
3619
  return luminance < 0.45 ? `color-mix(in srgb, ${color} 45%, white)` : color;
3620
3620
  }
3621
+ var chipBaseClass = "shrink-0 rounded-full text-tiny font-bold uppercase tracking-wide shadow-inner transition-colors";
3622
+ var chipActiveClass = "bg-primary/[0.14] text-primary";
3623
+ var chipIdleClass = "bg-surface-card text-text-dimmed hover:text-white/75";
3624
+ function AssetSelectorNetworkMark({ network }) {
3625
+ return network.iconUrl ? /* @__PURE__ */ jsx38("img", { src: network.iconUrl, alt: "", className: "size-4 shrink-0 rounded-full" }) : /* @__PURE__ */ jsx38("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold uppercase leading-none text-muted-foreground", children: network.label.charAt(0) });
3626
+ }
3627
+ function AssetSelectorNetworkFilterTrigger({
3628
+ activeNetworkOption,
3629
+ open,
3630
+ onClick
3631
+ }) {
3632
+ return /* @__PURE__ */ jsxs25(
3633
+ "button",
3634
+ {
3635
+ type: "button",
3636
+ onClick,
3637
+ className: cn(
3638
+ chipBaseClass,
3639
+ "flex items-center gap-1.5 py-1.5 pl-2 pr-2.5",
3640
+ activeNetworkOption || open ? chipActiveClass : chipIdleClass
3641
+ ),
3642
+ children: [
3643
+ activeNetworkOption && /* @__PURE__ */ jsx38(AssetSelectorNetworkMark, { network: activeNetworkOption }),
3644
+ activeNetworkOption ? activeNetworkOption.label : "All",
3645
+ /* @__PURE__ */ jsx38(
3646
+ Icon,
3647
+ {
3648
+ name: "expand_more",
3649
+ size: "xs",
3650
+ className: cn("shrink-0 transition-transform duration-200", open && "rotate-180")
3651
+ }
3652
+ )
3653
+ ]
3654
+ }
3655
+ );
3656
+ }
3621
3657
  function AssetSelector({
3622
3658
  label,
3623
3659
  selectedTicker,
@@ -3676,36 +3712,13 @@ function AssetSelector({
3676
3712
  disabled: option.id === disabledId || option.ticker === disabledTicker
3677
3713
  }));
3678
3714
  const categoryLabelById = new Map(categories.map((category) => [category.id, category.label]));
3679
- const chipBaseClass = "shrink-0 rounded-full text-tiny font-bold uppercase tracking-wide shadow-inner transition-colors";
3680
- const chipActiveClass = "bg-primary/[0.14] text-primary";
3681
- const chipIdleClass = "bg-surface-card text-text-dimmed hover:text-white/75";
3682
- const networkMark = (network) => network.iconUrl ? /* @__PURE__ */ jsx38("img", { src: network.iconUrl, alt: "", className: "size-4 shrink-0 rounded-full" }) : /* @__PURE__ */ jsx38("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-xxs font-bold uppercase leading-none text-muted-foreground", children: network.label.charAt(0) });
3683
3715
  const networkFilterButton = hasNetworkFilter && /* @__PURE__ */ jsxs25("div", { className: "relative shrink-0", children: [
3684
- /* @__PURE__ */ jsxs25(
3685
- "button",
3716
+ /* @__PURE__ */ jsx38(
3717
+ AssetSelectorNetworkFilterTrigger,
3686
3718
  {
3687
- type: "button",
3688
- onClick: () => setNetworkMenuOpen((value) => !value),
3689
- className: cn(
3690
- chipBaseClass,
3691
- "flex items-center gap-1.5 py-1.5 pl-2 pr-2.5",
3692
- activeNetworkOption || networkMenuOpen ? chipActiveClass : chipIdleClass
3693
- ),
3694
- children: [
3695
- activeNetworkOption ? networkMark(activeNetworkOption) : /* @__PURE__ */ jsx38(Icon, { name: "hub", size: "xs", className: "shrink-0" }),
3696
- activeNetworkOption ? activeNetworkOption.label : "All",
3697
- /* @__PURE__ */ jsx38(
3698
- Icon,
3699
- {
3700
- name: "expand_more",
3701
- size: "xs",
3702
- className: cn(
3703
- "shrink-0 transition-transform duration-200",
3704
- networkMenuOpen && "rotate-180"
3705
- )
3706
- }
3707
- )
3708
- ]
3719
+ activeNetworkOption,
3720
+ open: networkMenuOpen,
3721
+ onClick: () => setNetworkMenuOpen((value) => !value)
3709
3722
  }
3710
3723
  ),
3711
3724
  networkMenuOpen && /* @__PURE__ */ jsx38("div", { className: "absolute right-0 top-full z-10 mt-1.5 w-48 overflow-hidden rounded-xl border border-white/[0.08] bg-popover shadow-popover", children: /* @__PURE__ */ jsxs25("div", { className: "max-h-60 overflow-y-auto p-1", children: [
@@ -3743,7 +3756,7 @@ function AssetSelector({
3743
3756
  isActive ? "bg-primary/[0.14] text-primary" : "text-white/75 hover:bg-accent hover:text-white"
3744
3757
  ),
3745
3758
  children: [
3746
- networkMark(network),
3759
+ /* @__PURE__ */ jsx38(AssetSelectorNetworkMark, { network }),
3747
3760
  /* @__PURE__ */ jsx38("span", { className: "min-w-0 flex-1 truncate text-left", children: network.label }),
3748
3761
  isActive && /* @__PURE__ */ jsx38(Icon, { name: "check", size: "xs", className: "shrink-0 text-primary" })
3749
3762
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaleido-ui",
3
- "version": "0.1.106",
3
+ "version": "0.1.107",
4
4
  "description": "KaleidoSwap shared UI library — design tokens, web components (Tailwind + Radix), and React Native components extending WDK UI Kit",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -43,6 +43,7 @@
43
43
  "showcase": "vite --config showcase/vite.config.ts",
44
44
  "showcase:build": "npm run generate:css && vite build --config showcase/vite.config.ts",
45
45
  "type-check": "tsc --noEmit",
46
+ "test": "node --import tsx --test tests/*.test.tsx",
46
47
  "clean": "rm -rf dist"
47
48
  },
48
49
  "dependencies": {