Skip to content

@tiny-design/react@1.9.0

Choose a tag to compare

@github-actions github-actions released this 05 Apr 11:27
· 50 commits to master since this release
423312e

Minor Changes

  • Upgrade the global configuration infrastructure around ConfigProvider and align popup, scroll, and static layer behavior across the component library. - #90 49b4bfc

    Highlights:

    • Reworked ConfigProvider to use provider-scoped theme containers instead of mutating global HTML styles.
    • Added ConfigProvider.useConfig() and ConfigProvider.config({ holderRender }) support for a wider set of static APIs.
    • Added static Modal.open() and Modal.confirm() APIs that participate in the shared static host pipeline.
    • Unified popup container resolution across Portal, Popup, and Cascader.
    • Unified target container resolution across Anchor, Sticky, BackTop, Overlay, and Tour.
    • Improved Sticky container observation with ResizeObserver.
    • Improved useTheme() to sync with DOM state, localStorage, system preference changes, and cross-tab storage events.
    • Added onCopy to CopyToClipboard so copy results can be observed by consumers.

    Notes for consumers:

    • Anchor and BackTop now accept and resolve Window as a first-class target container shape.
    • BackTop now defaults to ConfigProvider.getTargetContainer() when present.
    • ConfigProvider only renders an internal scope node when scoped theme behavior is required.
    • Static APIs such as Message.*, Notification.*, LoadingBar.*, and Modal.open() can now be wrapped consistently through ConfigProvider.config({ holderRender }).
  • Migrate component styles from SCSS variables to CSS custom properties (--ty-*) for better runtime theming support. - #90 49b4bfc

    • 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
    • Add component-scoped CSS variable fallback chains (e.g., --ty-btn-border-radius falls back to --ty-border-radius)
    • Add ThemeConfig API to ConfigProvider for programmatic token and component-level overrides
    • Three-level customization: global tokens, component tokens, and scoped instance overrides via CSS