- Migrate component SCSS imports from @tiny-design/tokens to local style/variables and fix Popup positioning sync - #101
ed760d5
- Add
scrollToSelectedprop to Select component that automatically scrolls the dropdown to the first selected option when opened - #964fdb8a0
- Fix popup positioning and interaction regressions across overlay-based React components, and align related input, table, tree, tour, and upload behaviors - #98
12b5f5d
- Add design token governance with JSON source registry, migrate all component SCSS to token variables, introduce CSS Grid layout system, and rebuild Theme Studio - #93
d515c39
-
Upgrade the global configuration infrastructure around
ConfigProviderand align popup, scroll, and static layer behavior across the component library. - #9049b4bfcHighlights:
- Reworked
ConfigProviderto use provider-scoped theme containers instead of mutating global HTML styles. - Added
ConfigProvider.useConfig()andConfigProvider.config({ holderRender })support for a wider set of static APIs. - Added static
Modal.open()andModal.confirm()APIs that participate in the shared static host pipeline. - Unified popup container resolution across
Portal,Popup, andCascader. - Unified target container resolution across
Anchor,Sticky,BackTop,Overlay, andTour. - Improved
Stickycontainer observation withResizeObserver. - Improved
useTheme()to sync with DOM state, localStorage, system preference changes, and cross-tab storage events. - Added
onCopytoCopyToClipboardso copy results can be observed by consumers.
Notes for consumers:
AnchorandBackTopnow accept and resolveWindowas a first-class target container shape.BackTopnow defaults toConfigProvider.getTargetContainer()when present.ConfigProvideronly renders an internal scope node when scoped theme behavior is required.- Static APIs such as
Message.*,Notification.*,LoadingBar.*, andModal.open()can now be wrapped consistently throughConfigProvider.config({ holderRender }).
- Reworked
-
Migrate component styles from SCSS variables to CSS custom properties (
--ty-*) for better runtime theming support. - #9049b4bfc- Migrate ~80 structural SCSS constants (padding, sizing, transitions) to runtime-customizable CSS custom properties
- Tokenize hardcoded values in Button, Input, Card, Select, and Notification components
- Introduce component-scoped v2 CSS variables such as
--ty-button-radiusand--ty-card-header-padding - Add
ThemeConfigsupport inConfigProviderfor semantic and component token overrides - Support global token overrides, component token overrides, and scoped instance overrides via CSS variables
-
Add Tour component for step-by-step product guides with spotlight mask, Popper.js positioning, keyboard navigation, and customizable step indicators - #88
57c2f38 -
Calendar: add range selection, multiple selection, keyboard navigation, week numbers, valid range, dot indicators, decade panel, and card mode. DatePicker: add range mode with date range selection and preview highlighting. - #87
a0b3e45
-
Add
variantprop to Card component (outlined,elevated,filled). Fix NativeSelect children type to accept arrays. Make Table ColumnTypedataIndexoptional for action columns. - #856ab92fd -
feat(tag): add
variantprop withfilled,soft,solid, andoutlinedstyles - #832a2dc57 -
- Table: use Checkbox/Radio components, fix selection bugs with pagination and sorting, improve type definitions - #86
6ff73db - List: use semantic
<ul>/<li>elements, add forwardRef to ListItemMeta, fix paginated renderItem index, add ARIA attributes - Loader: redesign spinner with CSS-only border animation, remove dot elements
- Button: fix icon container shrinking in flex layout
- useVirtualScroll: add
enabledoption
- Table: use Checkbox/Radio components, fix selection bugs with pagination and sorting, improve type definitions - #86
- Improve color-picker, slider, split, popup, and input-otp components; add @tiny-design/mcp server package with component, token, and icon tools - #76
5b4641d
- Add ScrollNumber component with animated digit transitions and shortest-path scrolling; integrate into Badge for smooth count animations. Add TextLoop component for cycling through children with vertical slide transitions. - #74
2f215ca
- Fix React warnings (missing keys, nested buttons, DOM attribute leaks, setState during render, infinite loop) and Alert title margin - #72
08f4b2a
- Add Marquee component for infinite horizontal scrolling with configurable direction, speed, pause-on-hover, edge fade, and infinite/once play modes - #70
36cad31
- Add hover/focus/active state styles for button status types (success, info, warning, danger), add status color presets to Tag component, fix SpeedDial to use theme-aware CSS custom properties, and improve TimePicker with pending selection state committed on OK - #68
006b12a
- Replace react-transition-group with a custom useTransition hook for CSS-driven animations. This removes the unmaintained dependency and prepares the library for React 19 compatibility. - #66
2d3e756
- Add Waterfall (masonry) layout component with responsive columns, gutter spacing, dynamic add/remove with animations, and image gallery support - #64
788f763
- Improve
InputOTPbehaviour: - #54b81d406- Fire
onChangeon every value update instead of only when all cells are filled. - Fix masked cell rendering logic.
- Adjust caret colour to follow current text colour.
- Update docs and tests for the new behaviour and add Chinese docs entry.
- Fire