-
Notifications
You must be signed in to change notification settings - Fork 0
feat(repo): new design system #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* poc of button and gallery * chore: fix analysis issues * chore: format * chore: format * add temporary branch for PR title --------- Co-authored-by: Sahil Kumar <sahil@getstream.io>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (21.15%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #30 +/- ##
==========================================
- Coverage 40.39% 39.96% -0.44%
==========================================
Files 53 53
Lines 1057 1041 -16
==========================================
- Hits 427 416 -11
+ Misses 630 625 -5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…31) * feat: Introduce Stream Design System foundations and gallery app This commit introduces the foundational elements of the new Stream Design System and a comprehensive gallery application (Widgetbook) for showcasing and customizing components. **Core Package (`stream_core_flutter`):** * **Design Tokens**: Added foundational design tokens for colors, spacing, radius, typography, and box shadows. These tokens are organized into primitive and semantic layers. * `StreamColors`: Defines the primitive color palette. * `StreamColorScheme`: Provides semantic color roles (e.g., `accentPrimary`, `textSecondary`). * `StreamTypography`, `StreamTextTheme`: Defines font primitives and semantic text styles. * `StreamSpacing`, `StreamRadius`, `StreamBoxShadow`: Adds tokens for layout and elevation. * **`StreamTheme`**: Implemented a new `ThemeExtension` to aggregate all design tokens and component themes, enabling centralized theming. * **New Components**: Added `StreamAvatar`, `StreamAvatarStack`, and `StreamOnlineIndicator`. * **Theming Infrastructure**: Added `theme_extensions_builder` to auto-generate `copyWith`, `lerp`, and `==`/`hashCode` for theme classes. **Design System Gallery (`design_system_gallery`):** * **Gallery App**: Replaced the basic Widgetbook setup with a new, fully-featured gallery application (`StreamDesignSystemGallery`). * **Theme Studio**: Added a "Theme Studio" panel for real-time customization of all `StreamColorScheme` properties. * **Enhanced Previews**: * Added a toolbar with controls for device selection (`DeviceFrame`), text scaling, and light/dark mode toggles. * Created a `PreviewWrapper` to apply theme, device frame, and text scale to all use cases. * **New Use Cases**: * Added comprehensive use cases for new components (`StreamAvatar`, `StreamAvatarStack`, `StreamOnlineIndicator`). * Added showcases for semantic tokens (`Typography`, `Elevations`). * Improved `StreamButton` use cases with more variants and real-world examples. * **Agent Guide**: Added `AGENTS.md`, a guide for AI agents on contributing to the gallery. * chore: format code * refactor: Remove StreamButtonTheme The `StreamButtonTheme` and its related data classes have been removed from the core theme structure. This simplifies the theme by removing the button-specific theming. Additionally, the `lerp` function for `StreamBrandColor` has been adjusted, and `StreamAvatarColorPair` is now generated using `themeGen`. * refactor: Remove StreamButtonTheme The `StreamButtonTheme` and its related data classes have been removed from the core theme structure. This simplifies the theme by removing the button-specific theming. Additionally, the `lerp` function for `StreamBrandColor` has been adjusted, and `StreamAvatarColorPair` is now generated using `themeGen`. * chore: update code to use Dart 3 shorthand syntax
* chore(repo): Add workflow to publish design system gallery (#32) * Add workflow to publish design system gallery * remove specific flutter version * don't fetch remote branch
* add swatch from single color * remove print statement * remove unused import
* improvements on old button component * add todo * add colors for disabled button * use tokens for border * format * update button theme with more layering * add snapshot tests enabled lfs for snapshots * update git checkout for workflow * improve CI param * add workflow to update goldens (#39) * chore: Update Goldens * disable CI snapshots for local tests --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
Co-authored-by: Sahil Kumar <sahil@getstream.io>
Co-authored-by: Sahil Kumar <sahil@getstream.io>
* make gallery more usable on mobile * add const * feat: animate theme panel and fix layout overflows - Refactor `GalleryShell` to use `AnimatedSlide` for the theme panel and `AnimatedPadding` for the content. - Fix text overflow issues in `GalleryHomePage` and color swatches. - Set minimum window size for macOS. * feat: integrate Marionette --------- Co-authored-by: Sahil Kumar <sahil@getstream.io>
* update design system tokens source: GetStream/design-system-tokens@ee59239 * updating border colors in gallery * chore: Update Goldens * missing border colors * feat: add headingXs to StreamTextTheme * feat(gallery): enhance theme config and add backgroundDisabled - Add `backgroundDisabled` to `ThemeConfiguration` and customization panel - Refactor color derivation logic for brand, accents, and borders in `_rebuildTheme` - Update Material theme mappings for borders, dividers, and inputs - Add `headingXs` to typography showcase - Replace `Colors` with `StreamColors` for consistency --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> Co-authored-by: Sahil Kumar <sahil@getstream.io>
* refactor(ui): decouple StreamComponentFactory from StreamTheme - Convert `StreamComponentFactory` to `InheritedWidget` for subtree overrides. - Remove `componentFactory` from `StreamTheme`. - Introduce `StreamComponentBuilders` for component customization. - Update `StreamButton` and `StreamFileTypeIcon` to use the new factory lookup. * feat(ui): add factory support for avatars, badges, and indicators Refactors StreamAvatar, StreamAvatarGroup, StreamAvatarStack, StreamBadgeCount, and StreamOnlineIndicator to use StreamComponentFactory. * refactor(ui): update imports in stream_file_type_icon.dart for component factory and theme extensions
* Add basic message composer structure * Add textinputcontroller * Add option for floating * improve bottom padding in message composer * Started with attachments * fix some factory properties * simplified design system composer * fix icon button * Added focusNode for input field * update gallery * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
* Add attachment - reply * Add component for reply * Add GestureDetector on RemoveControl * chore: Update Goldens * formatting * rename chat theme to message theme * rename chat_theme file --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
* Add link preview component * Update max height of composer input field * chore: Update Goldens * Fix chat rename * remove old todo --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
* remove expands on inputfield * align inputfields on bottom
No description provided.