@smilodon/core 1.3.4 → 1.3.6
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 +269 -10
- package/dist/index.cjs +72 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +72 -60
- 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 +72 -60
- 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.js
CHANGED
|
@@ -1666,19 +1666,19 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1666
1666
|
display: flex;
|
|
1667
1667
|
align-items: center;
|
|
1668
1668
|
flex-wrap: wrap;
|
|
1669
|
-
gap: 6px;
|
|
1670
|
-
padding: 6px 52px 6px 8px;
|
|
1671
|
-
min-height: 44px;
|
|
1672
|
-
background: white;
|
|
1673
|
-
border: 1px solid #d1d5db;
|
|
1674
|
-
border-radius: 6px;
|
|
1669
|
+
gap: var(--select-input-gap, 6px);
|
|
1670
|
+
padding: var(--select-input-padding, 6px 52px 6px 8px);
|
|
1671
|
+
min-height: var(--select-input-min-height, 44px);
|
|
1672
|
+
background: var(--select-input-bg, white);
|
|
1673
|
+
border: var(--select-input-border, 1px solid #d1d5db);
|
|
1674
|
+
border-radius: var(--select-input-border-radius, 6px);
|
|
1675
1675
|
box-sizing: border-box;
|
|
1676
1676
|
transition: all 0.2s ease;
|
|
1677
1677
|
}
|
|
1678
1678
|
|
|
1679
1679
|
.input-container:focus-within {
|
|
1680
|
-
border-color: #667eea;
|
|
1681
|
-
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
|
|
1680
|
+
border-color: var(--select-input-focus-border, #667eea);
|
|
1681
|
+
box-shadow: var(--select-input-focus-shadow, 0 0 0 3px rgba(102, 126, 234, 0.1));
|
|
1682
1682
|
}
|
|
1683
1683
|
|
|
1684
1684
|
/* Gradient separator before arrow */
|
|
@@ -1686,17 +1686,17 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1686
1686
|
content: '';
|
|
1687
1687
|
position: absolute;
|
|
1688
1688
|
top: 50%;
|
|
1689
|
-
right: 40px;
|
|
1689
|
+
right: var(--select-separator-position, 40px);
|
|
1690
1690
|
transform: translateY(-50%);
|
|
1691
|
-
width: 1px;
|
|
1692
|
-
height: 60
|
|
1693
|
-
background: linear-gradient(
|
|
1691
|
+
width: var(--select-separator-width, 1px);
|
|
1692
|
+
height: var(--select-separator-height, 60%);
|
|
1693
|
+
background: var(--select-separator-gradient, linear-gradient(
|
|
1694
1694
|
to bottom,
|
|
1695
1695
|
transparent 0%,
|
|
1696
1696
|
rgba(0, 0, 0, 0.1) 20%,
|
|
1697
1697
|
rgba(0, 0, 0, 0.1) 80%,
|
|
1698
1698
|
transparent 100%
|
|
1699
|
-
);
|
|
1699
|
+
));
|
|
1700
1700
|
pointer-events: none;
|
|
1701
1701
|
z-index: 1;
|
|
1702
1702
|
}
|
|
@@ -1706,30 +1706,30 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1706
1706
|
top: 0;
|
|
1707
1707
|
right: 0;
|
|
1708
1708
|
bottom: 0;
|
|
1709
|
-
width: 40px;
|
|
1709
|
+
width: var(--select-arrow-width, 40px);
|
|
1710
1710
|
display: flex;
|
|
1711
1711
|
align-items: center;
|
|
1712
1712
|
justify-content: center;
|
|
1713
1713
|
cursor: pointer;
|
|
1714
1714
|
transition: background-color 0.2s ease;
|
|
1715
|
-
border-radius: 0 4px 4px 0;
|
|
1715
|
+
border-radius: var(--select-arrow-border-radius, 0 4px 4px 0);
|
|
1716
1716
|
z-index: 2;
|
|
1717
1717
|
}
|
|
1718
1718
|
|
|
1719
1719
|
.dropdown-arrow-container:hover {
|
|
1720
|
-
background-color: rgba(102, 126, 234, 0.08);
|
|
1720
|
+
background-color: var(--select-arrow-hover-bg, rgba(102, 126, 234, 0.08));
|
|
1721
1721
|
}
|
|
1722
1722
|
|
|
1723
1723
|
.dropdown-arrow {
|
|
1724
|
-
width: 16px;
|
|
1725
|
-
height: 16px;
|
|
1726
|
-
color: #667eea;
|
|
1724
|
+
width: var(--select-arrow-size, 16px);
|
|
1725
|
+
height: var(--select-arrow-size, 16px);
|
|
1726
|
+
color: var(--select-arrow-color, #667eea);
|
|
1727
1727
|
transition: transform 0.2s ease, color 0.2s ease;
|
|
1728
1728
|
transform: translateY(0);
|
|
1729
1729
|
}
|
|
1730
1730
|
|
|
1731
1731
|
.dropdown-arrow-container:hover .dropdown-arrow {
|
|
1732
|
-
color: #667eea;
|
|
1732
|
+
color: var(--select-arrow-hover-color, #667eea);
|
|
1733
1733
|
}
|
|
1734
1734
|
|
|
1735
1735
|
.dropdown-arrow.open {
|
|
@@ -1738,31 +1738,32 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1738
1738
|
|
|
1739
1739
|
.select-input {
|
|
1740
1740
|
flex: 1;
|
|
1741
|
-
min-width: 120px;
|
|
1742
|
-
padding: 4px;
|
|
1741
|
+
min-width: var(--select-input-min-width, 120px);
|
|
1742
|
+
padding: var(--select-input-field-padding, 4px);
|
|
1743
1743
|
border: none;
|
|
1744
|
-
font-size: 14px;
|
|
1745
|
-
line-height: 1.5;
|
|
1746
|
-
color: #1f2937;
|
|
1744
|
+
font-size: var(--select-input-font-size, 14px);
|
|
1745
|
+
line-height: var(--select-input-line-height, 1.5);
|
|
1746
|
+
color: var(--select-input-color, #1f2937);
|
|
1747
1747
|
background: transparent;
|
|
1748
1748
|
box-sizing: border-box;
|
|
1749
1749
|
outline: none;
|
|
1750
|
+
font-family: var(--select-font-family, inherit);
|
|
1750
1751
|
}
|
|
1751
1752
|
|
|
1752
1753
|
.select-input::placeholder {
|
|
1753
|
-
color: #9ca3af;
|
|
1754
|
+
color: var(--select-input-placeholder-color, #9ca3af);
|
|
1754
1755
|
}
|
|
1755
1756
|
|
|
1756
1757
|
.selection-badge {
|
|
1757
1758
|
display: inline-flex;
|
|
1758
1759
|
align-items: center;
|
|
1759
|
-
gap: 4px;
|
|
1760
|
-
padding: 4px 8px;
|
|
1761
|
-
margin: 2px;
|
|
1762
|
-
background: #667eea;
|
|
1763
|
-
color: white;
|
|
1764
|
-
border-radius: 4px;
|
|
1765
|
-
font-size: 13px;
|
|
1760
|
+
gap: var(--select-badge-gap, 4px);
|
|
1761
|
+
padding: var(--select-badge-padding, 4px 8px);
|
|
1762
|
+
margin: var(--select-badge-margin, 2px);
|
|
1763
|
+
background: var(--select-badge-bg, #667eea);
|
|
1764
|
+
color: var(--select-badge-color, white);
|
|
1765
|
+
border-radius: var(--select-badge-border-radius, 4px);
|
|
1766
|
+
font-size: var(--select-badge-font-size, 13px);
|
|
1766
1767
|
line-height: 1;
|
|
1767
1768
|
}
|
|
1768
1769
|
|
|
@@ -1770,22 +1771,22 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1770
1771
|
display: inline-flex;
|
|
1771
1772
|
align-items: center;
|
|
1772
1773
|
justify-content: center;
|
|
1773
|
-
width: 16px;
|
|
1774
|
-
height: 16px;
|
|
1774
|
+
width: var(--select-badge-remove-size, 16px);
|
|
1775
|
+
height: var(--select-badge-remove-size, 16px);
|
|
1775
1776
|
padding: 0;
|
|
1776
1777
|
margin-left: 4px;
|
|
1777
|
-
background: rgba(255, 255, 255, 0.3);
|
|
1778
|
+
background: var(--select-badge-remove-bg, rgba(255, 255, 255, 0.3));
|
|
1778
1779
|
border: none;
|
|
1779
1780
|
border-radius: 50%;
|
|
1780
|
-
color: white;
|
|
1781
|
-
font-size: 16px;
|
|
1781
|
+
color: var(--select-badge-remove-color, white);
|
|
1782
|
+
font-size: var(--select-badge-remove-font-size, 16px);
|
|
1782
1783
|
line-height: 1;
|
|
1783
1784
|
cursor: pointer;
|
|
1784
1785
|
transition: background 0.2s;
|
|
1785
1786
|
}
|
|
1786
1787
|
|
|
1787
1788
|
.badge-remove:hover {
|
|
1788
|
-
background: rgba(255, 255, 255, 0.5);
|
|
1789
|
+
background: var(--select-badge-remove-hover-bg, rgba(255, 255, 255, 0.5));
|
|
1789
1790
|
}
|
|
1790
1791
|
|
|
1791
1792
|
.select-input:disabled {
|
|
@@ -1799,19 +1800,19 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1799
1800
|
top: 100%;
|
|
1800
1801
|
left: 0;
|
|
1801
1802
|
right: 0;
|
|
1802
|
-
margin-top: 4px;
|
|
1803
|
-
max-height: 300px;
|
|
1803
|
+
margin-top: var(--select-dropdown-margin-top, 4px);
|
|
1804
|
+
max-height: var(--select-dropdown-max-height, 300px);
|
|
1804
1805
|
overflow: hidden;
|
|
1805
1806
|
background: var(--select-dropdown-bg, white);
|
|
1806
|
-
border:
|
|
1807
|
-
border-radius: var(--select-border-radius, 4px);
|
|
1807
|
+
border: var(--select-dropdown-border, 1px solid #ccc);
|
|
1808
|
+
border-radius: var(--select-dropdown-border-radius, 4px);
|
|
1808
1809
|
box-shadow: var(--select-dropdown-shadow, 0 4px 6px rgba(0,0,0,0.1));
|
|
1809
1810
|
z-index: var(--select-dropdown-z-index, 1000);
|
|
1810
1811
|
}
|
|
1811
1812
|
|
|
1812
1813
|
.options-container {
|
|
1813
1814
|
position: relative;
|
|
1814
|
-
max-height: 300px;
|
|
1815
|
+
max-height: var(--select-options-max-height, 300px);
|
|
1815
1816
|
overflow: auto;
|
|
1816
1817
|
transition: opacity 0.2s ease-in-out;
|
|
1817
1818
|
background: var(--select-options-bg, white);
|
|
@@ -1822,8 +1823,11 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1822
1823
|
cursor: pointer;
|
|
1823
1824
|
color: var(--select-option-color, #1f2937);
|
|
1824
1825
|
background: var(--select-option-bg, white);
|
|
1825
|
-
transition: background-color 0.15s ease;
|
|
1826
|
+
transition: var(--select-option-transition, background-color 0.15s ease);
|
|
1826
1827
|
user-select: none;
|
|
1828
|
+
font-size: var(--select-option-font-size, 14px);
|
|
1829
|
+
line-height: var(--select-option-line-height, 1.5);
|
|
1830
|
+
border-bottom: var(--select-option-border-bottom, none);
|
|
1827
1831
|
}
|
|
1828
1832
|
|
|
1829
1833
|
.option:hover {
|
|
@@ -1834,7 +1838,7 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1834
1838
|
.option.selected {
|
|
1835
1839
|
background-color: var(--select-option-selected-bg, #e0e7ff);
|
|
1836
1840
|
color: var(--select-option-selected-color, #4338ca);
|
|
1837
|
-
font-weight: 500;
|
|
1841
|
+
font-weight: var(--select-option-selected-weight, 500);
|
|
1838
1842
|
}
|
|
1839
1843
|
|
|
1840
1844
|
.option.active {
|
|
@@ -1843,19 +1847,21 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1843
1847
|
}
|
|
1844
1848
|
|
|
1845
1849
|
.load-more-container {
|
|
1846
|
-
padding: 12px;
|
|
1850
|
+
padding: var(--select-load-more-padding, 12px);
|
|
1847
1851
|
text-align: center;
|
|
1848
|
-
border-top:
|
|
1852
|
+
border-top: var(--select-divider-border, 1px solid #e0e0e0);
|
|
1853
|
+
background: var(--select-load-more-bg, white);
|
|
1849
1854
|
}
|
|
1850
1855
|
|
|
1851
1856
|
.load-more-button {
|
|
1852
|
-
padding: 8px 16px;
|
|
1853
|
-
border:
|
|
1857
|
+
padding: var(--select-button-padding, 8px 16px);
|
|
1858
|
+
border: var(--select-button-border, 1px solid #1976d2);
|
|
1854
1859
|
background: var(--select-button-bg, white);
|
|
1855
1860
|
color: var(--select-button-color, #1976d2);
|
|
1856
|
-
border-radius: 4px;
|
|
1861
|
+
border-radius: var(--select-button-border-radius, 4px);
|
|
1857
1862
|
cursor: pointer;
|
|
1858
|
-
font-size: 14px;
|
|
1863
|
+
font-size: var(--select-button-font-size, 14px);
|
|
1864
|
+
font-family: var(--select-font-family, inherit);
|
|
1859
1865
|
transition: all 0.2s ease;
|
|
1860
1866
|
}
|
|
1861
1867
|
|
|
@@ -1865,21 +1871,23 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1865
1871
|
}
|
|
1866
1872
|
|
|
1867
1873
|
.load-more-button:disabled {
|
|
1868
|
-
opacity: 0.5;
|
|
1874
|
+
opacity: var(--select-button-disabled-opacity, 0.5);
|
|
1869
1875
|
cursor: not-allowed;
|
|
1870
1876
|
}
|
|
1871
1877
|
|
|
1872
1878
|
.busy-bucket {
|
|
1873
|
-
padding: 16px;
|
|
1879
|
+
padding: var(--select-busy-padding, 16px);
|
|
1874
1880
|
text-align: center;
|
|
1875
1881
|
color: var(--select-busy-color, #666);
|
|
1882
|
+
background: var(--select-busy-bg, white);
|
|
1883
|
+
font-size: var(--select-busy-font-size, 14px);
|
|
1876
1884
|
}
|
|
1877
1885
|
|
|
1878
1886
|
.spinner {
|
|
1879
1887
|
display: inline-block;
|
|
1880
|
-
width: 20px;
|
|
1881
|
-
height: 20px;
|
|
1882
|
-
border:
|
|
1888
|
+
width: var(--select-spinner-size, 20px);
|
|
1889
|
+
height: var(--select-spinner-size, 20px);
|
|
1890
|
+
border: var(--select-spinner-border, 2px solid #ccc);
|
|
1883
1891
|
border-top-color: var(--select-spinner-active-color, #1976d2);
|
|
1884
1892
|
border-radius: 50%;
|
|
1885
1893
|
animation: spin 0.6s linear infinite;
|
|
@@ -1890,16 +1898,20 @@ class EnhancedSelect extends HTMLElement {
|
|
|
1890
1898
|
}
|
|
1891
1899
|
|
|
1892
1900
|
.empty-state {
|
|
1893
|
-
padding: 24px;
|
|
1901
|
+
padding: var(--select-empty-padding, 24px);
|
|
1894
1902
|
text-align: center;
|
|
1895
1903
|
color: var(--select-empty-color, #999);
|
|
1904
|
+
font-size: var(--select-empty-font-size, 14px);
|
|
1905
|
+
background: var(--select-empty-bg, white);
|
|
1896
1906
|
}
|
|
1897
1907
|
|
|
1898
1908
|
.searching-state {
|
|
1899
|
-
padding: 24px;
|
|
1909
|
+
padding: var(--select-searching-padding, 24px);
|
|
1900
1910
|
text-align: center;
|
|
1901
|
-
color: #667eea;
|
|
1911
|
+
color: var(--select-searching-color, #667eea);
|
|
1912
|
+
font-size: var(--select-searching-font-size, 14px);
|
|
1902
1913
|
font-style: italic;
|
|
1914
|
+
background: var(--select-searching-bg, white);
|
|
1903
1915
|
animation: pulse 1.5s ease-in-out infinite;
|
|
1904
1916
|
}
|
|
1905
1917
|
|