├── .all-contributorsrc
├── .autorc
├── .circleci
└── config.yml
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc.json
├── APP-CONFIG.md
├── APP-TESTING.md
├── CHANGELOG.md
├── LICENSE.md
├── MIGRATION.md
├── README.md
├── STORYBOOK-CONFIG.md
├── examples
├── android-material-ui
│ ├── .babelrc.json
│ ├── .storybook
│ │ ├── main.js
│ │ └── preview.js
│ ├── app
│ │ ├── app
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── intuit
│ │ │ │ │ └── august2020
│ │ │ │ │ └── storybookdemoapp
│ │ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── ic_launcher-playstore.png
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── intuit
│ │ │ │ │ │ └── august2020
│ │ │ │ │ │ └── storybookdemoapp
│ │ │ │ │ │ ├── ButtonActivity.kt
│ │ │ │ │ │ ├── CardActivity.kt
│ │ │ │ │ │ ├── ChipsActivity.kt
│ │ │ │ │ │ ├── DialogsActivity.kt
│ │ │ │ │ │ ├── FloatingButtonActivity.kt
│ │ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ │ ├── RadioActivity.kt
│ │ │ │ │ │ ├── SliderActivity.kt
│ │ │ │ │ │ ├── SnackbarActivity.kt
│ │ │ │ │ │ ├── SwitchActivity.kt
│ │ │ │ │ │ ├── TabsActivity.kt
│ │ │ │ │ │ └── TextFieldActivity.kt
│ │ │ │ └── res
│ │ │ │ │ ├── drawable-v24
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ │ ├── drawable
│ │ │ │ │ ├── ic_add_24px.xml
│ │ │ │ │ ├── ic_alarm_24px.xml
│ │ │ │ │ ├── ic_android_black_24dp.xml
│ │ │ │ │ ├── ic_call_24px.xml
│ │ │ │ │ ├── ic_delete_outline_24px.xml
│ │ │ │ │ ├── ic_favorite_24px.xml
│ │ │ │ │ ├── ic_info_24px.xml
│ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ └── ic_room_24px.xml
│ │ │ │ │ ├── layout
│ │ │ │ │ ├── activity_button.xml
│ │ │ │ │ ├── activity_card.xml
│ │ │ │ │ ├── activity_chips.xml
│ │ │ │ │ ├── activity_dialogs.xml
│ │ │ │ │ ├── activity_floating_button.xml
│ │ │ │ │ ├── activity_main.xml
│ │ │ │ │ ├── activity_radio.xml
│ │ │ │ │ ├── activity_slider.xml
│ │ │ │ │ ├── activity_snackbar.xml
│ │ │ │ │ ├── activity_switch.xml
│ │ │ │ │ ├── activity_tabs.xml
│ │ │ │ │ └── activity_text_field.xml
│ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_card_media.png
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_card_media.png
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_card_media.png
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_card_media.png
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_card_media.png
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ └── values
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── styles.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── intuit
│ │ │ │ └── august2020
│ │ │ │ └── storybookdemoapp
│ │ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle.properties
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── generate.js
│ └── package.json
├── controls
│ ├── .babelrc.json
│ ├── .storybook
│ │ ├── main.js
│ │ └── preview.js
│ ├── app
│ │ └── README.md
│ ├── package.json
│ └── src
│ │ ├── button.stories.jsx
│ │ ├── card.stories.jsx
│ │ ├── chips.stories.jsx
│ │ ├── constants.js
│ │ ├── dialogs.stories.jsx
│ │ ├── floatingButton.stories.jsx
│ │ ├── radio.stories.jsx
│ │ ├── slider.stories.jsx
│ │ ├── snackbar.stories.jsx
│ │ ├── switch.stories.jsx
│ │ ├── tabs.stories.jsx
│ │ └── textfield.stories.jsx
├── cross-platform
│ ├── .babelrc.json
│ ├── .storybook
│ │ ├── main.js
│ │ ├── middleware.js
│ │ └── preview.js
│ ├── package.json
│ └── src
│ │ ├── android.stories.jsx
│ │ ├── comparison.stories.jsx
│ │ ├── ios.stories.jsx
│ │ └── web.stories.jsx
├── flutter
│ ├── .babelrc.json
│ ├── .storybook
│ │ ├── main.js
│ │ └── preview.js
│ ├── app
│ │ ├── README.md
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── app
│ │ │ │ ├── build.gradle
│ │ │ │ └── src
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ ├── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin
│ │ │ │ │ │ └── flutter
│ │ │ │ │ │ │ └── company
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── flutter_storybook
│ │ │ │ │ │ │ ├── JsonUtils.java
│ │ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ └── settings.gradle
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Flutter
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Podfile.lock
│ │ │ ├── Runner.xcodeproj
│ │ │ │ ├── project.pbxproj
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── xcschemes
│ │ │ │ │ └── Runner.xcscheme
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── Runner
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ ├── lib
│ │ │ ├── bannerPage.dart
│ │ │ ├── buttonPage.dart
│ │ │ ├── checkboxPage.dart
│ │ │ ├── chipsPage.dart
│ │ │ ├── fabPage.dart
│ │ │ ├── main.dart
│ │ │ └── textPage.dart
│ │ ├── pubspec.lock
│ │ ├── pubspec.yaml
│ │ └── test
│ │ │ └── widget_test.dart
│ ├── package.json
│ └── src
│ │ ├── android.stories.jsx
│ │ └── ios.stories.jsx
└── ios-material-ui
│ ├── .babelrc.json
│ ├── .storybook
│ ├── main.js
│ ├── middleware.js
│ └── preview.js
│ ├── app
│ ├── LICENSE
│ └── iOSStoryBookDemo
│ │ ├── Podfile
│ │ ├── Podfile.lock
│ │ ├── Pods
│ │ ├── MDFInternationalization
│ │ │ ├── LICENSE
│ │ │ └── Sources
│ │ │ │ ├── MDFInternationalization.h
│ │ │ │ ├── MDFRTL.h
│ │ │ │ ├── MDFRTL.m
│ │ │ │ ├── NSLocale+MaterialRTL.h
│ │ │ │ ├── NSLocale+MaterialRTL.m
│ │ │ │ ├── NSString+MaterialBidi.h
│ │ │ │ ├── NSString+MaterialBidi.m
│ │ │ │ ├── UIImage+MaterialRTL.h
│ │ │ │ ├── UIImage+MaterialRTL.m
│ │ │ │ ├── UIView+MaterialRTL.h
│ │ │ │ └── UIView+MaterialRTL.m
│ │ ├── MDFTextAccessibility
│ │ │ ├── LICENSE
│ │ │ └── src
│ │ │ │ ├── MDFTextAccessibility-Bridging-Header.h
│ │ │ │ ├── MDFTextAccessibility.h
│ │ │ │ ├── MDFTextAccessibility.m
│ │ │ │ └── private
│ │ │ │ ├── MDFColorCalculations.h
│ │ │ │ ├── MDFColorCalculations.m
│ │ │ │ ├── MDFImageCalculations.h
│ │ │ │ ├── MDFImageCalculations.m
│ │ │ │ ├── NSArray+MDFUtils.h
│ │ │ │ └── NSArray+MDFUtils.m
│ │ ├── Manifest.lock
│ │ ├── MaterialComponents
│ │ │ ├── LICENSE
│ │ │ └── components
│ │ │ │ ├── ActivityIndicator
│ │ │ │ └── src
│ │ │ │ │ ├── MDCActivityIndicator.h
│ │ │ │ │ ├── MDCActivityIndicator.m
│ │ │ │ │ ├── MDCActivityIndicatorDelegate.h
│ │ │ │ │ ├── MaterialActivityIndicator.bundle
│ │ │ │ │ └── Resources
│ │ │ │ │ │ └── en.lproj
│ │ │ │ │ │ └── MaterialActivityIndicator.strings
│ │ │ │ │ ├── MaterialActivityIndicator.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCActivityIndicator+Private.h
│ │ │ │ │ ├── MDCActivityIndicatorMotionSpec.h
│ │ │ │ │ ├── MDCActivityIndicatorMotionSpec.m
│ │ │ │ │ ├── MaterialActivityIndicatorStrings.h
│ │ │ │ │ └── MaterialActivityIndicatorStrings_table.h
│ │ │ │ ├── AnimationTiming
│ │ │ │ └── src
│ │ │ │ │ ├── CAMediaTimingFunction+MDCAnimationTiming.h
│ │ │ │ │ ├── CAMediaTimingFunction+MDCAnimationTiming.m
│ │ │ │ │ ├── MaterialAnimationTiming.h
│ │ │ │ │ ├── UIView+MDCTimingFunction.h
│ │ │ │ │ └── UIView+MDCTimingFunction.m
│ │ │ │ ├── Availability
│ │ │ │ └── src
│ │ │ │ │ ├── MDCAvailability.h
│ │ │ │ │ └── MaterialAvailability.h
│ │ │ │ ├── Buttons
│ │ │ │ └── src
│ │ │ │ │ ├── ColorThemer
│ │ │ │ │ ├── MDCButtonColorThemer.h
│ │ │ │ │ ├── MDCButtonColorThemer.m
│ │ │ │ │ ├── MDCContainedButtonColorThemer.h
│ │ │ │ │ ├── MDCContainedButtonColorThemer.m
│ │ │ │ │ ├── MDCFloatingButtonColorThemer.h
│ │ │ │ │ ├── MDCFloatingButtonColorThemer.m
│ │ │ │ │ ├── MDCOutlinedButtonColorThemer.h
│ │ │ │ │ ├── MDCOutlinedButtonColorThemer.m
│ │ │ │ │ ├── MDCTextButtonColorThemer.h
│ │ │ │ │ ├── MDCTextButtonColorThemer.m
│ │ │ │ │ └── MaterialButtons+ColorThemer.h
│ │ │ │ │ ├── MDCButton.h
│ │ │ │ │ ├── MDCButton.m
│ │ │ │ │ ├── MDCFlatButton.h
│ │ │ │ │ ├── MDCFlatButton.m
│ │ │ │ │ ├── MDCFloatingButton+Animation.h
│ │ │ │ │ ├── MDCFloatingButton+Animation.m
│ │ │ │ │ ├── MDCFloatingButton.h
│ │ │ │ │ ├── MDCFloatingButton.m
│ │ │ │ │ ├── MDCRaisedButton.h
│ │ │ │ │ ├── MDCRaisedButton.m
│ │ │ │ │ ├── MaterialButtons.h
│ │ │ │ │ ├── ShapeThemer
│ │ │ │ │ ├── MDCButtonShapeThemer.h
│ │ │ │ │ ├── MDCButtonShapeThemer.m
│ │ │ │ │ └── MaterialButtons+ShapeThemer.h
│ │ │ │ │ ├── Theming
│ │ │ │ │ ├── MDCButton+MaterialTheming.h
│ │ │ │ │ ├── MDCButton+MaterialTheming.m
│ │ │ │ │ ├── MDCFloatingButton+MaterialTheming.h
│ │ │ │ │ ├── MDCFloatingButton+MaterialTheming.m
│ │ │ │ │ └── MaterialButtons+Theming.h
│ │ │ │ │ ├── TypographyThemer
│ │ │ │ │ ├── MDCButtonTypographyThemer.h
│ │ │ │ │ ├── MDCButtonTypographyThemer.m
│ │ │ │ │ └── MaterialButtons+TypographyThemer.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCButton+Subclassing.h
│ │ │ │ │ ├── MDCFloatingButtonModeAnimator.h
│ │ │ │ │ ├── MDCFloatingButtonModeAnimator.m
│ │ │ │ │ └── MDCFloatingButtonModeAnimatorDelegate.h
│ │ │ │ ├── Elevation
│ │ │ │ └── src
│ │ │ │ │ ├── MDCElevatable.h
│ │ │ │ │ ├── MDCElevationOverriding.h
│ │ │ │ │ ├── MaterialElevation.h
│ │ │ │ │ ├── UIColor+MaterialElevation.h
│ │ │ │ │ ├── UIColor+MaterialElevation.m
│ │ │ │ │ ├── UIView+MaterialElevationResponding.h
│ │ │ │ │ └── UIView+MaterialElevationResponding.m
│ │ │ │ ├── Ink
│ │ │ │ └── src
│ │ │ │ │ ├── MDCInkGestureRecognizer.h
│ │ │ │ │ ├── MDCInkGestureRecognizer.m
│ │ │ │ │ ├── MDCInkTouchController.h
│ │ │ │ │ ├── MDCInkTouchController.m
│ │ │ │ │ ├── MDCInkTouchControllerDelegate.h
│ │ │ │ │ ├── MDCInkView.h
│ │ │ │ │ ├── MDCInkView.m
│ │ │ │ │ ├── MDCInkViewDelegate.h
│ │ │ │ │ ├── MaterialInk.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCInkLayer.h
│ │ │ │ │ ├── MDCInkLayer.m
│ │ │ │ │ ├── MDCInkLayerDelegate.h
│ │ │ │ │ ├── MDCLegacyInkLayer+Private.h
│ │ │ │ │ ├── MDCLegacyInkLayer.h
│ │ │ │ │ ├── MDCLegacyInkLayer.m
│ │ │ │ │ ├── MDCLegacyInkLayerDelegate.h
│ │ │ │ │ └── MDCLegacyInkLayerRippleDelegate.h
│ │ │ │ ├── Palettes
│ │ │ │ └── src
│ │ │ │ │ ├── MDCPalettes.h
│ │ │ │ │ ├── MDCPalettes.m
│ │ │ │ │ ├── MaterialPalettes.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCPaletteExpansions.h
│ │ │ │ │ ├── MDCPaletteExpansions.m
│ │ │ │ │ ├── MDCPaletteNames.h
│ │ │ │ │ └── MDCPaletteNames.m
│ │ │ │ ├── ProgressView
│ │ │ │ └── src
│ │ │ │ │ ├── MDCProgressView.h
│ │ │ │ │ ├── MDCProgressView.m
│ │ │ │ │ ├── MaterialProgressView.bundle
│ │ │ │ │ └── Resources
│ │ │ │ │ │ └── en.lproj
│ │ │ │ │ │ └── MaterialProgressView.strings
│ │ │ │ │ ├── MaterialProgressView.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCProgressGradientView.h
│ │ │ │ │ ├── MDCProgressGradientView.m
│ │ │ │ │ ├── MaterialProgressViewStrings.h
│ │ │ │ │ └── MaterialProgressViewStrings_table.h
│ │ │ │ ├── Ripple
│ │ │ │ └── src
│ │ │ │ │ ├── MDCRippleTouchController.h
│ │ │ │ │ ├── MDCRippleTouchController.m
│ │ │ │ │ ├── MDCRippleTouchControllerDelegate.h
│ │ │ │ │ ├── MDCRippleView.h
│ │ │ │ │ ├── MDCRippleView.m
│ │ │ │ │ ├── MDCRippleViewDelegate.h
│ │ │ │ │ ├── MDCStatefulRippleView.h
│ │ │ │ │ ├── MDCStatefulRippleView.m
│ │ │ │ │ ├── MaterialRipple.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCRippleLayer.h
│ │ │ │ │ ├── MDCRippleLayer.m
│ │ │ │ │ └── MDCRippleLayerDelegate.h
│ │ │ │ ├── ShadowElevations
│ │ │ │ └── src
│ │ │ │ │ ├── MDCShadowElevations.h
│ │ │ │ │ ├── MaterialShadowElevations.h
│ │ │ │ │ └── MaterialShadowElevationsDummy.m
│ │ │ │ ├── ShadowLayer
│ │ │ │ └── src
│ │ │ │ │ ├── MDCShadowLayer.h
│ │ │ │ │ ├── MDCShadowLayer.m
│ │ │ │ │ └── MaterialShadowLayer.h
│ │ │ │ ├── ShapeLibrary
│ │ │ │ └── src
│ │ │ │ │ ├── MDCCornerTreatment+CornerTypeInitalizer.h
│ │ │ │ │ ├── MDCCornerTreatment+CornerTypeInitalizer.m
│ │ │ │ │ ├── MDCCurvedCornerTreatment.h
│ │ │ │ │ ├── MDCCurvedCornerTreatment.m
│ │ │ │ │ ├── MDCCurvedRectShapeGenerator.h
│ │ │ │ │ ├── MDCCurvedRectShapeGenerator.m
│ │ │ │ │ ├── MDCCutCornerTreatment.h
│ │ │ │ │ ├── MDCCutCornerTreatment.m
│ │ │ │ │ ├── MDCPillShapeGenerator.h
│ │ │ │ │ ├── MDCPillShapeGenerator.m
│ │ │ │ │ ├── MDCRoundedCornerTreatment.h
│ │ │ │ │ ├── MDCRoundedCornerTreatment.m
│ │ │ │ │ ├── MDCSlantedRectShapeGenerator.h
│ │ │ │ │ ├── MDCSlantedRectShapeGenerator.m
│ │ │ │ │ ├── MDCTriangleEdgeTreatment.h
│ │ │ │ │ ├── MDCTriangleEdgeTreatment.m
│ │ │ │ │ └── MaterialShapeLibrary.h
│ │ │ │ ├── Shapes
│ │ │ │ └── src
│ │ │ │ │ ├── MDCCornerTreatment.h
│ │ │ │ │ ├── MDCCornerTreatment.m
│ │ │ │ │ ├── MDCEdgeTreatment.h
│ │ │ │ │ ├── MDCEdgeTreatment.m
│ │ │ │ │ ├── MDCPathGenerator.h
│ │ │ │ │ ├── MDCPathGenerator.m
│ │ │ │ │ ├── MDCRectangleShapeGenerator.h
│ │ │ │ │ ├── MDCRectangleShapeGenerator.m
│ │ │ │ │ ├── MDCShapeGenerating.h
│ │ │ │ │ ├── MDCShapedShadowLayer.h
│ │ │ │ │ ├── MDCShapedShadowLayer.m
│ │ │ │ │ ├── MDCShapedView.h
│ │ │ │ │ ├── MDCShapedView.m
│ │ │ │ │ └── MaterialShapes.h
│ │ │ │ ├── Slider
│ │ │ │ └── src
│ │ │ │ │ ├── MDCSlider.h
│ │ │ │ │ ├── MDCSlider.m
│ │ │ │ │ ├── MDCSliderDelegate.h
│ │ │ │ │ ├── MaterialSlider.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCSlider+Private.h
│ │ │ │ │ └── MDCSlider_Subclassable.h
│ │ │ │ ├── TextFields
│ │ │ │ └── src
│ │ │ │ │ ├── ColorThemer
│ │ │ │ │ ├── MDCFilledTextFieldColorThemer.h
│ │ │ │ │ ├── MDCFilledTextFieldColorThemer.m
│ │ │ │ │ └── MaterialTextFields+ColorThemer.h
│ │ │ │ │ ├── MDCIntrinsicHeightTextView.h
│ │ │ │ │ ├── MDCIntrinsicHeightTextView.m
│ │ │ │ │ ├── MDCMultilineTextField.h
│ │ │ │ │ ├── MDCMultilineTextField.m
│ │ │ │ │ ├── MDCMultilineTextInputDelegate.h
│ │ │ │ │ ├── MDCMultilineTextInputLayoutDelegate.h
│ │ │ │ │ ├── MDCTextField.h
│ │ │ │ │ ├── MDCTextField.m
│ │ │ │ │ ├── MDCTextFieldPositioningDelegate.h
│ │ │ │ │ ├── MDCTextInput.h
│ │ │ │ │ ├── MDCTextInputBorderView.h
│ │ │ │ │ ├── MDCTextInputBorderView.m
│ │ │ │ │ ├── MDCTextInputCharacterCounter.h
│ │ │ │ │ ├── MDCTextInputController.h
│ │ │ │ │ ├── MDCTextInputControllerBase.h
│ │ │ │ │ ├── MDCTextInputControllerBase.m
│ │ │ │ │ ├── MDCTextInputControllerFilled.h
│ │ │ │ │ ├── MDCTextInputControllerFilled.m
│ │ │ │ │ ├── MDCTextInputControllerFloatingPlaceholder.h
│ │ │ │ │ ├── MDCTextInputControllerFullWidth.h
│ │ │ │ │ ├── MDCTextInputControllerFullWidth.m
│ │ │ │ │ ├── MDCTextInputControllerLegacyDefault.h
│ │ │ │ │ ├── MDCTextInputControllerLegacyDefault.m
│ │ │ │ │ ├── MDCTextInputControllerLegacyFullWidth.h
│ │ │ │ │ ├── MDCTextInputControllerLegacyFullWidth.m
│ │ │ │ │ ├── MDCTextInputControllerOutlined.h
│ │ │ │ │ ├── MDCTextInputControllerOutlined.m
│ │ │ │ │ ├── MDCTextInputControllerOutlinedTextArea.h
│ │ │ │ │ ├── MDCTextInputControllerOutlinedTextArea.m
│ │ │ │ │ ├── MDCTextInputControllerUnderline.h
│ │ │ │ │ ├── MDCTextInputControllerUnderline.m
│ │ │ │ │ ├── MDCTextInputUnderlineView.h
│ │ │ │ │ ├── MDCTextInputUnderlineView.m
│ │ │ │ │ ├── MaterialTextFields.h
│ │ │ │ │ ├── Theming
│ │ │ │ │ ├── MDCTextInputControllerFilled+MaterialTheming.h
│ │ │ │ │ ├── MDCTextInputControllerFilled+MaterialTheming.m
│ │ │ │ │ ├── MDCTextInputControllerOutlined+MaterialTheming.h
│ │ │ │ │ ├── MDCTextInputControllerOutlined+MaterialTheming.m
│ │ │ │ │ ├── MDCTextInputControllerUnderline+MaterialTheming.h
│ │ │ │ │ ├── MDCTextInputControllerUnderline+MaterialTheming.m
│ │ │ │ │ └── MaterialTextFields+Theming.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCTextField+Testing.h
│ │ │ │ │ ├── MDCTextInputAllCharactersCounter.m
│ │ │ │ │ ├── MDCTextInputArt.h
│ │ │ │ │ ├── MDCTextInputCommonFundament.h
│ │ │ │ │ ├── MDCTextInputCommonFundament.m
│ │ │ │ │ └── MDCTextInputControllerBase+Subclassing.h
│ │ │ │ ├── Themes
│ │ │ │ └── src
│ │ │ │ │ ├── MDCColorScheme.h
│ │ │ │ │ ├── MDCFontScheme.h
│ │ │ │ │ ├── MDCTonalColorScheme.h
│ │ │ │ │ ├── MDCTonalPalette.h
│ │ │ │ │ └── MaterialThemes.h
│ │ │ │ ├── Typography
│ │ │ │ └── src
│ │ │ │ │ ├── MDCFontScaler.h
│ │ │ │ │ ├── MDCFontScaler.m
│ │ │ │ │ ├── MDCFontTextStyle.h
│ │ │ │ │ ├── MDCTypography.h
│ │ │ │ │ ├── MDCTypography.m
│ │ │ │ │ ├── MaterialTypography.h
│ │ │ │ │ ├── UIFont+MaterialScalable.h
│ │ │ │ │ ├── UIFont+MaterialScalable.m
│ │ │ │ │ ├── UIFont+MaterialSimpleEquality.h
│ │ │ │ │ ├── UIFont+MaterialSimpleEquality.m
│ │ │ │ │ ├── UIFont+MaterialTypography.h
│ │ │ │ │ ├── UIFont+MaterialTypography.m
│ │ │ │ │ ├── UIFontDescriptor+MaterialTypography.h
│ │ │ │ │ ├── UIFontDescriptor+MaterialTypography.m
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCFontTraits.h
│ │ │ │ │ ├── MDCFontTraits.m
│ │ │ │ │ ├── MDCTypographyUtilities.h
│ │ │ │ │ ├── MDCTypographyUtilities.m
│ │ │ │ │ ├── UIFont+MaterialTypographyPrivate.h
│ │ │ │ │ └── UIFont+MaterialTypographyPrivate.m
│ │ │ │ ├── private
│ │ │ │ ├── Application
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── MaterialApplication.h
│ │ │ │ │ │ ├── UIApplication+MDCAppExtensions.h
│ │ │ │ │ │ └── UIApplication+MDCAppExtensions.m
│ │ │ │ ├── Color
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── MaterialColor.h
│ │ │ │ │ │ ├── UIColor+MaterialBlending.h
│ │ │ │ │ │ ├── UIColor+MaterialBlending.m
│ │ │ │ │ │ ├── UIColor+MaterialDynamic.h
│ │ │ │ │ │ └── UIColor+MaterialDynamic.m
│ │ │ │ ├── Math
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── MDCMath.h
│ │ │ │ │ │ ├── MaterialMath.h
│ │ │ │ │ │ └── MaterialMathDummy.m
│ │ │ │ └── ThumbTrack
│ │ │ │ │ └── src
│ │ │ │ │ ├── MDCNumericValueLabel.h
│ │ │ │ │ ├── MDCNumericValueLabel.m
│ │ │ │ │ ├── MDCThumbTrack.h
│ │ │ │ │ ├── MDCThumbTrack.m
│ │ │ │ │ ├── MDCThumbView.h
│ │ │ │ │ ├── MDCThumbView.m
│ │ │ │ │ ├── MaterialThumbTrack.h
│ │ │ │ │ └── private
│ │ │ │ │ ├── MDCDiscreteDotView.h
│ │ │ │ │ ├── MDCDiscreteDotView.m
│ │ │ │ │ └── MDCThumbTrack+Private.h
│ │ │ │ └── schemes
│ │ │ │ ├── Color
│ │ │ │ └── src
│ │ │ │ │ ├── MDCLegacyColorScheme.h
│ │ │ │ │ ├── MDCLegacyColorScheme.m
│ │ │ │ │ ├── MDCLegacyTonalColorScheme.h
│ │ │ │ │ ├── MDCLegacyTonalColorScheme.m
│ │ │ │ │ ├── MDCLegacyTonalPalette.h
│ │ │ │ │ ├── MDCLegacyTonalPalette.m
│ │ │ │ │ ├── MDCSemanticColorScheme.h
│ │ │ │ │ ├── MDCSemanticColorScheme.m
│ │ │ │ │ └── MaterialColorScheme.h
│ │ │ │ ├── Container
│ │ │ │ └── src
│ │ │ │ │ ├── MDCContainerScheme.h
│ │ │ │ │ ├── MDCContainerScheme.m
│ │ │ │ │ └── MaterialContainerScheme.h
│ │ │ │ ├── Shape
│ │ │ │ └── src
│ │ │ │ │ ├── MDCShapeCategory.h
│ │ │ │ │ ├── MDCShapeCategory.m
│ │ │ │ │ ├── MDCShapeScheme.h
│ │ │ │ │ ├── MDCShapeScheme.m
│ │ │ │ │ └── MaterialShapeScheme.h
│ │ │ │ └── Typography
│ │ │ │ └── src
│ │ │ │ ├── BasicFontScheme
│ │ │ │ ├── MDCBasicFontScheme.h
│ │ │ │ ├── MDCBasicFontScheme.m
│ │ │ │ └── MaterialTypographyScheme+BasicFontScheme.h
│ │ │ │ ├── MDCLegacyFontScheme.h
│ │ │ │ ├── MDCTypographyScheme.h
│ │ │ │ ├── MDCTypographyScheme.m
│ │ │ │ ├── MaterialTypographyScheme.h
│ │ │ │ └── Scheming
│ │ │ │ ├── MDCTypographyScheming.h
│ │ │ │ └── MaterialTypographyScheme+Scheming.h
│ │ ├── MotionAnimator
│ │ │ ├── LICENSE
│ │ │ └── src
│ │ │ │ ├── CATransaction+MotionAnimator.h
│ │ │ │ ├── CATransaction+MotionAnimator.m
│ │ │ │ ├── MDMAnimatableKeyPaths.h
│ │ │ │ ├── MDMAnimatableKeyPaths.m
│ │ │ │ ├── MDMCoreAnimationTraceable.h
│ │ │ │ ├── MDMMotionAnimator.h
│ │ │ │ ├── MDMMotionAnimator.m
│ │ │ │ ├── MotionAnimator.h
│ │ │ │ └── private
│ │ │ │ ├── CABasicAnimation+MotionAnimator.h
│ │ │ │ ├── CABasicAnimation+MotionAnimator.m
│ │ │ │ ├── CAMediaTimingFunction+MotionAnimator.h
│ │ │ │ ├── CAMediaTimingFunction+MotionAnimator.m
│ │ │ │ ├── MDMAnimationRegistrar.h
│ │ │ │ ├── MDMAnimationRegistrar.m
│ │ │ │ ├── MDMBlockAnimations.h
│ │ │ │ ├── MDMBlockAnimations.m
│ │ │ │ ├── MDMDragCoefficient.h
│ │ │ │ ├── MDMDragCoefficient.m
│ │ │ │ ├── MDMRegisteredAnimation.h
│ │ │ │ ├── MDMRegisteredAnimation.m
│ │ │ │ ├── MDMUIKitValueCoercion.h
│ │ │ │ └── MDMUIKitValueCoercion.m
│ │ ├── MotionInterchange
│ │ │ ├── LICENSE
│ │ │ └── src
│ │ │ │ ├── CAMediaTimingFunction+MDMTimingCurve.h
│ │ │ │ ├── CAMediaTimingFunction+MDMTimingCurve.m
│ │ │ │ ├── MDMAnimationTraits.h
│ │ │ │ ├── MDMAnimationTraits.m
│ │ │ │ ├── MDMMotionCurve.h
│ │ │ │ ├── MDMMotionCurve.m
│ │ │ │ ├── MDMMotionRepetition.h
│ │ │ │ ├── MDMMotionTiming.h
│ │ │ │ ├── MDMRepetition.h
│ │ │ │ ├── MDMRepetition.m
│ │ │ │ ├── MDMRepetitionOverTime.h
│ │ │ │ ├── MDMRepetitionOverTime.m
│ │ │ │ ├── MDMRepetitionTraits.h
│ │ │ │ ├── MDMSpringTimingCurve.h
│ │ │ │ ├── MDMSpringTimingCurve.m
│ │ │ │ ├── MDMSpringTimingCurveGenerator.h
│ │ │ │ ├── MDMSpringTimingCurveGenerator.m
│ │ │ │ ├── MDMSubclassingRestricted.h
│ │ │ │ ├── MDMTimingCurve.h
│ │ │ │ └── MotionInterchange.h
│ │ ├── Pods.xcodeproj
│ │ │ └── project.pbxproj
│ │ └── Target Support Files
│ │ │ ├── MDFInternationalization
│ │ │ ├── MDFInternationalization-Info.plist
│ │ │ ├── MDFInternationalization-dummy.m
│ │ │ ├── MDFInternationalization-prefix.pch
│ │ │ ├── MDFInternationalization-umbrella.h
│ │ │ ├── MDFInternationalization.debug.xcconfig
│ │ │ ├── MDFInternationalization.modulemap
│ │ │ └── MDFInternationalization.release.xcconfig
│ │ │ ├── MDFTextAccessibility
│ │ │ ├── MDFTextAccessibility-Info.plist
│ │ │ ├── MDFTextAccessibility-dummy.m
│ │ │ ├── MDFTextAccessibility-prefix.pch
│ │ │ ├── MDFTextAccessibility-umbrella.h
│ │ │ ├── MDFTextAccessibility.debug.xcconfig
│ │ │ ├── MDFTextAccessibility.modulemap
│ │ │ └── MDFTextAccessibility.release.xcconfig
│ │ │ ├── MaterialComponents
│ │ │ ├── MaterialComponents-Info.plist
│ │ │ ├── MaterialComponents-dummy.m
│ │ │ ├── MaterialComponents-prefix.pch
│ │ │ ├── MaterialComponents-umbrella.h
│ │ │ ├── MaterialComponents.debug.xcconfig
│ │ │ ├── MaterialComponents.modulemap
│ │ │ └── MaterialComponents.release.xcconfig
│ │ │ ├── MotionAnimator
│ │ │ ├── MotionAnimator-Info.plist
│ │ │ ├── MotionAnimator-dummy.m
│ │ │ ├── MotionAnimator-prefix.pch
│ │ │ ├── MotionAnimator-umbrella.h
│ │ │ ├── MotionAnimator.debug.xcconfig
│ │ │ ├── MotionAnimator.modulemap
│ │ │ └── MotionAnimator.release.xcconfig
│ │ │ ├── MotionInterchange
│ │ │ ├── MotionInterchange-Info.plist
│ │ │ ├── MotionInterchange-dummy.m
│ │ │ ├── MotionInterchange-prefix.pch
│ │ │ ├── MotionInterchange-umbrella.h
│ │ │ ├── MotionInterchange.debug.xcconfig
│ │ │ ├── MotionInterchange.modulemap
│ │ │ └── MotionInterchange.release.xcconfig
│ │ │ └── Pods-iOSStoryBookDemo
│ │ │ ├── Pods-iOSStoryBookDemo-Info.plist
│ │ │ ├── Pods-iOSStoryBookDemo-acknowledgements.markdown
│ │ │ ├── Pods-iOSStoryBookDemo-acknowledgements.plist
│ │ │ ├── Pods-iOSStoryBookDemo-dummy.m
│ │ │ ├── Pods-iOSStoryBookDemo-frameworks-Debug-input-files.xcfilelist
│ │ │ ├── Pods-iOSStoryBookDemo-frameworks-Debug-output-files.xcfilelist
│ │ │ ├── Pods-iOSStoryBookDemo-frameworks-Release-input-files.xcfilelist
│ │ │ ├── Pods-iOSStoryBookDemo-frameworks-Release-output-files.xcfilelist
│ │ │ ├── Pods-iOSStoryBookDemo-frameworks.sh
│ │ │ ├── Pods-iOSStoryBookDemo-umbrella.h
│ │ │ ├── Pods-iOSStoryBookDemo.debug.xcconfig
│ │ │ ├── Pods-iOSStoryBookDemo.modulemap
│ │ │ └── Pods-iOSStoryBookDemo.release.xcconfig
│ │ ├── iOSStoryBookDemo.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── iOSStoryBookDemo.xcscheme
│ │ ├── iOSStoryBookDemo.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── iOSStoryBookDemo
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 128.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 16.png
│ │ │ ├── 167.png
│ │ │ ├── 172.png
│ │ │ ├── 180.png
│ │ │ ├── 196.png
│ │ │ ├── 20.png
│ │ │ ├── 216.png
│ │ │ ├── 256.png
│ │ │ ├── 29.png
│ │ │ ├── 32.png
│ │ │ ├── 40.png
│ │ │ ├── 48.png
│ │ │ ├── 50.png
│ │ │ ├── 512.png
│ │ │ ├── 55.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 64.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ ├── 88.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ ├── Custom~.storyboard
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Components ViewController
│ │ ├── ButtonViewController.swift
│ │ ├── FloatingButtonController.swift
│ │ ├── SliderViewController.swift
│ │ ├── SpinnerViewController.swift
│ │ └── TextFieldViewController.swift
│ │ ├── Info.plist
│ │ ├── MenuBaseViewController.swift
│ │ ├── MenuViewController.swift
│ │ ├── StorybookControlsProtocol.swift
│ │ ├── Supporting Files
│ │ ├── AnimationTransactions.swift
│ │ ├── CALayer+Extensions.swift
│ │ ├── ColorHelper.swift
│ │ ├── Localizable.strings
│ │ ├── RawColors.plist
│ │ ├── RawColors.swift
│ │ ├── UIColor+Extensions.swift
│ │ ├── UIView+Extensions.swift
│ │ └── label.swift
│ │ ├── TableView+Extensions
│ │ ├── TableViewCell.swift
│ │ └── TableViewCellBaseViewController.swift
│ │ └── TableViewCellBaseViewController.swift
│ ├── package.json
│ └── src
│ ├── button.stories.jsx
│ ├── floatingbutton.stories.jsx
│ ├── slider.stories.jsx
│ ├── spinner.stories.jsx
│ └── textfield.stories.jsx
├── images
├── appetize-emulator.gif
└── local-emulators.gif
├── lerna.json
├── package.json
├── packages
├── addon
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── package.json
│ ├── register.js
│ ├── src
│ │ ├── components
│ │ │ ├── CountrySelector.tsx
│ │ │ ├── DeveloperOptionsSelector.tsx
│ │ │ ├── DeviceSelector.tsx
│ │ │ ├── FontSelector.tsx
│ │ │ ├── LogsContainer.tsx
│ │ │ ├── MapContainer.tsx
│ │ │ ├── MediaContainer.tsx
│ │ │ ├── NetworkLogsContainer.tsx
│ │ │ ├── ThemeSelector.tsx
│ │ │ └── VersionSelector.tsx
│ │ ├── constants.ts
│ │ ├── deviceDecorator.tsx
│ │ ├── index.ts
│ │ ├── register.tsx
│ │ └── utils
│ │ │ └── localStorageUtils.ts
│ └── tsconfig.json
├── controllers
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── constants.ts
│ │ ├── controllers
│ │ │ ├── AppetizeEmulatorController.ts
│ │ │ ├── EmulatorController.ts
│ │ │ └── LocalEmulatorController.ts
│ │ ├── index.ts
│ │ ├── manager
│ │ │ ├── ControllerManager.ts
│ │ │ └── controllerFactory.ts
│ │ ├── state
│ │ │ ├── commandsSlice.ts
│ │ │ ├── hooks.ts
│ │ │ ├── logsSlice.ts
│ │ │ ├── networkLogsSlice.ts
│ │ │ ├── reducer.ts
│ │ │ └── store.ts
│ │ ├── types.ts
│ │ └── utils
│ │ │ ├── deepLinkUtils.ts
│ │ │ ├── getAppetizeUrl.ts
│ │ │ ├── iframeUtils.ts
│ │ │ └── rotationUtils.ts
│ └── tsconfig.json
├── deep-link-logger
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── components
│ │ │ ├── DeepLinkDetails.tsx
│ │ │ ├── DeepLinksContainer.tsx
│ │ │ └── DeepLinksList.tsx
│ │ ├── constants.ts
│ │ ├── deepLinkUtils.ts
│ │ └── index.ts
│ └── tsconfig.json
├── dev-middleware
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── configUtils.ts
│ │ ├── constants.ts
│ │ ├── handlers
│ │ │ ├── deepLink.ts
│ │ │ ├── saveScreenshot.ts
│ │ │ ├── setRotation.ts
│ │ │ ├── stopApp.ts
│ │ │ └── updateConfig.ts
│ │ ├── index.ts
│ │ ├── middleware.ts
│ │ └── types.ts
│ └── tsconfig.json
├── devices
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── DeviceContext.tsx
│ │ ├── DeviceWrapper.tsx
│ │ ├── getDevices.ts
│ │ ├── getFonts.ts
│ │ ├── getLocations.ts
│ │ ├── index.ts
│ │ ├── locations.json
│ │ ├── types.ts
│ │ └── useDevice.ts
│ └── tsconfig.json
├── native-components
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── commands
│ │ │ ├── BaseMessage.tsx
│ │ │ ├── CommandDetails.tsx
│ │ │ ├── CommandsList.tsx
│ │ │ ├── ErrorMessage.tsx
│ │ │ └── SuccessMessage.tsx
│ │ ├── index.ts
│ │ ├── log
│ │ │ ├── LogDetails.tsx
│ │ │ ├── LogsList.tsx
│ │ │ ├── NetworkLogDetails.tsx
│ │ │ └── NetworkLogsList.tsx
│ │ ├── renderers
│ │ │ ├── DeepLinkRenderer.tsx
│ │ │ ├── EmulatorRenderer.tsx
│ │ │ └── LaunchParamsRenderer.tsx
│ │ └── types.ts
│ └── tsconfig.json
├── native
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── category.template
│ ├── categoryControl.template
│ ├── defaults.template
│ ├── package.json
│ ├── src
│ │ ├── generateStories.ts
│ │ ├── generateStory.ts
│ │ ├── index.ts
│ │ ├── previewHeader.ts
│ │ └── types.ts
│ ├── story.template
│ └── tsconfig.json
└── types
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ └── index.ts
│ └── tsconfig.json
├── scripts
├── buildExamples.sh
└── deploy.sh
├── tsconfig.json
└── yarn.lock
/.autorc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "all-contributors",
4 | "npm",
5 | "conventional-commits",
6 | "released",
7 | "first-time-contributor",
8 | ],
9 | "labels": [
10 | {
11 | "name": "dependency-update",
12 | "changelogTitle": "🔩 Dependency Updates",
13 | "releaseType": "none"
14 | }
15 | ],
16 | "prereleaseBranches": ["next", "alpha", "beta"],
17 | "name": "lshadler",
18 | "email": "lshadler13@gmail.com"
19 | }
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | dist/
2 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry="https://registry.npmjs.com"
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | dist/
2 | app/
3 | storybook-static/
4 | stories/
5 | .circleci/config.yml
6 | LICENSE.md
7 | README.md
8 | package.json
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": false,
3 | "tabWidth": 4,
4 | "trailingComma": "none"
5 | }
6 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2020 Intuit
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/STORYBOOK-CONFIG.md:
--------------------------------------------------------------------------------
1 | ## Configuring Storybook
2 |
3 | Storybook Native can be used either as a [build tool](packages/native/README.md), or as a [React component library](packages/native-components/README.md) that manages switching between stories.
4 |
5 | You must create a `.storybook` folder with a `main.js` file inside of it, where you must configure the path to your stories, as well as any addons you want to use. The `@storybook/addon-docs` and `@storybook/addon-controls` addons must always be included. The `@storybook/native-addon` addon is required if you want to be able to rotate the emulator, capture screenshots, or switch between devices. [Here](examples/android-material-ui/.storybook/main.js) is an example of a valid `main.js` file.
6 |
7 | To enable switching between devices, you must also create a `preview.js` file in your `.storybook` folder, with the [contents found here](examples/android-material-ui/.storybook/preview.js)
8 |
--------------------------------------------------------------------------------
/examples/android-material-ui/.babelrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "presets": [
4 | [
5 | "@babel/preset-env",
6 | {
7 | "targets": {
8 | "chrome": 100,
9 | "safari": 15,
10 | "firefox": 91
11 | }
12 | }
13 | ],
14 | "@babel/preset-typescript",
15 | "@babel/preset-react"
16 | ],
17 | "plugins": []
18 | }
--------------------------------------------------------------------------------
/examples/android-material-ui/.storybook/main.js:
--------------------------------------------------------------------------------
1 | import { nativePreviewHead } from "@storybook/native";
2 |
3 | const config = {
4 | stories: ["../stories/*.stories.jsx"],
5 | framework: {
6 | name: "@storybook/react-webpack5",
7 | options: {}
8 | },
9 | addons: [
10 | "@storybook/addon-docs",
11 | "@storybook/addon-controls",
12 | "@storybook/native-addon/dist/register.js"
13 | ],
14 | docs: {
15 | autodocs: true
16 | },
17 | previewHead: nativePreviewHead
18 | };
19 |
20 | export default config;
21 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/androidTest/java/com/intuit/august2020/storybookdemoapp/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.intuit.august2020.storybookdemoapp", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/ButtonActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import kotlinx.android.synthetic.main.activity_button.*
6 |
7 | class ButtonActivity : AppCompatActivity() {
8 | override fun onCreate(savedInstanceState: Bundle?) {
9 | super.onCreate(savedInstanceState)
10 | setContentView(R.layout.activity_button);
11 |
12 | if (intent.hasExtra("label")) {
13 | var label = intent.getStringExtra("label");
14 | textButton.text = label
15 | outlinedButton.text = label
16 | containedButton.text = label
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/ChipsActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import com.google.android.material.chip.Chip
6 | import kotlinx.android.synthetic.main.activity_chips.*
7 |
8 | class ChipsActivity : AppCompatActivity() {
9 | private fun updateChipText(chip: Chip, key: String) {
10 | if (intent.hasExtra(key)) {
11 | var title = intent.getStringExtra(key)
12 | chip.text = title
13 | }
14 | }
15 |
16 | override fun onCreate(savedInstanceState: Bundle?) {
17 | super.onCreate(savedInstanceState)
18 | setContentView(R.layout.activity_chips)
19 |
20 | updateChipText(chip1, "chip1")
21 | updateChipText(chip2, "chip2")
22 | updateChipText(chip3, "chip3")
23 | updateChipText(chip4, "chip4")
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/FloatingButtonActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import android.graphics.Color
4 | import androidx.appcompat.app.AppCompatActivity
5 | import android.os.Bundle
6 | import kotlinx.android.synthetic.main.activity_floating_button.*
7 |
8 | class FloatingButtonActivity : AppCompatActivity() {
9 | override fun onCreate(savedInstanceState: Bundle?) {
10 | super.onCreate(savedInstanceState)
11 | setContentView(R.layout.activity_floating_button)
12 |
13 | if (intent.hasExtra("rippleColor")) {
14 | var colourHex = "#" + intent.getStringExtra("rippleColor")
15 | val colour = Color.parseColor(colourHex)
16 | floating_action_button.rippleColor = colour
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/RadioActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import android.widget.RadioButton
6 | import kotlinx.android.synthetic.main.activity_radio.*
7 |
8 | class RadioActivity : AppCompatActivity() {
9 | private fun updateRadioLabel(radio: RadioButton, key: String) {
10 | if (intent.hasExtra(key)) {
11 | var label = intent.getStringExtra(key)
12 | radio.text = label
13 | }
14 | }
15 |
16 | override fun onCreate(savedInstanceState: Bundle?) {
17 | super.onCreate(savedInstanceState)
18 | setContentView(R.layout.activity_radio)
19 |
20 | updateRadioLabel(radio_button_1, "label1")
21 | updateRadioLabel(radio_button_2, "label2")
22 | updateRadioLabel(radio_button_3, "label3")
23 | updateRadioLabel(radio_button_4, "label4")
24 | updateRadioLabel(radio_button_5, "label5")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/SnackbarActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import com.google.android.material.snackbar.Snackbar
6 | import kotlinx.android.synthetic.main.activity_snackbar.*
7 |
8 | class SnackbarActivity : AppCompatActivity() {
9 | override fun onCreate(savedInstanceState: Bundle?) {
10 | super.onCreate(savedInstanceState)
11 | setContentView(R.layout.activity_snackbar)
12 |
13 | var title = "title"
14 | if (intent.hasExtra("title")) {
15 | title = intent.getStringExtra("title");
16 | }
17 |
18 | var action = "Action"
19 | if (intent.hasExtra("action")) {
20 | action = intent.getStringExtra("action");
21 | }
22 |
23 | Snackbar.make(snackbar, title, Snackbar.LENGTH_INDEFINITE)
24 | .setAction(action) {
25 | // Responds to click on the action
26 | }
27 | .show()
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/TabsActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import com.google.android.material.tabs.TabLayout
6 | import kotlinx.android.synthetic.main.activity_tabs.*
7 |
8 | class TabsActivity : AppCompatActivity() {
9 | private fun updateTabLabel(index: Int, key: String) {
10 | var tab: TabLayout.Tab = tabLayout.getTabAt(index) ?: return
11 |
12 | if (intent.hasExtra(key)) {
13 | var label = intent.getStringExtra(key)
14 | tab.text = label
15 | }
16 | }
17 |
18 | override fun onCreate(savedInstanceState: Bundle?) {
19 | super.onCreate(savedInstanceState)
20 | setContentView(R.layout.activity_tabs)
21 |
22 | updateTabLabel(0, "label1")
23 | updateTabLabel(1, "label2")
24 | updateTabLabel(2, "label3")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/java/com/intuit/august2020/storybookdemoapp/TextFieldActivity.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import kotlinx.android.synthetic.main.activity_text_field.*
6 |
7 | class TextFieldActivity : AppCompatActivity() {
8 | override fun onCreate(savedInstanceState: Bundle?) {
9 | super.onCreate(savedInstanceState)
10 | setContentView(R.layout.activity_text_field)
11 |
12 | if (intent.hasExtra("helperText")) {
13 | var text = intent.getStringExtra("helperText")
14 | textField.helperText = text
15 | }
16 |
17 | if (intent.hasExtra("placeholderText")) {
18 | var text = intent.getStringExtra("placeholderText")
19 | textField.placeholderText = text
20 | }
21 |
22 | if (intent.hasExtra("hintText")) {
23 | var text = intent.getStringExtra("hintText")
24 | textField.hint = text
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_add_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_alarm_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_android_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_call_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_delete_outline_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_favorite_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_info_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/drawable/ic_room_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/layout/activity_dialogs.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/layout/activity_snackbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
18 |
19 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_card_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_card_media.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_card_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_card_media.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_card_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_card_media.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_card_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_card_media.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_card_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_card_media.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/android-material-ui/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #853BEF
4 | #3700B3
5 | #03DAC5
6 |
7 | #ffffff
8 |
9 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/app/src/test/java/com/intuit/august2020/storybookdemoapp/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package com.intuit.august2020.storybookdemoapp
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | ext.kotlin_version = "1.3.72"
4 | repositories {
5 | google()
6 | jcenter()
7 | }
8 | dependencies {
9 | classpath "com.android.tools.build:gradle:4.0.1"
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | allprojects {
17 | repositories {
18 | google()
19 | jcenter()
20 | }
21 | }
22 |
23 | task clean(type: Delete) {
24 | delete rootProject.buildDir
25 | }
26 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Sep 12 01:17:24 PDT 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
7 |
--------------------------------------------------------------------------------
/examples/android-material-ui/app/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | rootProject.name = "Storybook Demo App"
3 |
--------------------------------------------------------------------------------
/examples/controls/.babelrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "presets": [
4 | [
5 | "@babel/preset-env",
6 | {
7 | "targets": {
8 | "chrome": 100,
9 | "safari": 15,
10 | "firefox": 91
11 | }
12 | }
13 | ],
14 | "@babel/preset-typescript",
15 | "@babel/preset-react"
16 | ],
17 | "plugins": []
18 | }
--------------------------------------------------------------------------------
/examples/controls/.storybook/main.js:
--------------------------------------------------------------------------------
1 | const config = {
2 | stories: [{ directory: '../src', files: '**/*.stories.@(mdx|tsx|ts|jsx|js)' }],
3 | framework: {
4 | name: "@storybook/react-webpack5",
5 | options: {},
6 | },
7 | addons: [
8 | "@storybook/addon-docs",
9 | "@storybook/addon-controls",
10 | "@storybook/native-addon"
11 | ],
12 | docs: {
13 | autodocs: true
14 | }
15 | };
16 |
17 | export default config;
18 |
--------------------------------------------------------------------------------
/examples/controls/.storybook/preview.js:
--------------------------------------------------------------------------------
1 | import { DeviceDecorator } from "@storybook/native-addon";
2 |
3 | export const decorators = [DeviceDecorator];
4 |
--------------------------------------------------------------------------------
/examples/controls/app/README.md:
--------------------------------------------------------------------------------
1 | This application is the same as the one [here](../../android-material-ui/app)
2 |
--------------------------------------------------------------------------------
/examples/controls/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-controls-example",
3 | "version": "3.1.2",
4 | "private": true,
5 | "description": "An Android demo app showing how to use controls",
6 | "repository": "",
7 | "author": "Adil Malik ",
8 | "license": "MIT",
9 | "contributors": [
10 | "Adil Malik "
11 | ],
12 | "scripts": {
13 | "start": "storybook dev -p 53743",
14 | "build:storybook": "storybook build"
15 | },
16 | "keywords": [],
17 | "dependencies": {
18 | "@storybook/native": "link:../../packages/native",
19 | "@storybook/native-addon": "link:../../packages/addon",
20 | "rgb-hex": "^3.0.0"
21 | },
22 | "devDependencies": {
23 | "@babel/preset-env": "^7.23.2",
24 | "@babel/preset-react": "^7.22.15",
25 | "@babel/preset-typescript": "^7.23.2",
26 | "@storybook/react-webpack5": "^7.5.3",
27 | "storybook": "^7.5.3"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/examples/controls/src/button.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Button"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | label: "Default button label",
23 | object: {
24 | key1: "value1",
25 | key2: {
26 | key3: "value3"
27 | }
28 | }
29 | };
30 |
--------------------------------------------------------------------------------
/examples/controls/src/card.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Card"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | title: "Card title",
23 | subtitle: "Card subtitle",
24 | body: "Card body",
25 | action1: "Cancel",
26 | action2: "Confirm"
27 | };
28 |
--------------------------------------------------------------------------------
/examples/controls/src/chips.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Chips"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | chip1: "Chip 1",
23 | chip2: "Chip 2",
24 | chip3: "Chip 3",
25 | chip4: "Chip 4"
26 | };
27 |
--------------------------------------------------------------------------------
/examples/controls/src/constants.js:
--------------------------------------------------------------------------------
1 | export const API_KEY = "zv034bdme9je7c9d43chzmc2yg";
2 | export const PLATFORM = "android";
3 | export const DEEP_LINK_BASE_URL = "sb-native://deep.link";
4 |
--------------------------------------------------------------------------------
/examples/controls/src/dialogs.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Dialogs"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | header: "Modal example",
23 | confirmText: "Confirm",
24 | cancelText: "Cancel"
25 | };
26 |
--------------------------------------------------------------------------------
/examples/controls/src/floatingButton.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import rgbHex from "rgb-hex";
4 |
5 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
6 |
7 | export default {
8 | title: "FloatingButton",
9 | argTypes: {
10 | rippleColor: {
11 | control: "color"
12 | }
13 | }
14 | };
15 |
16 | export const Example = (props) => {
17 | const rippleColor = rgbHex(props.rippleColor);
18 |
19 | return (
20 |
29 | );
30 | };
31 |
32 | Example.args = {
33 | rippleColor: "rgb(0,255,255)"
34 | };
35 |
--------------------------------------------------------------------------------
/examples/controls/src/radio.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Radio"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | label1: "Radio 1",
23 | label2: "Radio 2",
24 | label3: "Radio 3",
25 | label4: "Radio 4",
26 | label5: "Radio 5"
27 | };
28 |
--------------------------------------------------------------------------------
/examples/controls/src/slider.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Slider",
7 | argTypes: {
8 | rangeMax: {
9 | control: { type: "range", min: 1, max: 100, step: 1 }
10 | }
11 | }
12 | };
13 |
14 | export const Example = (props) => {
15 | return (
16 |
25 | );
26 | };
27 |
28 | Example.args = {
29 | rangeMax: 100
30 | };
31 |
--------------------------------------------------------------------------------
/examples/controls/src/snackbar.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Snackbar"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | title: "Snackbar",
23 | action: "Dismiss"
24 | };
25 |
--------------------------------------------------------------------------------
/examples/controls/src/switch.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Switch"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | label1: "Switch 1",
23 | label2: "Switch 2",
24 | label3: "Switch 3",
25 | label4: "Switch 4",
26 | label5: "Switch 5",
27 | enableLastSwitch: false
28 | };
29 |
--------------------------------------------------------------------------------
/examples/controls/src/tabs.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Tabs"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | label1: "Tab 1",
23 | label2: "Tab 2",
24 | label3: "Tab 3"
25 | };
26 |
--------------------------------------------------------------------------------
/examples/controls/src/textfield.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 | import { PLATFORM, API_KEY, DEEP_LINK_BASE_URL } from "./constants";
4 |
5 | export default {
6 | title: "Textfield"
7 | };
8 |
9 | export const Example = (props) => {
10 | return (
11 |
18 | );
19 | };
20 |
21 | Example.args = {
22 | helperText: "Enter some text!",
23 | hintText: "Example TextField",
24 | placeholderText: "Text..."
25 | };
26 |
--------------------------------------------------------------------------------
/examples/cross-platform/.babelrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "presets": [
4 | [
5 | "@babel/preset-env",
6 | {
7 | "targets": {
8 | "chrome": 100,
9 | "safari": 15,
10 | "firefox": 91
11 | }
12 | }
13 | ],
14 | "@babel/preset-typescript",
15 | "@babel/preset-react"
16 | ],
17 | "plugins": []
18 | }
--------------------------------------------------------------------------------
/examples/cross-platform/.storybook/main.js:
--------------------------------------------------------------------------------
1 | import { nativePreviewHead } from "@storybook/native";
2 |
3 | const config = {
4 | stories: [
5 | { directory: "../src", files: "**/*.stories.@(mdx|tsx|ts|jsx|js)" }
6 | ],
7 | framework: {
8 | name: "@storybook/react-webpack5",
9 | options: {}
10 | },
11 | addons: [
12 | "@storybook/addon-docs",
13 | "@storybook/addon-controls",
14 | "@storybook/native-addon/dist/register.js"
15 | ],
16 | docs: {
17 | autodocs: true
18 | },
19 | previewHead: nativePreviewHead
20 | };
21 |
22 | export default config;
23 |
--------------------------------------------------------------------------------
/examples/cross-platform/.storybook/middleware.js:
--------------------------------------------------------------------------------
1 | const { middleware } = require("@storybook/native-dev-middleware");
2 | module.exports = middleware();
3 |
--------------------------------------------------------------------------------
/examples/cross-platform/.storybook/preview.js:
--------------------------------------------------------------------------------
1 | import { DeviceDecorator } from "@storybook/native-addon";
2 |
3 | export const decorators = [DeviceDecorator];
4 |
--------------------------------------------------------------------------------
/examples/cross-platform/src/ios.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | const IosRenderer = ({ extraParams, component }) => {
5 | return (
6 |
14 | );
15 | };
16 |
17 | export default {
18 | title: "iOS"
19 | };
20 |
21 | export const Button = (props) => {
22 | return ;
23 | };
24 |
25 | Button.args = {
26 | label: "Default button label"
27 | };
28 |
29 | export const FAB = (props) => {
30 | return ;
31 | };
32 |
--------------------------------------------------------------------------------
/examples/flutter/.babelrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "presets": [
4 | [
5 | "@babel/preset-env",
6 | {
7 | "targets": {
8 | "chrome": 100,
9 | "safari": 15,
10 | "firefox": 91
11 | }
12 | }
13 | ],
14 | "@babel/preset-typescript",
15 | "@babel/preset-react"
16 | ],
17 | "plugins": []
18 | }
--------------------------------------------------------------------------------
/examples/flutter/.storybook/main.js:
--------------------------------------------------------------------------------
1 | const config = {
2 | stories: [{ directory: '../src', files: '**/*.stories.@(mdx|tsx|ts|jsx|js)' }],
3 | framework: {
4 | name: "@storybook/react-webpack5",
5 | options: {},
6 | },
7 | addons: [
8 | "@storybook/addon-docs",
9 | "@storybook/addon-controls",
10 | "@storybook/native-addon/dist/register.js"
11 | ],
12 | docs: {
13 | autodocs: true
14 | }
15 | };
16 |
17 | export default config;
--------------------------------------------------------------------------------
/examples/flutter/.storybook/preview.js:
--------------------------------------------------------------------------------
1 | import { DeviceDecorator } from "@storybook/native-addon";
2 |
3 | export const decorators = [DeviceDecorator];
4 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/kotlin/flutter/company/com/flutter_storybook/JsonUtils.java:
--------------------------------------------------------------------------------
1 | package flutter.company.com.flutter_storybook;
2 |
3 | import android.net.Uri;
4 |
5 | import org.json.JSONException;
6 | import org.json.JSONObject;
7 |
8 | public class JsonUtils {
9 |
10 | public static String convertQueryStringToJSON(Uri uri) throws JSONException {
11 | JSONObject object = new JSONObject();
12 | for (String param : uri.getQueryParameterNames()) {
13 | object.put(param, uri.getQueryParameter(param));
14 | }
15 |
16 | return object.toString();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/kotlin/flutter/company/com/flutter_storybook/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package flutter.company.com.flutter_storybook
2 |
3 | import io.flutter.embedding.android.FlutterActivity;
4 |
5 | class MainActivity : FlutterActivity() {
6 | }
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.5.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.useAndroidX=true
4 | android.enableJetifier=true
5 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
7 |
--------------------------------------------------------------------------------
/examples/flutter/app/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Flutter (1.0.0)
3 | - uni_links (0.0.1):
4 | - Flutter
5 |
6 | DEPENDENCIES:
7 | - Flutter (from `Flutter`)
8 | - uni_links (from `.symlinks/plugins/uni_links/ios`)
9 |
10 | EXTERNAL SOURCES:
11 | Flutter:
12 | :path: Flutter
13 | uni_links:
14 | :path: ".symlinks/plugins/uni_links/ios"
15 |
16 | SPEC CHECKSUMS:
17 | Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
18 | uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
19 |
20 | PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
21 |
22 | COCOAPODS: 1.10.0
23 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/examples/flutter/app/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/examples/flutter/app/lib/bannerPage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class BannerPage extends StatelessWidget {
4 | final Map launchOptions;
5 |
6 | BannerPage({Key key, @required this.launchOptions}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | var text = launchOptions["message"] ?? "Hello, banner!";
11 | return Scaffold(
12 | appBar: AppBar(
13 | title: Text("Banner Page"),
14 | ),
15 | body: Center(
16 | child: Banner(
17 | message: launchOptions["ribbon"] ?? "Banner",
18 | location: BannerLocation.topEnd,
19 | color: Colors.red,
20 | child: Container(
21 | color: Colors.blue,
22 | height: 100,
23 | child: Center(
24 | child: Text(text, style: TextStyle(color: Colors.white),),
25 | ),
26 | ),
27 | ),
28 | ),
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/examples/flutter/app/lib/buttonPage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ButtonPage extends StatelessWidget {
4 | final Map launchOptions;
5 |
6 | ButtonPage({Key key, @required this.launchOptions}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | var label = this.launchOptions["label"] ?? "Default button label";
11 | return Scaffold(
12 | appBar: AppBar(
13 | title: Text("Button Page"),
14 | ),
15 | body: Center(
16 | child: RaisedButton(
17 | color: Colors.blue,
18 | textColor: Colors.white,
19 | onPressed: () {
20 | print("Button pressed");
21 | },
22 | child: Text(label),
23 | ),
24 | ),
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/examples/flutter/app/lib/chipsPage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ChipsPage extends StatelessWidget {
4 | final Map launchOptions;
5 |
6 | ChipsPage({Key key, @required this.launchOptions}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | var label = this.launchOptions["label"] ?? "Default chip label";
11 | return Scaffold(
12 | appBar: AppBar(
13 | title: Text("Chips Page"),
14 | ),
15 | body: Center(
16 | child: InputChip(
17 | label: Text(label),
18 | onPressed: () {
19 | print("Chip pressed");
20 | }),
21 | ),
22 | );
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/examples/flutter/app/lib/textPage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TextPage extends StatelessWidget {
4 | final Map launchOptions;
5 |
6 | TextPage({Key key, @required this.launchOptions}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | var text = this.launchOptions["text"] ?? "Default text";
11 | return Scaffold(
12 | appBar: AppBar(
13 | title: Text("TextView Page"),
14 | ),
15 | body: Center(
16 | child: FlatButton(
17 | textColor: Colors.blue,
18 | onPressed: () {
19 | print("text pressed");
20 | },
21 | child: Text(text),
22 | ),
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/flutter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-flutter-example",
3 | "version": "3.1.2",
4 | "private": true,
5 | "description": "A Flutter demo app showcasing cross-platform controls",
6 | "repository": "",
7 | "author": "Thomas Baker ",
8 | "license": "MIT",
9 | "contributors": [
10 | "Thomas Baker ",
11 | "Adil Malik "
12 | ],
13 | "scripts": {
14 | "start": "storybook dev",
15 | "build:storybook": "storybook build"
16 | },
17 | "keywords": [],
18 | "dependencies": {
19 | "@storybook/native": "link:../../packages/native",
20 | "@storybook/native-addon": "link:../../packages/addon",
21 | "rgb-hex": "^3.0.0"
22 | },
23 | "devDependencies": {
24 | "@babel/preset-env": "^7.23.2",
25 | "@babel/preset-react": "^7.22.15",
26 | "@babel/preset-typescript": "^7.23.2",
27 | "@storybook/react-webpack5": "^7.5.3",
28 | "storybook": "^7.5.3"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/.babelrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "presets": [
4 | [
5 | "@babel/preset-env",
6 | {
7 | "targets": {
8 | "chrome": 100,
9 | "safari": 15,
10 | "firefox": 91
11 | }
12 | }
13 | ],
14 | "@babel/preset-typescript",
15 | "@babel/preset-react"
16 | ],
17 | "plugins": []
18 | }
--------------------------------------------------------------------------------
/examples/ios-material-ui/.storybook/main.js:
--------------------------------------------------------------------------------
1 | const config = {
2 | stories: [{ directory: '../src', files: '**/*.stories.@(mdx|tsx|ts|jsx|js)' }],
3 | framework: {
4 | name: "@storybook/react-webpack5",
5 | options: {},
6 | },
7 | addons: [
8 | "@storybook/addon-docs",
9 | "@storybook/addon-controls",
10 | "@storybook/native-addon/dist/register.js"
11 | ],
12 | docs: {
13 | autodocs: true
14 | }
15 | };
16 |
17 | export default config;
--------------------------------------------------------------------------------
/examples/ios-material-ui/.storybook/middleware.js:
--------------------------------------------------------------------------------
1 | const { middleware } = require("@storybook/native-dev-middleware");
2 | module.exports = middleware();
3 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/.storybook/preview.js:
--------------------------------------------------------------------------------
1 | import { DeviceDecorator } from "@storybook/native-addon";
2 |
3 | export const decorators = [DeviceDecorator];
4 |
5 | export const parameters = {
6 | native: {
7 | iosSelection: "iphone12pro",
8 | iosVersion: "15.5"
9 | }
10 | };
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | target 'iOSStoryBookDemo' do
5 | # Comment the next line if you don't want to use dynamic frameworks
6 | use_frameworks!
7 |
8 | # Pods for iOSStoryBookDemo
9 | pod 'MaterialComponents/Buttons'
10 | pod 'MaterialComponents/Buttons+Theming'
11 | pod 'MaterialComponents/TextFields'
12 | pod 'MaterialComponents/TextFields+Theming'
13 | pod 'MaterialComponents/ProgressView'
14 | pod 'MaterialComponents/ActivityIndicator'
15 | pod 'MaterialComponents/Slider'
16 | pod 'MaterialComponents/schemes/Color'
17 | end
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MDFTextAccessibility/src/MDFTextAccessibility-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2016-present Google Inc. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import "MDFTextAccessibility.h"
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ActivityIndicator/src/MaterialActivityIndicator.bundle/Resources/en.lproj/MaterialActivityIndicator.strings:
--------------------------------------------------------------------------------
1 | /* Accessibility label for activity indicator. */
2 | "MaterialActivityIndicatorAccessibilityLabel" = "Activity Indicator";
3 |
4 | /* Accessibility value for indeterminate activity indicator in progress. */
5 | "MaterialActivityIndicatorInProgressAccessibilityValue" = "In Progress";
6 |
7 | /* Accessibility value for determinate activity indicator in progress. */
8 | "MaterialActivityIndicatorProgressCompletedAccessibilityValue" = "%ld Percent Complete";
9 |
10 | /* Accessibility value for activity indicator progress halted. */
11 | "MaterialActivityIndicatorProgressHaltedAccessibilityValue" = "Progress Halted";
12 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ActivityIndicator/src/MaterialActivityIndicator.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCActivityIndicator.h"
16 | #import "MDCActivityIndicatorDelegate.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ActivityIndicator/src/private/MaterialActivityIndicatorStrings.h:
--------------------------------------------------------------------------------
1 | // GENERATED CODE: DO NOT EDIT BY HAND
2 | // GENERATED FROM:
3 | // components/ActivityIndicator/src/MaterialActivityIndicator.bundle/Resources/en.lproj/MaterialActivityIndicator.strings
4 | // GENERATED BY: generate_string_tables.py
5 |
6 | typedef enum {
7 | kStr_MaterialActivityIndicatorInProgressAccessibilityValue = 0,
8 | kStr_MaterialActivityIndicatorAccessibilityLabel = 1,
9 | kStr_MaterialActivityIndicatorProgressHaltedAccessibilityValue = 2,
10 | kStr_MaterialActivityIndicatorProgressCompletedAccessibilityValue = 3,
11 | } MaterialActivityIndicatorStringId;
12 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/AnimationTiming/src/MaterialAnimationTiming.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "CAMediaTimingFunction+MDCAnimationTiming.h"
16 | #import "UIView+MDCTimingFunction.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Availability/src/MaterialAvailability.h:
--------------------------------------------------------------------------------
1 | // Copyright 2020-present the Material Components for iOS authors. All Rights
2 | // Reserved.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 |
16 | #import "MDCAvailability.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Buttons/src/ColorThemer/MaterialButtons+ColorThemer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCButtonColorThemer.h"
16 | #import "MDCContainedButtonColorThemer.h"
17 | #import "MDCFloatingButtonColorThemer.h"
18 | #import "MDCOutlinedButtonColorThemer.h"
19 | #import "MDCTextButtonColorThemer.h"
20 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Buttons/src/MaterialButtons.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCButton.h"
16 | #import "MDCFlatButton.h"
17 | #import "MDCFloatingButton+Animation.h"
18 | #import "MDCFloatingButton.h"
19 | #import "MDCRaisedButton.h"
20 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Buttons/src/ShapeThemer/MaterialButtons+ShapeThemer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCButtonShapeThemer.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Buttons/src/Theming/MaterialButtons+Theming.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCButton+MaterialTheming.h"
16 | #import "MDCFloatingButton+MaterialTheming.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Buttons/src/TypographyThemer/MaterialButtons+TypographyThemer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCButtonTypographyThemer.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Elevation/src/MaterialElevation.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCElevatable.h"
16 | #import "MDCElevationOverriding.h"
17 | #import "UIColor+MaterialElevation.h"
18 | #import "UIView+MaterialElevationResponding.h"
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Ink/src/MaterialInk.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCInkGestureRecognizer.h"
16 | #import "MDCInkTouchController.h"
17 | #import "MDCInkTouchControllerDelegate.h"
18 | #import "MDCInkView.h"
19 | #import "MDCInkViewDelegate.h"
20 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Palettes/src/MaterialPalettes.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCPalettes.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ProgressView/src/MaterialProgressView.bundle/Resources/en.lproj/MaterialProgressView.strings:
--------------------------------------------------------------------------------
1 | /* Accessibility label for progress view. */
2 | "MaterialProgressViewAccessibilityLabel" = "Progress View";
3 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ProgressView/src/MaterialProgressView.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCProgressView.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Ripple/src/MaterialRipple.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCRippleTouchController.h"
16 | #import "MDCRippleTouchControllerDelegate.h"
17 | #import "MDCRippleView.h"
18 | #import "MDCRippleViewDelegate.h"
19 | #import "MDCStatefulRippleView.h"
20 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ShadowElevations/src/MaterialShadowElevations.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCShadowElevations.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ShadowElevations/src/MaterialShadowElevationsDummy.m:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | /**
16 | This file exists to keep pod lib lint passing
17 | */
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ShadowLayer/src/MaterialShadowLayer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCShadowLayer.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/ShapeLibrary/src/MDCPillShapeGenerator.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | #import "MaterialShapes.h"
18 |
19 | /**
20 | A pill shape generator. Rounds the corners such that the shorter sides of the generated shape are
21 | entirely rounded.
22 | */
23 | @interface MDCPillShapeGenerator : NSObject
24 | @end
25 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Shapes/src/MaterialShapes.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCCornerTreatment.h"
16 | #import "MDCEdgeTreatment.h"
17 | #import "MDCPathGenerator.h"
18 | #import "MDCRectangleShapeGenerator.h"
19 | #import "MDCShapeGenerating.h"
20 | #import "MDCShapedShadowLayer.h"
21 | #import "MDCShapedView.h"
22 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Slider/src/MaterialSlider.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCSlider.h"
16 | #import "MDCSliderDelegate.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Slider/src/private/MDCSlider+Private.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCSlider.h"
16 | #import "MaterialThumbTrack.h"
17 |
18 | @interface MDCSlider (Private)
19 | @property(nonatomic, nonnull, readonly) MDCThumbTrack *thumbTrack;
20 | @end
21 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/TextFields/src/ColorThemer/MaterialTextFields+ColorThemer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCFilledTextFieldColorThemer.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/TextFields/src/Theming/MaterialTextFields+Theming.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCTextInputControllerFilled+MaterialTheming.h"
16 | #import "MDCTextInputControllerOutlined+MaterialTheming.h"
17 | #import "MDCTextInputControllerUnderline+MaterialTheming.h"
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/TextFields/src/private/MDCTextField+Testing.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | #import "MDCTextField.h"
18 |
19 | /**
20 | Exposes parts of MDCTextField for testing.
21 | */
22 | @interface MDCTextField (Testing)
23 |
24 | /**
25 | Synthesizes a touch on the clear button of the text field.
26 | */
27 | - (void)clearButtonDidTouch;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/TextFields/src/private/MDCTextInputAllCharactersCounter.m:
--------------------------------------------------------------------------------
1 | // Copyright 2016-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCTextInputCharacterCounter.h"
16 |
17 | #import "MDCTextInput.h"
18 |
19 | @implementation MDCTextInputAllCharactersCounter
20 |
21 | - (NSUInteger)characterCountForTextInput:(UIView *)textInput {
22 | return textInput.text.length;
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Themes/src/MDCColorScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MaterialColorScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Themes/src/MDCFontScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MaterialTypographyScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Themes/src/MDCTonalColorScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MaterialColorScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Themes/src/MDCTonalPalette.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MaterialColorScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Themes/src/MaterialThemes.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCColorScheme.h"
16 | #import "MDCFontScheme.h"
17 | #import "MDCTonalColorScheme.h"
18 | #import "MDCTonalPalette.h"
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/Typography/src/private/MDCTypographyUtilities.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | UIContentSizeCategory GetCurrentSizeCategory(void);
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/private/Application/src/MaterialApplication.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 | #import "UIApplication+MDCAppExtensions.h"
15 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/private/Color/src/MaterialColor.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "UIColor+MaterialBlending.h"
16 | #import "UIColor+MaterialDynamic.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/private/Math/src/MaterialMath.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCMath.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/private/Math/src/MaterialMathDummy.m:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | /**
16 | This file exists to keep pod lib lint passing
17 | */
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/private/ThumbTrack/src/MaterialThumbTrack.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCThumbTrack.h"
16 | #import "MDCThumbView.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Color/src/MaterialColorScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCLegacyColorScheme.h"
16 | #import "MDCLegacyTonalColorScheme.h"
17 | #import "MDCLegacyTonalPalette.h"
18 |
19 | #import "MDCSemanticColorScheme.h"
20 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Container/src/MaterialContainerScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCContainerScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Shape/src/MaterialShapeScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCShapeCategory.h"
16 | #import "MDCShapeScheme.h"
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Typography/src/BasicFontScheme/MDCBasicFontScheme.m:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCBasicFontScheme.h"
16 |
17 | @implementation MDCBasicFontScheme
18 | @end
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Typography/src/BasicFontScheme/MaterialTypographyScheme+BasicFontScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCBasicFontScheme.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Typography/src/MDCLegacyFontScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2017-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Typography/src/MaterialTypographyScheme.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | #import "MDCTypographyScheme.h"
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MaterialComponents/components/schemes/Typography/src/Scheming/MaterialTypographyScheme+Scheming.h:
--------------------------------------------------------------------------------
1 | // Copyright 2019-present the Material Components for iOS authors. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import "MDCTypographyScheming.h"
16 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionAnimator/src/MotionAnimator.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import "CATransaction+MotionAnimator.h"
18 | #import "MDMAnimatableKeyPaths.h"
19 | #import "MDMMotionAnimator.h"
20 |
21 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionAnimator/src/private/CAMediaTimingFunction+MotionAnimator.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 | #import
20 |
21 | // Returns a timing function with the given control points.
22 | FOUNDATION_EXPORT
23 | CAMediaTimingFunction* MDMTimingFunctionWithControlPoints(CGFloat controlPoints[4]);
24 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionAnimator/src/private/MDMDragCoefficient.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 |
20 | // Returns the simulator drag coefficient when being run in the simulator, or 1.0 otherwise.
21 | FOUNDATION_EXTERN CGFloat MDMSimulatorAnimationDragCoefficient(void);
22 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionAnimator/src/private/MDMRegisteredAnimation.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 |
20 | @interface MDMRegisteredAnimation : NSObject
21 |
22 | - (instancetype)initWithKey:(NSString *)key animation:(CABasicAnimation *)animation;
23 |
24 | @property(nonatomic, copy, readonly) NSString *key;
25 |
26 | @property(nonatomic, strong, readonly) CABasicAnimation *animation;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionInterchange/src/MDMRepetitionTraits.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | /**
20 | A generalized representation of a repetition traits.
21 | */
22 | @protocol MDMRepetitionTraits
23 |
24 | /**
25 | Whether the animation should animate backwards after animating forwards.
26 | */
27 | @property(nonatomic, assign) BOOL autoreverses;
28 |
29 | @end
30 |
31 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionInterchange/src/MDMSubclassingRestricted.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | #ifndef MDM_SUBCLASSING_RESTRICTED
20 | #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
21 | #define MDM_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted))
22 | #else
23 | #define MDM_SUBCLASSING_RESTRICTED
24 | #endif
25 | #endif // #ifndef MDM_SUBCLASSING_RESTRICTED
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/MotionInterchange/src/MDMTimingCurve.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2017-present The Material Motion Authors. All Rights Reserved.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 |
20 | /**
21 | A generalized representation of a timing curve.
22 | */
23 | @protocol MDMTimingCurve
24 | @end
25 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MDFInternationalization : NSObject
3 | @end
4 | @implementation PodsDummy_MDFInternationalization
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MDFInternationalization.h"
14 | #import "MDFRTL.h"
15 | #import "NSLocale+MaterialRTL.h"
16 | #import "NSString+MaterialBidi.h"
17 | #import "UIImage+MaterialRTL.h"
18 | #import "UIView+MaterialRTL.h"
19 |
20 | FOUNDATION_EXPORT double MDFInternationalizationVersionNumber;
21 | FOUNDATION_EXPORT const unsigned char MDFInternationalizationVersionString[];
22 |
23 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MDFInternationalization
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MDFInternationalization
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization.modulemap:
--------------------------------------------------------------------------------
1 | framework module MDFInternationalization {
2 | umbrella header "MDFInternationalization-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFInternationalization/MDFInternationalization.release.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MDFInternationalization
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MDFInternationalization
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MDFTextAccessibility : NSObject
3 | @end
4 | @implementation PodsDummy_MDFTextAccessibility
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MDFTextAccessibility.h"
14 |
15 | FOUNDATION_EXPORT double MDFTextAccessibilityVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char MDFTextAccessibilityVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MDFTextAccessibility
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MDFTextAccessibility
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility.modulemap:
--------------------------------------------------------------------------------
1 | framework module MDFTextAccessibility {
2 | umbrella header "MDFTextAccessibility-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MDFTextAccessibility/MDFTextAccessibility.release.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MDFTextAccessibility
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MDFTextAccessibility
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 117.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MaterialComponents : NSObject
3 | @end
4 | @implementation PodsDummy_MaterialComponents
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MaterialComponents
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MDFInternationalization" "${PODS_CONFIGURATION_BUILD_DIR}/MDFTextAccessibility" "${PODS_CONFIGURATION_BUILD_DIR}/MotionAnimator" "${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MaterialComponents
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents.modulemap:
--------------------------------------------------------------------------------
1 | framework module MaterialComponents {
2 | umbrella header "MaterialComponents-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MaterialComponents/MaterialComponents.release.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MaterialComponents
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MDFInternationalization" "${PODS_CONFIGURATION_BUILD_DIR}/MDFTextAccessibility" "${PODS_CONFIGURATION_BUILD_DIR}/MotionAnimator" "${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MaterialComponents
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.8.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MotionAnimator : NSObject
3 | @end
4 | @implementation PodsDummy_MotionAnimator
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "CATransaction+MotionAnimator.h"
14 | #import "MDMAnimatableKeyPaths.h"
15 | #import "MDMCoreAnimationTraceable.h"
16 | #import "MDMMotionAnimator.h"
17 | #import "MotionAnimator.h"
18 |
19 | FOUNDATION_EXPORT double MotionAnimatorVersionNumber;
20 | FOUNDATION_EXPORT const unsigned char MotionAnimatorVersionString[];
21 |
22 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MotionAnimator
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MotionAnimator
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator.modulemap:
--------------------------------------------------------------------------------
1 | framework module MotionAnimator {
2 | umbrella header "MotionAnimator-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionAnimator/MotionAnimator.release.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MotionAnimator
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MotionAnimator
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.6.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MotionInterchange : NSObject
3 | @end
4 | @implementation PodsDummy_MotionInterchange
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "CAMediaTimingFunction+MDMTimingCurve.h"
14 | #import "MDMAnimationTraits.h"
15 | #import "MDMMotionCurve.h"
16 | #import "MDMMotionRepetition.h"
17 | #import "MDMMotionTiming.h"
18 | #import "MDMRepetition.h"
19 | #import "MDMRepetitionOverTime.h"
20 | #import "MDMRepetitionTraits.h"
21 | #import "MDMSpringTimingCurve.h"
22 | #import "MDMSpringTimingCurveGenerator.h"
23 | #import "MDMSubclassingRestricted.h"
24 | #import "MDMTimingCurve.h"
25 | #import "MotionInterchange.h"
26 |
27 | FOUNDATION_EXPORT double MotionInterchangeVersionNumber;
28 | FOUNDATION_EXPORT const unsigned char MotionInterchangeVersionString[];
29 |
30 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MotionInterchange
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange.modulemap:
--------------------------------------------------------------------------------
1 | framework module MotionInterchange {
2 | umbrella header "MotionInterchange-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/MotionInterchange/MotionInterchange.release.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MotionInterchange
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MotionInterchange
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_iOSStoryBookDemo : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_iOSStoryBookDemo
5 | @end
6 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/MDFInternationalization/MDFInternationalization.framework
3 | ${BUILT_PRODUCTS_DIR}/MDFTextAccessibility/MDFTextAccessibility.framework
4 | ${BUILT_PRODUCTS_DIR}/MaterialComponents/MaterialComponents.framework
5 | ${BUILT_PRODUCTS_DIR}/MotionAnimator/MotionAnimator.framework
6 | ${BUILT_PRODUCTS_DIR}/MotionInterchange/MotionInterchange.framework
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MDFInternationalization.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MDFTextAccessibility.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MaterialComponents.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MotionAnimator.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MotionInterchange.framework
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/MDFInternationalization/MDFInternationalization.framework
3 | ${BUILT_PRODUCTS_DIR}/MDFTextAccessibility/MDFTextAccessibility.framework
4 | ${BUILT_PRODUCTS_DIR}/MaterialComponents/MaterialComponents.framework
5 | ${BUILT_PRODUCTS_DIR}/MotionAnimator/MotionAnimator.framework
6 | ${BUILT_PRODUCTS_DIR}/MotionInterchange/MotionInterchange.framework
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MDFInternationalization.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MDFTextAccessibility.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MaterialComponents.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MotionAnimator.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MotionInterchange.framework
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_iOSStoryBookDemoVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_iOSStoryBookDemoVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/Pods/Target Support Files/Pods-iOSStoryBookDemo/Pods-iOSStoryBookDemo.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_iOSStoryBookDemo {
2 | umbrella header "Pods-iOSStoryBookDemo-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/100.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/128.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/144.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/152.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/16.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/167.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/172.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/196.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/216.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/256.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/32.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/48.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/50.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/512.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/55.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/64.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/72.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/AppIcon.appiconset/88.png
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Components ViewController/FloatingButtonController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FloatingButtonController.swift
3 | // SBDemo
4 | //
5 | // Created by junnikrishn on 10/2/20.
6 | // Copyright © 2020. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MaterialComponents
11 | import MaterialComponents.MaterialButtons
12 | import MaterialComponents.MaterialButtons_Theming
13 |
14 | class FloatingButtonController: UIViewController {
15 |
16 | @IBOutlet weak var floatingButton: MDCFloatingButton!
17 | let backgroundColor = UIColor(white: 1, alpha: 1.0)
18 | override func viewDidLoad() {
19 | super.viewDidLoad()
20 | floatingButton.backgroundColor = backgroundColor
21 | floatingButton.sizeToFit() // Do any additional setup after loading the view.
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Components ViewController/SliderViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SliderViewController.swift
3 | // iOSStoryBookDemo
4 | //
5 | // Created by junnikrishn on 10/5/20.
6 | // Copyright © 2020 Jayakrishnan u. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MaterialComponents.MaterialSlider
11 |
12 | class SliderViewController: UIViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 | // Do any additional setup after loading the view.
17 | }
18 |
19 | @objc func didChangeSliderValue(senderSlider:MDCSlider) {
20 | print("Did change slider value to: %@", senderSlider.value)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/StorybookControlsProtocol.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StorybookControlsProtocol.swift
3 | // iOSStoryBookDemo
4 | //
5 | // Created by Adil Malik on 2021-04-30.
6 | // Copyright © 2021 Jayakrishnan u. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol StorybookControlsProtocol {
12 | func loadControls(_ params: [String:String]);
13 | }
14 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Supporting Files/ColorHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ColorHelper.swift
3 | // iOSStoryBookDemo
4 | //
5 | // Created by junnikrishn on 10/2/20.
6 | // Copyright © 2020 Jayakrishnan u. All rights reserved.
7 | //
8 | import UIKit
9 |
10 | /**
11 | Reads a value from a plist file.
12 | */
13 | func readPlist(bundle: Bundle = Bundle(identifier: "com.test.iOSStoryBookDemo")!, file: String, key: String) -> String {
14 | var result = "ERROR"
15 | if let url = bundle.url(forResource: file, withExtension: "plist") {
16 | do {
17 | let data = try Data(contentsOf: url)
18 | let designData = try PropertyListSerialization.propertyList(from: data, options: [], format: nil) as! [String: Any]
19 | result = designData[key] as! String
20 | } catch {
21 | print(error)
22 | }
23 | }
24 | return result
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Supporting Files/Localizable.strings:
--------------------------------------------------------------------------------
1 | "menuItemName.label_control" = "Controls";
2 | "menuItemName.button" = "Button";
3 | "menuItemName.floatingbutton" = "Floating Button";
4 | "menuItemName.label_inputs" = "Inputs";
5 | "menuItemName.textfield" = "TextField";
6 | "menuItemName.slider" = "Slider";
7 | "menuItemName.label_communications" = "Communications";
8 | "menuItemName.spinner" = "Spinner";
9 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/app/iOSStoryBookDemo/iOSStoryBookDemo/Supporting Files/label.swift:
--------------------------------------------------------------------------------
1 | //
2 | // label.swift
3 | // iOSStoryBookDemo
4 | //
5 | // Created by junnikrishn on 10/5/20.
6 | // Copyright © 2020 Jayakrishnan u. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class TitleLabel: UILabel {
12 |
13 | required init(coder aDecoder: NSCoder) {
14 | super.init(coder: aDecoder)!
15 | self.commonInit()
16 |
17 | }
18 |
19 | override init(frame: CGRect) {
20 | super.init(frame: frame)
21 | self.commonInit()
22 | }
23 | func commonInit(){
24 | self.font = UIFont.boldSystemFont(ofSize: 20.0)
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-ios-example-deep-link",
3 | "version": "3.1.2",
4 | "private": true,
5 | "description": "An iOS demo app for storybook native",
6 | "repository": "",
7 | "author": "Adil Malik ",
8 | "license": "MIT",
9 | "contributors": [
10 | "Adil Malik "
11 | ],
12 | "scripts": {
13 | "start": "storybook dev",
14 | "build:storybook": "storybook build"
15 | },
16 | "keywords": [],
17 | "dependencies": {
18 | "@storybook/native": "link:../../packages/native",
19 | "@storybook/native-addon": "link:../../packages/addon"
20 | },
21 | "devDependencies": {
22 | "@babel/preset-env": "^7.23.2",
23 | "@babel/preset-react": "^7.22.15",
24 | "@babel/preset-typescript": "^7.23.2",
25 | "@storybook/react-webpack5": "^7.5.3",
26 | "storybook": "^7.5.3"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/src/button.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | export default {
5 | title: "Button"
6 | };
7 |
8 | export const Example = (props) => {
9 | return (
10 |
17 | );
18 | };
19 |
20 | Example.args = {
21 | label: "Button"
22 | };
23 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/src/floatingbutton.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | export default {
5 | title: "FloatingButton"
6 | };
7 |
8 | export const Example = (props) => {
9 | return (
10 |
17 | );
18 | };
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/src/slider.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | export default {
5 | title: "Slider"
6 | };
7 |
8 | export const Example = (props) => {
9 | return (
10 |
17 | );
18 | };
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/src/spinner.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | export default {
5 | title: "Spinner"
6 | };
7 |
8 | export const Example = (props) => {
9 | return (
10 |
17 | );
18 | };
19 |
--------------------------------------------------------------------------------
/examples/ios-material-ui/src/textfield.stories.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { EmulatorRenderer } from "@storybook/native-components";
3 |
4 | export default {
5 | title: "TextField"
6 | };
7 |
8 | export const Example = (props) => {
9 | return (
10 |
17 | );
18 | };
19 |
--------------------------------------------------------------------------------
/images/appetize-emulator.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/images/appetize-emulator.gif
--------------------------------------------------------------------------------
/images/local-emulators.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/storybookjs/native/6e5efce2b57f1b6941b0e533560bb176e7f2d4da/images/local-emulators.gif
--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "3.1.2",
3 | "npmClient": "yarn",
4 | "registry": "https://registry.npmjs.com",
5 | "useWorkspaces": true
6 | }
7 |
--------------------------------------------------------------------------------
/packages/addon/register.js:
--------------------------------------------------------------------------------
1 | require("./dist/register");
2 |
--------------------------------------------------------------------------------
/packages/addon/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const ADDON_ID = "native";
2 | export const LOCAL_STORAGE_KEY = "native-device-selection-v2";
3 | export const DEEP_LINKS_PARAM_KEY = "native-deep-links";
4 | export const MAP_PARAM_KEY = "native-map";
5 | export const MEDIA_PARAM_KEY = "native-map";
6 | export const NETWORK_LOGS_PARAM_KEY = "native-network-logs";
7 |
--------------------------------------------------------------------------------
/packages/addon/src/deviceDecorator.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { useAddonState } from "@storybook/client-api";
3 | import { DeviceSelections, DeviceWrapper } from "@storybook/native-devices";
4 | import { StoryContext, Renderer } from "@storybook/types";
5 |
6 | import { ADDON_ID } from "./constants";
7 | import { restoreFromLocalStorage } from "./utils/localStorageUtils";
8 |
9 | export const DeviceDecorator = (
10 | storyFn: () => any,
11 | context: StoryContext
12 | ): React.ReactElement => {
13 | const { parameters } = context;
14 | const fallbackState = parameters[ADDON_ID];
15 |
16 | const [state] = useAddonState(
17 | ADDON_ID,
18 | restoreFromLocalStorage(fallbackState)
19 | );
20 |
21 | return {storyFn()};
22 | };
23 |
--------------------------------------------------------------------------------
/packages/addon/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./deviceDecorator";
2 |
--------------------------------------------------------------------------------
/packages/addon/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | },
13 | "references": [
14 | {
15 | "path": "../controllers"
16 | },
17 | {
18 | "path": "../deep-link-logger"
19 | },
20 | {
21 | "path": "../devices"
22 | },
23 | {
24 | "path": "../types"
25 | }
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/packages/controllers/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-controllers",
3 | "version": "3.1.2",
4 | "main": "./dist/index.js",
5 | "description": "Functions for programatically interacting with emulators",
6 | "files": [
7 | "dist"
8 | ],
9 | "repository": "https://github.com/storybookjs/native.git",
10 | "author": "Adil Malik ",
11 | "license": "MIT",
12 | "contributors": [
13 | "Adil Malik "
14 | ],
15 | "scripts": {
16 | "build": "tsc -b"
17 | },
18 | "gitHead": "0f52a30495259d2b515e3a23cd516553894a4b30",
19 | "publishConfig": {
20 | "access": "public"
21 | },
22 | "dependencies": {
23 | "@storybook/deep-link-logger": "link:../deep-link-logger",
24 | "@storybook/native-types": "link:../types",
25 | "@types/lodash.debounce": "^4.0.6",
26 | "add": "^2.0.6",
27 | "axios": "^0.21.1",
28 | "lodash": "^4.17.21",
29 | "react-redux": "^7.2.2",
30 | "react-toastify": "^9.1.3",
31 | "redux": "^4.0.5",
32 | "redux-thunk": "^2.3.0",
33 | "yarn": "^1.22.21"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/packages/controllers/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const BASE_IFRAME_ID = "appetize-iframe";
2 | export const ACTION_EVENT_NAME = "native-action";
3 |
4 | export enum ActionTypes {
5 | PERFORM_COMMAND = "load",
6 | COMMAND_ERROR = "error",
7 | COMMAND_SUCCESS = "success",
8 | RESET_COMMANDS = "reset-commands",
9 |
10 | ADD_NETWORK_LOG = "add-network-log",
11 | FILTER_NETWORK_LOG = "filter-network-log",
12 | RESET_NETWORK_LOGS = "reset-network-logs",
13 |
14 | ADD_LOG = "add-log",
15 | FILTER_LOG = "filter-log",
16 | RESET_LOGS = "reset-logs"
17 | }
18 |
--------------------------------------------------------------------------------
/packages/controllers/src/controllers/EmulatorController.ts:
--------------------------------------------------------------------------------
1 | import type { EmulatorContext, EmulatorConfig } from "@storybook/native-types";
2 | import type { SendMessageOptions } from "../types";
3 |
4 | export default interface EmulatorController {
5 | sendMessage(options: SendMessageOptions): void;
6 |
7 | createEmulator(): void;
8 |
9 | openDeepLink(deepLinkUrl: string): void;
10 |
11 | getContext(): EmulatorContext | undefined;
12 |
13 | updateConfig(config: EmulatorConfig): void;
14 | }
15 |
--------------------------------------------------------------------------------
/packages/controllers/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./utils/getAppetizeUrl";
2 | export * from "./utils/iframeUtils";
3 | export * from "./utils/deepLinkUtils";
4 | export * from "./constants";
5 | export * from "./types";
6 | export * from "./state/hooks";
7 | export * from "./state/commandsSlice";
8 | export * from "./state/networkLogsSlice";
9 | export * from "./state/logsSlice";
10 | export { default as store } from "./state/store";
11 |
12 | export { default as AppetizeEmulatorController } from "./controllers/AppetizeEmulatorController";
13 | export { default as EmulatorController } from "./controllers/EmulatorController";
14 | export { default as ControllerManager } from "./manager/ControllerManager";
15 |
--------------------------------------------------------------------------------
/packages/controllers/src/manager/controllerFactory.ts:
--------------------------------------------------------------------------------
1 | import { EmulatorContext } from "@storybook/native-types";
2 | import AppetizeEmulatorController from "../controllers/AppetizeEmulatorController";
3 | import EmulatorController from "../controllers/EmulatorController";
4 | import LocalEmulatorController from "../controllers/LocalEmulatorController";
5 |
6 | export const getNewController = (
7 | context?: EmulatorContext
8 | ): EmulatorController => {
9 | if (process.env.STORYBOOK_NATIVE_LOCAL_EMULATOR) {
10 | return new LocalEmulatorController(context);
11 | }
12 |
13 | return new AppetizeEmulatorController(context);
14 | };
15 |
--------------------------------------------------------------------------------
/packages/controllers/src/state/hooks.ts:
--------------------------------------------------------------------------------
1 | import { useDispatch } from "react-redux";
2 | import type { AppDispatch } from "./store";
3 |
4 | export const useAppDispatch = () => useDispatch();
5 |
--------------------------------------------------------------------------------
/packages/controllers/src/state/logsSlice.ts:
--------------------------------------------------------------------------------
1 | import { ActionTypes } from "../constants";
2 | import type { AppDispatch } from "./store";
3 |
4 | export const addLog = (dispatch: AppDispatch, log: Log) => {
5 | dispatch({
6 | type: ActionTypes.ADD_LOG,
7 | log
8 | });
9 | };
10 |
11 | export const filterLogs = (dispatch: AppDispatch, keyword: string) => {
12 | dispatch({
13 | type: ActionTypes.FILTER_LOG,
14 | logsFilterKeyword: keyword
15 | });
16 | };
17 |
18 | export const resetLogs = (dispatch: AppDispatch) => {
19 | dispatch({
20 | type: ActionTypes.RESET_LOGS
21 | });
22 | };
23 |
--------------------------------------------------------------------------------
/packages/controllers/src/state/store.ts:
--------------------------------------------------------------------------------
1 | import { createStore, applyMiddleware, AnyAction } from "redux";
2 | import thunkMiddleware from "redux-thunk";
3 | import type { ThunkAction } from "redux-thunk";
4 | import reducer from "./reducer";
5 |
6 | const enhancer = applyMiddleware(thunkMiddleware);
7 |
8 | const store = createStore(reducer, enhancer);
9 | export default store;
10 |
11 | export type RootState = ReturnType;
12 | export type AppDispatch = typeof store.dispatch;
13 | export type ThunkActionHandler = ThunkAction<
14 | void,
15 | RootState,
16 | unknown,
17 | AnyAction
18 | >;
19 |
20 | export const dispatchThunk = (thunk: ThunkActionHandler) => {
21 | // @ts-ignore
22 | return store.dispatch(thunk);
23 | };
24 |
--------------------------------------------------------------------------------
/packages/controllers/src/utils/deepLinkUtils.ts:
--------------------------------------------------------------------------------
1 | const getQueryString = (data: Record) => {
2 | return Object.keys(data)
3 | .map((key) => {
4 | const value = data[key];
5 | return `${encodeURIComponent(key)}=${
6 | typeof value === "object" || Array.isArray(value)
7 | ? btoa(JSON.stringify(value))
8 | : encodeURIComponent(value)
9 | }`;
10 | })
11 | .join("&");
12 | };
13 |
14 | export const getFullDeepLinkUrl = (
15 | baseDeepLinkUrl: string,
16 | storyParams: Record
17 | ) => {
18 | const qsParams = getQueryString(storyParams);
19 | return `${baseDeepLinkUrl}?${qsParams}`;
20 | };
21 |
--------------------------------------------------------------------------------
/packages/controllers/src/utils/getAppetizeUrl.ts:
--------------------------------------------------------------------------------
1 | import type { EmulatorConfig } from "@storybook/native-types";
2 |
3 | export const getAppetizeUrl = ({
4 | launchArgs,
5 | settings,
6 | apiKey,
7 | baseUrl = "https://appetize.io"
8 | }: EmulatorConfig) => {
9 | if (!apiKey) {
10 | throw new Error("No appetize API key was specified");
11 | }
12 |
13 | const options: Record = {
14 | xdocMsg: true,
15 | autoplay: true,
16 | ...settings
17 | };
18 | if (launchArgs) {
19 | options.params = JSON.stringify(launchArgs);
20 | }
21 |
22 | const urlWithoutParams = `${baseUrl}/embed/${apiKey}`;
23 | // @ts-ignore
24 | const qsParams = new URLSearchParams(options).toString();
25 |
26 | return `${urlWithoutParams}?${qsParams}`;
27 | };
28 |
--------------------------------------------------------------------------------
/packages/controllers/src/utils/rotationUtils.ts:
--------------------------------------------------------------------------------
1 | import { EmulatorRotation, RotationsList } from "@storybook/native-types";
2 |
3 | export const getPreviousRotation = (
4 | rotation: EmulatorRotation
5 | ): EmulatorRotation => {
6 | const index = RotationsList.findIndex((val) => val === rotation);
7 | if (index === 0) {
8 | return RotationsList[RotationsList.length - 1];
9 | }
10 |
11 | return RotationsList[index - 1];
12 | };
13 |
14 | export const getNextRotation = (
15 | rotation: EmulatorRotation
16 | ): EmulatorRotation => {
17 | const index = RotationsList.findIndex((val) => val === rotation);
18 | const newIndex = (index + 1) % RotationsList.length;
19 | return RotationsList[newIndex];
20 | };
21 |
--------------------------------------------------------------------------------
/packages/controllers/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | },
13 | "references": [
14 | {
15 | "path": "../deep-link-logger"
16 | },
17 | {
18 | "path": "../types"
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/deep-link-logger",
3 | "version": "3.1.2",
4 | "main": "./dist/index.js",
5 | "files": [
6 | "dist"
7 | ],
8 | "repository": "https://github.com/storybookjs/native.git",
9 | "author": "Adil Malik ",
10 | "license": "MIT",
11 | "contributors": [
12 | "Raj Vasikarla ",
13 | "Adil Malik "
14 | ],
15 | "scripts": {
16 | "build": "tsc -b"
17 | },
18 | "dependencies": {
19 | "@storybook/addons": "^7.5.3",
20 | "@storybook/api": "^7.5.3",
21 | "@storybook/components": "^7.5.3",
22 | "@storybook/theming": "^7.5.3",
23 | "copy-to-clipboard": "^3.3.1",
24 | "react": "^18.2.0",
25 | "react-dom": "^18.2.0"
26 | },
27 | "gitHead": "fbc105e027161ddd733378b77cb64c28d776a371",
28 | "publishConfig": {
29 | "access": "public"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/src/components/DeepLinkDetails.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Button } from "@storybook/components";
3 | import copy from "copy-to-clipboard";
4 |
5 | export interface DeepLinkDetailsProps {
6 | link: string;
7 | }
8 |
9 | export default ({ link }: DeepLinkDetailsProps) => {
10 | const onCopyClicked = () => {
11 | copy(link);
12 | };
13 |
14 | return (
15 | <>
16 |
17 |
20 |
21 | {link}
22 |
23 |
24 |
25 | >
26 | );
27 | };
28 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const DEEP_LINKS_EVENT_ID = "native-deep-links-add";
2 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/src/deepLinkUtils.ts:
--------------------------------------------------------------------------------
1 | import { addons } from "@storybook/addons";
2 |
3 | import { DEEP_LINKS_EVENT_ID } from "./constants";
4 |
5 | export const logDeepLink = (url: string) => {
6 | const channel = addons.getChannel();
7 | channel.emit(DEEP_LINKS_EVENT_ID, url);
8 | };
9 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./deepLinkUtils";
2 | export { default as DeepLinksContainer } from "./components/DeepLinksContainer";
3 |
--------------------------------------------------------------------------------
/packages/deep-link-logger/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/packages/dev-middleware/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-dev-middleware",
3 | "version": "3.1.2",
4 | "main": "./dist/index.js",
5 | "description": "Middleware for using storybook with emulators open on a local machine",
6 | "files": [
7 | "dist"
8 | ],
9 | "repository": "https://github.com/storybookjs/native.git",
10 | "author": "Adil Malik ",
11 | "license": "MIT",
12 | "contributors": [
13 | "Adil Malik "
14 | ],
15 | "scripts": {
16 | "build": "tsc -b"
17 | },
18 | "dependencies": {
19 | "@storybook/native-types": "link:../types",
20 | "@types/express": "^4.17.11",
21 | "express": "^4.17.0"
22 | },
23 | "gitHead": "fbc105e027161ddd733378b77cb64c28d776a371",
24 | "publishConfig": {
25 | "access": "public"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/configUtils.ts:
--------------------------------------------------------------------------------
1 | import {
2 | DEFAULT_ADB_COMMAND_PATH,
3 | DEFAULT_COMMAND_TIMEOUT,
4 | DEFAULT_XCRUN_COMMAND_PATH
5 | } from "./constants";
6 | import type { FullConfig, NativeDevMiddlewareConfig } from "./types";
7 |
8 | export const getCompleteConfig = (
9 | config: Partial
10 | ): FullConfig => {
11 | return {
12 | androidCommandPath:
13 | config.androidCommandPath || DEFAULT_ADB_COMMAND_PATH,
14 | iosCommandPath: config.iosCommandPath || DEFAULT_XCRUN_COMMAND_PATH,
15 | timeout: config.timeout || DEFAULT_COMMAND_TIMEOUT
16 | };
17 | };
18 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const DEFAULT_COMMAND_TIMEOUT = 10000;
2 | export const DEFAULT_ADB_COMMAND_PATH = "adb";
3 | export const DEFAULT_XCRUN_COMMAND_PATH = "xcrun";
4 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/handlers/updateConfig.ts:
--------------------------------------------------------------------------------
1 | import { Request, Response } from "express";
2 | import type { ResponseBody } from "../types";
3 |
4 | // TODO: handle switching devices + possibly support launch options
5 |
6 | export const postUpdateConfig = () => {
7 | return (req: Request, res: Response) => {
8 | return res.json({ message: "Config update (no-op)" } as ResponseBody);
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./middleware";
2 | export * from "./types";
3 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/middleware.ts:
--------------------------------------------------------------------------------
1 | import { Application, json } from "express";
2 | import { getCompleteConfig } from "./configUtils";
3 | import { postDeepLink } from "./handlers/deepLink";
4 | import { postSaveScreenshot } from "./handlers/saveScreenshot";
5 | import { postSetRotation } from "./handlers/setRotation";
6 | import { postUpdateConfig } from "./handlers/updateConfig";
7 | import { postStopApp } from "./handlers/stopApp";
8 | import type { NativeDevMiddlewareConfig } from "./types";
9 |
10 | export const middleware = (config: NativeDevMiddlewareConfig = {}) => {
11 | const fullConfig = getCompleteConfig(config);
12 | return (app: Application) => {
13 | app.use(json());
14 | app.post("/deepLink", postDeepLink(fullConfig));
15 | app.post("/updateConfig", postUpdateConfig());
16 | app.post("/screenshot", postSaveScreenshot(fullConfig));
17 | app.post("/rotation", postSetRotation(fullConfig));
18 | app.post("/stopApp", postStopApp(fullConfig));
19 | };
20 | };
21 |
--------------------------------------------------------------------------------
/packages/dev-middleware/src/types.ts:
--------------------------------------------------------------------------------
1 | export interface NativeDevMiddlewareConfig {
2 | /** Path to `adb`. Defaults to `adb` */
3 | androidCommandPath?: string;
4 | /** Path to `xcrun`. Defaults to `xcrun` */
5 | iosCommandPath?: string;
6 | /** How long before a command times out. Defaults to `10000` ms */
7 | timeout?: number;
8 | }
9 |
10 | export type FullConfig = Required;
11 |
12 | export interface ResponseBody {
13 | message: string;
14 | }
15 |
--------------------------------------------------------------------------------
/packages/dev-middleware/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "module": "commonjs",
9 | "target": "es5",
10 | "lib": ["es5", "es6"]
11 | },
12 | "references": [
13 | {
14 | "path": "../types"
15 | }
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/packages/devices/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-devices",
3 | "version": "3.1.2",
4 | "main": "./dist/index.js",
5 | "files": [
6 | "dist"
7 | ],
8 | "repository": "https://github.com/storybookjs/native.git",
9 | "author": "Adil Malik ",
10 | "license": "MIT",
11 | "contributors": [
12 | "Adil Malik "
13 | ],
14 | "scripts": {
15 | "build": "tsc -b"
16 | },
17 | "dependencies": {
18 | "@storybook/native-types": "link:../types",
19 | "react": "^18.2.0",
20 | "react-dom": "^18.2.0"
21 | },
22 | "gitHead": "fbc105e027161ddd733378b77cb64c28d776a371",
23 | "publishConfig": {
24 | "access": "public"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/packages/devices/src/DeviceContext.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import { DeviceSelections } from "./types";
3 | import { getDefaultDevice, getDefaultOsVersion } from "./getDevices";
4 | import { getDefaultFont } from "./getFonts";
5 | import { getDefaultLocation } from "./getLocations";
6 |
7 | export const DeviceContext = React.createContext({
8 | androidSelection: getDefaultDevice("android"),
9 | iosSelection: getDefaultDevice("ios"),
10 |
11 | iosVersion: getDefaultOsVersion("ios"),
12 | androidVersion: getDefaultOsVersion("android"),
13 |
14 | androidFont: getDefaultFont("android"),
15 | iosFont: getDefaultFont("ios"),
16 |
17 | location: getDefaultLocation(),
18 | networkLogs: false,
19 | logs: false,
20 | isDarkTheme: false
21 | });
22 |
--------------------------------------------------------------------------------
/packages/devices/src/DeviceWrapper.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { DeviceContext } from "./DeviceContext";
3 | import { DeviceSelections } from "./types";
4 |
5 | export const DeviceWrapper = ({
6 | children,
7 | ...value
8 | }: React.PropsWithChildren) => {
9 | const context = React.useContext(DeviceContext);
10 |
11 | return (
12 |
13 | {children}
14 |
15 | );
16 | };
17 |
--------------------------------------------------------------------------------
/packages/devices/src/getLocations.ts:
--------------------------------------------------------------------------------
1 | import { GlobalLocation } from "@storybook/native-types";
2 | import locationsArray from "./locations.json";
3 |
4 | export const getDefaultLocationCode = () => {
5 | return "US";
6 | };
7 |
8 | export const getLocations = () => {
9 | return locationsArray;
10 | };
11 |
12 | export const getLocationsCodes = () => {
13 | return getLocations().map((e) => {
14 | return e.code2;
15 | });
16 | };
17 |
18 | export const getDefaultLocation = (code?: string) => {
19 | return getLocations().filter((e) => {
20 | return e.code2 === (code ?? getDefaultLocationCode());
21 | })[0];
22 | };
23 |
24 | export const getFilteredLocations = (onlyCodes2: string[]) => {
25 | const filteredList = getLocations().filter((e) => {
26 | return onlyCodes2.includes(e.code2);
27 | });
28 | return filteredList.sort(
29 | (a, b) => onlyCodes2.indexOf(a.code2) - onlyCodes2.indexOf(b.code2)
30 | );
31 | };
32 |
33 | export const getGlobalLocationJson = (
34 | globalLocation: GlobalLocation
35 | ): string => {
36 | return JSON.stringify(globalLocation);
37 | };
38 |
--------------------------------------------------------------------------------
/packages/devices/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./DeviceContext";
2 | export * from "./DeviceWrapper";
3 | export * from "./useDevice";
4 | export * from "./getDevices";
5 | export * from "./getFonts";
6 | export * from "./getLocations";
7 | export type { DeviceSelections } from "./types";
8 |
--------------------------------------------------------------------------------
/packages/devices/src/types.ts:
--------------------------------------------------------------------------------
1 | import { Font, Location } from "@storybook/native-types";
2 |
3 | export interface DeviceSelections {
4 | androidSelection: string;
5 | iosSelection: string;
6 |
7 | iosVersion: string;
8 | androidVersion: string;
9 |
10 | androidFont: Font;
11 | iosFont: Font;
12 |
13 | location: Location;
14 | networkLogs: boolean;
15 | logs: boolean;
16 | isDarkTheme: boolean;
17 | }
18 |
--------------------------------------------------------------------------------
/packages/devices/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*", "src/locations.json"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | },
13 | "references": [
14 | {
15 | "path": "../types"
16 | }
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/packages/native-components/README.md:
--------------------------------------------------------------------------------
1 | # @storybook/native-components
2 | This module contains React components that allow you to interact with appetize.io. This lets you take advantage of controls, as well as add-ons.
3 |
4 | ## Installation
5 | This package is included within the `@storybook/native` package already, so if you have that as a dependency you do not need to manually install this.
6 |
7 | If you are not using that package, use one of these commands to install this package:
8 | `npm install @storybook/native-components`
9 | or
10 | `yarn add @storybook/native-components`
11 |
12 | ## Usage
13 | `import { EmulatorRenderer } from '@storybook/native-components';`
14 |
15 | An example usage can be found [here](../../examples/controls/src/button.stories.jsx)
16 |
--------------------------------------------------------------------------------
/packages/native-components/src/commands/BaseMessage.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | export interface MessageProps {
4 | children?: React.ReactNode;
5 | backgroundColor: string;
6 | }
7 |
8 | export default ({ children, backgroundColor }: MessageProps) => {
9 | return (
10 |
19 | {children}
20 |
21 | );
22 | };
23 |
--------------------------------------------------------------------------------
/packages/native-components/src/commands/CommandDetails.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import type { HandledMessageResponse } from "@storybook/native-controllers";
3 | import SuccessMessage from "./SuccessMessage";
4 | import ErrorMessage from "./ErrorMessage";
5 |
6 | export interface CommandDetailsProps {
7 | command: HandledMessageResponse;
8 | }
9 |
10 | export default ({ command }: CommandDetailsProps) => {
11 | const { successful, response, message } = command;
12 | let textToRender = response;
13 | if (!textToRender) {
14 | textToRender = `Sent data to app: ${JSON.stringify(message, null, 2)}`;
15 | }
16 |
17 | if (successful) {
18 | return {textToRender};
19 | }
20 |
21 | return {textToRender};
22 | };
23 |
--------------------------------------------------------------------------------
/packages/native-components/src/commands/ErrorMessage.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import BaseMessage from "./BaseMessage";
3 |
4 | export interface ErrorMessageProps {
5 | children?: React.ReactNode;
6 | }
7 |
8 | export default ({ children }: ErrorMessageProps) => {
9 | return {children};
10 | };
11 |
--------------------------------------------------------------------------------
/packages/native-components/src/commands/SuccessMessage.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import BaseMessage from "./BaseMessage";
3 |
4 | export interface SuccessMessageProps {
5 | children?: React.ReactNode;
6 | }
7 |
8 | export default ({ children }: SuccessMessageProps) => {
9 | return {children};
10 | };
11 |
--------------------------------------------------------------------------------
/packages/native-components/src/index.ts:
--------------------------------------------------------------------------------
1 | export { default as EmulatorRenderer } from "./renderers/EmulatorRenderer";
2 | export { default as DeepLinkRenderer } from "./renderers/DeepLinkRenderer";
3 | export { default as NetworkLogsList } from "./log/NetworkLogsList";
4 | export { default as LogsList } from "./log/LogsList";
5 | export * from "./types";
6 |
--------------------------------------------------------------------------------
/packages/native-components/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | },
13 | "references": [
14 | {
15 | "path": "../controllers"
16 | },
17 | {
18 | "path": "../devices"
19 | },
20 | {
21 | "path": "../types"
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/packages/native/category.template:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Description } from '@storybook/addon-docs/blocks';
3 | import { EmulatorRenderer } from '@storybook/native-components';
4 |
5 | export default {
6 | title: '<%= category %>'
7 | };
8 |
9 | <%= stories %>
10 |
--------------------------------------------------------------------------------
/packages/native/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./generateStories";
2 | export * from "./previewHeader";
3 |
--------------------------------------------------------------------------------
/packages/native/src/previewHeader.ts:
--------------------------------------------------------------------------------
1 | export const nativePreviewHead = (head: string) => `${head}
2 | ${process.env.STORYBOOK_NATIVE_LOCAL_EMULATOR ? '' :
3 | ''}
4 | `;
5 |
--------------------------------------------------------------------------------
/packages/native/src/types.ts:
--------------------------------------------------------------------------------
1 | import { Platform } from "@storybook/native-types";
2 |
3 | export interface StoryParams {
4 | name: string;
5 | appParams: Record;
6 | docs?: string;
7 | }
8 |
9 | export interface Config {
10 | category: string;
11 | appetizeBaseUrl: string;
12 | filePath: string;
13 | apiKey: string;
14 | platform: Platform;
15 | stories: StoryParams[];
16 | controls: [string, unknown][];
17 | deepLinkUrl?: string;
18 | applicationId?: string;
19 | }
20 |
--------------------------------------------------------------------------------
/packages/native/story.template:
--------------------------------------------------------------------------------
1 | export const <%= storyName %> = (props) => {
2 | return
4 | applicationId="<%= applicationId %>"
5 | <% } %>
6 | <% if (appetizeBaseUrl) { %>
7 | appetizeBaseUrl="<%= appetizeBaseUrl %>"
8 | <% } %>
9 | apiKey="<%= apiKey %>"
10 | platform="<%= platform %>"
11 | storyParams={<%= storyParams %>}
12 | deepLinkBaseUrl={<%= deepLinkBaseUrl %>}
13 | extraParams={props}
14 | />;
15 | };
16 |
17 | <%= storyName %>.parameters = {
18 | docs: {
19 | page: () => } />
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/packages/native/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "module": "commonjs",
9 | "target": "es5",
10 | "lib": ["es5", "es6"]
11 | },
12 | "references": [
13 | {
14 | "path": "../controllers"
15 | },
16 | {
17 | "path": "../addon"
18 | },
19 | {
20 | "path": "../native-components"
21 | },
22 | {
23 | "path": "../types"
24 | }
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/packages/types/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@storybook/native-types",
3 | "version": "3.1.2",
4 | "main": "./dist/index.js",
5 | "files": [
6 | "dist"
7 | ],
8 | "repository": "https://github.com/storybookjs/native.git",
9 | "author": "Adil Malik ",
10 | "license": "MIT",
11 | "contributors": [
12 | "Adil Malik "
13 | ],
14 | "scripts": {
15 | "build": "tsc -b"
16 | },
17 | "gitHead": "0f52a30495259d2b515e3a23cd516553894a4b30",
18 | "publishConfig": {
19 | "access": "public"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/types/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src/**/*"],
4 | "compilerOptions": {
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "composite": true,
8 | "jsx": "react",
9 | "module": "commonjs",
10 | "target": "es5",
11 | "lib": ["es5", "es6", "DOM"]
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/scripts/buildExamples.sh:
--------------------------------------------------------------------------------
1 | cd ./examples/android-material-ui && yarn build:storybook
2 | cd ../controls && yarn build:storybook
3 | cd ../cross-platform && yarn build:storybook
4 | cd ../flutter && yarn build:storybook
5 | cd ../ios-material-ui && yarn build:storybook
6 |
--------------------------------------------------------------------------------
/scripts/deploy.sh:
--------------------------------------------------------------------------------
1 | if [ "${CIRCLE_BRANCH}" == "master" ]; then
2 | yarn release:storybook
3 | fi
4 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "module": "commonjs",
5 | "strict": true,
6 | "allowSyntheticDefaultImports": true,
7 | "sourceMap": true,
8 | "declaration": true,
9 | "esModuleInterop": true,
10 | "experimentalDecorators": true,
11 | "resolveJsonModule": true,
12 | "downlevelIteration": true,
13 | "skipLibCheck": true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------