@youcan/celeste 0.6.20 → 0.6.21

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/celeste.css CHANGED
@@ -594,26 +594,20 @@ to {
594
594
  }
595
595
  .celeste-text-input-button[inline=true][data-v-82489224]:hover {
596
596
  background-color: transparent !important;
597
- }.celeste-text-input-affix[data-v-a78ff6e3] {
597
+ }.celeste-text-input-affix[data-v-d015986a] {
598
598
  display: flex;
599
599
  align-items: center;
600
600
  height: calc(var(--input-height) - var(--spacing-2));
601
601
  color: var(--color-text-sub-600);
602
602
  }
603
- .celeste-text-input-affix[variant=prefix][data-v-a78ff6e3] {
603
+ .celeste-text-input-affix[variant=prefix][data-v-d015986a] {
604
604
  order: -1;
605
- border-end-start-radius: var(--input-radius);
606
- border-start-start-radius: var(--input-radius);
607
605
  }
608
- .celeste-text-input-affix[variant=suffix][data-v-a78ff6e3] {
609
- border-end-end-radius: var(--input-radius);
610
- border-start-end-radius: var(--input-radius);
611
- }
612
- .celeste-text-input-affix[inline=false][data-v-a78ff6e3] {
606
+ .celeste-text-input-affix[inline=false][data-v-d015986a] {
613
607
  padding-inline: var(--spacing-10);
614
- background-color: var(--color-bg-white-0);
608
+ background-color: transparent;
615
609
  }
616
- .celeste-text-input-affix[askbd=true][data-v-a78ff6e3] {
610
+ .celeste-text-input-affix[askbd=true][data-v-d015986a] {
617
611
  width: -moz-fit-content;
618
612
  width: fit-content;
619
613
  height: -moz-fit-content;
@@ -1698,45 +1692,45 @@ to {
1698
1692
  .celeste-dropdown-items-group[data-v-66b5c9e4] [data-radix-vue-combobox-item] {
1699
1693
  width: auto;
1700
1694
  height: auto;
1701
- }.celeste-text-input-wrapper[data-v-105e81d6] {
1695
+ }.celeste-text-input-wrapper[data-v-a9e9157b] {
1696
+ --celeste-input-wrapper-border-color: var(--color-stroke-soft-200);
1702
1697
  display: flex;
1703
1698
  box-sizing: border-box;
1704
1699
  align-items: center;
1705
1700
  height: var(--input-height);
1706
1701
  padding-inline: calc(var(--input-padding) + var(--spacing-2)) var(--input-padding);
1707
1702
  transition: all var(--animation-fast) ease-out;
1708
- border: 1px solid var(--color-stroke-soft-200);
1709
1703
  border-radius: var(--input-radius);
1710
1704
  outline: 2px solid transparent;
1711
1705
  outline-offset: 2px;
1712
1706
  background-color: var(--color-bg-white-0);
1713
- box-shadow: var(--shadow-regular-xs);
1707
+ box-shadow: inset 0 0 0 1px var(--celeste-input-wrapper-border-color), var(--shadow-regular-xs);
1714
1708
  color: var(--color-text-strong-950);
1715
1709
  font: var(--paragraph-sm);
1716
1710
  gap: var(--input-gap);
1717
1711
  }
1718
- .celeste-text-input-wrapper[size=xs][data-v-105e81d6] {
1712
+ .celeste-text-input-wrapper[size=xs][data-v-a9e9157b] {
1719
1713
  --input-gap: 8px;
1720
1714
  --input-height: 32px;
1721
1715
  --input-radius: var(--radius-8);
1722
1716
  --input-padding: calc(var(--spacing-8) - var(--spacing-2));
1723
1717
  }
1724
- .celeste-text-input-wrapper[size=sm][data-v-105e81d6] {
1718
+ .celeste-text-input-wrapper[size=sm][data-v-a9e9157b] {
1725
1719
  --input-gap: 6px;
1726
1720
  --input-height: 36px;
1727
1721
  --input-radius: var(--radius-8);
1728
1722
  --input-padding: var(--spacing-8);
1729
1723
  }
1730
- .celeste-text-input-wrapper[size=md][data-v-105e81d6] {
1724
+ .celeste-text-input-wrapper[size=md][data-v-a9e9157b] {
1731
1725
  --input-gap: 6px;
1732
1726
  --input-height: 40px;
1733
1727
  --input-radius: var(--radius-10);
1734
1728
  --input-padding: var(--spacing-10);
1735
1729
  }
1736
- .celeste-text-input-wrapper[has-error=true][data-v-105e81d6] {
1737
- border-color: var(--color-state-error-base);
1730
+ .celeste-text-input-wrapper[has-error=true][data-v-a9e9157b] {
1731
+ --celeste-input-wrapper-border-color: var(--color-state-error-base);
1738
1732
  }
1739
- .celeste-text-input-wrapper .celeste-text-input[data-v-105e81d6] {
1733
+ .celeste-text-input-wrapper .celeste-text-input[data-v-a9e9157b] {
1740
1734
  width: 100%;
1741
1735
  height: 100%;
1742
1736
  padding: 0;
@@ -1746,90 +1740,90 @@ to {
1746
1740
  color: inherit;
1747
1741
  font: inherit;
1748
1742
  }
1749
- .celeste-text-input-wrapper .celeste-text-input[data-v-105e81d6]::-moz-placeholder {
1743
+ .celeste-text-input-wrapper .celeste-text-input[data-v-a9e9157b]::-moz-placeholder {
1750
1744
  -moz-transition: color var(--animation-fast) ease-out;
1751
1745
  transition: color var(--animation-fast) ease-out;
1752
1746
  color: var(--color-text-soft-400);
1753
1747
  }
1754
- .celeste-text-input-wrapper .celeste-text-input[data-v-105e81d6]::placeholder {
1748
+ .celeste-text-input-wrapper .celeste-text-input[data-v-a9e9157b]::placeholder {
1755
1749
  transition: color var(--animation-fast) ease-out;
1756
1750
  color: var(--color-text-soft-400);
1757
1751
  }
1758
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:focus) {
1759
- border-color: var(--color-stroke-strong-950);
1752
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:focus) {
1753
+ --celeste-input-wrapper-border-color: var(--color-stroke-strong-950);
1760
1754
  outline-color: var(--color-stroke-soft-200);
1761
1755
  }
1762
- .celeste-text-input-wrapper:has(.celeste-text-input:focus)[has-error=true][data-v-105e81d6] {
1763
- border-color: var(--color-state-error-base);
1756
+ .celeste-text-input-wrapper:has(.celeste-text-input:focus)[has-error=true][data-v-a9e9157b] {
1757
+ --celeste-input-wrapper-border-color: var(--color-state-error-base);
1764
1758
  outline-color: var(--color-state-error-lighter);
1765
1759
  }
1766
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:disabled) {
1767
- border-color: transparent;
1760
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:disabled) {
1761
+ --celeste-input-wrapper-border-color: transparent;
1768
1762
  background-color: var(--color-bg-weak-50);
1769
1763
  box-shadow: none;
1770
1764
  color: var(--color-text-disabled-300);
1771
1765
  pointer-events: none;
1772
1766
  }
1773
- .celeste-text-input-wrapper:has(.celeste-text-input:disabled) .celeste-text-input[data-v-105e81d6]::-moz-placeholder {
1767
+ .celeste-text-input-wrapper:has(.celeste-text-input:disabled) .celeste-text-input[data-v-a9e9157b]::-moz-placeholder {
1774
1768
  color: currentcolor;
1775
1769
  }
1776
- .celeste-text-input-wrapper:has(.celeste-text-input:disabled) .celeste-text-input[data-v-105e81d6]::placeholder {
1770
+ .celeste-text-input-wrapper:has(.celeste-text-input:disabled) .celeste-text-input[data-v-a9e9157b]::placeholder {
1777
1771
  color: currentcolor;
1778
1772
  }
1779
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:disabled) .celeste-text-input-icon {
1773
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:disabled) .celeste-text-input-icon {
1780
1774
  color: var(--color-icon-disabled-300);
1781
1775
  }
1782
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:disabled) .celeste-text-input-affix, .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:disabled) .celeste-text-input-button {
1776
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:disabled) .celeste-text-input-affix, .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:disabled) .celeste-text-input-button {
1783
1777
  background-color: var(--color-bg-weak-50) !important;
1784
1778
  color: var(--color-text-disabled-300);
1785
1779
  }
1786
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) {
1780
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) {
1787
1781
  gap: var(--spacing-0);
1788
1782
  padding-inline-end: var(--spacing-0);
1789
1783
  }
1790
- .celeste-text-input-wrapper:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-button[inline=false], .celeste-text-input-affix[variant=suffix]) .celeste-text-input[data-v-105e81d6] {
1784
+ .celeste-text-input-wrapper:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-button[inline=false], .celeste-text-input-affix[variant=suffix]) .celeste-text-input[data-v-a9e9157b] {
1791
1785
  padding-inline-end: var(--input-padding);
1792
- border-inline-end: 1px solid var(--color-stroke-soft-200);
1786
+ border-inline-end: 1px solid var(--celeste-input-wrapper-border-color);
1793
1787
  }
1794
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-affix[variant=prefix]) {
1788
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-affix[variant=prefix]) {
1795
1789
  padding-inline: var(--spacing-0) var(--input-padding);
1796
1790
  }
1797
- .celeste-text-input-wrapper:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-affix[variant=prefix]) .celeste-text-input[data-v-105e81d6] {
1791
+ .celeste-text-input-wrapper:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]):has(.celeste-text-input-affix[variant=prefix]) .celeste-text-input[data-v-a9e9157b] {
1798
1792
  padding-inline-start: var(--input-padding);
1799
- border-inline-start: 1px solid var(--color-stroke-soft-200);
1793
+ border-inline-start: 1px solid var(--celeste-input-wrapper-border-color);
1800
1794
  }
1801
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) .celeste-text-input-icon[position=start] {
1795
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) .celeste-text-input-icon[position=start] {
1802
1796
  margin-inline-end: var(--input-gap);
1803
1797
  }
1804
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) .celeste-text-input-icon[position=end] {
1798
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input-button, .celeste-text-input-affix[inline=false][askbd=false]) .celeste-text-input-icon[position=end] {
1805
1799
  margin-inline-start: var(--input-gap);
1806
1800
  }
1807
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:hover:not(:focus, :disabled)) {
1801
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:hover:not(:focus, :disabled)) {
1808
1802
  /* stylelint-disable-next-line no-descending-specificity */
1809
1803
  }
1810
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button, .celeste-text-input-affix)) {
1811
- border-color: transparent;
1804
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button, .celeste-text-input-affix)) {
1805
+ --celeste-input-wrapper-border-color: transparent;
1812
1806
  background-color: var(--color-bg-weak-50);
1813
1807
  }
1814
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:hover:not(:focus, :disabled)):has(.celeste-text-input-button:not(:hover), .celeste-text-input-affix:not(:hover)) {
1808
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:hover:not(:focus, :disabled)):has(.celeste-text-input-button:not(:hover), .celeste-text-input-affix:not(:hover)) {
1815
1809
  background-color: var(--color-bg-weak-50);
1816
1810
  }
1817
- .celeste-text-input-wrapper:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button:hover)) .celeste-text-input[data-v-105e81d6]::-moz-placeholder {
1811
+ .celeste-text-input-wrapper:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button:hover)) .celeste-text-input[data-v-a9e9157b]::-moz-placeholder {
1818
1812
  color: var(--color-text-sub-600);
1819
1813
  }
1820
- .celeste-text-input-wrapper:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button:hover)) .celeste-text-input[data-v-105e81d6]::placeholder {
1814
+ .celeste-text-input-wrapper:has(.celeste-text-input:hover:not(:focus, :disabled)):not(:has(.celeste-text-input-button:hover)) .celeste-text-input[data-v-a9e9157b]::placeholder {
1821
1815
  color: var(--color-text-sub-600);
1822
1816
  }
1823
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) {
1817
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) {
1824
1818
  /* stylelint-disable-next-line no-descending-specificity */
1825
1819
  }
1826
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:placeholder-shown:not(:disabled)) {
1820
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:placeholder-shown:not(:disabled)) {
1827
1821
  /* stylelint-disable-next-line no-descending-specificity */
1828
1822
  }
1829
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) .celeste-text-input-icon, .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) .celeste-text-input-affix {
1823
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) .celeste-text-input-icon, .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:-moz-placeholder:not(:disabled)) .celeste-text-input-affix {
1830
1824
  color: var(--color-text-soft-400);
1831
1825
  }
1832
- .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:placeholder-shown:not(:disabled)) .celeste-text-input-icon, .celeste-text-input-wrapper[data-v-105e81d6]:has(.celeste-text-input:placeholder-shown:not(:disabled)) .celeste-text-input-affix {
1826
+ .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:placeholder-shown:not(:disabled)) .celeste-text-input-icon, .celeste-text-input-wrapper[data-v-a9e9157b]:has(.celeste-text-input:placeholder-shown:not(:disabled)) .celeste-text-input-affix {
1833
1827
  color: var(--color-text-soft-400);
1834
1828
  }.celeste-dropdown-input[data-v-6de83486] {
1835
1829
  display: flex;
@@ -24,5 +24,5 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
24
24
  };
25
25
  }
26
26
  });
27
- const textInputAffix = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-a78ff6e3"]]);
27
+ const textInputAffix = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-d015986a"]]);
28
28
  module.exports = textInputAffix;
@@ -38,5 +38,5 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
38
38
  };
39
39
  }
40
40
  });
41
- const TextInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-105e81d6"]]);
41
+ const TextInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-a9e9157b"]]);
42
42
  module.exports = TextInput;
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
23
  };
24
24
  }
25
25
  });
26
- const textInputAffix = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a78ff6e3"]]);
26
+ const textInputAffix = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d015986a"]]);
27
27
  export {
28
28
  textInputAffix as default
29
29
  };
@@ -37,7 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  };
38
38
  }
39
39
  });
40
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-105e81d6"]]);
40
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a9e9157b"]]);
41
41
  export {
42
42
  TextInput as default
43
43
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@youcan/celeste",
3
3
  "type": "module",
4
- "version": "0.6.20",
4
+ "version": "0.6.21",
5
5
  "author": "YouCan <tech@youcan.shop>",
6
6
  "keywords": [
7
7
  "youcan",
@@ -32,8 +32,8 @@
32
32
  "clsx": "^2.1.1",
33
33
  "radix-vue": "^1.9.12",
34
34
  "tinycolor2": "^1.6.0",
35
- "@youcan/celeste-icons": "0.6.20",
36
- "@youcan/celeste-tokens": "0.6.20"
35
+ "@youcan/celeste-icons": "0.6.21",
36
+ "@youcan/celeste-tokens": "0.6.21"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@chromatic-com/storybook": "^4.0.0",
@@ -32,18 +32,11 @@ const delegatedProps = useDelegatedProps(props, 'class');
32
32
 
33
33
  &[variant='prefix'] {
34
34
  order: -1;
35
- border-end-start-radius: var(--input-radius);
36
- border-start-start-radius: var(--input-radius);
37
- }
38
-
39
- &[variant='suffix'] {
40
- border-end-end-radius: var(--input-radius);
41
- border-start-end-radius: var(--input-radius);
42
35
  }
43
36
 
44
37
  &[inline='false'] {
45
38
  padding-inline: var(--spacing-10);
46
- background-color: var(--color-bg-white-0);
39
+ background-color: transparent;
47
40
  }
48
41
 
49
42
  &[askbd='true'] {
@@ -38,18 +38,21 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
38
38
 
39
39
  <style scoped lang="scss">
40
40
  .celeste-text-input-wrapper {
41
+ --celeste-input-wrapper-border-color: var(--color-stroke-soft-200);
42
+
41
43
  display: flex;
42
44
  box-sizing: border-box;
43
45
  align-items: center;
44
46
  height: var(--input-height);
45
47
  padding-inline: calc(var(--input-padding) + var(--spacing-2)) var(--input-padding);
46
48
  transition: all var(--animation-fast) ease-out;
47
- border: 1px solid var(--color-stroke-soft-200);
48
49
  border-radius: var(--input-radius);
49
50
  outline: 2px solid transparent;
50
51
  outline-offset: 2px;
51
52
  background-color: var(--color-bg-white-0);
52
- box-shadow: var(--shadow-regular-xs);
53
+ box-shadow:
54
+ inset 0 0 0 1px var(--celeste-input-wrapper-border-color),
55
+ var(--shadow-regular-xs);
53
56
  color: var(--color-text-strong-950);
54
57
  font: var(--paragraph-sm);
55
58
  gap: var(--input-gap);
@@ -76,7 +79,7 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
76
79
  }
77
80
 
78
81
  &[has-error='true'] {
79
- border-color: var(--color-state-error-base);
82
+ --celeste-input-wrapper-border-color: var(--color-state-error-base);
80
83
  }
81
84
 
82
85
  .celeste-text-input {
@@ -96,17 +99,20 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
96
99
  }
97
100
 
98
101
  &:has(.celeste-text-input:focus) {
99
- border-color: var(--color-stroke-strong-950);
102
+ --celeste-input-wrapper-border-color: var(--color-stroke-strong-950);
103
+
100
104
  outline-color: var(--color-stroke-soft-200);
101
105
 
102
106
  &[has-error='true'] {
103
- border-color: var(--color-state-error-base);
107
+ --celeste-input-wrapper-border-color: var(--color-state-error-base);
108
+
104
109
  outline-color: var(--color-state-error-lighter);
105
110
  }
106
111
  }
107
112
 
108
113
  &:has(.celeste-text-input:disabled) {
109
- border-color: transparent;
114
+ --celeste-input-wrapper-border-color: transparent;
115
+
110
116
  background-color: var(--color-bg-weak-50);
111
117
  box-shadow: none;
112
118
  color: var(--color-text-disabled-300);
@@ -134,7 +140,7 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
134
140
  &:has(.celeste-text-input-button[inline='false'], .celeste-text-input-affix[variant='suffix']) {
135
141
  .celeste-text-input {
136
142
  padding-inline-end: var(--input-padding);
137
- border-inline-end: 1px solid var(--color-stroke-soft-200);
143
+ border-inline-end: 1px solid var(--celeste-input-wrapper-border-color);
138
144
  }
139
145
  }
140
146
 
@@ -143,7 +149,7 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
143
149
 
144
150
  .celeste-text-input {
145
151
  padding-inline-start: var(--input-padding);
146
- border-inline-start: 1px solid var(--color-stroke-soft-200);
152
+ border-inline-start: 1px solid var(--celeste-input-wrapper-border-color);
147
153
  }
148
154
  }
149
155
 
@@ -161,7 +167,8 @@ export interface TextInputProps extends /* @vue-ignore */ InputHTMLAttributes {
161
167
  &:has(.celeste-text-input:hover:not(:focus, :disabled)) {
162
168
  /* stylelint-disable-next-line no-descending-specificity */
163
169
  &:not(:has(.celeste-text-input-button, .celeste-text-input-affix)) {
164
- border-color: transparent;
170
+ --celeste-input-wrapper-border-color: transparent;
171
+
165
172
  background-color: var(--color-bg-weak-50);
166
173
  }
167
174