Repository: coingaming/moon_flutter
Branch: main
Commit: 177adb791d5d
Files: 443
Total size: 1.8 MB
Directory structure:
gitextract_z60v7ksx/
├── .editorconfig
├── .github/
│ └── workflows/
│ ├── analyze_and_test.yml
│ ├── lint_pr_title.yml
│ ├── publish.yml
│ ├── release.yml
│ └── s3_deploy.yml
├── .gitignore
├── .metadata
├── .release-please-manifest.json
├── .vscode/
│ ├── launch.json
│ └── settings.json
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── example/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── com/
│ │ │ │ │ └── example/
│ │ │ │ │ └── example/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle
│ ├── assets/
│ │ └── code_snippets/
│ │ ├── accordion.md
│ │ ├── alert.md
│ │ ├── auth_code.md
│ │ ├── avatar.md
│ │ ├── bottom_sheet.md
│ │ ├── breadcrumb.md
│ │ ├── button.md
│ │ ├── carousel.md
│ │ ├── checkbox.md
│ │ ├── chip.md
│ │ ├── circular_loader.md
│ │ ├── circular_progress.md
│ │ ├── combobox_multi_select.md
│ │ ├── combobox_single_select.md
│ │ ├── dot_indicator.md
│ │ ├── drawer.md
│ │ ├── dropdown.md
│ │ ├── icons.md
│ │ ├── linear_loader.md
│ │ ├── linear_progress.md
│ │ ├── menu_item.md
│ │ ├── modal.md
│ │ ├── popover.md
│ │ ├── radio.md
│ │ ├── search_with_dropdown.md
│ │ ├── search_with_list.md
│ │ ├── segmented_control.md
│ │ ├── switch.md
│ │ ├── tab_bar.md
│ │ ├── table.md
│ │ ├── tag.md
│ │ ├── text_area.md
│ │ ├── text_input.md
│ │ ├── text_input_group.md
│ │ ├── toast.md
│ │ └── tooltip.md
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ └── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ ├── lib/
│ │ ├── main.dart
│ │ └── src/
│ │ └── storybook/
│ │ ├── common/
│ │ │ ├── color_options.dart
│ │ │ ├── colors_page_options.dart
│ │ │ ├── component_options.dart
│ │ │ ├── constants.dart
│ │ │ ├── home_page_options.dart
│ │ │ ├── methods/
│ │ │ │ └── navigation.dart
│ │ │ ├── pages/
│ │ │ │ ├── colors_page.dart
│ │ │ │ ├── home_page.dart
│ │ │ │ └── typography_page.dart
│ │ │ ├── social_media_options.dart
│ │ │ ├── typography_page_options.dart
│ │ │ └── widgets/
│ │ │ ├── logo.dart
│ │ │ ├── page_footer.dart
│ │ │ ├── routing_error_widget.dart
│ │ │ ├── segment.dart
│ │ │ ├── text_divider.dart
│ │ │ └── version.dart
│ │ ├── routing/
│ │ │ ├── app_router.dart
│ │ │ └── route_aware_stories.dart
│ │ ├── stories/
│ │ │ ├── composites/
│ │ │ │ ├── combobox_multi_select.dart
│ │ │ │ ├── combobox_single_select.dart
│ │ │ │ ├── search_with_dropdown.dart
│ │ │ │ └── search_with_list.dart
│ │ │ └── primitives/
│ │ │ ├── accordion.dart
│ │ │ ├── alert.dart
│ │ │ ├── auth_code.dart
│ │ │ ├── avatar.dart
│ │ │ ├── bottom_sheet.dart
│ │ │ ├── breadcrumb.dart
│ │ │ ├── button.dart
│ │ │ ├── carousel.dart
│ │ │ ├── checkbox.dart
│ │ │ ├── chip.dart
│ │ │ ├── circular_loader.dart
│ │ │ ├── circular_progress.dart
│ │ │ ├── dot_indicator.dart
│ │ │ ├── drawer.dart
│ │ │ ├── dropdown.dart
│ │ │ ├── icons.dart
│ │ │ ├── linear_loader.dart
│ │ │ ├── linear_progress.dart
│ │ │ ├── menu_item.dart
│ │ │ ├── modal.dart
│ │ │ ├── popover.dart
│ │ │ ├── radio.dart
│ │ │ ├── segmented_control.dart
│ │ │ ├── switch.dart
│ │ │ ├── tab_bar.dart
│ │ │ ├── table.dart
│ │ │ ├── tag.dart
│ │ │ ├── text_area.dart
│ │ │ ├── text_input.dart
│ │ │ ├── text_input_group.dart
│ │ │ ├── toast.dart
│ │ │ └── tooltip.dart
│ │ └── storybook.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── macos/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── Flutter-Debug.xcconfig
│ │ │ ├── Flutter-Release.xcconfig
│ │ │ └── GeneratedPluginRegistrant.swift
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ └── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MainMenu.xib
│ │ │ ├── Configs/
│ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ ├── Release.xcconfig
│ │ │ │ └── Warnings.xcconfig
│ │ │ ├── DebugProfile.entitlements
│ │ │ ├── Info.plist
│ │ │ ├── MainFlutterWindow.swift
│ │ │ └── Release.entitlements
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ └── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ ├── pubspec.yaml
│ ├── test/
│ │ └── widget_test.dart
│ ├── web/
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── lib/
│ ├── moon_design.dart
│ └── src/
│ ├── theme/
│ │ ├── accordion/
│ │ │ ├── accordion_colors.dart
│ │ │ ├── accordion_properties.dart
│ │ │ ├── accordion_shadows.dart
│ │ │ ├── accordion_size_properties.dart
│ │ │ ├── accordion_sizes.dart
│ │ │ └── accordion_theme.dart
│ │ ├── alert/
│ │ │ ├── alert_colors.dart
│ │ │ ├── alert_properties.dart
│ │ │ └── alert_theme.dart
│ │ ├── auth_code/
│ │ │ ├── auth_code_colors.dart
│ │ │ ├── auth_code_properties.dart
│ │ │ └── auth_code_theme.dart
│ │ ├── avatar/
│ │ │ ├── avatar_colors.dart
│ │ │ ├── avatar_size_properties.dart
│ │ │ ├── avatar_sizes.dart
│ │ │ └── avatar_theme.dart
│ │ ├── bottom_sheet/
│ │ │ ├── bottom_sheet_colors.dart
│ │ │ ├── bottom_sheet_properties.dart
│ │ │ └── bottom_sheet_theme.dart
│ │ ├── breadcrumb/
│ │ │ ├── breadcrumb_colors.dart
│ │ │ ├── breadcrumb_properties.dart
│ │ │ └── breadcrumb_theme.dart
│ │ ├── button/
│ │ │ ├── button_colors.dart
│ │ │ ├── button_size_properties.dart
│ │ │ ├── button_sizes.dart
│ │ │ └── button_theme.dart
│ │ ├── carousel/
│ │ │ ├── carousel_colors.dart
│ │ │ ├── carousel_properties.dart
│ │ │ └── carousel_theme.dart
│ │ ├── checkbox/
│ │ │ ├── checkbox_colors.dart
│ │ │ ├── checkbox_properties.dart
│ │ │ └── checkbox_theme.dart
│ │ ├── chip/
│ │ │ ├── chip_colors.dart
│ │ │ ├── chip_size_properties.dart
│ │ │ ├── chip_sizes.dart
│ │ │ └── chip_theme.dart
│ │ ├── dot_indicator/
│ │ │ ├── dot_indicator_colors.dart
│ │ │ ├── dot_indicator_properties.dart
│ │ │ └── dot_indicator_theme.dart
│ │ ├── drawer/
│ │ │ ├── drawer_colors.dart
│ │ │ ├── drawer_properties.dart
│ │ │ ├── drawer_shadows.dart
│ │ │ └── drawer_theme.dart
│ │ ├── dropdown/
│ │ │ ├── dropdown_colors.dart
│ │ │ ├── dropdown_properties.dart
│ │ │ ├── dropdown_shadows.dart
│ │ │ └── dropdown_theme.dart
│ │ ├── effects/
│ │ │ ├── control_effect.dart
│ │ │ ├── effects_theme.dart
│ │ │ ├── focus_effect.dart
│ │ │ └── hover_effect.dart
│ │ ├── loaders/
│ │ │ ├── circular_loader/
│ │ │ │ ├── circular_loader_colors.dart
│ │ │ │ ├── circular_loader_size_properties.dart
│ │ │ │ ├── circular_loader_sizes.dart
│ │ │ │ └── circular_loader_theme.dart
│ │ │ └── linear_loader/
│ │ │ ├── linear_loader_colors.dart
│ │ │ ├── linear_loader_size_properties.dart
│ │ │ ├── linear_loader_sizes.dart
│ │ │ └── linear_loader_theme.dart
│ │ ├── menu_item/
│ │ │ ├── menu_item_colors.dart
│ │ │ ├── menu_item_properties.dart
│ │ │ └── menu_item_theme.dart
│ │ ├── modal/
│ │ │ ├── modal_colors.dart
│ │ │ ├── modal_properties.dart
│ │ │ └── modal_theme.dart
│ │ ├── popover/
│ │ │ ├── popover_colors.dart
│ │ │ ├── popover_properties.dart
│ │ │ ├── popover_shadows.dart
│ │ │ └── popover_theme.dart
│ │ ├── progress/
│ │ │ ├── circular_progress/
│ │ │ │ ├── circular_progress_colors.dart
│ │ │ │ ├── circular_progress_size_properties.dart
│ │ │ │ ├── circular_progress_sizes.dart
│ │ │ │ └── circular_progress_theme.dart
│ │ │ └── linear_progress/
│ │ │ ├── linear_progress_colors.dart
│ │ │ ├── linear_progress_size_properties.dart
│ │ │ ├── linear_progress_sizes.dart
│ │ │ └── linear_progress_theme.dart
│ │ ├── progress_pin/
│ │ │ ├── progress_pin_colors.dart
│ │ │ ├── progress_pin_properties.dart
│ │ │ └── progress_pin_theme.dart
│ │ ├── radio/
│ │ │ ├── radio_colors.dart
│ │ │ └── radio_theme.dart
│ │ ├── segmented_control/
│ │ │ ├── segmented_control_colors.dart
│ │ │ ├── segmented_control_properties.dart
│ │ │ ├── segmented_control_size_properties.dart
│ │ │ ├── segmented_control_sizes.dart
│ │ │ └── segmented_control_theme.dart
│ │ ├── switch/
│ │ │ ├── switch_colors.dart
│ │ │ ├── switch_properties.dart
│ │ │ ├── switch_shadows.dart
│ │ │ ├── switch_size_properties.dart
│ │ │ ├── switch_sizes.dart
│ │ │ └── switch_theme.dart
│ │ ├── tab_bar/
│ │ │ ├── tab_bar_colors.dart
│ │ │ ├── tab_bar_properties.dart
│ │ │ ├── tab_bar_size_properties.dart
│ │ │ ├── tab_bar_sizes.dart
│ │ │ └── tab_bar_theme.dart
│ │ ├── table/
│ │ │ ├── table_colors.dart
│ │ │ ├── table_properties.dart
│ │ │ ├── table_size_properties.dart
│ │ │ ├── table_sizes.dart
│ │ │ └── table_theme.dart
│ │ ├── tag/
│ │ │ ├── tag_colors.dart
│ │ │ ├── tag_size_properties.dart
│ │ │ ├── tag_sizes.dart
│ │ │ └── tag_theme.dart
│ │ ├── text_area/
│ │ │ ├── text_area_colors.dart
│ │ │ ├── text_area_properties.dart
│ │ │ └── text_area_theme.dart
│ │ ├── text_input/
│ │ │ ├── text_input_colors.dart
│ │ │ ├── text_input_properties.dart
│ │ │ ├── text_input_size_properties.dart
│ │ │ ├── text_input_sizes.dart
│ │ │ └── text_input_theme.dart
│ │ ├── text_input_group/
│ │ │ ├── text_input_group_colors.dart
│ │ │ ├── text_input_group_properties.dart
│ │ │ └── text_input_group_theme.dart
│ │ ├── theme.dart
│ │ ├── toast/
│ │ │ ├── toast_colors.dart
│ │ │ ├── toast_properties.dart
│ │ │ ├── toast_shadows.dart
│ │ │ └── toast_theme.dart
│ │ ├── tokens/
│ │ │ ├── borders.dart
│ │ │ ├── opacities.dart
│ │ │ ├── shadows.dart
│ │ │ ├── sizes.dart
│ │ │ ├── tokens.dart
│ │ │ ├── transitions.dart
│ │ │ └── typography/
│ │ │ ├── text_styles.dart
│ │ │ └── typography.dart
│ │ └── tooltip/
│ │ ├── tooltip_colors.dart
│ │ ├── tooltip_properties.dart
│ │ ├── tooltip_shadows.dart
│ │ └── tooltip_theme.dart
│ ├── utils/
│ │ ├── brightness_from_pixels.dart
│ │ ├── color_premul_lerp.dart
│ │ ├── color_tween_premul.dart
│ │ ├── extensions.dart
│ │ ├── linked_scroll_controller.dart
│ │ ├── measure_size.dart
│ │ ├── shape_decoration_premul.dart
│ │ ├── squircle/
│ │ │ ├── clip_squircle_rect.dart
│ │ │ ├── path_squircle_corners.dart
│ │ │ ├── processed_squircle_radius.dart
│ │ │ ├── squircle_border.dart
│ │ │ ├── squircle_border_radius.dart
│ │ │ └── squircle_radius.dart
│ │ ├── touch_target_padding.dart
│ │ └── widget_surveyor.dart
│ └── widgets/
│ ├── accordion/
│ │ └── accordion.dart
│ ├── alert/
│ │ └── alert.dart
│ ├── auth_code/
│ │ └── auth_code.dart
│ ├── avatar/
│ │ ├── avatar.dart
│ │ └── avatar_clipper.dart
│ ├── bottom_sheet/
│ │ ├── bottom_sheet.dart
│ │ ├── modal_bottom_sheet.dart
│ │ └── utils/
│ │ ├── bottom_sheet_custom_scroll_physics.dart
│ │ ├── bottom_sheet_suspended_curve.dart
│ │ └── scroll_to_top_status_bar.dart
│ ├── breadcrumb/
│ │ ├── breadcrumb.dart
│ │ └── breadcrumb_item.dart
│ ├── buttons/
│ │ ├── button.dart
│ │ ├── filled_button.dart
│ │ ├── outlined_button.dart
│ │ └── text_button.dart
│ ├── carousel/
│ │ └── carousel.dart
│ ├── checkbox/
│ │ ├── checkbox.dart
│ │ └── checkbox_painter.dart
│ ├── chip/
│ │ └── chip.dart
│ ├── common/
│ │ ├── animated_icon_theme.dart
│ │ ├── base_control.dart
│ │ ├── base_segmented_tab_bar.dart
│ │ ├── border_container.dart
│ │ ├── default_animated_text_style.dart
│ │ ├── effects/
│ │ │ ├── focus_effect.dart
│ │ │ ├── painters/
│ │ │ │ ├── focus_effect_painter.dart
│ │ │ │ └── pulse_effect_painter.dart
│ │ │ └── pulse_effect.dart
│ │ ├── error_message_widgets.dart
│ │ └── progress_indicators/
│ │ ├── base_progress.dart
│ │ ├── circular_progress_indicator.dart
│ │ ├── linear_progress_indicator.dart
│ │ └── painters/
│ │ ├── circular_progress_indicator_painter.dart
│ │ └── linear_progress_indicator_painter.dart
│ ├── dot_indicator/
│ │ └── dot_indicator.dart
│ ├── drawer/
│ │ └── drawer.dart
│ ├── dropdown/
│ │ └── dropdown.dart
│ ├── loaders/
│ │ ├── circular_loader.dart
│ │ └── linear_loader.dart
│ ├── menu_item/
│ │ └── menu_item.dart
│ ├── modal/
│ │ └── modal.dart
│ ├── popover/
│ │ └── popover.dart
│ ├── progress/
│ │ ├── circular_progress.dart
│ │ └── linear_progress.dart
│ ├── progress_pin/
│ │ ├── pin_style.dart
│ │ ├── progress_pin.dart
│ │ └── progress_pin_painter.dart
│ ├── radio/
│ │ ├── radio.dart
│ │ └── radio_painter.dart
│ ├── segmented_control/
│ │ ├── segment.dart
│ │ ├── segment_style.dart
│ │ └── segmented_control.dart
│ ├── switch/
│ │ └── switch.dart
│ ├── tab_bar/
│ │ ├── pill_tab.dart
│ │ ├── pill_tab_style.dart
│ │ ├── tab.dart
│ │ ├── tab_bar.dart
│ │ └── tab_style.dart
│ ├── table/
│ │ ├── table.dart
│ │ └── table_controllers.dart
│ ├── tag/
│ │ └── tag.dart
│ ├── text_area/
│ │ └── text_area.dart
│ ├── text_input/
│ │ ├── form_text_input.dart
│ │ └── text_input.dart
│ ├── text_input_group/
│ │ └── text_input_group.dart
│ ├── toast/
│ │ └── toast.dart
│ └── tooltip/
│ ├── tooltip.dart
│ └── tooltip_shape.dart
├── pubspec.yaml
├── release-please-config.json
└── test/
├── accordion_test.dart
├── alert_test.dart
├── auth_code_test.dart
├── bottom_sheet_test.dart
├── breadcrumb_test.dart
├── button_test.dart
├── carousel_test.dart
├── checkbox_test.dart
├── chip_test.dart
├── drawer_test.dart
├── dropdown_test.dart
├── menu_item_test.dart
├── modal_test.dart
├── popover_test.dart
├── radio_test.dart
├── segmented_control_test.dart
├── switch_test.dart
├── tab_bar_test.dart
├── tag_test.dart
├── text_area_test.dart
├── text_input_test.dart
├── toast_test.dart
└── tooltip_test.dart
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[**/*.dart]
max_line_length = 120
================================================
FILE: .github/workflows/analyze_and_test.yml
================================================
name: Analyze and test
on:
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.19.3'
channel: stable
- name: Install Dependencies
run: flutter pub get
working-directory: ./example
- name: Run static analysis
run: flutter analyze .
- name: Run tests
run: flutter test
================================================
FILE: .github/workflows/lint_pr_title.yml
================================================
name: "Lint PR"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: marocchino/sticky-pull-request-comment@v2
# When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
if: always() && (steps.lint_pr_title.outputs.error_message != null)
with:
header: pr-title-lint-error
message: |
Hey there and thank you for opening this pull request! 👋🏼
We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
Details:
```
${{ steps.lint_pr_title.outputs.error_message }}
```
# Delete a previous comment when the issue has been resolved
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
uses: marocchino/sticky-pull-request-comment@v2
with:
header: pr-title-lint-error
delete: true
================================================
FILE: .github/workflows/publish.yml
================================================
name: Publish to pub.dev
on:
push:
branches:
- main
jobs:
publish:
if: "${{ contains(github.event.head_commit.message, 'chore(main): release') }}"
permissions:
id-token: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Publish
uses: k-paxian/dart-package-publisher@v1.6
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
flutter: true
skipTests: true
force: true
================================================
FILE: .github/workflows/release.yml
================================================
name: release-please
on:
push:
branches:
- main
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
id: release
with:
release-type: "dart"
command: manifest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
release_tag_name: ${{ steps.release.outputs.tag_name }}
================================================
FILE: .github/workflows/s3_deploy.yml
================================================
name: Deploy to S3
on:
push:
branches:
- main
jobs:
build:
if: "${{ contains(github.event.head_commit.message, 'chore(main): release') }}"
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.19.3'
channel: stable
- name: Install Dependencies
run: flutter pub get
working-directory: ./example
- name: Run static analysis
run: flutter analyze .
- name: Run tests
run: flutter test
- name: Build Web
run: flutter build web --web-renderer canvaskit --release
working-directory: ./example
- name: Deploy
uses: reggionick/s3-deploy@v3
with:
folder: example/build/web
bucket: ${{ secrets.S3_BUCKET }}
bucket-region: ${{ secrets.S3_BUCKET_REGION }}
invalidation: /
delete-removed: true
no-cache: true
private: true
filesToInclude: ".*/*,*/*,**"
================================================
FILE: .gitignore
================================================
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/doc/api/
.dart_tool/
.packages
build/
.fvm/
================================================
FILE: .metadata
================================================
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: 135454af32477f815a7525073027a3ff9eff1bfd
channel: stable
project_type: package
================================================
FILE: .release-please-manifest.json
================================================
{
".": "1.1.0"
}
================================================
FILE: .vscode/launch.json
================================================
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.3.0",
"dart.lineLength": 120,
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
},
"configurations": [
{
"name": "moon_flutter",
"request": "launch",
"type": "dart"
},
{
"name": "moon_flutter (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "moon_flutter (release mode)",
"request": "launch",
"type": "dart",
"flutterMode": "release"
},
{
"name": "example",
"cwd": "example",
"request": "launch",
"type": "dart"
},
{
"name": "example (profile mode)",
"cwd": "example",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "example (release mode)",
"cwd": "example",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
================================================
FILE: CHANGELOG.md
================================================
# Changelog
## [1.1.0](https://github.com/coingaming/moon_flutter/compare/v1.0.7...v1.1.0) (2025-01-23)
### Features
* [MDS-1487] Bump moon_flutter to use the latest moon_flutter_icons ([#458](https://github.com/coingaming/moon_flutter/issues/458)) ([3065ce2](https://github.com/coingaming/moon_flutter/commit/3065ce2a207d92136596b7ea83d29310adfbdc38))
## [1.0.7](https://github.com/coingaming/moon_flutter/compare/v1.0.6...v1.0.7) (2024-11-27)
### Bug Fixes
* [MDS-1415] Update dependencies ([#451](https://github.com/coingaming/moon_flutter/issues/451)) ([cffceac](https://github.com/coingaming/moon_flutter/commit/cffceac0ae93471db57084507bc59c8ce8102e49))
## [1.0.6](https://github.com/coingaming/moon_flutter/compare/v1.0.5...v1.0.6) (2024-10-09)
### Bug Fixes
* [MDS-1351] Fix input assertions. ([#444](https://github.com/coingaming/moon_flutter/issues/444)) ([034059f](https://github.com/coingaming/moon_flutter/commit/034059f956335b224310c687302dea66d79b023f))
## [1.0.5](https://github.com/coingaming/moon_flutter/compare/v1.0.4...v1.0.5) (2024-09-25)
### Bug Fixes
* [MDS-1331] Dispose animation controllers for tooltip and popover ([#441](https://github.com/coingaming/moon_flutter/issues/441)) ([3466cfd](https://github.com/coingaming/moon_flutter/commit/3466cfda9e96940661e77d6aaacfafd072299da4))
## [1.0.4](https://github.com/coingaming/moon_flutter/compare/v1.0.3...v1.0.4) (2024-08-30)
### Bug Fixes
* [MDS-1318] Fix Accordion clip behavior ([#439](https://github.com/coingaming/moon_flutter/issues/439)) ([2c33904](https://github.com/coingaming/moon_flutter/commit/2c33904790ee518e0e0dc98b715474336aa7d24a))
## [1.0.3](https://github.com/coingaming/moon_flutter/compare/v1.0.2...v1.0.3) (2024-08-09)
### Bug Fixes
* revert back to MIT license ([372bc1a](https://github.com/coingaming/moon_flutter/commit/372bc1a1c1ea7357bbb482de612fe03efd8471d8))
## [1.0.2](https://github.com/coingaming/moon_flutter/compare/v1.0.1...v1.0.2) (2024-08-08)
### Bug Fixes
* add license link to footer [MDS-1279] ([#435](https://github.com/coingaming/moon_flutter/issues/435)) ([deaa1a0](https://github.com/coingaming/moon_flutter/commit/deaa1a0cfa90357dc36d6f613148f0cef126a4ca))
## [1.0.1](https://github.com/coingaming/moon_flutter/compare/v1.0.0...v1.0.1) (2024-08-08)
### Bug Fixes
* update license ([2a678cd](https://github.com/coingaming/moon_flutter/commit/2a678cd26fbed732e381a1aa2035fcbd8caff619))
## [1.0.0](https://github.com/coingaming/moon_flutter/compare/v0.59.3...v1.0.0) (2024-08-02)
### ⚠ BREAKING CHANGES
* [MDS-1264] Release v1.0.0 ([#432](https://github.com/coingaming/moon_flutter/issues/432))
### Features
* [MDS-1264] Release v1.0.0 ([#432](https://github.com/coingaming/moon_flutter/issues/432)) ([a7c8713](https://github.com/coingaming/moon_flutter/commit/a7c8713efa61d97ce570d2aca42ba3d3c5d0c1bc))
## [0.59.3](https://github.com/coingaming/moon_flutter/compare/v0.59.2...v0.59.3) (2024-07-17)
### Bug Fixes
* [MDS-1244] General fixes and improvements ([#426](https://github.com/coingaming/moon_flutter/issues/426)) ([7edc0c4](https://github.com/coingaming/moon_flutter/commit/7edc0c4960ae603f26f6a91affc7f8a995aeaa95))
## [0.59.2](https://github.com/coingaming/moon_flutter/compare/v0.59.1...v0.59.2) (2024-07-05)
### Bug Fixes
* [MDS-1231] Fix Accordion absorbing children actions ([#423](https://github.com/coingaming/moon_flutter/issues/423)) ([c119d15](https://github.com/coingaming/moon_flutter/commit/c119d158958e4c41004b8bd69f545c6aab22c86b))
## [0.59.1](https://github.com/coingaming/moon_flutter/compare/v0.59.0...v0.59.1) (2024-06-07)
### Bug Fixes
* [MDS-1176] Fix input components context menu ([#417](https://github.com/coingaming/moon_flutter/issues/417)) ([ff6cf21](https://github.com/coingaming/moon_flutter/commit/ff6cf2150d303b16ab19c813608e65fd9fe82adc))
## [0.59.0](https://github.com/coingaming/moon_flutter/compare/v0.58.0...v0.59.0) (2024-06-05)
### Features
* [MDS-1173] Add inputFormatters property to AuthCode ([#415](https://github.com/coingaming/moon_flutter/issues/415)) ([b1e0102](https://github.com/coingaming/moon_flutter/commit/b1e010203cf3e3e485cf05b852182e21b3e8b7bc))
## [0.58.0](https://github.com/coingaming/moon_flutter/compare/v0.57.0...v0.58.0) (2024-06-05)
### Features
* [MDS-1172] Create typography page ([#412](https://github.com/coingaming/moon_flutter/issues/412)) ([88bd6a7](https://github.com/coingaming/moon_flutter/commit/88bd6a7946dd354e440cd828e83eeb36ea2db328))
## [0.57.0](https://github.com/coingaming/moon_flutter/compare/v0.56.0...v0.57.0) (2024-05-24)
### Features
* [MDS-1140] Create Colors page ([#404](https://github.com/coingaming/moon_flutter/issues/404)) ([95e1c47](https://github.com/coingaming/moon_flutter/commit/95e1c47885819bb27fe9efd96ad1f98f47b768cb))
## [0.56.0](https://github.com/coingaming/moon_flutter/compare/v0.55.0...v0.56.0) (2024-05-20)
### Features
* [MDS-1096] Create home page ([#402](https://github.com/coingaming/moon_flutter/issues/402)) ([8fce52c](https://github.com/coingaming/moon_flutter/commit/8fce52c35ca898cf48ca8a266583377284c571f2))
## [0.55.0](https://github.com/coingaming/moon_flutter/compare/v0.54.0...v0.55.0) (2024-05-14)
### Features
* [MDS-1129] Deprecate Tag uppercase property ([#400](https://github.com/coingaming/moon_flutter/issues/400)) ([cbd666b](https://github.com/coingaming/moon_flutter/commit/cbd666bed42edb2b7172f166626e740860cb88e7))
## [0.54.0](https://github.com/coingaming/moon_flutter/compare/v0.53.0...v0.54.0) (2024-04-25)
### Features
* [MDS-1093] Add pages functionality ([#397](https://github.com/coingaming/moon_flutter/issues/397)) ([78eccf9](https://github.com/coingaming/moon_flutter/commit/78eccf972d0d73689a7933ec1d29855be66f8427))
## [0.53.0](https://github.com/coingaming/moon_flutter/compare/v0.52.3...v0.53.0) (2024-04-19)
### Features
* [MDS-1091] Storybook UI update ([#395](https://github.com/coingaming/moon_flutter/issues/395)) ([12887d3](https://github.com/coingaming/moon_flutter/commit/12887d3c6f93ba2747f5d6ae8ef5b30c57cc0e46))
## [0.52.3](https://github.com/coingaming/moon_flutter/compare/v0.52.2...v0.52.3) (2024-04-05)
### Bug Fixes
* [MDS-1080] Fix MoonTooltip not showing on init ([#392](https://github.com/coingaming/moon_flutter/issues/392)) ([5514dd5](https://github.com/coingaming/moon_flutter/commit/5514dd5f154875c60480a1533a0cbdc900e10021))
## [0.52.2](https://github.com/coingaming/moon_flutter/compare/v0.52.1...v0.52.2) (2024-04-01)
### Bug Fixes
* [MDS-1060] Fix Tag icon alignment ([#389](https://github.com/coingaming/moon_flutter/issues/389)) ([5eac85b](https://github.com/coingaming/moon_flutter/commit/5eac85ba971840a7606d971a36f1075a4dae4dd7))
## [0.52.1](https://github.com/coingaming/moon_flutter/compare/v0.52.0...v0.52.1) (2024-04-01)
### Bug Fixes
* [MDS-1057] Fix moon_icons icon font glyphs vertical misalignment ([#387](https://github.com/coingaming/moon_flutter/issues/387)) ([459172d](https://github.com/coingaming/moon_flutter/commit/459172d46b7caa8fffb9ec0e74f48aaf61d1786e))
## [0.52.0](https://github.com/coingaming/moon_flutter/compare/v0.51.1...v0.52.0) (2024-03-20)
### Features
* [MDS-1034] Create search component ([#384](https://github.com/coingaming/moon_flutter/issues/384)) ([955c039](https://github.com/coingaming/moon_flutter/commit/955c039bc070f363b67c04082a940577b61ed73c))
## [0.51.1](https://github.com/coingaming/moon_flutter/compare/v0.51.0...v0.51.1) (2024-03-13)
### Bug Fixes
* [MDS-1033] Fix popover closing automatically on tap outside. ([#381](https://github.com/coingaming/moon_flutter/issues/381)) ([e696219](https://github.com/coingaming/moon_flutter/commit/e696219d3d2f671909ce3e593596f962cf7086e6))
## [0.51.0](https://github.com/coingaming/moon_flutter/compare/v0.50.0...v0.51.0) (2024-03-13)
### Features
* [MDS-1032] Add onTapAlwaysCalled and cursorErrorColor to Input widgets props ([#379](https://github.com/coingaming/moon_flutter/issues/379)) ([82b0f13](https://github.com/coingaming/moon_flutter/commit/82b0f13ed002ca6d1a9357cdc1ab48fc21bd1cff))
## [0.50.0](https://github.com/coingaming/moon_flutter/compare/v0.49.8...v0.50.0) (2024-03-12)
### Features
* [MDS-1031] Bump minimum Flutter version to 3.19.3 ([#377](https://github.com/coingaming/moon_flutter/issues/377)) ([b25c5a0](https://github.com/coingaming/moon_flutter/commit/b25c5a0453ccf5c24498dbb021a2ca733c5a50da))
## [0.49.8](https://github.com/coingaming/moon_flutter/compare/v0.49.7...v0.49.8) (2024-03-08)
### Bug Fixes
* [MDS-1020] Carousel fixes ([#375](https://github.com/coingaming/moon_flutter/issues/375)) ([99b45db](https://github.com/coingaming/moon_flutter/commit/99b45db66a32f72697b7e2d3ba947033c1dd9d8a))
## [0.49.7](https://github.com/coingaming/moon_flutter/compare/v0.49.6...v0.49.7) (2024-03-06)
### Bug Fixes
* [MDS-1019] Fix carousel bugs ([#373](https://github.com/coingaming/moon_flutter/issues/373)) ([dc7f93f](https://github.com/coingaming/moon_flutter/commit/dc7f93f98ab9677a218eda6803c612ae64e28f5f))
## [0.49.6](https://github.com/coingaming/moon_flutter/compare/v0.49.5...v0.49.6) (2024-02-26)
### Bug Fixes
* [MDS-1010] Fix modal and combobox code snippets ([#370](https://github.com/coingaming/moon_flutter/issues/370)) ([1badea7](https://github.com/coingaming/moon_flutter/commit/1badea77346e718007a253e707a63014d56d5906))
## [0.49.5](https://github.com/coingaming/moon_flutter/compare/v0.49.4...v0.49.5) (2024-02-26)
### Bug Fixes
* [MDS-1009] Fix Tag uppercase vertical misalignment ([#369](https://github.com/coingaming/moon_flutter/issues/369)) ([b2e049a](https://github.com/coingaming/moon_flutter/commit/b2e049a05bd85932684048486615a5f48301bb1c))
## [0.49.4](https://github.com/coingaming/moon_flutter/compare/v0.49.3...v0.49.4) (2024-02-26)
### Bug Fixes
* [MDS-1008] Fix open modal giving error on Storybook navigation ([#367](https://github.com/coingaming/moon_flutter/issues/367)) ([170173a](https://github.com/coingaming/moon_flutter/commit/170173a3ab87382851b8befa1a54c6b1470eb854))
## [0.49.3](https://github.com/coingaming/moon_flutter/compare/v0.49.2...v0.49.3) (2024-02-26)
### Bug Fixes
* [MDS-1006] Fix bottom sheet not closing on Storybook navigation ([#365](https://github.com/coingaming/moon_flutter/issues/365)) ([d1f1584](https://github.com/coingaming/moon_flutter/commit/d1f158484806a483a55faa8ead74b80eb618097b))
## [0.49.2](https://github.com/coingaming/moon_flutter/compare/v0.49.1...v0.49.2) (2024-02-26)
### Bug Fixes
* [MDS-1007] Fix Storybook story selection and knobs not updating on we… ([#363](https://github.com/coingaming/moon_flutter/issues/363)) ([5f1e934](https://github.com/coingaming/moon_flutter/commit/5f1e9347ffaf3b2a23405a8824fd014a0e5ae65e))
## [0.49.1](https://github.com/coingaming/moon_flutter/compare/v0.49.0...v0.49.1) (2024-02-23)
### Bug Fixes
* [NO-TASK] Hotfix for clearing input ([#361](https://github.com/coingaming/moon_flutter/issues/361)) ([991a6ba](https://github.com/coingaming/moon_flutter/commit/991a6ba9aea4c0e1e53a0d952961a2d24d362fbd))
## [0.49.0](https://github.com/coingaming/moon_flutter/compare/v0.48.5...v0.49.0) (2024-02-23)
### Features
* [MDS-990] Combobox component ([#359](https://github.com/coingaming/moon_flutter/issues/359)) ([ee2f3b6](https://github.com/coingaming/moon_flutter/commit/ee2f3b6baf2939e96f00ff7e02e4e8a810fe309a))
## [0.48.5](https://github.com/coingaming/moon_flutter/compare/v0.48.4...v0.48.5) (2024-02-19)
### Bug Fixes
* [MDS-1003] Fix TextInput overflow issues ([#355](https://github.com/coingaming/moon_flutter/issues/355)) ([058042c](https://github.com/coingaming/moon_flutter/commit/058042cb12e78e6860a82c94a8e17b5b35b31e35))
## [0.48.4](https://github.com/coingaming/moon_flutter/compare/v0.48.3...v0.48.4) (2024-02-19)
### Bug Fixes
* [MDS-1002] Fix Storybook focusing bug ([#356](https://github.com/coingaming/moon_flutter/issues/356)) ([d3181ac](https://github.com/coingaming/moon_flutter/commit/d3181ac5dcb027b67ca34ba2d1d11974bb805179))
## [0.48.3](https://github.com/coingaming/moon_flutter/compare/v0.48.2...v0.48.3) (2024-02-15)
### Bug Fixes
* [MDS-998] Pin storybook_flutter temporarily to previous commit ([#353](https://github.com/coingaming/moon_flutter/issues/353)) ([5a3f14b](https://github.com/coingaming/moon_flutter/commit/5a3f14b41b942047fad7487981264c7cfebf46b4))
## [0.48.2](https://github.com/coingaming/moon_flutter/compare/v0.48.1...v0.48.2) (2024-02-15)
### Bug Fixes
* [MDS-997] Fix MoonTextInputGroup not being interactable and minor story fixes ([#351](https://github.com/coingaming/moon_flutter/issues/351)) ([ee9e0cc](https://github.com/coingaming/moon_flutter/commit/ee9e0ccaeb0dc7006aef2f965acfc698e6a3a740))
## [0.48.1](https://github.com/coingaming/moon_flutter/compare/v0.48.0...v0.48.1) (2024-02-14)
### Bug Fixes
* [MDS-993] Bottomsheet route pop hotfix ([#349](https://github.com/coingaming/moon_flutter/issues/349)) ([218cbe0](https://github.com/coingaming/moon_flutter/commit/218cbe042227286daca4c88d9fe8199bc5d45093))
## [0.48.0](https://github.com/coingaming/moon_flutter/compare/v0.47.3...v0.48.0) (2024-02-14)
### Features
* [MDS-991] Bump minimum Flutter version to 3.16.8 ([#347](https://github.com/coingaming/moon_flutter/issues/347)) ([4b946e4](https://github.com/coingaming/moon_flutter/commit/4b946e434dc95bd0f9fe978d6a0214b0be378f24))
## [0.47.3](https://github.com/coingaming/moon_flutter/compare/v0.47.2...v0.47.3) (2024-02-14)
### Bug Fixes
* [MDS-985] Deprecate Checkbox and Radio label constructor and replace usages with MenuItem ([#345](https://github.com/coingaming/moon_flutter/issues/345)) ([e9a1c84](https://github.com/coingaming/moon_flutter/commit/e9a1c84cd22462469647bb9ec3599234d1910b88))
## [0.47.2](https://github.com/coingaming/moon_flutter/compare/v0.47.1...v0.47.2) (2024-02-09)
### Bug Fixes
* [MDS-942] Improve documentation ([#340](https://github.com/coingaming/moon_flutter/issues/340)) ([c7caf16](https://github.com/coingaming/moon_flutter/commit/c7caf1679a4137686b27bab52ca08c80da331d0b))
## [0.47.1](https://github.com/coingaming/moon_flutter/compare/v0.47.0...v0.47.1) (2024-02-05)
### Bug Fixes
* [MDS-984] Update LinearProgress according to design ([#342](https://github.com/coingaming/moon_flutter/issues/342)) ([2294a0b](https://github.com/coingaming/moon_flutter/commit/2294a0b147f11b785d303f35e854dd0462ff995e))
## [0.47.0](https://github.com/coingaming/moon_flutter/compare/v0.46.0...v0.47.0) (2024-01-19)
### Features
* [MDS-924] Add breadcrumb widget ([#334](https://github.com/coingaming/moon_flutter/issues/334)) ([6767d86](https://github.com/coingaming/moon_flutter/commit/6767d868c5b118a6d7106a6c801674f38a244f33))
## [0.46.0](https://github.com/coingaming/moon_flutter/compare/v0.45.0...v0.46.0) (2024-01-11)
### Features
* [MDS-946] Add search functionality to Icons story ([#337](https://github.com/coingaming/moon_flutter/issues/337)) ([b6cf11a](https://github.com/coingaming/moon_flutter/commit/b6cf11aa99bb569162e996c2ba8b71f71ee0ed0e))
## [0.45.0](https://github.com/coingaming/moon_flutter/compare/v0.44.2...v0.45.0) (2024-01-09)
### Features
* [MDS-941] Change property names ([#335](https://github.com/coingaming/moon_flutter/issues/335)) ([ef79d4e](https://github.com/coingaming/moon_flutter/commit/ef79d4ea15109dc2c63321a42b85a068b3e49a6d))
## [0.44.2](https://github.com/coingaming/moon_flutter/compare/v0.44.1...v0.44.2) (2024-01-02)
### Bug Fixes
* [MDS-923] Fix semibold fontWeight from 600 to 500 ([#331](https://github.com/coingaming/moon_flutter/issues/331)) ([bcbae9a](https://github.com/coingaming/moon_flutter/commit/bcbae9aac8d217c4417919a92d1c74611684475b))
## [0.44.1](https://github.com/coingaming/moon_flutter/compare/v0.44.0...v0.44.1) (2023-12-22)
### Bug Fixes
* [MDS-920] Fix AuthCode validation ([#328](https://github.com/coingaming/moon_flutter/issues/328)) ([f25dbe0](https://github.com/coingaming/moon_flutter/commit/f25dbe00d363dca0e4559b9680a518afec8e45e0))
## [0.44.0](https://github.com/coingaming/moon_flutter/compare/v0.43.0...v0.44.0) (2023-12-21)
### Features
* [MDS-917] Refactor TabBar and SegmentedControl components ([#325](https://github.com/coingaming/moon_flutter/issues/325)) ([13256fc](https://github.com/coingaming/moon_flutter/commit/13256fcdf9dc481fa8e7571a7c7be08d4cf531d8))
## [0.43.0](https://github.com/coingaming/moon_flutter/compare/v0.42.0...v0.43.0) (2023-12-21)
### Features
* [MDS-916] Change code snippet text font family ([#324](https://github.com/coingaming/moon_flutter/issues/324)) ([8c9f851](https://github.com/coingaming/moon_flutter/commit/8c9f851f167e2dfdf83c04829748e2f2febcf585))
## [0.42.0](https://github.com/coingaming/moon_flutter/compare/v0.41.0...v0.42.0) (2023-12-21)
### Features
* [MDS-915] Modify MoonToast to align with design ([#320](https://github.com/coingaming/moon_flutter/issues/320)) ([7837be9](https://github.com/coingaming/moon_flutter/commit/7837be910bd51523045d5da48e8e57afc8e4ea54))
## [0.41.0](https://github.com/coingaming/moon_flutter/compare/v0.40.1...v0.41.0) (2023-12-21)
### Features
* [MDS-914] Modify filled and outlined versions of MoonAlert to align with design ([#319](https://github.com/coingaming/moon_flutter/issues/319)) ([7cb4440](https://github.com/coingaming/moon_flutter/commit/7cb4440e9f302af3b4c050a6fd1ee72b26625599))
## [0.40.1](https://github.com/coingaming/moon_flutter/compare/v0.40.0...v0.40.1) (2023-12-20)
### Bug Fixes
* [MDS-913] Bump moon_icons_flutter dependency to 0.4.0 ([#317](https://github.com/coingaming/moon_flutter/issues/317)) ([5a429b6](https://github.com/coingaming/moon_flutter/commit/5a429b65e085a9f2a3d4cd7fe183c2cbc172924b))
## [0.40.0](https://github.com/coingaming/moon_flutter/compare/v0.39.0...v0.40.0) (2023-12-19)
### Features
* [MDS-742] Enable code plugin and add code snippets ([#315](https://github.com/coingaming/moon_flutter/issues/315)) ([0887fd7](https://github.com/coingaming/moon_flutter/commit/0887fd7edf1ee189650f0ef190c8e2b6180a0af6))
## [0.39.0](https://github.com/coingaming/moon_flutter/compare/v0.38.0...v0.39.0) (2023-12-15)
### Features
* [MDS-912] Add moon_tokens as dependency of moon_flutter ([#313](https://github.com/coingaming/moon_flutter/issues/313)) ([3ae5f93](https://github.com/coingaming/moon_flutter/commit/3ae5f935f0b0ab114fb2ee352744b1f273c467e6))
## [0.38.0](https://github.com/coingaming/moon_flutter/compare/v0.37.0...v0.38.0) (2023-12-15)
### Features
* [MDS-910] Rename color tokens to align more with design variables ([#311](https://github.com/coingaming/moon_flutter/issues/311)) ([3c54130](https://github.com/coingaming/moon_flutter/commit/3c541304ee74a4239ad25d5c80a892a2b868fe51))
## [0.37.0](https://github.com/coingaming/moon_flutter/compare/v0.36.1...v0.37.0) (2023-12-08)
### Features
* [MDS-896] Pin storybook_flutter temporarily to previous commit ([#309](https://github.com/coingaming/moon_flutter/issues/309)) ([1ba24e0](https://github.com/coingaming/moon_flutter/commit/1ba24e0627a5cd3b8179de89d883cde59dd18676))
## [0.36.1](https://github.com/coingaming/moon_flutter/compare/v0.36.0...v0.36.1) (2023-12-01)
### Bug Fixes
* [MDS-844] Adjust Input helper text padding ([#307](https://github.com/coingaming/moon_flutter/issues/307)) ([b453a71](https://github.com/coingaming/moon_flutter/commit/b453a715fde01c7dac930cc088474c205a8b4097))
## [0.36.0](https://github.com/coingaming/moon_flutter/compare/v0.35.0...v0.36.0) (2023-11-24)
### Features
* [MDS-833] Create an example of multi-select Dropdown ([43070b6](https://github.com/coingaming/moon_flutter/commit/43070b671c35da9c17c4f08f64c9f3ca8c85337e))
### Bug Fixes
* [NO-TASK] Add actual code for multi-select Dropdown ([9ef71b9](https://github.com/coingaming/moon_flutter/commit/9ef71b9fccb855aabb91e85d17adfd1093d8b9f6))
* [NO-TASK] Upload actual Dropdown changes ([0957268](https://github.com/coingaming/moon_flutter/commit/0957268c887357e91db4e789c3f9701bb4364833))
* [NO-TASK] Upload actual Dropdown changes ([ff309b1](https://github.com/coingaming/moon_flutter/commit/ff309b14c0b966c7b34a8d220bc6dc8f7b6b33c6))
## [0.35.0](https://github.com/coingaming/moon_flutter/compare/v0.34.7...v0.35.0) (2023-11-24)
### Features
* [MDS-833] Create an example of multi-select Dropdown ([#302](https://github.com/coingaming/moon_flutter/issues/302)) ([bd520b4](https://github.com/coingaming/moon_flutter/commit/bd520b4f1e7ffad35f59a4ac15d0bc4e496e3c38))
## [0.34.7](https://github.com/coingaming/moon_flutter/compare/v0.34.6...v0.34.7) (2023-11-24)
### Bug Fixes
* [NO-TASK] Revert deploy workflow version ([5452bf8](https://github.com/coingaming/moon_flutter/commit/5452bf8aec3114e647984aaf1c3c32ae8b1fffd1))
## [0.34.6](https://github.com/coingaming/moon_flutter/compare/v0.34.5...v0.34.6) (2023-11-22)
### Bug Fixes
* [MDS-830] Reduce the amount of RepaintBoundary's in use ([#299](https://github.com/coingaming/moon_flutter/issues/299)) ([a712571](https://github.com/coingaming/moon_flutter/commit/a712571c07d1f2f660fff664ac63cec8c2e83fa4))
## [0.34.5](https://github.com/coingaming/moon_flutter/compare/v0.34.4...v0.34.5) (2023-11-21)
### Bug Fixes
* [MDS-827] Add sm version for MoonTag ([#297](https://github.com/coingaming/moon_flutter/issues/297)) ([ad0f1ef](https://github.com/coingaming/moon_flutter/commit/ad0f1ef194260360a44bfe7c61b9fe7081003a41))
## [0.34.4](https://github.com/coingaming/moon_flutter/compare/v0.34.3...v0.34.4) (2023-11-21)
### Bug Fixes
* [MDS-828] Adjust MDS color scheme to latest ([#295](https://github.com/coingaming/moon_flutter/issues/295)) ([e5285fe](https://github.com/coingaming/moon_flutter/commit/e5285fec4d0e17e8a1cea80bf08086eca25574b5))
## [0.34.3](https://github.com/coingaming/moon_flutter/compare/v0.34.2...v0.34.3) (2023-11-19)
### Bug Fixes
* [MDS-818] Fix storybook_flutter icons display issues on mobile browsers ([#293](https://github.com/coingaming/moon_flutter/issues/293)) ([069a8f6](https://github.com/coingaming/moon_flutter/commit/069a8f67ae71fc1ab420fd20e56bd2e977fc63fe))
## [0.34.2](https://github.com/coingaming/moon_flutter/compare/v0.34.1...v0.34.2) (2023-11-13)
### Bug Fixes
* [MDS-804] Export moon_flutter_icons from moon_flutter ([#291](https://github.com/coingaming/moon_flutter/issues/291)) ([cc9ef2f](https://github.com/coingaming/moon_flutter/commit/cc9ef2f98912b6df7eb307a9eca94f6a9f11c446))
## [0.34.1](https://github.com/coingaming/moon_flutter/compare/v0.34.0...v0.34.1) (2023-11-13)
### Bug Fixes
* [MDS-801] Bump moon_flutter_icons version ([#289](https://github.com/coingaming/moon_flutter/issues/289)) ([fa6b0c5](https://github.com/coingaming/moon_flutter/commit/fa6b0c5995de475b3b450ff546b21fbc7c66de47))
## [0.34.0](https://github.com/coingaming/moon_flutter/compare/v0.33.3...v0.34.0) (2023-11-12)
### Features
* [MDS-800] Make relevant changes to use the latest moon_icons_flutter library in moon_flutter ([#287](https://github.com/coingaming/moon_flutter/issues/287)) ([4c9d572](https://github.com/coingaming/moon_flutter/commit/4c9d572833ba3cd802bb9a99b0ae6f90f768a494))
## [0.33.3](https://github.com/coingaming/moon_flutter/compare/v0.33.2...v0.33.3) (2023-11-01)
### Bug Fixes
* [MDS-774] Add Icons to Storybook ([#285](https://github.com/coingaming/moon_flutter/issues/285)) ([7e8b56d](https://github.com/coingaming/moon_flutter/commit/7e8b56dde178eadb82351f20af1ff703f67eea50))
## [0.33.2](https://github.com/coingaming/moon_flutter/compare/v0.33.1...v0.33.2) (2023-10-30)
### Bug Fixes
* [NO-TASK] Add routing dependency ([#283](https://github.com/coingaming/moon_flutter/issues/283)) ([1f396a5](https://github.com/coingaming/moon_flutter/commit/1f396a58e6e186a152030b67bc48d5257bb8ffff))
## [0.33.1](https://github.com/coingaming/moon_flutter/compare/v0.33.0...v0.33.1) (2023-10-30)
### Bug Fixes
* [MDS-767] Change url error image format ([#281](https://github.com/coingaming/moon_flutter/issues/281)) ([d07e196](https://github.com/coingaming/moon_flutter/commit/d07e1961c351cc105ecd5c8938ea4036cf5cbb66))
## [0.33.0](https://github.com/coingaming/moon_flutter/compare/v0.32.2...v0.33.0) (2023-10-30)
### Features
* [MDS-766] Change storybook routing library ([#279](https://github.com/coingaming/moon_flutter/issues/279)) ([1d74da0](https://github.com/coingaming/moon_flutter/commit/1d74da0789e069091e725eb7f737dd98aa508ad3))
## [0.32.2](https://github.com/coingaming/moon_flutter/compare/v0.32.1...v0.32.2) (2023-10-25)
### Bug Fixes
* [NO-TASK] Pin storybook_flutter temporarily to previous commit ([#277](https://github.com/coingaming/moon_flutter/issues/277)) ([72969b8](https://github.com/coingaming/moon_flutter/commit/72969b859a8c4910ab2fa731c55bcfef4872eee2))
## [0.32.1](https://github.com/coingaming/moon_flutter/compare/v0.32.0...v0.32.1) (2023-10-23)
### Bug Fixes
* [NO-TASK] CI token verification ([e3530fc](https://github.com/coingaming/moon_flutter/commit/e3530fce95171952b28c8db41cc1694eeecf2f2b))
## [0.32.0](https://github.com/coingaming/moon_flutter/compare/v0.31.5...v0.32.0) (2023-10-20)
### Features
* [MDS-741] Add routing for stories ([#274](https://github.com/coingaming/moon_flutter/issues/274)) ([6db4ca5](https://github.com/coingaming/moon_flutter/commit/6db4ca5f55346b5139fb8f30b6b6efbf8b7f261d))
## [0.31.5](https://github.com/coingaming/moon_flutter/compare/v0.31.4...v0.31.5) (2023-10-20)
### Bug Fixes
* [MDS-758] Pin storybook_flutter temporarily to previous commit again ([#272](https://github.com/coingaming/moon_flutter/issues/272)) ([66712b5](https://github.com/coingaming/moon_flutter/commit/66712b5bcced705eba3dc4e24a769f3af7347c1e))
## [0.31.4](https://github.com/coingaming/moon_flutter/compare/v0.31.3...v0.31.4) (2023-10-18)
### Bug Fixes
* [MDS-756] Use moon_flutter_icons package for icons ([#270](https://github.com/coingaming/moon_flutter/issues/270)) ([78d7735](https://github.com/coingaming/moon_flutter/commit/78d7735b1a8b14a92a1d7d91a9dbd8bff30741d1))
## [0.31.3](https://github.com/coingaming/moon_flutter/compare/v0.31.2...v0.31.3) (2023-10-16)
### Bug Fixes
* [MDS-739] Update code after Storybook fork changes ([#268](https://github.com/coingaming/moon_flutter/issues/268)) ([e9affcb](https://github.com/coingaming/moon_flutter/commit/e9affcb73f0cab0509b08912137fa4e770f2ba1c))
## [0.31.2](https://github.com/coingaming/moon_flutter/compare/v0.31.1...v0.31.2) (2023-10-12)
### Bug Fixes
* [MDS-743] Pin storybook_flutter temporarily to previous commit ([#266](https://github.com/coingaming/moon_flutter/issues/266)) ([5d110c8](https://github.com/coingaming/moon_flutter/commit/5d110c892ad6aa3528ab2073b50ed3a5f499ec4a))
## [0.31.1](https://github.com/coingaming/moon_flutter/compare/v0.31.0...v0.31.1) (2023-10-06)
### Bug Fixes
* Table width fix ([#264](https://github.com/coingaming/moon_flutter/issues/264)) ([91bcb92](https://github.com/coingaming/moon_flutter/commit/91bcb92a181d11f1ee7f76a5541037e80af3b219))
## [0.31.0](https://github.com/coingaming/moon_flutter/compare/v0.30.2...v0.31.0) (2023-10-05)
### Features
* [MDS-649] Create Table component ([#262](https://github.com/coingaming/moon_flutter/issues/262)) ([5ad503f](https://github.com/coingaming/moon_flutter/commit/5ad503fa936b6b12750f0ed250afdf6a425d16af))
## [0.30.2](https://github.com/coingaming/moon_flutter/compare/v0.30.1...v0.30.2) (2023-10-03)
### Bug Fixes
* [MDS-728] Bump minimum Flutter version to 3.13.5 ([#260](https://github.com/coingaming/moon_flutter/issues/260)) ([5c3ff61](https://github.com/coingaming/moon_flutter/commit/5c3ff61f8b53619299777f051fae6e7b8977f5b7))
## [0.30.1](https://github.com/coingaming/moon_flutter/compare/v0.30.0...v0.30.1) (2023-09-25)
### Bug Fixes
* [MDS-696] Swap light gohan and goku colors ([#258](https://github.com/coingaming/moon_flutter/issues/258)) ([0fb1750](https://github.com/coingaming/moon_flutter/commit/0fb1750b299452476f70dccac53eec5be7e565b6))
## [0.30.0](https://github.com/coingaming/moon_flutter/compare/v0.29.5...v0.30.0) (2023-09-22)
### Features
* [MDS-592] Create Dropdown component ([#256](https://github.com/coingaming/moon_flutter/issues/256)) ([adee0d1](https://github.com/coingaming/moon_flutter/commit/adee0d19fd23696a2b45a57ffac67de05b355143))
## [0.29.5](https://github.com/coingaming/moon_flutter/compare/v0.29.4...v0.29.5) (2023-09-14)
### Bug Fixes
* [MDS-682] Fix InputGroup auto validate mode ([#254](https://github.com/coingaming/moon_flutter/issues/254)) ([81bcf3d](https://github.com/coingaming/moon_flutter/commit/81bcf3dff063d69cdccf599ad243e0482049fccb))
## [0.29.4](https://github.com/coingaming/moon_flutter/compare/v0.29.3...v0.29.4) (2023-09-12)
### Bug Fixes
* [MDS-675] Add missing container border and helper animations for InputGroup ([#252](https://github.com/coingaming/moon_flutter/issues/252)) ([e254b16](https://github.com/coingaming/moon_flutter/commit/e254b16d0593b9cd89fcbbb0640c879d2949c66f))
## [0.29.3](https://github.com/coingaming/moon_flutter/compare/v0.29.2...v0.29.3) (2023-09-12)
### Bug Fixes
* [MDS-669] Fix InputGroup bugs ([#250](https://github.com/coingaming/moon_flutter/issues/250)) ([f7a6759](https://github.com/coingaming/moon_flutter/commit/f7a6759bb3ded699629f4e7b43beff224aa0067a))
## [0.29.2](https://github.com/coingaming/moon_flutter/compare/v0.29.1...v0.29.2) (2023-09-08)
### Bug Fixes
* [MDS-665] Fix Input bugs and add border animations ([#248](https://github.com/coingaming/moon_flutter/issues/248)) ([2f22b29](https://github.com/coingaming/moon_flutter/commit/2f22b29cfa193fd2883b57f64a37f38f8fd2dcdc))
## [0.29.1](https://github.com/coingaming/moon_flutter/compare/v0.29.0...v0.29.1) (2023-09-06)
### Bug Fixes
* [MDS-664] Update icon font and MDS text font ([#246](https://github.com/coingaming/moon_flutter/issues/246)) ([95aed8e](https://github.com/coingaming/moon_flutter/commit/95aed8e34e13db01e797d57d617c94a1181bdf9e))
## [0.29.0](https://github.com/coingaming/moon_flutter/compare/v0.28.1...v0.29.0) (2023-09-06)
### Features
* [MDS-617] Refactor Input to align with Flutter 3.10.x changes and create InputGroup component ([#239](https://github.com/coingaming/moon_flutter/issues/239)) ([32ec1c7](https://github.com/coingaming/moon_flutter/commit/32ec1c79588239167ac559ef8aceab445c6b33d2))
## [0.28.1](https://github.com/coingaming/moon_flutter/compare/v0.28.0...v0.28.1) (2023-08-11)
### Bug Fixes
* [MDS-643] Fix progress bar clipping bug ([#242](https://github.com/coingaming/moon_flutter/issues/242)) ([b5d650b](https://github.com/coingaming/moon_flutter/commit/b5d650bcffbbec5a5222ba1c3125d3d70d560f1e))
## [0.28.0](https://github.com/coingaming/moon_flutter/compare/v0.27.2...v0.28.0) (2023-08-11)
### Features
* [MDS-629] Add pin for linear progress ([#240](https://github.com/coingaming/moon_flutter/issues/240)) ([7f81e38](https://github.com/coingaming/moon_flutter/commit/7f81e3870f273ad2f162872fc0863e104b3a46ab))
## [0.27.2](https://github.com/coingaming/moon_flutter/compare/v0.27.1...v0.27.2) (2023-08-09)
### Bug Fixes
* [MDS-631] Components API changes ([#237](https://github.com/coingaming/moon_flutter/issues/237)) ([6e56792](https://github.com/coingaming/moon_flutter/commit/6e56792625c51c231eec37fa9f21319d334951ce))
## [0.27.1](https://github.com/coingaming/moon_flutter/compare/v0.27.0...v0.27.1) (2023-08-03)
### Bug Fixes
* Padding fixes ([#235](https://github.com/coingaming/moon_flutter/issues/235)) ([821da7b](https://github.com/coingaming/moon_flutter/commit/821da7b024f030d24aa31568e3ccb1aabad1c810))
## [0.27.0](https://github.com/coingaming/moon_flutter/compare/v0.26.19...v0.27.0) (2023-08-02)
### Features
* [MDS-618] Menu item component ([#233](https://github.com/coingaming/moon_flutter/issues/233)) ([41ee0e1](https://github.com/coingaming/moon_flutter/commit/41ee0e1fa29406e1226e62148522001223fc0259))
## [0.26.19](https://github.com/coingaming/moon_flutter/compare/v0.26.18...v0.26.19) (2023-08-02)
### Bug Fixes
* [MDS-624] Fix Accordion content outside version focus and hover ([#231](https://github.com/coingaming/moon_flutter/issues/231)) ([96585a3](https://github.com/coingaming/moon_flutter/commit/96585a3278e0a9835363b7cc24899e091e53b163))
## [0.26.18](https://github.com/coingaming/moon_flutter/compare/v0.26.17...v0.26.18) (2023-07-28)
### Bug Fixes
* Publish fix ([4cb38dc](https://github.com/coingaming/moon_flutter/commit/4cb38dcd56291619f5a9473945d9551dca0144f9))
## [0.26.5](https://github.com/coingaming/moon_flutter/compare/v0.26.4...v0.26.5) (2023-07-26)
### Bug Fixes
* [MDS-602] Fix Bottomsheet bugs ([#216](https://github.com/coingaming/moon_flutter/issues/216)) ([9743bc3](https://github.com/coingaming/moon_flutter/commit/9743bc3e8cb27693cb71d5d400d3d41a3cf6e14e))
## [0.26.4](https://github.com/coingaming/moon_flutter/compare/v0.26.3...v0.26.4) (2023-07-25)
### Bug Fixes
* [MDS-611] Fix Toast queueing mechanism and add more properties ([#214](https://github.com/coingaming/moon_flutter/issues/214)) ([4470593](https://github.com/coingaming/moon_flutter/commit/4470593c181384e8fa557fb7ba2d558893234513))
## [0.26.3](https://github.com/coingaming/moon_flutter/compare/v0.26.2...v0.26.3) (2023-07-19)
### Bug Fixes
* [MDS-594] Carousel edge case fixes and story expansion ([#212](https://github.com/coingaming/moon_flutter/issues/212)) ([74d82ee](https://github.com/coingaming/moon_flutter/commit/74d82eec2126e81d432927de2332937effa8147a))
## [0.26.2](https://github.com/coingaming/moon_flutter/compare/v0.26.1...v0.26.2) (2023-07-18)
### Bug Fixes
* [MDS-596] Refactor theming for extensibility ([#210](https://github.com/coingaming/moon_flutter/issues/210)) ([2c1cd27](https://github.com/coingaming/moon_flutter/commit/2c1cd279616ae3ef168f2cb402dcc2d97261c639))
## [0.26.1](https://github.com/coingaming/moon_flutter/compare/v0.26.0...v0.26.1) (2023-07-13)
### Bug Fixes
* [MDS-601] Refactor components properties ([#208](https://github.com/coingaming/moon_flutter/issues/208)) ([598f9ae](https://github.com/coingaming/moon_flutter/commit/598f9ae54d89a9342681f69ea71772d814db399b))
## [0.26.0](https://github.com/coingaming/moon_flutter/compare/v0.25.1...v0.26.0) (2023-07-10)
### Features
* [MDS-590] Create Drawer widget ([#204](https://github.com/coingaming/moon_flutter/issues/204)) ([df73463](https://github.com/coingaming/moon_flutter/commit/df73463e843fa95130807d03d1634500e5376288))
## [0.25.1](https://github.com/coingaming/moon_flutter/compare/v0.25.0...v0.25.1) (2023-07-10)
### Bug Fixes
* [MDS-593] Upgrade Flutter to 3.10.5 ([#205](https://github.com/coingaming/moon_flutter/issues/205)) ([a469868](https://github.com/coingaming/moon_flutter/commit/a4698685f9bac6f40f604cbb4a0132c9c29ab8b3))
## [0.25.0](https://github.com/coingaming/moon_flutter/compare/v0.24.0...v0.25.0) (2023-07-07)
### Features
* [MDS-565] Create Carousel widget ([#200](https://github.com/coingaming/moon_flutter/issues/200)) ([fc6534b](https://github.com/coingaming/moon_flutter/commit/fc6534b7796c45d681f79a4cf3e1c287e5598ca6))
## [0.24.0](https://github.com/coingaming/moon_flutter/compare/v0.23.0...v0.24.0) (2023-07-03)
### Features
* [MDS-576] Create DotIndicator widget ([#201](https://github.com/coingaming/moon_flutter/issues/201)) ([41b0ab9](https://github.com/coingaming/moon_flutter/commit/41b0ab993187fc424c41eaaf6082693c1f67346b))
## [0.23.0](https://github.com/coingaming/moon_flutter/compare/v0.22.9...v0.23.0) (2023-06-21)
### Features
* [MDS-552] Create BottomSheet widget ([#198](https://github.com/coingaming/moon_flutter/issues/198)) ([d0ec518](https://github.com/coingaming/moon_flutter/commit/d0ec518815280b54f375c87cae52737ebe620f95))
## [0.22.9](https://github.com/coingaming/moon_flutter/compare/v0.22.8...v0.22.9) (2023-06-20)
### Bug Fixes
* [MDS-564] Remove vector_math transitive dependency ([#196](https://github.com/coingaming/moon_flutter/issues/196)) ([fa8490a](https://github.com/coingaming/moon_flutter/commit/fa8490adc54cbf9e32d7de4324fb107be143aa9e))
## [0.22.8](https://github.com/coingaming/moon_flutter/compare/v0.22.7...v0.22.8) (2023-06-20)
### Bug Fixes
* [MDS-562] Update the icon font ([#194](https://github.com/coingaming/moon_flutter/issues/194)) ([af43608](https://github.com/coingaming/moon_flutter/commit/af43608b20f4a4efcaa8cfd798ca875145346e86))
## [0.22.7](https://github.com/coingaming/moon_flutter/compare/v0.22.6...v0.22.7) (2023-06-14)
### Bug Fixes
* [MDS-551] Add default theming for icons ([#192](https://github.com/coingaming/moon_flutter/issues/192)) ([fc476a0](https://github.com/coingaming/moon_flutter/commit/fc476a0ade1684b2b12e24a5d78f98451db6e1ca))
## [0.22.6](https://github.com/coingaming/moon_flutter/compare/v0.22.5...v0.22.6) (2023-06-07)
### Bug Fixes
* [MDS-539] Fix theme switching issues ([#190](https://github.com/coingaming/moon_flutter/issues/190)) ([7a0d179](https://github.com/coingaming/moon_flutter/commit/7a0d1798c8f0a6616424362f6467c34761fbfed7))
## [0.22.5](https://github.com/coingaming/moon_flutter/compare/v0.22.4...v0.22.5) (2023-05-31)
### Bug Fixes
* [MDS-538] Remove computeLuminace method ([#188](https://github.com/coingaming/moon_flutter/issues/188)) ([bc4ebd7](https://github.com/coingaming/moon_flutter/commit/bc4ebd7b65f0e9a467b08370fc625a1720a3f552))
## [0.22.4](https://github.com/coingaming/moon_flutter/compare/v0.22.3...v0.22.4) (2023-05-29)
### Bug Fixes
* Fix accordion missing text style ([#186](https://github.com/coingaming/moon_flutter/issues/186)) ([b61d5af](https://github.com/coingaming/moon_flutter/commit/b61d5afc1c58f46da1171698d3fcb5fd1003b4be))
## [0.22.3](https://github.com/coingaming/moon_flutter/compare/v0.22.2...v0.22.3) (2023-05-26)
### Bug Fixes
* Fix tabBar and segmentedControl animation ([#184](https://github.com/coingaming/moon_flutter/issues/184)) ([af64b94](https://github.com/coingaming/moon_flutter/commit/af64b9486999f96ae602177a77179d42f4aa4975))
## [0.22.2](https://github.com/coingaming/moon_flutter/compare/v0.22.1...v0.22.2) (2023-05-26)
### Bug Fixes
* [MDS-510] Fix theme switching color being out of sync in widgets - Part 1 ([#178](https://github.com/coingaming/moon_flutter/issues/178)) ([0e58cd1](https://github.com/coingaming/moon_flutter/commit/0e58cd168b30c50c1058ce375074e76bd4081f66))
## [0.22.1](https://github.com/coingaming/moon_flutter/compare/v0.22.0...v0.22.1) (2023-05-26)
### Bug Fixes
* Add selected tab pill text color ([#181](https://github.com/coingaming/moon_flutter/issues/181)) ([1ce39cf](https://github.com/coingaming/moon_flutter/commit/1ce39cfc8439801bf83d8b925f250b2fd1918d4b))
## [0.22.0](https://github.com/coingaming/moon_flutter/compare/v0.21.3...v0.22.0) (2023-05-26)
### Features
* [MDS-535] Create MoonTabBar component ([#179](https://github.com/coingaming/moon_flutter/issues/179)) ([cf19d9f](https://github.com/coingaming/moon_flutter/commit/cf19d9ff061932390ff791d10ba4a7a4b1f97777))
## [0.21.3](https://github.com/coingaming/moon_flutter/compare/v0.21.2...v0.21.3) (2023-05-22)
### Bug Fixes
* [MDS-534] Replace Color.lerp with premul one where possible ([#176](https://github.com/coingaming/moon_flutter/issues/176)) ([e87e103](https://github.com/coingaming/moon_flutter/commit/e87e103dff231696f814577d5c5b9bc420fe1d03))
## [0.21.2](https://github.com/coingaming/moon_flutter/compare/v0.21.1...v0.21.2) (2023-05-22)
### Bug Fixes
* [MDS-527] Extract out figma_squircle logic and fix various issues ([#172](https://github.com/coingaming/moon_flutter/issues/172)) ([08e7752](https://github.com/coingaming/moon_flutter/commit/08e7752bb61665b269d22a3cee7b2fc7d41a367c))
## [0.21.1](https://github.com/coingaming/moon_flutter/compare/v0.21.0...v0.21.1) (2023-05-22)
### Bug Fixes
* [MDS-532] Add ShapeDecoration as props to every widget where it makes sense ([#173](https://github.com/coingaming/moon_flutter/issues/173)) ([b4eba9c](https://github.com/coingaming/moon_flutter/commit/b4eba9c7945bc930007c239ecd287e6b653d8ada))
## [0.21.0](https://github.com/coingaming/moon_flutter/compare/v0.20.3...v0.21.0) (2023-05-17)
### Features
* [MDS-518] Create MoonSegmentedControl component ([#170](https://github.com/coingaming/moon_flutter/issues/170)) ([04cb654](https://github.com/coingaming/moon_flutter/commit/04cb654ace91bb96fbd1f616f4237f11fd3ce750))
## [0.20.3](https://github.com/coingaming/moon_flutter/compare/v0.20.2...v0.20.3) (2023-05-17)
### Bug Fixes
* [MDS-525] Fix EdgeInsetsGeometry behaviour that is passed in as props ([#166](https://github.com/coingaming/moon_flutter/issues/166)) ([c7552e3](https://github.com/coingaming/moon_flutter/commit/c7552e3164ed2362a58e88e7c24526c2bcbd9464))
## [0.20.2](https://github.com/coingaming/moon_flutter/compare/v0.20.1...v0.20.2) (2023-05-17)
### Bug Fixes
* [MDS-526] Replace custom outside Popover tapping logic with inbuilt TapRegion ([#167](https://github.com/coingaming/moon_flutter/issues/167)) ([8717282](https://github.com/coingaming/moon_flutter/commit/871728255401d7b2527b5fc7049b9a6c349c6005))
## [0.20.1](https://github.com/coingaming/moon_flutter/compare/v0.20.0...v0.20.1) (2023-05-15)
### Bug Fixes
* [MDS-517] Fix TextInput and TextArea bugs ([#164](https://github.com/coingaming/moon_flutter/issues/164)) ([abcb01c](https://github.com/coingaming/moon_flutter/commit/abcb01c04d019a357566f35dc333abcc85bfad3a))
## [0.20.0](https://github.com/coingaming/moon_flutter/compare/v0.19.9...v0.20.0) (2023-05-05)
### Features
* [MDS-503] Create Input widget ([#144](https://github.com/coingaming/moon_flutter/issues/144)) ([fc5cd2a](https://github.com/coingaming/moon_flutter/commit/fc5cd2a7514097b688ffe3fe088447f4eb8156b9))
## [0.19.9](https://github.com/coingaming/moon_flutter/compare/v0.19.8...v0.19.9) (2023-05-02)
### Bug Fixes
* [MDS-514] Recreate icon font once more and fix scaling and platform alignment problems ([#161](https://github.com/coingaming/moon_flutter/issues/161)) ([1fd1c47](https://github.com/coingaming/moon_flutter/commit/1fd1c474ab623727deae39dc6b280c17dfcbf493))
## [0.19.8](https://github.com/coingaming/moon_flutter/compare/v0.19.7...v0.19.8) (2023-05-02)
### Bug Fixes
* [NO-TASK] Add icon font config.json ([4ca90f4](https://github.com/coingaming/moon_flutter/commit/4ca90f47e5e31e0eb39e9d5ce8817c40fd717472))
## [0.19.7](https://github.com/coingaming/moon_flutter/compare/v0.19.6...v0.19.7) (2023-04-28)
### Bug Fixes
* [MDS-513] Replace BorderRadius with BorderRadiusGeometry ([#158](https://github.com/coingaming/moon_flutter/issues/158)) ([d91418f](https://github.com/coingaming/moon_flutter/commit/d91418f6012e4a7b16f32496a348af39b2e80d4b))
## [0.19.6](https://github.com/coingaming/moon_flutter/compare/v0.19.5...v0.19.6) (2023-04-27)
### Bug Fixes
* [MDS-512] Storybook naming ([#156](https://github.com/coingaming/moon_flutter/issues/156)) ([6dc9cbd](https://github.com/coingaming/moon_flutter/commit/6dc9cbdb5dfe88e6e664d847a9bf5a871f1b0607))
## [0.19.5](https://github.com/coingaming/moon_flutter/compare/v0.19.4...v0.19.5) (2023-04-25)
### Bug Fixes
* [MDS-508] Props check and ordering ([#154](https://github.com/coingaming/moon_flutter/issues/154)) ([cc6025f](https://github.com/coingaming/moon_flutter/commit/cc6025f27cffac02b48cb708da83c7b4aecac5bf))
## [0.19.4](https://github.com/coingaming/moon_flutter/compare/v0.19.3...v0.19.4) (2023-04-25)
### Bug Fixes
* [MDS-511] Fix disappearing widgets in mobile web / PWA ([#152](https://github.com/coingaming/moon_flutter/issues/152)) ([7b96ea5](https://github.com/coingaming/moon_flutter/commit/7b96ea54d0b6105cf5fe8af2f48142f97707a958))
## [0.19.3](https://github.com/coingaming/moon_flutter/compare/v0.19.2...v0.19.3) (2023-04-24)
### Bug Fixes
* [MDS-509] Fix Avatar clipping with uneven height and width combinations ([#150](https://github.com/coingaming/moon_flutter/issues/150)) ([87f8b72](https://github.com/coingaming/moon_flutter/commit/87f8b72f3d8f5042370e4ecbacfda4b335fac96d))
## [0.19.2](https://github.com/coingaming/moon_flutter/compare/v0.19.1...v0.19.2) (2023-04-24)
### Bug Fixes
* [MDS-504] Fork storybook_flutter, create extra functionality and add it as dependency. ([#148](https://github.com/coingaming/moon_flutter/issues/148)) ([c92a516](https://github.com/coingaming/moon_flutter/commit/c92a5167dee698da8366c5a9d43ae0a89fdc6cca))
## [0.19.1](https://github.com/coingaming/moon_flutter/compare/v0.19.0...v0.19.1) (2023-04-19)
### Bug Fixes
* [MDS-502] Add additional storybook knobs to components ([#145](https://github.com/coingaming/moon_flutter/issues/145)) ([53523fe](https://github.com/coingaming/moon_flutter/commit/53523fe82353a812b731ec83b40dd98a61910293))
## [0.19.0](https://github.com/coingaming/moon_flutter/compare/v0.18.3...v0.19.0) (2023-04-18)
### Features
* [MDS-491] Create TextArea widget ([#140](https://github.com/coingaming/moon_flutter/issues/140)) ([6c00719](https://github.com/coingaming/moon_flutter/commit/6c00719de846f68bb60d84b08c02d349d526afae))
## [0.18.3](https://github.com/coingaming/moon_flutter/compare/v0.18.2...v0.18.3) (2023-04-18)
### Bug Fixes
* [MDS-501] RepaintBoundary and mounted usage ([#141](https://github.com/coingaming/moon_flutter/issues/141)) ([a7e555f](https://github.com/coingaming/moon_flutter/commit/a7e555fd7d0b106432bf172565ce105f1b50a10b))
## [0.18.2](https://github.com/coingaming/moon_flutter/compare/v0.18.1...v0.18.2) (2023-04-17)
### Bug Fixes
* [MDS-499] Refactor EdgeInsets and Alignment to use Geometry variants ([#138](https://github.com/coingaming/moon_flutter/issues/138)) ([7b88df7](https://github.com/coingaming/moon_flutter/commit/7b88df7f1c6ed55e7959fae234aafbe04b8ed3a7))
* [MDS-500] Convert borderRadiusValue usage to BorderRadius ([#137](https://github.com/coingaming/moon_flutter/issues/137)) ([755bbb9](https://github.com/coingaming/moon_flutter/commit/755bbb9a154ad038e2b071de736a984d178e600e))
## [0.18.1](https://github.com/coingaming/moon_flutter/compare/v0.18.0...v0.18.1) (2023-04-14)
### Bug Fixes
* [MDS-498] Add missing Semantics and semanticLabels ([#135](https://github.com/coingaming/moon_flutter/issues/135)) ([10478f4](https://github.com/coingaming/moon_flutter/commit/10478f4454cd8913c82f1b97c1d1a72d0393e02b))
## [0.18.0](https://github.com/coingaming/moon_flutter/compare/v0.17.1...v0.18.0) (2023-04-12)
### Features
* [MDS-489] Create MoonAuthCode component ([#109](https://github.com/coingaming/moon_flutter/issues/109)) ([59d72b7](https://github.com/coingaming/moon_flutter/commit/59d72b790edb2b75b75fdb4505ed2608bbdcfab1))
## [0.17.1](https://github.com/coingaming/moon_flutter/compare/v0.17.0...v0.17.1) (2023-04-10)
### Bug Fixes
* [NO-TASK] Resize Icons story icons ([#107](https://github.com/coingaming/moon_flutter/issues/107)) ([acdcc9d](https://github.com/coingaming/moon_flutter/commit/acdcc9d8c491d1d972ea4dd9b0c039b201037eee))
## [0.17.0](https://github.com/coingaming/moon_flutter/compare/v0.16.1...v0.17.0) (2023-04-10)
### Features
* [MDS-447] Create Toast component ([#103](https://github.com/coingaming/moon_flutter/issues/103)) ([191fc13](https://github.com/coingaming/moon_flutter/commit/191fc1374c5624ecd4ac7eff5e719c3313a58636))
## [0.16.1](https://github.com/coingaming/moon_flutter/compare/v0.16.0...v0.16.1) (2023-04-10)
### Bug Fixes
* [MDS-488] Recreate icon font due to glyphs being slightly off-center ([#104](https://github.com/coingaming/moon_flutter/issues/104)) ([01e5bf2](https://github.com/coingaming/moon_flutter/commit/01e5bf206d7f762d673a5fdf5930bca6f72e8f1d))
## [0.16.0](https://github.com/coingaming/moon_flutter/compare/v0.15.6...v0.16.0) (2023-04-03)
### Features
* [MDS-463] Create Alert widget ([#97](https://github.com/coingaming/moon_flutter/issues/97)) ([a491dc7](https://github.com/coingaming/moon_flutter/commit/a491dc735b1717b2e4099c0a53f8b7c9c81a33b7))
## [0.15.6](https://github.com/coingaming/moon_flutter/compare/v0.15.5...v0.15.6) (2023-03-30)
### Bug Fixes
* [MDS-465] Fix Accordion disappearing titles and color transitions ([#100](https://github.com/coingaming/moon_flutter/issues/100)) ([9392330](https://github.com/coingaming/moon_flutter/commit/939233073621afd67cef9556a7ad957f8a7b5549))
## [0.15.5](https://github.com/coingaming/moon_flutter/compare/v0.15.4...v0.15.5) (2023-03-28)
### Bug Fixes
* [MDS-461] Make widgets accept BorderRadius instead of SmoothBorderRadius ([#98](https://github.com/coingaming/moon_flutter/issues/98)) ([f855f70](https://github.com/coingaming/moon_flutter/commit/f855f7046558b43780c8936d29ab5e35340ec0e5))
## [0.15.4](https://github.com/coingaming/moon_flutter/compare/v0.15.3...v0.15.4) (2023-03-24)
### Bug Fixes
* [MDS-460] Various minor bug fixes ([#95](https://github.com/coingaming/moon_flutter/issues/95)) ([4e1772b](https://github.com/coingaming/moon_flutter/commit/4e1772bd9b6ce18f632d44bc929cea57b1a0c6ab))
## [0.15.3](https://github.com/coingaming/moon_flutter/compare/v0.15.2...v0.15.3) (2023-03-23)
### Bug Fixes
* [MDS-453] Chip types should be separated via intrinsic properties ([#93](https://github.com/coingaming/moon_flutter/issues/93)) ([99d0c08](https://github.com/coingaming/moon_flutter/commit/99d0c08d91fd4bf5a946059d4186f0a867646cbd))
## [0.15.2](https://github.com/coingaming/moon_flutter/compare/v0.15.1...v0.15.2) (2023-03-23)
### Bug Fixes
* [MDS-451] Button types should be separated via intrinsic properties ([#91](https://github.com/coingaming/moon_flutter/issues/91)) ([a87dadc](https://github.com/coingaming/moon_flutter/commit/a87dadcd780ffb609c9e81086b58f17aa75aef4e))
## [0.15.1](https://github.com/coingaming/moon_flutter/compare/v0.15.0...v0.15.1) (2023-03-23)
### Bug Fixes
* [MDS-450] Accordion functionality fixes ([#89](https://github.com/coingaming/moon_flutter/issues/89)) ([2f84351](https://github.com/coingaming/moon_flutter/commit/2f8435109b1382020657bd1d3c0ef636f8e7f1d8))
## [0.15.0](https://github.com/coingaming/moon_flutter/compare/v0.14.0...v0.15.0) (2023-03-22)
### Features
* [MDS-448] Create Modal widget ([#87](https://github.com/coingaming/moon_flutter/issues/87)) ([1eb9562](https://github.com/coingaming/moon_flutter/commit/1eb95620e9175c6199e354d268d7461c267f97db))
## [0.14.0](https://github.com/coingaming/moon_flutter/compare/v0.13.0...v0.14.0) (2023-03-20)
### Features
* [MDS-442] Create Radio widget ([#85](https://github.com/coingaming/moon_flutter/issues/85)) ([1c4f674](https://github.com/coingaming/moon_flutter/commit/1c4f674cf09b8eccef6507617e0d40376be3204a))
## [0.13.0](https://github.com/coingaming/moon_flutter/compare/v0.12.0...v0.13.0) (2023-03-18)
### Features
* [MDS-404] Create Accordion widget ([#83](https://github.com/coingaming/moon_flutter/issues/83)) ([3170b92](https://github.com/coingaming/moon_flutter/commit/3170b929d0ec44d649697e1dc6ba5193d38baa13))
## [0.12.0](https://github.com/coingaming/moon_flutter/compare/v0.11.1...v0.12.0) (2023-03-15)
### Features
* [MDS-436] Create Checkbox component ([#81](https://github.com/coingaming/moon_flutter/issues/81)) ([21a66dd](https://github.com/coingaming/moon_flutter/commit/21a66dddad90942864ebe6fa8b4621d935b7563c))
## [0.11.1](https://github.com/coingaming/moon_flutter/compare/v0.11.0...v0.11.1) (2023-03-15)
### Bug Fixes
* [MDS-437 Fix specific components theming naming and Storybook story weights ([#79](https://github.com/coingaming/moon_flutter/issues/79)) ([f01999f](https://github.com/coingaming/moon_flutter/commit/f01999f7f0af6fffa428d97cea4da26ff3e9472b))
## [0.11.0](https://github.com/coingaming/moon_flutter/compare/v0.10.1...v0.11.0) (2023-03-14)
### Features
* [MDS-431] Create Switch widget ([#77](https://github.com/coingaming/moon_flutter/issues/77)) ([434fb73](https://github.com/coingaming/moon_flutter/commit/434fb73bb36095adcff7948fe1228ff4f031390c))
## [0.10.1](https://github.com/coingaming/moon_flutter/compare/v0.10.0...v0.10.1) (2023-03-11)
### Bug Fixes
* Hotfix Tooltip and Popover RTL position error ([270b4eb](https://github.com/coingaming/moon_flutter/commit/270b4ebcc410a1cd628e6109229aba3163c509c9))
## [0.10.0](https://github.com/coingaming/moon_flutter/compare/v0.9.6...v0.10.0) (2023-03-11)
### Features
* [MDS-429] Create Popover component ([#74](https://github.com/coingaming/moon_flutter/issues/74)) ([33ec0c9](https://github.com/coingaming/moon_flutter/commit/33ec0c9dfed52148af61dd6a074142ef510617ef))
## [0.9.6](https://github.com/coingaming/moon_flutter/compare/v0.9.5...v0.9.6) (2023-03-10)
### Bug Fixes
* [MDS-430] Fix Chip border properties inconsistencies ([#72](https://github.com/coingaming/moon_flutter/issues/72)) ([781d0e8](https://github.com/coingaming/moon_flutter/commit/781d0e86ef13de85c6ba305c3e7fd830ab7eaf27))
## [0.9.5](https://github.com/coingaming/moon_flutter/compare/v0.9.4...v0.9.5) (2023-03-09)
### Bug Fixes
* [MDS-409] Improve theming ([#70](https://github.com/coingaming/moon_flutter/issues/70)) ([a8523a5](https://github.com/coingaming/moon_flutter/commit/a8523a5c92d37c8b92349690d8f82efcea44dc46))
## [0.9.4](https://github.com/coingaming/moon_flutter/compare/v0.9.3...v0.9.4) (2023-03-08)
### Bug Fixes
* [MDS-408] Rewrite Tooltip to add ordinal directions functionality ([#68](https://github.com/coingaming/moon_flutter/issues/68)) ([5cbed50](https://github.com/coingaming/moon_flutter/commit/5cbed5021be69dadf555b1828e25d21cb4fe4de7))
## [0.9.3](https://github.com/coingaming/moon_flutter/compare/v0.9.2...v0.9.3) (2023-03-02)
### Bug Fixes
* [MDS-410] Button fullWidth property bugs out in some conditions ([#66](https://github.com/coingaming/moon_flutter/issues/66)) ([52ed9b7](https://github.com/coingaming/moon_flutter/commit/52ed9b74d9f4d4aa38ce9fe8fd39d8f8218025d1))
## [0.9.2](https://github.com/coingaming/moon_flutter/compare/v0.9.1...v0.9.2) (2023-03-01)
### Bug Fixes
* [MDS-411] Update icons and extract them to separate thematic fonts ([#64](https://github.com/coingaming/moon_flutter/issues/64)) ([39f7063](https://github.com/coingaming/moon_flutter/commit/39f7063d86ff786936a5bb31806ba86990720bfc))
## [0.9.1](https://github.com/coingaming/moon_flutter/compare/v0.9.0...v0.9.1) (2023-02-28)
### Bug Fixes
* [MDS-407] Fix Chip not handling some colors with opacity properly ([#62](https://github.com/coingaming/moon_flutter/issues/62)) ([a62ba9b](https://github.com/coingaming/moon_flutter/commit/a62ba9b17bb9699e532ed525d9de565bf224a827))
## [0.9.0](https://github.com/coingaming/moon_flutter/compare/v0.8.0...v0.9.0) (2023-02-27)
### Features
* [MDS-412] Create LinearProgress and LinearLoader widgets ([#60](https://github.com/coingaming/moon_flutter/issues/60)) ([000de10](https://github.com/coingaming/moon_flutter/commit/000de10f4e6479e42a22e64e758fd26195b86292))
## [0.8.0](https://github.com/coingaming/moon_flutter/compare/v0.7.0...v0.8.0) (2023-02-23)
### Features
* [MDS-405] Create CircularProgress widget ([#58](https://github.com/coingaming/moon_flutter/issues/58)) ([03d8832](https://github.com/coingaming/moon_flutter/commit/03d88323e758e612d6834743d24bea91226360d5))
## [0.7.0](https://github.com/coingaming/moon_flutter/compare/v0.6.0...v0.7.0) (2023-02-23)
### Features
* [MDS-389] Create MoonLoader ([#56](https://github.com/coingaming/moon_flutter/issues/56)) ([1f5b025](https://github.com/coingaming/moon_flutter/commit/1f5b02565bd30cd82986c0f81a5af2befb8c63c0))
## [0.6.0](https://github.com/coingaming/moon_flutter/compare/v0.5.6...v0.6.0) (2023-02-23)
### Features
* [MDS-390] Add MoonTooltip ([#53](https://github.com/coingaming/moon_flutter/issues/53)) ([96a13a6](https://github.com/coingaming/moon_flutter/commit/96a13a6529be9d055c83f1d0e084291bed737931))
## [0.5.6](https://github.com/coingaming/moon_flutter/compare/v0.5.5...v0.5.6) (2023-02-20)
### Bug Fixes
* avatar and button to capitalize in Storybook ([#52](https://github.com/coingaming/moon_flutter/issues/52)) ([db95d21](https://github.com/coingaming/moon_flutter/commit/db95d21b39feb82e9a3b7eda3aa430b46000bf98))
## [0.5.5](https://github.com/coingaming/moon_flutter/compare/v0.5.4...v0.5.5) (2023-02-20)
### Bug Fixes
* chip to Chip in Storybook [MDS-398] ([#48](https://github.com/coingaming/moon_flutter/issues/48)) ([0ef0871](https://github.com/coingaming/moon_flutter/commit/0ef08710852137e4958440319ff0ab100860d5b3))
## [0.5.4](https://github.com/coingaming/moon_flutter/compare/v0.5.3...v0.5.4) (2023-02-20)
### Bug Fixes
* Fix MDS logo ([#49](https://github.com/coingaming/moon_flutter/issues/49)) ([2eccb18](https://github.com/coingaming/moon_flutter/commit/2eccb18bf6195946ac708a3509a6d5d5665676a8))
## [0.5.3](https://github.com/coingaming/moon_flutter/compare/v0.5.2...v0.5.3) (2023-02-20)
### Bug Fixes
* Add AnimatedIconTheme to MoonButton ([#46](https://github.com/coingaming/moon_flutter/issues/46)) ([7c99334](https://github.com/coingaming/moon_flutter/commit/7c993341146b57be24ee288cd11a79b308f75f2a))
## [0.5.2](https://github.com/coingaming/moon_flutter/compare/v0.5.1...v0.5.2) (2023-02-20)
### Bug Fixes
* Convert AnimatedIconTheme to ImplicitlyAnimatedWidget ([#43](https://github.com/coingaming/moon_flutter/issues/43)) ([c1a5216](https://github.com/coingaming/moon_flutter/commit/c1a5216340f540ffde4e2e2d80d4b945021a4e27))
## [0.5.1](https://github.com/coingaming/moon_flutter/compare/v0.5.0...v0.5.1) (2023-02-19)
### Bug Fixes
* Create AnimatedIconTheme ([#41](https://github.com/coingaming/moon_flutter/issues/41)) ([1c24eca](https://github.com/coingaming/moon_flutter/commit/1c24ecab3143ee68afe711a468b0961c1c252245))
## [0.5.0](https://github.com/coingaming/moon_flutter/compare/v0.4.3...v0.5.0) (2023-02-17)
### Features
* [MDS-387] Add/convert MDS icons to the project ([#39](https://github.com/coingaming/moon_flutter/issues/39)) ([2074f9a](https://github.com/coingaming/moon_flutter/commit/2074f9a01d5af650ed2227fcdf505003bdbd451c))
## [0.4.3](https://github.com/coingaming/moon_flutter/compare/v0.4.2...v0.4.3) (2023-02-15)
### Bug Fixes
* Add letter spacing to upper case MoonTag ([1454be1](https://github.com/coingaming/moon_flutter/commit/1454be18271f2838f0061d30ea7bf2fd2cf664f8))
## [0.4.2](https://github.com/coingaming/moon_flutter/compare/v0.4.1...v0.4.2) (2023-02-14)
### Bug Fixes
* Add semantics to MoonTag ([#36](https://github.com/coingaming/moon_flutter/issues/36)) ([e83bea2](https://github.com/coingaming/moon_flutter/commit/e83bea230801d6307b84a88aea35548c516e9211))
## [0.4.1](https://github.com/coingaming/moon_flutter/compare/v0.4.0...v0.4.1) (2023-02-14)
### Bug Fixes
* Correct MoonChip padding ([f14eb2d](https://github.com/coingaming/moon_flutter/commit/f14eb2d5444330cf5a89d911c541988c63cca8a9))
## [0.4.0](https://github.com/coingaming/moon_flutter/compare/v0.3.0...v0.4.0) (2023-02-14)
### Features
* [MDS-378] Create Chip widget ([#33](https://github.com/coingaming/moon_flutter/issues/33)) ([4f41fcd](https://github.com/coingaming/moon_flutter/commit/4f41fcddef034d78c8b13c0a177d3f501c21ffa8))
## [0.3.0](https://github.com/coingaming/moon_flutter/compare/v0.2.4...v0.3.0) (2023-02-10)
### Features
* [MDS-379] Finalize the MoonTag ([#31](https://github.com/coingaming/moon_flutter/issues/31)) ([95ecf31](https://github.com/coingaming/moon_flutter/commit/95ecf31f7ee38a07fdbfc0782b6687b04dfa7369))
## [0.2.4](https://github.com/coingaming/moon_flutter/compare/v0.2.3...v0.2.4) (2023-02-10)
### Bug Fixes
* hotfix page title in storybook ([8d1d24d](https://github.com/coingaming/moon_flutter/commit/8d1d24d8a2198bcab4ee7b3f441efa68fca35a76))
## [0.2.3](https://github.com/coingaming/moon_flutter/compare/v0.2.2...v0.2.3) (2023-02-10)
### Bug Fixes
* RTL and web title fixes ([#28](https://github.com/coingaming/moon_flutter/issues/28)) ([25619e5](https://github.com/coingaming/moon_flutter/commit/25619e56d20c3adb60c14615c5c4b40e22466fe1))
## [0.2.2](https://github.com/coingaming/moon_flutter/compare/v0.2.1...v0.2.2) (2023-02-10)
### Bug Fixes
* Changelog fix ([#26](https://github.com/coingaming/moon_flutter/issues/26)) ([aa428ba](https://github.com/coingaming/moon_flutter/commit/aa428ba61baeedbe7d484157ce08a39f8aca01e8))
## [0.2.1](https://github.com/coingaming/moon_flutter/compare/v0.2.0...v0.2.1) (2023-02-10)
### Bug Fixes
* Fix placeholder asset path ([#24](https://github.com/coingaming/moon_flutter/issues/24)) ([e884b86](https://github.com/coingaming/moon_flutter/commit/e884b860e882cb83e71615de0c46f30c0572dfb1))
## [0.2.0](https://github.com/coingaming/moon_flutter/compare/v0.1.5...v0.2.0) (2023-02-10)
### Features
* [MDS-377] Create avatar widget ([#22](https://github.com/coingaming/moon_flutter/issues/22)) ([57d0a0d](https://github.com/coingaming/moon_flutter/commit/57d0a0d2db6afbb25193b4080b2166e59d718f70))
## [0.1.5](https://github.com/coingaming/moon_flutter/compare/v0.1.4...v0.1.5) (2023-02-09)
### Bug Fixes
* Add MoonButton.icon constructor ([#16](https://github.com/coingaming/moon_flutter/issues/16)) ([a94f79d](https://github.com/coingaming/moon_flutter/commit/a94f79d0b1d9683296670c1591bb04fb9ad290ab))
## [0.1.4](https://github.com/coingaming/moon_flutter/compare/v0.1.3...v0.1.4) (2023-02-08)
### Bug Fixes
* release-please config changes ([393ec4a](https://github.com/coingaming/moon_flutter/commit/393ec4a93f7be23fcd235e24cb1063c613ad55fd))
## [0.1.3](https://github.com/coingaming/moon_flutter/compare/moon_design-v0.1.2...moon_design-v0.1.3) (2023-02-08)
### Bug Fixes
* Color staleness in the example ([#11](https://github.com/coingaming/moon_flutter/issues/11)) ([e979150](https://github.com/coingaming/moon_flutter/commit/e979150034b657288be446c6702d40f4ad96189b))
## [0.1.2](https://github.com/coingaming/moon_flutter/compare/v0.1.1...v0.1.2) (2023-02-07)
### Bug Fixes
* Retry dynamic version fix in storybook ([316c11a](https://github.com/coingaming/moon_flutter/commit/316c11a172a8142e85e6748baf16b189b913fc0b))
## [0.1.1](https://github.com/coingaming/moon_flutter/compare/v0.1.0...v0.1.1) (2023-02-07)
### Bug Fixes
* Get MDS version dynamically ([#7](https://github.com/coingaming/moon_flutter/issues/7)) ([568092c](https://github.com/coingaming/moon_flutter/commit/568092c1adb846dfff00bdc72e3a270928136165))
## [0.1.0](https://github.com/coingaming/moon_flutter/pull/5) (2023-02-07)
### Features
* [MDS-351] Create Buttons ([57bf4cb](https://github.com/coingaming/moon_flutter/commit/57bf4cba1d41adc2d463a5f54b323c13645a94e0))
## 0.0.1 (2023-01-16)
* Initial project setup.
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2024 Yolo Group
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Moon Design System
[](https://pub.dev/packages/moon_design)  [](https://conventionalcommits.org)
_Note: This project uses **[Release Please](https://github.com/googleapis/release-please)** and **[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)** spec, please follow the conventions or consider using **[Commitizen](https://github.com/commitizen/cz-cli)**
to write commit messages._
## Disclaimer
The current major release, v1.0.0, will be maintained as-is and will not receive further updates, except for patches. The v1 theming is based on the soon-to-be deprecated Moon Design Figma v1 and lacks flexibility. For greater control over theming with v1 of moon_flutter, it is recommended to create custom wrapper widgets around the moon_flutter widgets that align with your project's specific theming requirements.
There is ongoing background work for v2 which aims to be more modular, scalable and themable.
## Resources
- 📱 [Playground](https://flutter.moon.io)
## Applying theming and overrides
- Declare tokens variable and optionally override values:
```dart
final lightTokens = MoonTokens.light.copyWith(
colors: MoonColors.light.copyWith(
piccolo: Colors.blue,
textPrimary: Colors.amber,
),
typography: MoonTypography.typography.copyWith(
heading: MoonTypography.typography.heading.apply(
// Using variable font and bumping down the font weight compared to the
// baseline 600 for heading.
fontFamily: "DMSans",
fontWeightDelta: -1,
fontVariations: [const FontVariation('wght', 500)],
),
),
);
final lightTheme = ThemeData.light().copyWith(
extensions: >[MoonTheme(tokens: lightTokens)],
);
```
- Or if needed override widget theming:
```dart
final lightTheme = ThemeData.light().copyWith(
extensions: >[
MoonTheme(tokens: lightTokens).copyWith(
accordionTheme: MoonAccordionTheme(tokens: lightTokens).copyWith(
colors: MoonAccordionTheme(tokens: lightTokens).colors.copyWith(
backgroundColor: Colors.green,
),
),
),
],
);
```
- Apply the declared theme:
```dart
return MaterialApp(
title: 'Moon Design System example',
theme: lightTheme,
home: const HomePage(),
);
```
================================================
FILE: analysis_options.yaml
================================================
include: package:lint/analysis_options.yaml
analyzer:
language:
strict-casts: true
strict-inference: true
strict-raw-types: true
exclude:
- "lib/generated/**"
- "lib/generated_*"
- "lib/i18n/messages_*.dart"
- "lib/gen-l10n/**"
- "lib/gen/**"
- "**/*.freezed.dart"
- "**/*.g.dart"
- "**/*.graphql.dart"
- "**/*.mocks.dart"
- "/pubspec.lock"
errors:
deprecated_member_use: info
linter:
rules:
depend_on_referenced_packages: false
use_setters_to_change_properties: false
avoid_classes_with_only_static_members: false
================================================
FILE: example/.gitignore
================================================
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/pubspec.lock
/android/app/debug
/android/app/profile
/android/app/release
/pubspec.lock
================================================
FILE: example/.metadata
================================================
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: 135454af32477f815a7525073027a3ff9eff1bfd
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: android
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: ios
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: linux
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: macos
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: web
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: windows
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
================================================
FILE: example/README.md
================================================
# example
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
================================================
FILE: example/analysis_options.yaml
================================================
include: package:lint/analysis_options.yaml
analyzer:
language:
strict-casts: true
strict-inference: true
strict-raw-types: true
exclude:
- "lib/generated/**"
- "lib/generated_*"
- "lib/i18n/messages_*.dart"
- "lib/gen-l10n/**"
- "lib/gen/**"
- "**/*.freezed.dart"
- "**/*.g.dart"
- "**/*.graphql.dart"
- "**/*.mocks.dart"
- "/pubspec.lock"
errors:
deprecated_member_use: info
linter:
rules:
depend_on_referenced_packages: false
================================================
FILE: example/android/.gitignore
================================================
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks
================================================
FILE: example/android/app/build.gradle
================================================
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.example"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
================================================
FILE: example/android/app/src/debug/AndroidManifest.xml
================================================
================================================
FILE: example/android/app/src/main/AndroidManifest.xml
================================================
================================================
FILE: example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
================================================
package com.example.example
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
================================================
FILE: example/android/app/src/main/res/drawable/launch_background.xml
================================================
================================================
FILE: example/android/app/src/main/res/drawable-v21/launch_background.xml
================================================
================================================
FILE: example/android/app/src/main/res/values/styles.xml
================================================
================================================
FILE: example/android/app/src/main/res/values-night/styles.xml
================================================
================================================
FILE: example/android/app/src/profile/AndroidManifest.xml
================================================
================================================
FILE: example/android/build.gradle
================================================
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
================================================
FILE: example/android/gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
================================================
FILE: example/android/gradle.properties
================================================
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
================================================
FILE: example/android/settings.gradle
================================================
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
================================================
FILE: example/assets/code_snippets/accordion.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
enum AccordionItems { first, second }
class Accordion extends StatefulWidget {
const Accordion({super.key});
@override
State createState() => _AccordionState();
}
class _AccordionState extends State {
AccordionItems? _currentlyOpenAccordionItem = AccordionItems.first;
@override
Widget build(BuildContext context) {
const String contentText =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, "
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
return Column(
children: [
MoonAccordion(
// The identityValue and groupIdentityValue can be used to control the
// auto collapse behaviour of the accordion.
identityValue: AccordionItems.first,
groupIdentityValue: _currentlyOpenAccordionItem,
accordionSize: MoonAccordionSize.sm,
childrenPadding: const EdgeInsets.all(12),
onExpansionChanged: (AccordionItems? value) => setState(
() => _currentlyOpenAccordionItem = value,
),
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("Grouped MoonAccordion item #1"),
children: const [
Text(contentText),
],
),
MoonAccordion(
// The identityValue and groupIdentityValue can be used to control the
// auto collapse behaviour of the accordion.
identityValue: AccordionItems.second,
groupIdentityValue: _currentlyOpenAccordionItem,
accordionSize: MoonAccordionSize.sm,
hasContentOutside: true,
childrenPadding: const EdgeInsets.all(12),
onExpansionChanged: (AccordionItems? value) => setState(
() => _currentlyOpenAccordionItem = value,
),
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("Grouped MoonAccordion item #2"),
children: const [
Text(contentText),
],
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/alert.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Alert extends StatelessWidget {
const Alert({super.key});
@override
Widget build(BuildContext context) {
return Column(
children: [
MoonAlert(
show: true,
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("Base MoonAlert"),
trailing: MoonButton.icon(
buttonSize: MoonButtonSize.xs,
onTap: () => {},
icon: const Icon(MoonIcons.controls_close_24_light),
),
content: const Text("Here goes MoonAlert content"),
),
MoonAlert.filled(
show: true,
color: context.moonColors!.chichi,
backgroundColor: context.moonColors!.chichi10,
leading: const Icon(MoonIcons.notifications_alert_24_light),
label: const Text("Filled error MoonAlert"),
trailing: MoonButton.icon(
buttonSize: MoonButtonSize.xs,
onTap: () {},
icon: Icon(
MoonIcons.controls_close_small_24_light,
color: context.moonColors!.chichi,
),
),
),
MoonAlert.outlined(
show: true,
color: context.moonColors!.roshi,
borderColor: context.moonColors!.roshi,
leading: const Icon(MoonIcons.generic_check_rounded_24_light),
label: const Text("Outlined success MoonAlert"),
trailing: MoonButton.icon(
buttonSize: MoonButtonSize.xs,
onTap: () {},
icon: Icon(
MoonIcons.controls_close_small_24_light,
color: context.moonColors!.roshi,
),
),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/auth_code.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class AuthCode extends StatelessWidget {
const AuthCode({super.key});
@override
Widget build(BuildContext context) {
return SizedBox(
height: 95, // To avoid widget jumping with error text, use a fixed-height wrapper.
child: MoonAuthCode(
validator: (String? pin) {
if (pin != null && pin != '000000' && pin.length == 6) {
return 'The input must be exactly "000000".';
} else {
return null;
}
},
errorBuilder: (BuildContext context, String? errorText) {
return Align(
child: Padding(
padding: const EdgeInsets.only(top: 8),
child: Text(errorText ?? ''),
),
);
},
),
);
}
}
================================================
FILE: example/assets/code_snippets/avatar.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Avatar extends StatelessWidget {
const Avatar({super.key});
@override
Widget build(BuildContext context) {
return const MoonAvatar(
avatarSize: MoonAvatarSize.sm,
showBadge: true,
content: Text('MD'),
);
}
}
================================================
FILE: example/assets/code_snippets/bottom_sheet.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class BottomSheet extends StatelessWidget {
const BottomSheet({super.key});
@override
Widget build(BuildContext context) {
Future bottomSheetBuilder(BuildContext context) {
return showMoonModalBottomSheet(
context: context,
enableDrag: true,
height: MediaQuery.of(context).size.height * 0.7,
builder: (BuildContext context) => Column(
children: [
// Drag handle for the bottom sheet.
Container(
height: 4,
width: 40,
margin: const EdgeInsets.symmetric(vertical: 8),
decoration: ShapeDecoration(
color: context.moonColors!.beerus,
shape: MoonSquircleBorder(
borderRadius: BorderRadius.circular(16).squircleBorderRadius(context),
),
),
),
const Expanded(
child: Align(
child: Text('MoonBottomSheet example'),
),
),
],
),
);
}
return Center(
child: MoonFilledButton(
onTap: () => bottomSheetBuilder(context),
label: const Text("Tap me"),
),
);
}
}
================================================
FILE: example/assets/code_snippets/breadcrumb.md
================================================
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class BreadcrumbStory extends StatefulWidget {
const BreadcrumbStory({super.key});
@override
State createState() => _BreadcrumbStoryState();
}
class _BreadcrumbStoryState extends State {
bool _showDropdown = false;
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// The default MoonBreadcrumb.
// Expands horizontally to the full path when the indicated show more item is tapped.
Column(
children: [
MoonBreadcrumb(
items: List.generate(
6,
(int index) {
return MoonBreadcrumbItem(
onTap: () {},
label: Text('Page $index'),
);
},
),
),
// Provides an explicit method to restore the expanded breadcrumb path
// to its collapsed state, enabling external control.
// By default, the state is automatically restored during rebuild.
MoonButton(
onTap: () => setState(() => {}),
label: const Text('Reset'),
),
],
),
// MoonBreadcrumb with the MoonDropdown and a custom showMoreWidget.
MoonBreadcrumb(
divider: Icon(
Directionality.of(context) == TextDirection.ltr
? MoonIcons.controls_chevron_right_small_16_light
: MoonIcons.controls_chevron_left_small_16_light,
),
showMoreWidget: MoonBreadcrumbItem(
onTap: () => setState(() => _showDropdown = !_showDropdown),
label: MoonDropdown(
show: _showDropdown,
onTapOutside: () => setState(() => _showDropdown = false),
content: Column(
children: List.generate(
3,
(int index) => MoonMenuItem(
onTap: () {},
label: Text('Page ${index + 1}'),
),
),
),
child: const Icon(MoonIcons.generic_burger_regular_16_light),
),
),
items: List.generate(
6,
(int index) {
return MoonBreadcrumbItem(
onTap: () {},
label: Text('Page $index'),
);
},
),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/button.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Button extends StatelessWidget {
const Button({super.key});
@override
Widget build(BuildContext context) {
return Column(
children: [
MoonButton(
buttonSize: MoonButtonSize.sm,
onTap: () {},
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text('MoonButton'),
trailing: const Icon(MoonIcons.other_frame_24_light),
),
MoonButton.icon(
buttonSize: MoonButtonSize.sm,
onTap: () {},
icon: const Icon(MoonIcons.other_frame_24_light),
),
MoonFilledButton(
buttonSize: MoonButtonSize.sm,
onTap: () {},
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("MoonFilledButton"),
trailing: const Icon(MoonIcons.other_frame_24_light),
),
MoonOutlinedButton(
buttonSize: MoonButtonSize.sm,
onTap: () {},
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("MoonOutlinedButton"),
trailing: const Icon(MoonIcons.other_frame_24_light),
),
MoonTextButton(
buttonSize: MoonButtonSize.sm,
onTap: () {},
leading: const Icon(MoonIcons.other_frame_24_light),
label: const Text("MoonTextButton"),
trailing: const Icon(MoonIcons.other_frame_24_light),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/carousel.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Carousel extends StatefulWidget {
const Carousel({super.key});
@override
State createState() => _CarouselState();
}
class _CarouselState extends State {
int selectedDot = 0;
@override
Widget build(BuildContext context) {
return Column(
children: [
// Default MoonCarousel.
SizedBox(
height: 110,
child: OverflowBox(
maxWidth: MediaQuery.of(context).size.width,
child: MoonCarousel(
itemCount: 10,
itemExtent: 110,
itemBuilder: (BuildContext context, int itemIndex, int _) => Container(
decoration: ShapeDecoration(
color: context.moonColors!.goku,
shape: MoonSquircleBorder(
borderRadius: BorderRadius.circular(12).squircleBorderRadius(context),
),
),
child: Center(
child: Text("${itemIndex + 1}"),
),
),
),
),
),
// Full width MoonCarousel with MoonDotIndicator.
Column(
children: [
SizedBox(
height: 180,
child: OverflowBox(
maxWidth: MediaQuery.of(context).size.width,
child: MoonCarousel(
gap: 32,
itemCount: 5,
itemExtent: MediaQuery.of(context).size.width - 32,
physics: const PageScrollPhysics(),
onIndexChanged: (int index) => setState(() => selectedDot = index),
itemBuilder: (BuildContext context, int itemIndex, int _) => Container(
decoration: ShapeDecoration(
color: context.moonColors!.goku,
shape: MoonSquircleBorder(
borderRadius: BorderRadius.circular(12).squircleBorderRadius(context),
),
),
child: Center(
child: Text("${itemIndex + 1}"),
),
),
),
),
),
MoonDotIndicator(
selectedDot: selectedDot,
dotCount: 5,
),
],
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/checkbox.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Checkbox extends StatefulWidget {
const Checkbox({super.key});
@override
State createState() => _CheckboxState();
}
class _CheckboxState extends State {
bool? checkboxValue = false;
bool checkboxWithLabelValue = false;
bool? tristateCheckboxWithLabelValue = false;
@override
Widget build(BuildContext context) {
return Column(
children: [
MoonCheckbox(
value: checkboxValue,
onChanged: (bool? newValue) => setState(() => checkboxValue = newValue),
),
MoonMenuItem(
absorbGestures: true,
onTap: () => setState(() => checkboxWithLabelValue = !checkboxWithLabelValue),
label: const Text("MoonCheckbox with label"),
trailing: MoonCheckbox(
value: checkboxWithLabelValue,
tapAreaSizeValue: 0,
onChanged: (_) => {},
),
),
MoonMenuItem(
absorbGestures: true,
onTap: () => setState(
() => switch (tristateCheckboxWithLabelValue) {
true => tristateCheckboxWithLabelValue = null,
null => tristateCheckboxWithLabelValue = false,
false => tristateCheckboxWithLabelValue = true,
},
),
label: const Text("Tristate MoonCheckbox with label"),
trailing: MoonCheckbox(
value: tristateCheckboxWithLabelValue,
tapAreaSizeValue: 0,
onChanged: (_) => {},
),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/chip.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Chip extends StatelessWidget {
const Chip({super.key});
@override
Widget build(BuildContext context) {
return const Column(
children: [
MoonChip(
chipSize: MoonChipSize.sm,
leading: Icon(MoonIcons.other_frame_24_light),
label: Text('MoonChip'),
trailing: Icon(MoonIcons.other_frame_24_light),
),
MoonChip.text(
chipSize: MoonChipSize.sm,
leading: Icon(MoonIcons.other_frame_24_light),
label: Text('MoonChip with text'),
trailing: Icon(MoonIcons.other_frame_24_light),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/circular_loader.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class CircularLoader extends StatelessWidget {
const CircularLoader({super.key});
@override
Widget build(BuildContext context) {
return const MoonCircularLoader(
circularLoaderSize: MoonCircularLoaderSize.sm,
);
}
}
================================================
FILE: example/assets/code_snippets/circular_progress.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class CircularProgress extends StatelessWidget {
const CircularProgress({super.key});
@override
Widget build(BuildContext context) {
return const MoonCircularProgress(
value: 0.75,
circularProgressSize: MoonCircularProgressSize.sm,
);
}
}
================================================
FILE: example/assets/code_snippets/combobox_multi_select.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
enum Options {
accordion,
alert,
bottomSheet,
button,
carousel,
chip,
dropdown,
menuItem,
tag,
tooltip;
String get name {
final String rawName = toString().split('.').last;
return rawName[0].toUpperCase() + rawName.substring(1);
}
}
class ComboboxMultiSelect extends StatefulWidget {
const ComboboxMultiSelect({super.key});
@override
State createState() => _ComboboxMultiSelectState();
}
class _ComboboxMultiSelectState extends State {
final FocusNode _focusNode = FocusNode();
final TextEditingController _searchController = TextEditingController();
final Map _selectedOptions = {};
final List _optionsList = Options.values;
List _filteredOptionsList = [];
bool _showDropdown = false;
String get _inputValue => _searchController.text.trim().toLowerCase();
void _performSearch() {
setState(() {
_filteredOptionsList = _
optionsList.where((Options option) => option.name.toLowerCase().contains(_inputValue)).toList();
_showDropdown = true;
});
}
void _handleSelect(Options option, bool isSelected) {
setState(() => isSelected ? _selectedOptions[option] = true : _selectedOptions.remove(option));
}
void _showAllOptionsList() {
setState(() {
_filteredOptionsList = _optionsList;
_showDropdown = !_showDropdown;
});
}
void _handleDropdownTapOutside() {
setState(() {
_showDropdown = false;
_searchController.clear();
_focusNode.unfocus();
});
}
void _handleInputTapOutside() {
if (_focusNode.hasFocus && !_showDropdown) {
_searchController.clear();
_focusNode.unfocus();
}
}
@override
void dispose() {
_searchController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Center(
child: MoonDropdown(
show: _showDropdown,
constrainWidthToChild: true,
onTapOutside: () => _handleDropdownTapOutside(),
content: ConstrainedBox(
constraints: const BoxConstraints(maxHeight: 200),
child: _filteredOptionsList.isEmpty
? const MoonMenuItem(
label: Text('Nothing found.'),
)
: ListView.builder(
shrinkWrap: true,
padding: EdgeInsets.zero,
itemCount: _filteredOptionsList.length,
itemBuilder: (BuildContext _, int index) {
if (index >= _filteredOptionsList.length) return const SizedBox.shrink();
final Options currentOption = _filteredOptionsList[index];
final bool isSelected = _selectedOptions.containsKey(currentOption);
return MoonMenuItem(
absorbGestures: true,
onTap: () => _handleSelect(currentOption, !isSelected),
label: Text(currentOption.name),
trailing: MoonCheckbox(
value: isSelected,
tapAreaSizeValue: 0,
onChanged: (bool? _) {},
),
);
},
),
),
child: MoonTextInput(
focusNode: _focusNode,
hintText: "Select multiple components",
controller: _searchController,
// The onTap() and onChanged() properties are used instead of a listener to initiate search on every input tap.
// Listener only triggers on input change.
onTap: () => _performSearch(),
onTapOutside: (PointerDownEvent _) => _handleInputTapOutside(),
onChanged: (String _) => _performSearch(),
leading: _selectedOptions.isNotEmpty
? Center(
child: GestureDetector(
onTap: () => setState(() => _selectedOptions.clear()),
child: MoonTag(
tagSize: MoonTagSize.xs,
backgroundColor: context.moonColors!.bulma,
label: Text(
"${_selectedOptions.keys.length}",
style: TextStyle(color: context.moonColors!.gohan),
),
trailing: Icon(
MoonIcons.controls_close_small_16_light,
color: context.moonColors!.gohan,
),
),
),
)
: null,
trailing: MoonButton.icon(
buttonSize: MoonButtonSize.xs,
hoverEffectColor: Colors.transparent,
onTap: () => _showAllOptionsList(),
icon: AnimatedRotation(
duration: const Duration(milliseconds: 200),
turns: _showDropdown ? -0.5 : 0,
child: const Icon(MoonIcons.controls_chevron_down_16_light),
),
),
),
),
);
}
}
================================================
FILE: example/assets/code_snippets/combobox_single_select.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
enum Options {
accordion,
alert,
bottomSheet,
button,
carousel,
chip,
dropdown,
menuItem,
tag,
tooltip;
String get name {
final String rawName = toString().split('.').last;
return rawName[0].toUpperCase() + rawName.substring(1);
}
}
class ComboboxSingleSelect extends StatefulWidget {
const ComboboxSingleSelect({super.key});
@override
State createState() => _ComboboxSingleSelectState();
}
class _ComboboxSingleSelectState extends State {
final FocusNode _focusNode = FocusNode();
final TextEditingController _searchController = TextEditingController();
final List _optionsList = Options.values;
List _filteredOptionsList = [];
Options? _selectedOption;
bool _showDropdown = false;
bool get _optionIsSelected => _selectedOption?.name == _searchController.text;
String get _inputValue => _searchController.text.trim().toLowerCase();
void _performSearch() {
setState(() {
if (!_optionIsSelected && _selectedOption != null) _selectedOption = null;
_filteredOptionsList =
_optionsList.where((Options option) => option.name.toLowerCase().contains(_inputValue)).toList();
_showDropdown = true;
});
}
void _handleSelect(Options option) {
setState(() {
_showDropdown = false;
_searchController.text = option.name;
_selectedOption = option;
_focusNode.unfocus();
});
}
void _showAllOptionsList() {
setState(() {
_filteredOptionsList = _optionsList;
_showDropdown = !_showDropdown;
});
}
void _handleDropdownTapOutside() {
setState(() {
_showDropdown = false;
if (!_optionIsSelected) _searchController.clear();
_focusNode.unfocus();
});
}
void _handleInputTapOutside() {
if (_focusNode.hasFocus && !_showDropdown) {
if (!_optionIsSelected) _searchController.clear();
_focusNode.unfocus();
}
}
@override
void dispose() {
_searchController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Center(
child: MoonDropdown(
show: _showDropdown,
constrainWidthToChild: true,
onTapOutside: () => _handleDropdownTapOutside(),
content: ConstrainedBox(
constraints: const BoxConstraints(maxHeight: 200),
child: _filteredOptionsList.isEmpty
? const MoonMenuItem(
label: Text('No results found.'),
)
: ListView.builder(
shrinkWrap: true,
padding: EdgeInsets.zero,
itemCount: _filteredOptionsList.length,
itemBuilder: (BuildContext _, int index) {
if (index >= _filteredOptionsList.length) return const SizedBox.shrink();
final Options option = _filteredOptionsList[index];
return MoonMenuItem(
onTap: () => _handleSelect(option),
label: Text(option.name),
);
},
),
),
child: MoonTextInput(
focusNode: _focusNode,
hintText: "Select single component",
controller: _searchController,
// The onTap() and onChanged() properties are used instead of a listener to initiate search on every input tap.
// Listener only triggers on input change.
onTap: () => _performSearch(),
onTapOutside: (PointerDownEvent _) => _handleInputTapOutside(),
onChanged: (String _) => _performSearch(),
trailing: MoonButton.icon(
buttonSize: MoonButtonSize.xs,
hoverEffectColor: Colors.transparent,
onTap: () => _showAllOptionsList(),
icon: AnimatedRotation(
duration: const Duration(milliseconds: 200),
turns: _showDropdown ? -0.5 : 0,
child: const Icon(MoonIcons.controls_chevron_down_16_light),
),
),
),
),
);
}
}
================================================
FILE: example/assets/code_snippets/dot_indicator.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class DotIndicator extends StatelessWidget {
const DotIndicator({super.key});
@override
Widget build(BuildContext context) {
return const MoonDotIndicator(
dotCount: 4,
selectedDot: 2,
);
}
}
================================================
FILE: example/assets/code_snippets/drawer.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Drawer extends StatelessWidget {
const Drawer({super.key});
@override
Widget build(BuildContext context) {
return OverflowBox(
maxHeight: MediaQuery.of(context).size.height,
maxWidth: MediaQuery.of(context).size.width,
child: Scaffold(
drawer: MoonDrawer(
width: MediaQuery.of(context).size.width * 0.4,
child: const Align(
child: Text("MoonDrawer"),
),
),
body: Builder(
builder: (BuildContext context) {
return Center(
child: MoonFilledButton(
onTap: () => Scaffold.of(context).openDrawer(),
label: const Text("Open MoonDrawer"),
),
);
},
),
),
);
}
}
================================================
FILE: example/assets/code_snippets/dropdown.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
const String _groupId = "dropdown";
enum Choices {
first,
second;
String get name {
return switch (this) {
Choices.first => "Choice #1",
Choices.second => "Choice #2",
};
}
}
class Dropdown extends StatefulWidget {
const Dropdown({super.key});
@override
State createState() => _DropdownState();
}
class _DropdownState extends State {
final Map _availableChoices = {
Choices.first: false,
Choices.second: false,
};
bool _showChoices = false;
bool _showMenu = false;
bool _showMenuInner = false;
Color? _buttonColor;
String _buttonName = "Piccolo";
@override
Widget build(BuildContext context) {
return Column(
children: [
// MoonDropdown with multiple choices.
MoonDropdown(
show: _showChoices,
constrainWidthToChild: true,
onTapOutside: () => setState(() => _showChoices = false),
content: Column(
children: List.generate(
2,
(int index) => MoonMenuItem(
absorbGestures: true,
onTap: () => setState(
() => _availableChoices[Choices.values[index]] =
!_availableChoices[Choices.values[index]]!,
),
label: Text(Choices.values[index].name),
trailing: MoonCheckbox(
value: _availableChoices[Choices.values[index]],
tapAreaSizeValue: 0,
onChanged: (_) {},
),
),
),
),
child: MoonTextInput(
width: 250,
readOnly: true,
canRequestFocus: false,
mouseCursor: MouseCursor.defer,
hintText: "Choose an option",
onTap: () => setState(() => _showChoices = !_showChoices),
leading: _availableChoices.values.any((element) => element == true)
? Center(
child: MoonTag(
tagSize: MoonTagSize.xs,
backgroundColor: context.moonColors!.bulma,
onTap: () => setState(() => _availableChoices.updateAll((key, value) => false)),
label: Text(
"${_availableChoices.values.where((element) => element == true).length}",
style: TextStyle(color: context.moonColors!.gohan),
),
trailing: Icon(
MoonIcons.controls_close_small_16_light,
color: context.moonColors!.gohan,
),
),
)
: null,
trailing: Center(
child: AnimatedRotation(
duration: const Duration(milliseconds: 200),
turns: _showChoices ? -0.5 : 0,
child: const Icon(MoonIcons.controls_chevron_down_small_16_light),
),
),
),
),
// MoonDropdown as a menu.
MoonDropdown(
show: _showMenu,
groupId: _groupId,
constrainWidthToChild: true,
onTapOutside: () => setState(() {
_showMenu = false;
_showMenuInner = false;
}),
content: Column(
children: [
MoonMenuItem(
onTap: () => setState(() {
_showMenu = false;
_buttonName = "Piccolo";
_buttonColor = context.moonColors!.piccolo;
}),
label: const Text("Piccolo"),
),
MoonDropdown(
show: _showMenuInner,
groupId: _groupId,
constrainWidthToChild: true,
followerAnchor: Alignment.topLeft,
targetAnchor: Alignment.topRight,
offset: const Offset(8, 0),
content: Column(
children: [
MoonMenuItem(
onTap: () => setState(() {
_showMenu = false;
_showMenuInner = false;
_buttonName = "Roshi";
_buttonColor = context.moonColors!.roshi;
}),
label: const Text("Roshi"),
),
MoonMenuItem(
onTap: () => setState(() {
_showMenu = false;
_showMenuInner = false;
_buttonName = "Roshi60";
_buttonColor = context.moonColors!.roshi60;
}),
label: const Text("Roshi60"),
),
MoonMenuItem(
onTap: () => setState(() {
_showMenu = false;
_showMenuInner = false;
_buttonName = "Roshi10";
_buttonColor = context.moonColors!.roshi10;
}),
label: const Text("Roshi10"),
),
],
),
child: MoonMenuItem(
backgroundColor: _showMenuInner ? context.moonColors!.heles : null,
onTap: () => setState(() => _showMenuInner = !_showMenuInner),
label: const Text("Roshi"),
trailing: const Icon(
MoonIcons.controls_chevron_right_16_light,
size: 16,
),
),
),
],
),
child: MoonFilledButton(
width: 120,
backgroundColor: _buttonColor,
onTap: () => setState(() => _showMenu = !_showMenu),
label: Text(_buttonName),
),
),
],
);
}
}
================================================
FILE: example/assets/code_snippets/icons.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class Icons extends StatelessWidget {
const Icons({super.key});
@override
Widget build(BuildContext context) {
return const Icon(MoonIcons.other_frame_24_light);
}
}
================================================
FILE: example/assets/code_snippets/linear_loader.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class LinearLoader extends StatelessWidget {
const LinearLoader({super.key});
@override
Widget build(BuildContext context) {
return const MoonLinearLoader(
linearLoaderSize: MoonLinearLoaderSize.x4s,
);
}
}
================================================
FILE: example/assets/code_snippets/linear_progress.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class LinearProgress extends StatelessWidget {
const LinearProgress({super.key});
@override
Widget build(BuildContext context) {
return const MoonLinearProgress(
value: 0.75,
linearProgressSize: MoonLinearProgressSize.x4s,
);
}
}
================================================
FILE: example/assets/code_snippets/menu_item.md
================================================
import 'package:flutter/material.dart';
import 'package:moon_design/moon_design.dart';
class MenuItem extends StatefulWidget {
const MenuItem({super.key});
@override
State