|
1 | 1 | # @cube-dev/ui-kit |
2 | 2 |
|
| 3 | +## 0.115.0 |
| 4 | + |
| 5 | +### Minor Changes |
| 6 | + |
| 7 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **Breaking change:** Removed `reset` style property from tasty style system. Browser reset styles are now provided via recipes (`reset`, `button`, `input`, `input-autofill`, `input-placeholder`, `input-search-cancel-button`) registered in the UI kit configuration. Recipe names are now space-separated, with `|` separating base recipes from post-merge recipes. |
| 8 | + |
| 9 | + **Migration:** |
| 10 | + |
| 11 | + - Replace `reset: 'button'` with `recipe: 'reset button'` |
| 12 | + - Replace `reset: 'input'` with `recipe: 'reset input | input-autofill'` and add sub-element styles for `Placeholder` and `&::-webkit-search-cancel-button` |
| 13 | + |
| 14 | +- [`c0931497`](https://github.com/cube-js/cube-ui-kit/commit/c09314970629e5312b60681461bd282572960301) Thanks [@tenphi](https://github.com/tenphi)! - Add style extend functionality to `tasty` style system, enabling state map merging, `@inherit` keyword, and property reset semantics. |
| 15 | + |
| 16 | + **New features:** |
| 17 | + |
| 18 | + - **State map extension mode**: When extending a component with a state map that doesn't include a `''` key, parent states are preserved and new states are appended |
| 19 | + - **State map replace mode**: When a state map includes a `''` key, it replaces all parent states (existing behavior) |
| 20 | + - **`@inherit` keyword**: Pull parent state values into child state maps, supporting both repositioning (extend mode) and cherry-picking (replace mode) |
| 21 | + - **`null` reset**: Use `null` as a property value to discard parent values and let recipe values fill in |
| 22 | + - **`false` tombstone**: Use `false` to block a property entirely, preventing both parent and recipe values |
| 23 | + |
| 24 | + **Behavior changes:** |
| 25 | + |
| 26 | + - Sub-element handling now uses strict equality (`=== null`) instead of loose equality (`== null`) for better semantic clarity |
| 27 | + |
| 28 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **Breaking change:** Renamed design tokens used by the tasty style system: |
| 29 | + |
| 30 | + - `$leaf-sharp-radius` → `$sharp-radius` |
| 31 | + - `$card-shadow` → `$shadow` (in shadow.ts default and component styles) |
| 32 | + - `$fade-width` removed — fade now defaults to `calc(2 * var(--gap))` |
| 33 | + |
| 34 | + **New:** Tasty now ships with built-in defaults for core design tokens, so the style system works out of the box without a project-level token setup: |
| 35 | + |
| 36 | + - CSS `@property` registrations with initial values for `$gap` (4px), `$radius` (6px), `$border-width` (1px), `$outline-width` (3px), `$transition` (80ms), `$sharp-radius` (0px), `$bold-font-weight` (700) |
| 37 | + - Default `:root` variables for `--font`, `--monospace-font`, and `--border-color` (currentColor) |
| 38 | + |
| 39 | + These defaults are overridden by any tokens the consuming project sets on `:root`. |
| 40 | + |
| 41 | +### Patch Changes |
| 42 | + |
| 43 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **Fix:** `preset="strong"` (and other modifier-only presets like `"italic"`, `"icon"`, `"tight"`) now correctly inherits typography instead of resolving to `--strong-*` CSS variables. When no preset name is provided, the base preset defaults to `inherit`. |
| 44 | + |
| 45 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **Fix:** Vendor-prefixed pseudo-classes (e.g. `:-webkit-autofill`, `:-moz-placeholder`) are now correctly tokenized as pseudo-classes instead of being misinterpreted as boolean modifiers (`[data-webkit-autofill]`). |
| 46 | + |
| 47 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **Internal refactoring:** Made token type definitions extensible in the tasty style system. Color names (`TastyNamedColors`), preset names (`TastyPresetNames`), and theme names (`TastyThemeNames`) are now defined via extensible interfaces instead of hardcoded unions. |
| 48 | + |
| 49 | + This change maintains full backward compatibility - all existing UI kit tokens continue to work via module augmentation. Projects can now augment these interfaces to register their own token names for autocomplete. |
| 50 | + |
| 51 | +- [#1041](https://github.com/cube-js/cube-ui-kit/pull/1041) [`44d5512f`](https://github.com/cube-js/cube-ui-kit/commit/44d5512f1b91aff1ea6792154c7ce4b4d0d533a4) Thanks [@tenphi](https://github.com/tenphi)! - **New:** Predefined state aliases (`@name`) can now be defined inside sub-element blocks and are scoped to that sub-element and its nested children. Parent-level states are inherited; sub-element states do not leak to siblings. |
| 52 | + |
3 | 53 | ## 0.114.0 |
4 | 54 |
|
5 | 55 | ### Minor Changes |
|
0 commit comments