@smilodon/core 1.3.3 → 1.3.5
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/README.md +192 -10
- package/dist/index.cjs +117 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +117 -72
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.umd.js +117 -72
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1672,19 +1672,19 @@
|
|
|
1672
1672
|
display: flex;
|
|
1673
1673
|
align-items: center;
|
|
1674
1674
|
flex-wrap: wrap;
|
|
1675
|
-
gap: 6px;
|
|
1676
|
-
padding: 6px 52px 6px 8px;
|
|
1677
|
-
min-height: 44px;
|
|
1678
|
-
background: white;
|
|
1679
|
-
border: 1px solid #d1d5db;
|
|
1680
|
-
border-radius: 6px;
|
|
1675
|
+
gap: var(--select-input-gap, 6px);
|
|
1676
|
+
padding: var(--select-input-padding, 6px 52px 6px 8px);
|
|
1677
|
+
min-height: var(--select-input-min-height, 44px);
|
|
1678
|
+
background: var(--select-input-bg, white);
|
|
1679
|
+
border: var(--select-input-border, 1px solid #d1d5db);
|
|
1680
|
+
border-radius: var(--select-input-border-radius, 6px);
|
|
1681
1681
|
box-sizing: border-box;
|
|
1682
1682
|
transition: all 0.2s ease;
|
|
1683
1683
|
}
|
|
1684
1684
|
|
|
1685
1685
|
.input-container:focus-within {
|
|
1686
|
-
border-color: #667eea;
|
|
1687
|
-
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
|
|
1686
|
+
border-color: var(--select-input-focus-border, #667eea);
|
|
1687
|
+
box-shadow: var(--select-input-focus-shadow, 0 0 0 3px rgba(102, 126, 234, 0.1));
|
|
1688
1688
|
}
|
|
1689
1689
|
|
|
1690
1690
|
/* Gradient separator before arrow */
|
|
@@ -1692,17 +1692,17 @@
|
|
|
1692
1692
|
content: '';
|
|
1693
1693
|
position: absolute;
|
|
1694
1694
|
top: 50%;
|
|
1695
|
-
right: 40px;
|
|
1695
|
+
right: var(--select-separator-position, 40px);
|
|
1696
1696
|
transform: translateY(-50%);
|
|
1697
|
-
width: 1px;
|
|
1698
|
-
height: 60
|
|
1699
|
-
background: linear-gradient(
|
|
1697
|
+
width: var(--select-separator-width, 1px);
|
|
1698
|
+
height: var(--select-separator-height, 60%);
|
|
1699
|
+
background: var(--select-separator-gradient, linear-gradient(
|
|
1700
1700
|
to bottom,
|
|
1701
1701
|
transparent 0%,
|
|
1702
1702
|
rgba(0, 0, 0, 0.1) 20%,
|
|
1703
1703
|
rgba(0, 0, 0, 0.1) 80%,
|
|
1704
1704
|
transparent 100%
|
|
1705
|
-
);
|
|
1705
|
+
));
|
|
1706
1706
|
pointer-events: none;
|
|
1707
1707
|
z-index: 1;
|
|
1708
1708
|
}
|
|
@@ -1712,30 +1712,30 @@
|
|
|
1712
1712
|
top: 0;
|
|
1713
1713
|
right: 0;
|
|
1714
1714
|
bottom: 0;
|
|
1715
|
-
width: 40px;
|
|
1715
|
+
width: var(--select-arrow-width, 40px);
|
|
1716
1716
|
display: flex;
|
|
1717
1717
|
align-items: center;
|
|
1718
1718
|
justify-content: center;
|
|
1719
1719
|
cursor: pointer;
|
|
1720
1720
|
transition: background-color 0.2s ease;
|
|
1721
|
-
border-radius: 0 4px 4px 0;
|
|
1721
|
+
border-radius: var(--select-arrow-border-radius, 0 4px 4px 0);
|
|
1722
1722
|
z-index: 2;
|
|
1723
1723
|
}
|
|
1724
1724
|
|
|
1725
1725
|
.dropdown-arrow-container:hover {
|
|
1726
|
-
background-color: rgba(102, 126, 234, 0.08);
|
|
1726
|
+
background-color: var(--select-arrow-hover-bg, rgba(102, 126, 234, 0.08));
|
|
1727
1727
|
}
|
|
1728
1728
|
|
|
1729
1729
|
.dropdown-arrow {
|
|
1730
|
-
width: 16px;
|
|
1731
|
-
height: 16px;
|
|
1732
|
-
color: #667eea;
|
|
1730
|
+
width: var(--select-arrow-size, 16px);
|
|
1731
|
+
height: var(--select-arrow-size, 16px);
|
|
1732
|
+
color: var(--select-arrow-color, #667eea);
|
|
1733
1733
|
transition: transform 0.2s ease, color 0.2s ease;
|
|
1734
1734
|
transform: translateY(0);
|
|
1735
1735
|
}
|
|
1736
1736
|
|
|
1737
1737
|
.dropdown-arrow-container:hover .dropdown-arrow {
|
|
1738
|
-
color: #667eea;
|
|
1738
|
+
color: var(--select-arrow-hover-color, #667eea);
|
|
1739
1739
|
}
|
|
1740
1740
|
|
|
1741
1741
|
.dropdown-arrow.open {
|
|
@@ -1744,31 +1744,32 @@
|
|
|
1744
1744
|
|
|
1745
1745
|
.select-input {
|
|
1746
1746
|
flex: 1;
|
|
1747
|
-
min-width: 120px;
|
|
1748
|
-
padding: 4px;
|
|
1747
|
+
min-width: var(--select-input-min-width, 120px);
|
|
1748
|
+
padding: var(--select-input-field-padding, 4px);
|
|
1749
1749
|
border: none;
|
|
1750
|
-
font-size: 14px;
|
|
1751
|
-
line-height: 1.5;
|
|
1752
|
-
color: #1f2937;
|
|
1750
|
+
font-size: var(--select-input-font-size, 14px);
|
|
1751
|
+
line-height: var(--select-input-line-height, 1.5);
|
|
1752
|
+
color: var(--select-input-color, #1f2937);
|
|
1753
1753
|
background: transparent;
|
|
1754
1754
|
box-sizing: border-box;
|
|
1755
1755
|
outline: none;
|
|
1756
|
+
font-family: var(--select-font-family, inherit);
|
|
1756
1757
|
}
|
|
1757
1758
|
|
|
1758
1759
|
.select-input::placeholder {
|
|
1759
|
-
color: #9ca3af;
|
|
1760
|
+
color: var(--select-input-placeholder-color, #9ca3af);
|
|
1760
1761
|
}
|
|
1761
1762
|
|
|
1762
1763
|
.selection-badge {
|
|
1763
1764
|
display: inline-flex;
|
|
1764
1765
|
align-items: center;
|
|
1765
|
-
gap: 4px;
|
|
1766
|
-
padding: 4px 8px;
|
|
1767
|
-
margin: 2px;
|
|
1768
|
-
background: #667eea;
|
|
1769
|
-
color: white;
|
|
1770
|
-
border-radius: 4px;
|
|
1771
|
-
font-size: 13px;
|
|
1766
|
+
gap: var(--select-badge-gap, 4px);
|
|
1767
|
+
padding: var(--select-badge-padding, 4px 8px);
|
|
1768
|
+
margin: var(--select-badge-margin, 2px);
|
|
1769
|
+
background: var(--select-badge-bg, #667eea);
|
|
1770
|
+
color: var(--select-badge-color, white);
|
|
1771
|
+
border-radius: var(--select-badge-border-radius, 4px);
|
|
1772
|
+
font-size: var(--select-badge-font-size, 13px);
|
|
1772
1773
|
line-height: 1;
|
|
1773
1774
|
}
|
|
1774
1775
|
|
|
@@ -1776,22 +1777,22 @@
|
|
|
1776
1777
|
display: inline-flex;
|
|
1777
1778
|
align-items: center;
|
|
1778
1779
|
justify-content: center;
|
|
1779
|
-
width: 16px;
|
|
1780
|
-
height: 16px;
|
|
1780
|
+
width: var(--select-badge-remove-size, 16px);
|
|
1781
|
+
height: var(--select-badge-remove-size, 16px);
|
|
1781
1782
|
padding: 0;
|
|
1782
1783
|
margin-left: 4px;
|
|
1783
|
-
background: rgba(255, 255, 255, 0.3);
|
|
1784
|
+
background: var(--select-badge-remove-bg, rgba(255, 255, 255, 0.3));
|
|
1784
1785
|
border: none;
|
|
1785
1786
|
border-radius: 50%;
|
|
1786
|
-
color: white;
|
|
1787
|
-
font-size: 16px;
|
|
1787
|
+
color: var(--select-badge-remove-color, white);
|
|
1788
|
+
font-size: var(--select-badge-remove-font-size, 16px);
|
|
1788
1789
|
line-height: 1;
|
|
1789
1790
|
cursor: pointer;
|
|
1790
1791
|
transition: background 0.2s;
|
|
1791
1792
|
}
|
|
1792
1793
|
|
|
1793
1794
|
.badge-remove:hover {
|
|
1794
|
-
background: rgba(255, 255, 255, 0.5);
|
|
1795
|
+
background: var(--select-badge-remove-hover-bg, rgba(255, 255, 255, 0.5));
|
|
1795
1796
|
}
|
|
1796
1797
|
|
|
1797
1798
|
.select-input:disabled {
|
|
@@ -1805,59 +1806,68 @@
|
|
|
1805
1806
|
top: 100%;
|
|
1806
1807
|
left: 0;
|
|
1807
1808
|
right: 0;
|
|
1808
|
-
margin-top: 4px;
|
|
1809
|
-
max-height: 300px;
|
|
1809
|
+
margin-top: var(--select-dropdown-margin-top, 4px);
|
|
1810
|
+
max-height: var(--select-dropdown-max-height, 300px);
|
|
1810
1811
|
overflow: hidden;
|
|
1811
1812
|
background: var(--select-dropdown-bg, white);
|
|
1812
|
-
border:
|
|
1813
|
-
border-radius: var(--select-border-radius, 4px);
|
|
1813
|
+
border: var(--select-dropdown-border, 1px solid #ccc);
|
|
1814
|
+
border-radius: var(--select-dropdown-border-radius, 4px);
|
|
1814
1815
|
box-shadow: var(--select-dropdown-shadow, 0 4px 6px rgba(0,0,0,0.1));
|
|
1815
1816
|
z-index: var(--select-dropdown-z-index, 1000);
|
|
1816
1817
|
}
|
|
1817
1818
|
|
|
1818
1819
|
.options-container {
|
|
1819
1820
|
position: relative;
|
|
1820
|
-
max-height: 300px;
|
|
1821
|
+
max-height: var(--select-options-max-height, 300px);
|
|
1821
1822
|
overflow: auto;
|
|
1822
1823
|
transition: opacity 0.2s ease-in-out;
|
|
1824
|
+
background: var(--select-options-bg, white);
|
|
1823
1825
|
}
|
|
1824
1826
|
|
|
1825
1827
|
.option {
|
|
1826
|
-
padding: 8px 12px;
|
|
1828
|
+
padding: var(--select-option-padding, 8px 12px);
|
|
1827
1829
|
cursor: pointer;
|
|
1828
|
-
color:
|
|
1829
|
-
|
|
1830
|
+
color: var(--select-option-color, #1f2937);
|
|
1831
|
+
background: var(--select-option-bg, white);
|
|
1832
|
+
transition: var(--select-option-transition, background-color 0.15s ease);
|
|
1830
1833
|
user-select: none;
|
|
1834
|
+
font-size: var(--select-option-font-size, 14px);
|
|
1835
|
+
line-height: var(--select-option-line-height, 1.5);
|
|
1836
|
+
border-bottom: var(--select-option-border-bottom, none);
|
|
1831
1837
|
}
|
|
1832
1838
|
|
|
1833
1839
|
.option:hover {
|
|
1834
|
-
background-color: #f3f4f6;
|
|
1840
|
+
background-color: var(--select-option-hover-bg, #f3f4f6);
|
|
1841
|
+
color: var(--select-option-hover-color, #1f2937);
|
|
1835
1842
|
}
|
|
1836
1843
|
|
|
1837
1844
|
.option.selected {
|
|
1838
|
-
background-color: #e0e7ff;
|
|
1839
|
-
color: #4338ca;
|
|
1840
|
-
font-weight: 500;
|
|
1845
|
+
background-color: var(--select-option-selected-bg, #e0e7ff);
|
|
1846
|
+
color: var(--select-option-selected-color, #4338ca);
|
|
1847
|
+
font-weight: var(--select-option-selected-weight, 500);
|
|
1841
1848
|
}
|
|
1842
1849
|
|
|
1843
1850
|
.option.active {
|
|
1844
|
-
background-color: #f3f4f6;
|
|
1851
|
+
background-color: var(--select-option-active-bg, #f3f4f6);
|
|
1852
|
+
color: var(--select-option-active-color, #1f2937);
|
|
1845
1853
|
}
|
|
1846
1854
|
|
|
1847
1855
|
.load-more-container {
|
|
1848
|
-
padding: 12px;
|
|
1856
|
+
padding: var(--select-load-more-padding, 12px);
|
|
1849
1857
|
text-align: center;
|
|
1850
|
-
border-top:
|
|
1858
|
+
border-top: var(--select-divider-border, 1px solid #e0e0e0);
|
|
1859
|
+
background: var(--select-load-more-bg, white);
|
|
1851
1860
|
}
|
|
1852
1861
|
|
|
1853
1862
|
.load-more-button {
|
|
1854
|
-
padding: 8px 16px;
|
|
1855
|
-
border:
|
|
1863
|
+
padding: var(--select-button-padding, 8px 16px);
|
|
1864
|
+
border: var(--select-button-border, 1px solid #1976d2);
|
|
1856
1865
|
background: var(--select-button-bg, white);
|
|
1857
1866
|
color: var(--select-button-color, #1976d2);
|
|
1858
|
-
border-radius: 4px;
|
|
1867
|
+
border-radius: var(--select-button-border-radius, 4px);
|
|
1859
1868
|
cursor: pointer;
|
|
1860
|
-
font-size: 14px;
|
|
1869
|
+
font-size: var(--select-button-font-size, 14px);
|
|
1870
|
+
font-family: var(--select-font-family, inherit);
|
|
1861
1871
|
transition: all 0.2s ease;
|
|
1862
1872
|
}
|
|
1863
1873
|
|
|
@@ -1867,21 +1877,23 @@
|
|
|
1867
1877
|
}
|
|
1868
1878
|
|
|
1869
1879
|
.load-more-button:disabled {
|
|
1870
|
-
opacity: 0.5;
|
|
1880
|
+
opacity: var(--select-button-disabled-opacity, 0.5);
|
|
1871
1881
|
cursor: not-allowed;
|
|
1872
1882
|
}
|
|
1873
1883
|
|
|
1874
1884
|
.busy-bucket {
|
|
1875
|
-
padding: 16px;
|
|
1885
|
+
padding: var(--select-busy-padding, 16px);
|
|
1876
1886
|
text-align: center;
|
|
1877
1887
|
color: var(--select-busy-color, #666);
|
|
1888
|
+
background: var(--select-busy-bg, white);
|
|
1889
|
+
font-size: var(--select-busy-font-size, 14px);
|
|
1878
1890
|
}
|
|
1879
1891
|
|
|
1880
1892
|
.spinner {
|
|
1881
1893
|
display: inline-block;
|
|
1882
|
-
width: 20px;
|
|
1883
|
-
height: 20px;
|
|
1884
|
-
border:
|
|
1894
|
+
width: var(--select-spinner-size, 20px);
|
|
1895
|
+
height: var(--select-spinner-size, 20px);
|
|
1896
|
+
border: var(--select-spinner-border, 2px solid #ccc);
|
|
1885
1897
|
border-top-color: var(--select-spinner-active-color, #1976d2);
|
|
1886
1898
|
border-radius: 50%;
|
|
1887
1899
|
animation: spin 0.6s linear infinite;
|
|
@@ -1892,16 +1904,20 @@
|
|
|
1892
1904
|
}
|
|
1893
1905
|
|
|
1894
1906
|
.empty-state {
|
|
1895
|
-
padding: 24px;
|
|
1907
|
+
padding: var(--select-empty-padding, 24px);
|
|
1896
1908
|
text-align: center;
|
|
1897
1909
|
color: var(--select-empty-color, #999);
|
|
1910
|
+
font-size: var(--select-empty-font-size, 14px);
|
|
1911
|
+
background: var(--select-empty-bg, white);
|
|
1898
1912
|
}
|
|
1899
1913
|
|
|
1900
1914
|
.searching-state {
|
|
1901
|
-
padding: 24px;
|
|
1915
|
+
padding: var(--select-searching-padding, 24px);
|
|
1902
1916
|
text-align: center;
|
|
1903
|
-
color: #667eea;
|
|
1917
|
+
color: var(--select-searching-color, #667eea);
|
|
1918
|
+
font-size: var(--select-searching-font-size, 14px);
|
|
1904
1919
|
font-style: italic;
|
|
1920
|
+
background: var(--select-searching-bg, white);
|
|
1905
1921
|
animation: pulse 1.5s ease-in-out infinite;
|
|
1906
1922
|
}
|
|
1907
1923
|
|
|
@@ -1930,22 +1946,39 @@
|
|
|
1930
1946
|
}
|
|
1931
1947
|
}
|
|
1932
1948
|
|
|
1933
|
-
/*
|
|
1934
|
-
|
|
1935
|
-
|
|
1949
|
+
/* Dark mode - Opt-in via class or data attribute */
|
|
1950
|
+
:host(.dark-mode),
|
|
1951
|
+
:host([data-theme="dark"]) {
|
|
1952
|
+
.input-container {
|
|
1936
1953
|
background: var(--select-dark-bg, #1f2937);
|
|
1937
|
-
color: var(--select-dark-text, #f9fafb);
|
|
1938
1954
|
border-color: var(--select-dark-border, #4b5563);
|
|
1939
1955
|
}
|
|
1940
1956
|
|
|
1957
|
+
.select-input {
|
|
1958
|
+
color: var(--select-dark-text, #f9fafb);
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
.select-input::placeholder {
|
|
1962
|
+
color: var(--select-dark-placeholder, #6b7280);
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1941
1965
|
.select-dropdown {
|
|
1942
1966
|
background: var(--select-dark-dropdown-bg, #1f2937);
|
|
1943
1967
|
border-color: var(--select-dark-dropdown-border, #4b5563);
|
|
1944
|
-
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
.options-container {
|
|
1971
|
+
background: var(--select-dark-options-bg, #1f2937);
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1974
|
+
.option {
|
|
1975
|
+
color: var(--select-dark-option-color, #f9fafb);
|
|
1976
|
+
background: var(--select-dark-option-bg, #1f2937);
|
|
1945
1977
|
}
|
|
1946
1978
|
|
|
1947
1979
|
.option:hover {
|
|
1948
1980
|
background-color: var(--select-dark-option-hover-bg, #374151);
|
|
1981
|
+
color: var(--select-dark-option-hover-color, #f9fafb);
|
|
1949
1982
|
}
|
|
1950
1983
|
|
|
1951
1984
|
.option.selected {
|
|
@@ -1955,11 +1988,23 @@
|
|
|
1955
1988
|
|
|
1956
1989
|
.option.active {
|
|
1957
1990
|
background-color: var(--select-dark-option-active-bg, #374151);
|
|
1991
|
+
color: var(--select-dark-option-active-color, #f9fafb);
|
|
1958
1992
|
}
|
|
1959
1993
|
|
|
1960
|
-
.busy-bucket
|
|
1994
|
+
.busy-bucket,
|
|
1995
|
+
.empty-state {
|
|
1961
1996
|
color: var(--select-dark-busy-color, #9ca3af);
|
|
1962
1997
|
}
|
|
1998
|
+
|
|
1999
|
+
.input-container::after {
|
|
2000
|
+
background: linear-gradient(
|
|
2001
|
+
to bottom,
|
|
2002
|
+
transparent 0%,
|
|
2003
|
+
rgba(255, 255, 255, 0.1) 20%,
|
|
2004
|
+
rgba(255, 255, 255, 0.1) 80%,
|
|
2005
|
+
transparent 100%
|
|
2006
|
+
);
|
|
2007
|
+
}
|
|
1963
2008
|
}
|
|
1964
2009
|
|
|
1965
2010
|
/* Accessibility: High contrast mode */
|