@smilodon/core 1.4.3 → 1.4.4
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 +6 -0
- package/dist/index.cjs +66 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +66 -3
- 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 +66 -3
- 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/dist/types/src/components/enhanced-select.d.ts +3 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1496,10 +1496,15 @@ class SelectOption extends HTMLElement {
|
|
|
1496
1496
|
display: flex;
|
|
1497
1497
|
align-items: center;
|
|
1498
1498
|
justify-content: space-between;
|
|
1499
|
-
padding: 8px 12px;
|
|
1499
|
+
padding: var(--select-option-padding, 8px 12px);
|
|
1500
1500
|
cursor: pointer;
|
|
1501
1501
|
user-select: none;
|
|
1502
|
-
transition: background-color 0.2s ease;
|
|
1502
|
+
transition: var(--select-option-transition, background-color 0.2s ease);
|
|
1503
|
+
border: var(--select-option-border, none);
|
|
1504
|
+
border-bottom: var(--select-option-border-bottom, none);
|
|
1505
|
+
border-radius: var(--select-option-border-radius, 0);
|
|
1506
|
+
box-shadow: var(--select-option-shadow, none);
|
|
1507
|
+
transform: var(--select-option-transform, none);
|
|
1503
1508
|
}
|
|
1504
1509
|
|
|
1505
1510
|
.option-container:hover {
|
|
@@ -1509,6 +1514,20 @@ class SelectOption extends HTMLElement {
|
|
|
1509
1514
|
.option-container.selected {
|
|
1510
1515
|
background-color: var(--select-option-selected-bg, #e3f2fd);
|
|
1511
1516
|
color: var(--select-option-selected-color, #1976d2);
|
|
1517
|
+
border: var(--select-option-selected-border, var(--select-option-border, none));
|
|
1518
|
+
border-bottom: var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none));
|
|
1519
|
+
border-radius: var(--select-option-selected-border-radius, var(--select-option-border-radius, 0));
|
|
1520
|
+
box-shadow: var(--select-option-selected-shadow, var(--select-option-shadow, none));
|
|
1521
|
+
transform: var(--select-option-selected-transform, var(--select-option-transform, none));
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
.option-container.selected:hover {
|
|
1525
|
+
background-color: var(--select-option-selected-hover-bg, var(--select-option-selected-bg, #e3f2fd));
|
|
1526
|
+
color: var(--select-option-selected-hover-color, var(--select-option-selected-color, #1976d2));
|
|
1527
|
+
border: var(--select-option-selected-hover-border, var(--select-option-selected-border, var(--select-option-border, none)));
|
|
1528
|
+
border-bottom: var(--select-option-selected-hover-border-bottom, var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none)));
|
|
1529
|
+
box-shadow: var(--select-option-selected-hover-shadow, var(--select-option-selected-shadow, var(--select-option-shadow, none)));
|
|
1530
|
+
transform: var(--select-option-selected-hover-transform, var(--select-option-selected-transform, var(--select-option-transform, none)));
|
|
1512
1531
|
}
|
|
1513
1532
|
|
|
1514
1533
|
.option-container.active {
|
|
@@ -1816,6 +1835,16 @@ if (!customElements.get('select-option')) {
|
|
|
1816
1835
|
* server-side selection, and full customization
|
|
1817
1836
|
*/
|
|
1818
1837
|
class EnhancedSelect extends HTMLElement {
|
|
1838
|
+
get classMap() {
|
|
1839
|
+
return this._classMap;
|
|
1840
|
+
}
|
|
1841
|
+
set classMap(map) {
|
|
1842
|
+
this._classMap = map;
|
|
1843
|
+
this._setGlobalStylesMirroring(Boolean(this._optionRenderer || map));
|
|
1844
|
+
if (!this.isConnected)
|
|
1845
|
+
return;
|
|
1846
|
+
this._renderOptions();
|
|
1847
|
+
}
|
|
1819
1848
|
constructor() {
|
|
1820
1849
|
super();
|
|
1821
1850
|
this._pageCache = {};
|
|
@@ -2289,6 +2318,9 @@ class EnhancedSelect extends HTMLElement {
|
|
|
2289
2318
|
line-height: var(--select-option-line-height, 1.5);
|
|
2290
2319
|
border: var(--select-option-border, none);
|
|
2291
2320
|
border-bottom: var(--select-option-border-bottom, none);
|
|
2321
|
+
border-radius: var(--select-option-border-radius, 0);
|
|
2322
|
+
box-shadow: var(--select-option-shadow, none);
|
|
2323
|
+
transform: var(--select-option-transform, none);
|
|
2292
2324
|
}
|
|
2293
2325
|
|
|
2294
2326
|
.option:hover {
|
|
@@ -2300,6 +2332,20 @@ class EnhancedSelect extends HTMLElement {
|
|
|
2300
2332
|
background-color: var(--select-option-selected-bg, #e0e7ff);
|
|
2301
2333
|
color: var(--select-option-selected-color, #4338ca);
|
|
2302
2334
|
font-weight: var(--select-option-selected-weight, 500);
|
|
2335
|
+
border: var(--select-option-selected-border, var(--select-option-border, none));
|
|
2336
|
+
border-bottom: var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none));
|
|
2337
|
+
border-radius: var(--select-option-selected-border-radius, var(--select-option-border-radius, 0));
|
|
2338
|
+
box-shadow: var(--select-option-selected-shadow, var(--select-option-shadow, none));
|
|
2339
|
+
transform: var(--select-option-selected-transform, var(--select-option-transform, none));
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
.option.selected:hover {
|
|
2343
|
+
background-color: var(--select-option-selected-hover-bg, var(--select-option-selected-bg, #e0e7ff));
|
|
2344
|
+
color: var(--select-option-selected-hover-color, var(--select-option-selected-color, #4338ca));
|
|
2345
|
+
border: var(--select-option-selected-hover-border, var(--select-option-selected-border, var(--select-option-border, none)));
|
|
2346
|
+
border-bottom: var(--select-option-selected-hover-border-bottom, var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none)));
|
|
2347
|
+
box-shadow: var(--select-option-selected-hover-shadow, var(--select-option-selected-shadow, var(--select-option-shadow, none)));
|
|
2348
|
+
transform: var(--select-option-selected-hover-transform, var(--select-option-selected-transform, var(--select-option-transform, none)));
|
|
2303
2349
|
}
|
|
2304
2350
|
|
|
2305
2351
|
.option.active {
|
|
@@ -2457,6 +2503,19 @@ class EnhancedSelect extends HTMLElement {
|
|
|
2457
2503
|
.option.selected {
|
|
2458
2504
|
background-color: var(--select-dark-option-selected-bg, #3730a3);
|
|
2459
2505
|
color: var(--select-dark-option-selected-text, #e0e7ff);
|
|
2506
|
+
border: var(--select-dark-option-selected-border, var(--select-option-selected-border, var(--select-option-border, none)));
|
|
2507
|
+
border-bottom: var(--select-dark-option-selected-border-bottom, var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none)));
|
|
2508
|
+
box-shadow: var(--select-dark-option-selected-shadow, var(--select-option-selected-shadow, var(--select-option-shadow, none)));
|
|
2509
|
+
transform: var(--select-dark-option-selected-transform, var(--select-option-selected-transform, var(--select-option-transform, none)));
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
.option.selected:hover {
|
|
2513
|
+
background-color: var(--select-dark-option-selected-hover-bg, var(--select-dark-option-selected-bg, #3730a3));
|
|
2514
|
+
color: var(--select-dark-option-selected-hover-color, var(--select-dark-option-selected-text, #e0e7ff));
|
|
2515
|
+
border: var(--select-dark-option-selected-hover-border, var(--select-dark-option-selected-border, var(--select-option-selected-hover-border, var(--select-option-selected-border, var(--select-option-border, none)))));
|
|
2516
|
+
border-bottom: var(--select-dark-option-selected-hover-border-bottom, var(--select-dark-option-selected-border-bottom, var(--select-option-selected-hover-border-bottom, var(--select-option-selected-border-bottom, var(--select-option-border-bottom, none)))));
|
|
2517
|
+
box-shadow: var(--select-dark-option-selected-hover-shadow, var(--select-dark-option-selected-shadow, var(--select-option-selected-hover-shadow, var(--select-option-selected-shadow, var(--select-option-shadow, none)))));
|
|
2518
|
+
transform: var(--select-dark-option-selected-hover-transform, var(--select-dark-option-selected-transform, var(--select-option-selected-hover-transform, var(--select-option-selected-transform, var(--select-option-transform, none)))));
|
|
2460
2519
|
}
|
|
2461
2520
|
|
|
2462
2521
|
.option.active {
|
|
@@ -3072,6 +3131,10 @@ class EnhancedSelect extends HTMLElement {
|
|
|
3072
3131
|
const item = this._state.loadedItems[index];
|
|
3073
3132
|
if (!item)
|
|
3074
3133
|
return;
|
|
3134
|
+
// Keep active/focus styling aligned with the most recently interacted option.
|
|
3135
|
+
// Without this, a previously selected item may retain active classes/styles
|
|
3136
|
+
// after selecting a different option.
|
|
3137
|
+
this._state.activeIndex = index;
|
|
3075
3138
|
const isCurrentlySelected = this._state.selectedIndices.has(index);
|
|
3076
3139
|
if (this._config.selection.mode === 'single') {
|
|
3077
3140
|
// Single select: clear previous and select new
|
|
@@ -3311,7 +3374,7 @@ class EnhancedSelect extends HTMLElement {
|
|
|
3311
3374
|
}
|
|
3312
3375
|
set optionRenderer(renderer) {
|
|
3313
3376
|
this._optionRenderer = renderer;
|
|
3314
|
-
this._setGlobalStylesMirroring(Boolean(renderer));
|
|
3377
|
+
this._setGlobalStylesMirroring(Boolean(renderer || this._classMap));
|
|
3315
3378
|
this._renderOptions();
|
|
3316
3379
|
}
|
|
3317
3380
|
/**
|