@keenmate/web-multiselect 1.5.1 → 1.6.0

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 CHANGED
@@ -129,6 +129,7 @@ multiselect.setSelected(['js', 'ts']);
129
129
  | `loading-message` | `string` | `'Loading...'` | Message while loading async data |
130
130
  | `min-search-length` | `number` | `0` | Minimum search length for async |
131
131
  | `keep-options-on-search` | `boolean` | `true` | Keep initial options visible when searchCallback is active (hybrid search) |
132
+ | `should-keep-search-on-close` | `boolean` | `true` | Preserve search text and filtered results when dropdown closes |
132
133
  | `sticky-actions` | `boolean` | `true` | Keep action buttons fixed at top while scrolling |
133
134
  | `actions-layout` | `'nowrap' \| 'wrap'` | `'nowrap'` | Layout mode for action buttons: 'nowrap' (single row) or 'wrap' (multi-row) |
134
135
  | `lock-placement` | `boolean` | `true` | Lock dropdown placement after first open to prevent flipping |
@@ -1533,12 +1534,32 @@ web-multiselect.large { --ms-rem: 12px; }
1533
1534
 
1534
1535
  **Fine-grained Control:**
1535
1536
  Override individual sizing variables for specific adjustments:
1536
- - `--ms-input-height` - Input field height
1537
+ - `--ms-input-height` - Input field height (default: 35px)
1537
1538
  - `--ms-input-font-size` - Input font size
1538
1539
  - `--ms-input-padding` - Input padding
1539
1540
  - `--ms-badge-height` - Badge height
1540
1541
  - `--ms-option-height` - Option height in dropdown
1541
1542
 
1543
+ **Input Size Variants:**
1544
+ Five size variants for consistent input sizing across KeenMate components:
1545
+
1546
+ | Size | Variable | Height | Base Variable |
1547
+ |------|----------|--------|---------------|
1548
+ | XS | `--ms-input-size-xs-height` | 31px | `--base-input-size-xs-height` |
1549
+ | SM | `--ms-input-size-sm-height` | 33px | `--base-input-size-sm-height` |
1550
+ | MD | `--ms-input-size-md-height` | 35px | `--base-input-size-md-height` |
1551
+ | LG | `--ms-input-size-lg-height` | 38px | `--base-input-size-lg-height` |
1552
+ | XL | `--ms-input-size-xl-height` | 41px | `--base-input-size-xl-height` |
1553
+
1554
+ Heights reference `--base-input-size-*-height` from the [Theme Designer](https://theme-designer.keenmate.dev), ensuring consistent input heights across all KeenMate components.
1555
+
1556
+ ```css
1557
+ /* Set consistent input heights across all components */
1558
+ :root {
1559
+ --base-input-size-md-height: 4.0; /* All components: 40px at 10px rem */
1560
+ }
1561
+ ```
1562
+
1542
1563
  ### Theme Designer
1543
1564
 
1544
1565
  The easiest way to customize the appearance of this component is using the **KeenMate Theme Designer** at:
@@ -1656,8 +1677,7 @@ All CSS custom properties are now defined at the `:host` level in the compiled C
1656
1677
  ```
1657
1678
 
1658
1679
  For the complete list of all available CSS variables, see:
1659
- - [_css-variables.scss](./src/scss/_css-variables.scss) - All 150+ CSS custom properties at `:host` level
1660
- - [_variables.scss](./src/scss/_variables.scss) - Foundation SCSS variables (colors, spacing, typography)
1680
+ - [_variables.css](./src/css/_variables.css) - All 150+ CSS custom properties at `:host` level
1661
1681
 
1662
1682
  #### Colors
1663
1683
 
@@ -1697,8 +1717,6 @@ For the complete list of all available CSS variables, see:
1697
1717
  | `--ms-option-hover-bg` | `#f9fafb` | Option background on hover |
1698
1718
  | `--ms-option-color-hover` | `inherit` | Option text color on hover |
1699
1719
  | `--ms-option-bg-selected` | (rgba accent) | Selected option background |
1700
- | `--ms-option-color-selected` | `inherit` | Selected option text color |
1701
- | `--ms-option-color-selected-hover` | (inherits selected) | Text color when hovering selected option |
1702
1720
  | `--ms-option-bg-focused` | `#f9fafb` | Focused option background (keyboard) |
1703
1721
  | `--ms-option-color-focused` | `inherit` | Focused option text color |
1704
1722
  | `--ms-option-bg-matched` | (accent 8%) | Matched option background (navigate mode) |
@@ -1790,17 +1808,18 @@ For the complete list of all available CSS variables, see:
1790
1808
  | `--ms-shadow-xl` | (box shadow) | Extra large shadow |
1791
1809
  | `--ms-disabled-opacity` | `0.5` | Opacity for disabled state |
1792
1810
 
1793
- ### Advanced: Custom SCSS
1811
+ ### Advanced: Direct CSS Import
1794
1812
 
1795
- For users with a build system, you can import and customize the SCSS:
1813
+ For users who want to import the raw CSS source files:
1814
+
1815
+ ```css
1816
+ /* Import component CSS directly */
1817
+ @import '@keenmate/web-multiselect/css';
1796
1818
 
1797
- ```scss
1798
- // Import and override SCSS variables
1799
- @use '@keenmate/web-multiselect/scss' with (
1800
- $ms-accent-color: #10b981,
1801
- $ms-border-radius: 0.5rem,
1802
- $ms-font-size-base: 1rem
1803
- );
1819
+ /* Or import individual partials */
1820
+ @import '@keenmate/web-multiselect/src/css/_variables.css';
1821
+ @import '@keenmate/web-multiselect/src/css/_base.css';
1822
+ /* ... etc */
1804
1823
  ```
1805
1824
 
1806
1825
  ## Browser Support