diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3e407115..af8c4e2c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,7 +1,7 @@ name: Report a bug description: Tell us about a bug or issue you may have identified in ODS iOS. title: "[Bug]: Bug Summary" -labels: ["bug", "triage"] +labels: ["๐Ÿž bug", "๐Ÿ” triage"] assignees: - B3nz01d body: diff --git a/.github/ISSUE_TEMPLATE/documentation-update.yml b/.github/ISSUE_TEMPLATE/documentation-update.yml index 0689a149..94e1570a 100644 --- a/.github/ISSUE_TEMPLATE/documentation-update.yml +++ b/.github/ISSUE_TEMPLATE/documentation-update.yml @@ -1,7 +1,7 @@ name: Documentation Update description: Describe this issue found in the documentation title: "[Doc]: " -labels: ["documentation", "triage"] +labels: ["๐Ÿ“–+documentation", "๐Ÿ” triage"] assignees: - B3nz01d body: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 6c035e3f..34174bb6 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,7 +1,7 @@ name: Feature Request description: Suggest a new Epic to be added to the backlog. title: "[feature]: " -labels: ["feature", "triage"] +labels: ["feature", "๐Ÿ” triage"] assignees: - B3nz01d body: diff --git a/.gitignore b/.gitignore index 31531cf6..3d474a48 100644 --- a/.gitignore +++ b/.gitignore @@ -1,108 +1,51 @@ -# Xcode # -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ -ods-ios-demo/ods-ios-demo.xcworkspace/xcshareddata/ -auth-key.json -**/_Pods.xcodeproj -.DS_Store -**/.DS_Store - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - -## Obj-C/Swift specific -*.hmap - -## App packaging -*.ipa -*.dSYM.zip -*.dSYM - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager +# MIT License +# Copyright (c) 2021 Orange +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the Software), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: # -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -# Package.pins -# Package.resolved -# *.xcodeproj +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. # -# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata -# hence it is not needed unless you have added a package configuration file to your project -# .swiftpm - -.build/ - -# CocoaPods +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. # -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control # -Pods/ -# -# Add this line if you want to avoid checking in source code from the Xcode workspace -# *.xcworkspace -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts +# Classic +*~ +.DS_Store +**/.DS_Store -Carthage/Build/ +# Produced by Brew +/Brewfile.lock.json -# Accio dependency management -Dependencies/ -.accio/ +# Produced by CocoaPods +OrangeDesignSystemDemo/Pods/ -### bundler -## Environment normalization: -**/.bundle/ -**/vendor/bundle -**/lib/bundler/man/ +# Produced by Xcode +OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcodeproj/xcuserdata/ +OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcworkspace/xcuserdata/ +OrangeDesignSystemDemo/DerivedData/ -# fastlane -# -# It is recommended to not store the screenshots in the git repo. -# Instead, use fastlane to re-generate the screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control +# Produced by Swift Package Manager +.swiftpm/xcode/xcuserdata/ + +# Produced by Fastlane **/fastlane/*.env **/fastlane/report.xml **/fastlane/Preview.html **/fastlane/screenshots/**/*.png **/fastlane/test_output -# Code Injection -# -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ - -#Jekyll -_site/ -.sass-cache/ -.jekyll-cache/ -.jekyll-metadata - +# Produced by .gitlab-ci.yml +/.cache/ diff --git a/.swiftlint.yml b/.swiftlint.yml index e3a17c4f..58ff6b9e 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -21,16 +21,14 @@ # # +included: + - OrangeDesignSystem + - OrangeDesignSystemDemo/OrangeDesignSystemDemo + - InnovationCupTheme + - OrangeTheme excluded: - - Resources/CodeGen - - Pods - - build + - OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources -attributes: - always_on_same_line: - - "@IBAction" - - "@frozen" - - "@objc" disabled_rules: - trailing_comma - cyclomatic_complexity diff --git a/CHANGELOG.md b/CHANGELOG.md index 2026682e..df622002 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.13.0](https://github.com/Orange-OpenSource/ods-ios/compare/0.13.0...0.12.0) - 2023-09-12 + +- [SDK] Add documentation for the About module ([#441](https://github.com/Orange-OpenSource/ods-ios/issues/441)) +- [SDK] Udpate colors for Orange and InnovationCup themes (Bug [#423](https://github.com/Orange-OpenSource/ods-ios/issues/423)) +- [DemoApp/SDK] Fix some configuration issues in the About module and About page of the app (Bug [#422](https://github.com/Orange-OpenSource/ods-ios/issues/422)) +- [DemoApp] Fix compilation error - App Store icons with alpha ([#433](https://github.com/Orange-OpenSource/ods-ios/issues/433)) +- [DemoApp] Update application icons ([#430](https://github.com/Orange-OpenSource/ods-ios/issues/430)) +- [DemoApp/SDK] Reorganize repository and Xcode project ([#419](https://github.com/Orange-OpenSource/ods-ios/issues/419)) +- [DemoApp/SDK] First version (intermediate) of the About Module with new design and features ([#63](https://github.com/Orange-OpenSource/ods-ios/issues/63)) + ## [0.12.0](https://github.com/Orange-OpenSource/ods-ios/compare/0.12.0...0.11.0) - 2023-04-14 - [DemoApp/SDK] Add Bottom Sheet component ([#325](https://github.com/Orange-OpenSource/ods-ios/issues/325)) diff --git a/Gemfile b/Gemfile index aac5554b..791f3308 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,26 @@ +# +# MIT License +# Copyright (c) 2021 Orange +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the Software), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +# + source "https://rubygems.org" gem "fastlane", '~>2.211.0' diff --git a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalAlert.colorset/Contents.json b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalAlert.colorset/Contents.json index db104c99..fd1a86f7 100644 --- a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalAlert.colorset/Contents.json +++ b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalAlert.colorset/Contents.json @@ -11,24 +11,6 @@ } }, "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x00", - "green" : "0xCC", - "red" : "0xFF" - } - }, - "idiom" : "universal" } ], "info" : { diff --git a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalInfo.colorset/Contents.json b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalInfo.colorset/Contents.json index 016f3723..245d31c3 100644 --- a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalInfo.colorset/Contents.json +++ b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalInfo.colorset/Contents.json @@ -1,24 +1,6 @@ { "colors" : [ { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xD8", - "green" : "0x70", - "red" : "0x41" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], "color" : { "color-space" : "srgb", "components" : { diff --git a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalNegative.colorset/Contents.json b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalNegative.colorset/Contents.json index cc1724cc..9dcdc98a 100644 --- a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalNegative.colorset/Contents.json +++ b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalNegative.colorset/Contents.json @@ -5,27 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x0D", - "green" : "0x00", - "red" : "0xAB" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x35", - "green" : "0x39", - "red" : "0xE5" + "blue" : "0x00", + "green" : "0x28", + "red" : "0xE3" } }, "idiom" : "universal" diff --git a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalPositive.colorset/Contents.json b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalPositive.colorset/Contents.json index d6d61be8..2bbc9988 100644 --- a/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalPositive.colorset/Contents.json +++ b/InnovationCupTheme/Sources/InnovationCupTheme/Resources/Color.xcassets/Functional/functionalPositive.colorset/Contents.json @@ -5,27 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x1A", - "green" : "0x70", - "red" : "0x00" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x47", - "green" : "0xA0", - "red" : "0x43" + "blue" : "0x32", + "green" : "0x85", + "red" : "0x32" } }, "idiom" : "universal" diff --git a/NOTICE.txt b/NOTICE.txt index d50e0bde..02fa6c92 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -16,63 +16,133 @@ OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_abou OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@3x.png OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/ods_empty.imageset/ods_nopicture.png OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/controlsTableViewRowXCheckmark/controlsTableViewRowXCheckmark.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/ic_accessibility.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/ic_apps.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/ic_calendarEventInfo.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/ic_comments.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/ic_dataProtection.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/ic_legal.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/ic_review.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/ic_share.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/ic_taskList.svg +OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/il_about.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Add.imageset/Add.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/avatar.imageset/avatar.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/empty.imageset/nopicture.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/App-Store-512@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@1x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@2x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Pro-App-83.5@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@2x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@3x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@3x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/App-Store-512@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@1x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@2x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Pro-App-83.5@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@2x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@3x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@3x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/AboutImage_generic.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/cards_module_generic.jpg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Controls_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/App-Store-512@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@1x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@2x.pn +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Pro-App-83.5@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@1x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@2x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@3x. +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@3x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@3x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Add.imageset/Add.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/avatar.imageset/avatar.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg -OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/empty.imageset/nopicture.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg + +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/ic_tools.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg + +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/AboutImage_generic.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/cards_module_generic.jpg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Controls_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg + +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg + +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg + +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/ic_folderFavourite.svg +OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/ic_subtitles.svg End of the parts list under Orange SA Copyright diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Banner/ODSBanner.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Banner/ODSBanner.swift index ff6e15df..37742eeb 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Banner/ODSBanner.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Banner/ODSBanner.swift @@ -66,10 +66,11 @@ public struct ODSBanner: View { /// - position: The positiobn of the button /// /// - Remarks: The default low emphasis is automatically applied on buttons. - public init(text: LocalizedStringKey, - image: Image? = nil, - button: ODSButton, - position: OneButtonPosition + public init( + text: LocalizedStringKey, + image: Image? = nil, + button: ODSButton, + position: OneButtonPosition ) { self.text = text self.image = image @@ -86,10 +87,11 @@ public struct ODSBanner: View { /// /// - Remarks: The default low emphasis is automatically applied on buttons. /// - public init(text: LocalizedStringKey, - image: Image? = nil, - leadingButton: ODSButton, - trailingButton: ODSButton + public init( + text: LocalizedStringKey, + image: Image? = nil, + leadingButton: ODSButton, + trailingButton: ODSButton ) { self.text = text self.image = image @@ -170,19 +172,19 @@ struct ODSBanner_Previews: PreviewProvider { ODSBanner(text: "A short desciption to see text", image: Image("ods_empty", bundle: Bundle.ods)) .border(.gray) - + ODSBanner(text: "A short desciption to see text", image: Image("ods_empty", bundle: Bundle.ods), button: ODSButton(text: "Button", emphasis: .low) {}, position: .trailing) .border(.gray) - + ODSBanner(text: "A short desciption to see text", image: Image("ods_empty", bundle: Bundle.ods), button: ODSButton(text: "Button", emphasis: .low) {}, position: .bottom) .border(.gray) - + ODSBanner(text: "A short desciption to see text", image: Image("ods_empty", bundle: Bundle.ods), leadingButton: ODSButton(text: "Button", emphasis: .low) {}, diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/BottomSheedHeader.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/BottomSheedHeader.swift index 9e1eceb2..cc3d02a5 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/BottomSheedHeader.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/BottomSheedHeader.swift @@ -78,7 +78,7 @@ struct BottomSheedHeader: View { .padding(.bottom, -10) .padding(.top, 10) .mask(Rectangle().padding(.top, -40)) - + Divider() } } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetExpandingModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetExpandingModifier.swift index 509ee97a..f8c68408 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetExpandingModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetExpandingModifier.swift @@ -40,11 +40,13 @@ struct ODSBottomSheetExpandingModifier: ViewModifier where ContentV // MARK: Initializer // ================= - init(title: String, - subtile: String? = nil, - icon: Image? = nil, - bottomSheetSize: Binding, - @ViewBuilder content: @escaping () -> ContentView) { + init( + title: String, + subtile: String? = nil, + icon: Image? = nil, + bottomSheetSize: Binding, + @ViewBuilder content: @escaping () -> ContentView + ) { self.title = title self.subtitle = subtile self.icon = icon diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetStandardModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetStandardModifier.swift index a2b1a41a..6090ef53 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetStandardModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/BottomSheet/Internal/ODSBottomSheetStandardModifier.swift @@ -139,11 +139,12 @@ struct ODSBottomSheetStandard: View where Content: View { /// - headerConfig: The header configuration. /// - content: A closure that returns the content of the bottom sheet. /// - // swiftlint:disable multiline_parameters_brackets - init(isOpen: Binding, - headerSize: Binding? = nil, - headerConfig: ODSBottomSheetStandardHeaderConfig, - @ViewBuilder content: @escaping () -> Content) { + init( + isOpen: Binding, + headerSize: Binding? = nil, + headerConfig: ODSBottomSheetStandardHeaderConfig, + @ViewBuilder content: @escaping () -> Content + ) { self.isOpen = isOpen self.headerSize = headerSize self.headerConfig = headerConfig diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSButton.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSButton.swift index 0142938b..7617705a 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSButton.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSButton.swift @@ -51,12 +51,13 @@ public struct ODSButton: View { /// - variableWidth: Defines the size of the button layout. Set to `true`, the size of the button is limited to the size of the text added by a padding round it. Set to `false` means button takes all available space horizontally. /// - action: Will be called when the user clicks the button. /// - public init(text: LocalizedStringKey, - image: Image? = nil, - emphasis: Emphasis, - variableWidth: Bool = true, - action: @escaping () -> Void) - { + public init( + text: LocalizedStringKey, + image: Image? = nil, + emphasis: Emphasis, + variableWidth: Bool = true, + action: @escaping () -> Void + ) { self.text = text self.image = image self.emphasis = emphasis @@ -77,16 +78,14 @@ public struct ODSButton: View { #if DEBUG struct ODSButton_Previews: PreviewProvider { - struct buttonsSample: View { + struct ButtonsSample: View { var body: some View { ScrollView { VStack { ForEach(ODSButton.Emphasis.allCases, id: \.rawValue) { emphasis in - ODSButton(text: LocalizedStringKey(emphasis.rawValue), - emphasis: emphasis) {} - ODSButton(text: LocalizedStringKey(emphasis.rawValue), - emphasis: emphasis) {}.disabled(true) + ODSButton(text: LocalizedStringKey(emphasis.rawValue), emphasis: emphasis) {} + ODSButton(text: LocalizedStringKey(emphasis.rawValue), emphasis: emphasis) {}.disabled(true) ODSButton(text: LocalizedStringKey(emphasis.rawValue), image: Image(systemName: "pencil.tip.crop.circle"), @@ -101,10 +100,10 @@ struct ODSButton_Previews: PreviewProvider { } static var previews: some View { - buttonsSample() + ButtonsSample() .preferredColorScheme(.light) - buttonsSample() + ButtonsSample() .preferredColorScheme(.dark) } } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSFunctionalButton.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSFunctionalButton.swift index c661e985..305112a6 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSFunctionalButton.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Buttons/ODSFunctionalButton.swift @@ -25,8 +25,9 @@ import SwiftUI /// Defines functional buttons (positive or negative) public struct ODSFunctionalButton: View { + @Environment(\.theme) var theme - + public enum Style: String, CaseIterable { case negative case positive @@ -47,12 +48,13 @@ public struct ODSFunctionalButton: View { /// - variableWidth: Defines the size of the button layout. Set to `true`, the size of the button is limited to the size of the text added by a padding round it. Set to `false` means button takes all available space horizontally. /// - action: Will be called when the user clicks the button. /// - public init(text: LocalizedStringKey, - image: Image? = nil, - style: ODSFunctionalButton.Style, - variableWidth: Bool = true, - action: @escaping () -> Void) - { + public init( + text: LocalizedStringKey, + image: Image? = nil, + style: ODSFunctionalButton.Style, + variableWidth: Bool = true, + action: @escaping () -> Void + ) { self.text = text self.image = image self.style = style diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardHorizontal.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardHorizontal.swift index 8ceb3672..28f5b12d 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardHorizontal.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardHorizontal.swift @@ -47,12 +47,14 @@ public struct ODSCardHorizontalModel: Identifiable { /// - supportingText: Optional text description to be displayed in the card. The text displaying is limited to two lines (truncated tail). /// - dividerEnabled: Add a divider at the top of the buttons area. /// - public init(title: String, - subtitle: String? = nil, - imageSource: ODSImage.Source, - imagePosition: ImagePosition = .leading, - supportingText: String? = nil, - dividerEnabled: Bool = true) { + public init( + title: String, + subtitle: String? = nil, + imageSource: ODSImage.Source, + imagePosition: ImagePosition = .leading, + supportingText: String? = nil, + dividerEnabled: Bool = true + ) { self.title = title self.subtitle = subtitle self.imageSource = imageSource @@ -93,10 +95,11 @@ public struct ODSCardHorizontal: View where Butt /// - buttonContent1: The button1 view builder /// - buttonContent2: The button2 view builder /// - public init(model: ODSCardHorizontalModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, - @ViewBuilder buttonContent2: @escaping () -> ButtonContent2) - { + public init( + model: ODSCardHorizontalModel, + @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, + @ViewBuilder buttonContent2: @escaping () -> ButtonContent2 + ) { self.model = model self.buttonContent1 = buttonContent1 self.buttonContent2 = buttonContent2 @@ -111,8 +114,7 @@ extension ODSCardHorizontal where ButtonContent2 == EmptyView { /// - model: The model to configure the card. /// - buttonContent1: The button1 view builder /// - public init(model: ODSCardHorizontalModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1) + public init(model: ODSCardHorizontalModel, @ViewBuilder buttonContent1: @escaping () -> ButtonContent1) { self.model = model self.buttonContent1 = buttonContent1 @@ -136,7 +138,7 @@ extension ODSCardHorizontal where ButtonContent1 == EmptyView, ButtonContent2 == // MARK: View body implementation extension ODSCardHorizontal { - + public var body: some View { VStack(spacing: ODSSpacing.none) { diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardSmall.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardSmall.swift index f47a9131..061c6133 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardSmall.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardSmall.swift @@ -123,7 +123,7 @@ struct SmallCardView_Previews: PreviewProvider { ] static let cardSmallModels = [ - ODSCardSmallModel(title: "1 Title",imageSource: .image(Image("ods_empty", bundle: Bundle.ods))), + ODSCardSmallModel(title: "1 Title", imageSource: .image(Image("ods_empty", bundle: Bundle.ods))), ODSCardSmallModel(title: "2 Title", subtitle: "2 Subtitle", imageSource: .image(Image("ods_empty", bundle: Bundle.ods))), ODSCardSmallModel(title: "3 A long long title", subtitle: "3 A long long Subtitle", imageSource: .image(Image("ods_empty", bundle: Bundle.ods))), ODSCardSmallModel(title: "4 A long long Title", imageSource: .image(Image("ods_empty", bundle: Bundle.ods))), diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalHeaderFirst.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalHeaderFirst.swift index 0fc252e3..34289c64 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalHeaderFirst.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalHeaderFirst.swift @@ -40,11 +40,13 @@ public struct ODSCardVerticalHeaderFirstModel: Identifiable { /// - imageSource: The image to be displayed in the card. /// - supportingText Optional text description to be displayed in the card. /// - public init(title: String, - subtitle: String? = nil, - thumbnail: Image? = nil, - imageSource: ODSImage.Source, - supportingText: String? = nil) { + public init( + title: String, + subtitle: String? = nil, + thumbnail: Image? = nil, + imageSource: ODSImage.Source, + supportingText: String? = nil + ) { self.title = title self.subtitle = subtitle self.thumbnail = thumbnail @@ -85,10 +87,11 @@ public struct ODSCardVerticalHeaderFirst: View w /// - buttonContent1: The button1 view builder /// - buttonContent2: The button2 view builder /// - public init(model: ODSCardVerticalHeaderFirstModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, - @ViewBuilder buttonContent2: @escaping () -> ButtonContent2) - { + public init( + model: ODSCardVerticalHeaderFirstModel, + @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, + @ViewBuilder buttonContent2: @escaping () -> ButtonContent2 + ) { self.model = model self.buttonContent1 = buttonContent1 self.buttonContent2 = buttonContent2 @@ -103,9 +106,10 @@ extension ODSCardVerticalHeaderFirst where ButtonContent2 == EmptyView { /// - model: The model to configure the card. /// - buttonContent1: The button1 view builder /// - public init(model: ODSCardVerticalHeaderFirstModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1) - { + public init( + model: ODSCardVerticalHeaderFirstModel, + @ViewBuilder buttonContent1: @escaping () -> ButtonContent1 + ) { self.model = model self.buttonContent1 = buttonContent1 buttonContent2 = { EmptyView() } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalImageFirst.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalImageFirst.swift index b23570f4..f1e1919d 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalImageFirst.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Cards/ODSCardVerticalImageFirst.swift @@ -37,10 +37,12 @@ public struct ODSCardVerticalImageFirstModel: Identifiable { /// - imageSource: The image to be displayed in the card. /// - supportingText: Optional text description to be displayed in the card. /// - public init(title: String, - subtitle: String? = nil, - imageSource: ODSImage.Source, - supportingText: String? = nil) { + public init( + title: String, + subtitle: String? = nil, + imageSource: ODSImage.Source, + supportingText: String? = nil + ) { self.title = title self.subtitle = subtitle self.imageSource = imageSource @@ -79,17 +81,15 @@ public struct ODSCardVerticalImageFirst: View wh /// - buttonContent1: The button1 view builder /// - buttonContent2: The button2 view builder /// - public init(model: ODSCardVerticalImageFirstModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, - @ViewBuilder buttonContent2: @escaping () -> ButtonContent2) - { + public init( + model: ODSCardVerticalImageFirstModel, + @ViewBuilder buttonContent1: @escaping () -> ButtonContent1, + @ViewBuilder buttonContent2: @escaping () -> ButtonContent2 + ) { self.model = model self.buttonContent1 = buttonContent1 self.buttonContent2 = buttonContent2 } -} - -extension ODSCardVerticalImageFirst where ButtonContent2 == EmptyView { /// Initialization with one button. /// @@ -97,25 +97,23 @@ extension ODSCardVerticalImageFirst where ButtonContent2 == EmptyView { /// - model: The model to configure the card. /// - buttonContent1: The button1 view builder /// - public init(model: ODSCardVerticalImageFirstModel, - @ViewBuilder buttonContent1: @escaping () -> ButtonContent1) + public init(model: ODSCardVerticalImageFirstModel, @ViewBuilder buttonContent1: @escaping () -> ButtonContent1) where ButtonContent2 == EmptyView { - self.model = model - self.buttonContent1 = buttonContent1 - buttonContent2 = { EmptyView() } + self.init(model: model, buttonContent1: buttonContent1) { + EmptyView() + } } -} - -extension ODSCardVerticalImageFirst where ButtonContent1 == EmptyView, ButtonContent2 == EmptyView { /// Initialization without any button. /// /// - Parameter model: The model to configure the card. /// - public init(model: ODSCardVerticalImageFirstModel) { - self.model = model - buttonContent1 = { EmptyView() } - buttonContent2 = { EmptyView() } + public init(model: ODSCardVerticalImageFirstModel) where ButtonContent1 == EmptyView, ButtonContent2 == EmptyView { + self.init(model: model) { + EmptyView() + } buttonContent2: { + EmptyView() + } } } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Lists/ODSListItemModels.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Lists/ODSListItemModels.swift index 723f051c..62f2b848 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Lists/ODSListItemModels.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/Lists/ODSListItemModels.swift @@ -75,8 +75,8 @@ public class ODSListStandardItemModel: ODSListItemModel { title: String, subtitle: String? = nil, leadingIcon: ODSListItemLeadingIcon? = nil, - trailingActions: ODSListItemTrailingActions? = nil) - { + trailingActions: ODSListItemTrailingActions? = nil + ) { self.title = title self.subtitle = subtitle self.leadingIcon = leadingIcon @@ -161,8 +161,8 @@ public class ODSListSelectionItemModel: ODSListItemModel, ObservableObject { subtitle: String? = nil, leadingIcon: ODSListItemLeadingIcon? = nil, trailingSelection: TrailingSelection, - isSelected: Bool = false) - { + isSelected: Bool = false + ) { self.title = title self.subtitle = subtitle self.leadingIcon = leadingIcon diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/Internal/ODSToolBarIconContent.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/Internal/ODSToolBarIconContent.swift index e25e1971..35d73910 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/Internal/ODSToolBarIconContent.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/Internal/ODSToolBarIconContent.swift @@ -123,7 +123,7 @@ struct ODSToolbarIconContent_Previews: PreviewProvider { in: 2 ... 5) Spacer() } - .padding(.horizontal , ODSSpacing.m) + .padding(.horizontal, ODSSpacing.m) .odsToolBar(items: self.iconDescriptions) } .toolBarColors(for: ODSTheme()) diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/ODSToolBar.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/ODSToolBar.swift index f947d9b9..9fd46209 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/ODSToolBar.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Components/ToolBar/ODSToolBar.swift @@ -103,9 +103,11 @@ public struct ODSToolbarLabeledItems { // MARK: Initializers // ================== - public init(description1: ODSToolbarLabelDesription, - description2: ODSToolbarLabelDesription, - description3: ODSToolbarLabelDesription? = nil) { + public init( + description1: ODSToolbarLabelDesription, + description2: ODSToolbarLabelDesription, + description3: ODSToolbarLabelDesription? = nil + ) { self.description1 = description1 self.description2 = description2 self.description3 = description3 @@ -147,11 +149,13 @@ public struct ODSToolbarIconsItems { // MARK: Initializers // ================== - public init(description1: ODSToolbarIconDesription, - description2: ODSToolbarIconDesription, - description3: ODSToolbarIconDesription? = nil, - description4: ODSToolbarIconDesription? = nil, - description5: ODSToolbarIconDesription? = nil) { + public init( + description1: ODSToolbarIconDesription, + description2: ODSToolbarIconDesription, + description3: ODSToolbarIconDesription? = nil, + description4: ODSToolbarIconDesription? = nil, + description5: ODSToolbarIconDesription? = nil + ) { self.description1 = description1 self.description2 = description2 self.description3 = description3 diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Colors/ODSColorDescription.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Colors/ODSColorDescription.swift index 8c46daaa..a81d0c17 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Colors/ODSColorDescription.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Colors/ODSColorDescription.swift @@ -25,7 +25,7 @@ import Foundation import SwiftUI public struct ODSColorDecription { - + // ======================= // MARK: Stored Properties // ======================= @@ -34,15 +34,17 @@ public struct ODSColorDecription { public let bundle: Bundle public let nameForLightScheme: String? public let nameForDarkScheme: String? - + // ================= // MARK: Initializer // ================= - public init(assetName: String, - bundle: Bundle, - nameForLightScheme: String? = nil, - nameForDarkScheme: String? = nil) { + public init( + assetName: String, + bundle: Bundle, + nameForLightScheme: String? = nil, + nameForDarkScheme: String? = nil + ) { self.assetName = assetName self.bundle = bundle self.nameForLightScheme = nameForLightScheme @@ -60,7 +62,7 @@ public struct ODSColorDecription { public var uiColor: UIColor { UIColor(named: assetName, in: bundle, compatibleWith: nil) ?? .clear } - + public func name(for scheme: ColorScheme) -> String? { scheme == .light ? nameForLightScheme : nameForDarkScheme } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Fonts/ODSFontsModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Fonts/ODSFontsModifier.swift index d2b9ffbb..0509d9ad 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Fonts/ODSFontsModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Guidelines/Fonts/ODSFontsModifier.swift @@ -25,7 +25,7 @@ import Foundation import SwiftUI extension View { - + /// Sets, for text in view, the font provided by theme asociated to the __ODSFontStyle__. /// /// - Parameters: diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/AppNews/ODSAboutAppNewsItem.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/AppNews/ODSAboutAppNewsItem.swift new file mode 100644 index 00000000..a39c2f6b --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/AppNews/ODSAboutAppNewsItem.swift @@ -0,0 +1,62 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +/// +/// Configuration to add in list the item that opens the AppNews page. +/// This page needs the path to the json file containing News. +/// +/// By default, this item is palced after the item of accessibility statement. That can be changed with new priority set in the configuration. +/// +public struct ODSAboutAppNewsItemConfig: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + public private(set) var title: String + public private(set) var icon: Image + public private(set) var target: ODSAboutListItemTarget + public private(set) var priority: ODSAboutListItemPriority + + private let path: String + + // ================= + // MARK: Initializer + // ================= + + /// Initiliazes the configuration. + /// + /// - Parmaters: + /// - priority: Priority to adjust the position of the item in the list. + /// - path: Path to the json file. + /// + public init(priority: ODSAboutListItemPriority = .appNews, path: String) { + self.path = path + self.priority = priority + self.title = "App News" + self.icon = Image("ic_taskList", bundle: Bundle.ods) + self.target = .destination(AnyView(AppNewsList(fromFile: path))) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/LegalInformation/ODSAboutLegalInformationItem.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/LegalInformation/ODSAboutLegalInformationItem.swift new file mode 100644 index 00000000..6be672ab --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/LegalInformation/ODSAboutLegalInformationItem.swift @@ -0,0 +1,59 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +/// +/// Configuration to add in list the item that opens the LegalInformation page. +/// This page can be a webview or native view. +/// +/// By default, this item is palced after the item of App News. That can be changed with new priority set in the configuration. +/// +/// +public struct ODSAboutLegalInformationItemConfig: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + public private(set) var title: String + public private(set) var icon: Image + public private(set) var target: ODSAboutListItemTarget + public private(set) var priority: ODSAboutListItemPriority + + // ================= + // MARK: Initializer + // ================= + + /// Initiliazes the configuration. + /// + /// - Parmaters: + /// - priority: Priority to adjust the position of the item in the list. + /// - legalInformation: A view builder to create a view that describes the `legalInformation`. + /// + public init(priority: ODSAboutListItemPriority = .legalInformation, @ViewBuilder legalInformation: () -> LegalInformation) where LegalInformation: View { + title = "Legal information" + icon = Image("ic_legal", bundle: Bundle.ods) + self.priority = priority + self.target = .destination(AnyView(legalInformation())) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/ODSAboutListItemConfiguration.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/ODSAboutListItemConfiguration.swift new file mode 100644 index 00000000..bc38248c --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/ODSAboutListItemConfiguration.swift @@ -0,0 +1,72 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +/// Priority of item in the list +/// The hightest means that the item is placed at the top of the list. +/// The lowest means that the item is placed at the end (bottom) of the list. +/// +/// @Remarks: pricacyPolicy, termsOfService and accessibility statement must be grouped, so their priority are fixed. +/// However, it is possible to add items before or after these elements using higher or lower priority. +/// Priorities are also define for app news, legal information, more apps and rate the app items, but it is possible to use another priority in the associated item initializer. +/// +public typealias ODSAboutListItemPriority = Int + +/// Default pritorities to order items in list +extension ODSAboutListItemPriority { + public static let hightest = Int.max + public static let lowest = Int.min + + /// Fixed positions of mandatory items + public static let privacyPolicy = 102 + public static let termOfService = 101 + public static let accessibilityStatement = 100 + + /// Positions of proposed items + public static let appNews = 60 + public static let legalInformation = 50 + public static let moreApps = 40 + public static let rateTheApp = 30 +} + +/// Define the target of the list item. +/// - destination: means the items is a navigation link that opens the provided view. +/// - action: means the item is like a button that runs action when it is tapped. +/// +public enum ODSAboutListItemTarget { + case destination(AnyView) + case action(() -> Void) +} + +/// Use this protocol to define a custom list item with a dedicated configuration. +/// Have a look on __ODSAboutAppNewsItemConfig__ to see an example of implmentation. +/// +public protocol ODSAboutListItemConfig { + + var title: String { get } + var icon: Image { get } + var target: ODSAboutListItemTarget { get } + var priority: ODSAboutListItemPriority { get } + +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/RateTheApp/ODSAboutRateTheAppItem.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/RateTheApp/ODSAboutRateTheAppItem.swift new file mode 100644 index 00000000..84cb31f0 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/Items/RateTheApp/ODSAboutRateTheAppItem.swift @@ -0,0 +1,60 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +/// +/// Configuration to add in list the item that opens the application page on the apple store. +/// +/// By default, this item is palced after the item of More Apps. That can be changed with new priority set in the configuration. +/// +public struct ODSAboutRateTheAppItemCondfig: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + public private(set) var title: String + public private(set) var icon: Image + public private(set) var target: ODSAboutListItemTarget + public private(set) var priority: ODSAboutListItemPriority + + private let storeUrl: URL + + // ================= + // MARK: Initializer + // ================= + + /// Initiliazes the configuration. + /// + /// - Parmaters: + /// - priority: Priority to adjust the position of the item in the list. + /// - storeUrl: URL of the application on the store. + /// + public init(priority: ODSAboutListItemPriority = .rateTheApp, storeUrl: URL) { + title = "Rate this app" + icon = Image("ic_review", bundle: Bundle.ods) + self.priority = priority + self.storeUrl = storeUrl + self.target = .action({ UIApplication.shared.open(storeUrl) }) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutAccessibilityStatement.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutAccessibilityStatement.swift new file mode 100644 index 00000000..cf967f47 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutAccessibilityStatement.swift @@ -0,0 +1,53 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import Foundation + +/// Used to configure the acessibility statement page. +/// +/// The module adds an entry into the list of items that allows user +/// to display this page. +/// +public struct ODSAboutAccessibilityStatement { + + // ======================= + // MARK: Stored Properties + // ======================= + + let reportPath: String + let reportDetail: URL + + // ================= + // MARK: Initializer + // ================= + + /// Initializes the confguration providing the locations of the report. + /// + /// - Parameters: + /// - reportPath: Path where the report of accessibility statement is stored + /// - reportDetail: Url to get the full detail of the accessibility statement + /// + public init(reportPath: String, reportDetail: URL) { + self.reportPath = reportPath + self.reportDetail = reportDetail + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutApplicationInformation.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutApplicationInformation.swift new file mode 100644 index 00000000..0e396d9e --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutApplicationInformation.swift @@ -0,0 +1,144 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import Foundation +import SwiftUI + +/// +/// Defines the version of the Application. +/// +public struct ODSApplicationVersion { + + // ======================= + // MARK: Stored properties + // ======================= + + let marketingVersion: String + let buildNumber: String? + let buildType: String? + + // ================== + // MARK: Initializers + // ================== + + /// Initializes the version with marketing version and additional build infomration. + /// The build type is optional (used for debug purpose) + /// + /// - Parameters: + /// - marketingVersion: The current version of the application (something like: x.y.z) + /// - buildNumber: The build number of a version + /// - buildType: (Optional) The type of build (i.e. ALPHA, BETA). + /// + public init(marketingVersion: String, buildNumber: String, buildType: String? = nil) { + self.marketingVersion = marketingVersion + self.buildNumber = buildNumber + self.buildType = buildType + } + + /// Initializes the version with marketing version and without build infomration. + /// + /// - Parameter: + /// - marketingVersion: The current version of the application (something like: x.y.z) + /// + public init(marketingVersion: String) { + self.marketingVersion = marketingVersion + self.buildNumber = nil + self.buildType = nil + + } +} + +/// +/// Configures the system share sheet used to share the application. +/// +public struct ODSAboutShareTheApplication { + + // ======================= + // MARK: Stored Properties + // ======================= + + let storeUrl: URL + let subject: String + let description: String + + // ================== + // MARK: Initializers + // ================== + + /// Initilaizes the sharing. + /// + /// - Parameters: + /// - storeUrl: The url of the application on the store. + /// - subject: The subject, if the application is shared with email. + /// - description: Can be used to describe the sharing (Content of the email, SMS, ...). + /// + public init(storeUrl: URL, subject: String, description: String) { + self.storeUrl = storeUrl + self.subject = subject + self.description = description + } +} + +/// +/// Used to configure the application description section +/// displayed in the main about screen. +/// +public struct ODSAboutApplicationInformation { + + // ======================= + // MARK: Stored Properties + // ======================= + + let name: String + let version: ODSApplicationVersion? + let description: String? + let copyrightNotice: String = "Orange property. All rights reserved" + let shareConfiguration: ODSAboutShareTheApplication? + let onFeedbackClicked: (() -> Void)? + + // ================== + // MARK: Initializers + // ================== + + /// Initializes the configuration. + /// + /// - Parameters: + /// - name: The name of the application + /// - version: (Optional) The current version of the application. + /// - shareConfiguration: (Optional) The configuration to activate the application sharing. + /// - onFeedbackClicked: (Optional) The action to do when feedback button is clicked + /// + // #swiftlint:disable multiline_parameters_brackets + public init( + name: String, + version: ODSApplicationVersion? = nil, + description: String? = nil, + shareConfiguration: ODSAboutShareTheApplication? = nil, + onFeedbackClicked: (() -> Void)? = nil) { + self.name = name + self.version = version + self.description = description + self.shareConfiguration = shareConfiguration + self.onFeedbackClicked = onFeedbackClicked + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutPricacyPolicy.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutPricacyPolicy.swift new file mode 100644 index 00000000..a27de60f --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Configuration/ODSAboutPricacyPolicy.swift @@ -0,0 +1,57 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import Foundation + +/// To be completed +public enum ODSPrivacyPolicy { + case colapsable(ODSStructuredPrivacyPolicy) + case webview(ODSWebContentSource) +} + +public enum ODSWebContentSource { + case url(URL) + case html(String) +} + +public struct ODSStructuredPrivacyPolicy: Codable { + let entities: [ODSPrivacyPolicyEntity] + + public init(entities: [ODSPrivacyPolicyEntity]) { + self.entities = entities + } +} + +public struct ODSPrivacyPolicyEntity: Codable, Identifiable { + let title: String + let description: String + + public init(title: String, description: String) { + self.title = title + self.description = description + } + + public var id: String { + title + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/ApplicationInformation/ApplicationInformation.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/ApplicationInformation/ApplicationInformation.swift new file mode 100644 index 00000000..e290d143 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/ApplicationInformation/ApplicationInformation.swift @@ -0,0 +1,119 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AboutApplicationInformation: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let applicationInformation: ODSAboutApplicationInformation + + // ========== + // MARK: Body + // ========== + + var body: some View { + VStack(alignment: .leading, spacing: ODSSpacing.m) { + Text(applicationInformation.name) + .odsFont(.largeTitle) + .fixedSize(horizontal: false, vertical: true) + + if applicationInformation.shareConfiguration != nil || applicationInformation.onFeedbackClicked != nil { + HStack(spacing: ODSSpacing.none) { + if let shareConfiguration = applicationInformation.shareConfiguration { + ODSButton(text: "Share", image: Image("ic_share", bundle: Bundle.ods), emphasis: .low) { + ShareSheet.show(content: shareConfiguration.description, subject: shareConfiguration.subject, url: shareConfiguration.storeUrl) + } + .buttonStyle(PlainButtonStyle()) + .foregroundColor(Color.accentColor) + } + + if let onFeedbackClicked = applicationInformation.onFeedbackClicked { + ODSButton(text: "Feedback", image: Image("ic_comments", bundle: Bundle.ods), emphasis: .low, action: onFeedbackClicked) + .buttonStyle(PlainButtonStyle()) + .foregroundColor(Color.accentColor) + } + } + .padding(.vertical, -ODSSpacing.m) + .padding(.leading, -ODSSpacing.m) + } + + if let version = fullVersionText { + VStack(alignment: .leading) { + Text(version) + Text(applicationInformation.copyrightNotice) + } + .fixedSize(horizontal: false, vertical: true) + } + + if let description = applicationInformation.description { + Text(description).fixedSize(horizontal: false, vertical: true) + } + } + } + + // ============= + // MARK: Helpers + // ============= + + private var fullVersionText: String? { + guard let version = applicationInformation.version else { + return nil + } + + return "Version \(version.marketingVersion)\(buildSuffix)" + } + private var buildSuffix: String { + guard let buildNumber = applicationInformation.version?.buildNumber, + !buildNumber.isEmpty else { + return "" + } + return " (\(buildNumber))\(buildTypeSuffix)" + } + private var buildTypeSuffix: String { + guard let buildType = applicationInformation.version?.buildType, + !buildType.isEmpty else { + return "" + } + return " - \(buildType)" + } +} + +#if DEBUG +struct AboutView_Previews: PreviewProvider { + static var previews: some View { + let appInfo = ODSAboutApplicationInformation( + name: "APP NAME", + version: ODSApplicationVersion(marketingVersion: "1.0.0", buildNumber: "123456789", buildType: "ALPHA"), + description: "This is the demo application for test") + + ForEach(ColorScheme.allCases, id: \.self) { + AboutApplicationInformation(applicationInformation: appInfo) + .preferredColorScheme($0) + } + } +} +#endif diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AboutListItems.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AboutListItems.swift new file mode 100644 index 00000000..2655aa0a --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AboutListItems.swift @@ -0,0 +1,89 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AboutListItems: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + private let configurations: [ODSAboutListItemConfig] + + // ================= + // MARK: Initializer + // ================= + + init(configurations: [ODSAboutListItemConfig]) { + self.configurations = configurations.sorted(by: { $0.priority > $1.priority }) + } + + // ========== + // MARK: Body + // ========== + + var body: some View { + ForEach(configurations, id: \.title) { configuration in + item(from: configuration) + } + } + + // ============ + // MARK: Helper + // ============ + + @ViewBuilder + private func item(from configuration: ODSAboutListItemConfig) -> some View { + switch configuration.target { + case .action(let action): + Button { + action() + } label: { + ODSListStandardItem(model: configuration.model) + } + .listRowInsets(EdgeInsets()) + .listRowSeparator(.hidden) + + case .destination(let destination): + NavigationLink(configuration.model) { destination.navigationTitle(configuration.title) } + .listRowInsets(EdgeInsets()) + .listRowSeparator(.hidden) + } + } +} + +extension ODSAboutListItemConfig { + var model: ODSListStandardItemModel { + ODSListStandardItemModel(title: self.title, leadingIcon: ODSListItemLeadingIcon(icon: self.icon)) + } +} + +extension ODSListItemLeadingIcon { + init?(icon: Image?) { + guard let icon = icon else { + return nil + } + self = .icon(icon) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AccessibilityStatement/AccessibilityStatement.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AccessibilityStatement/AccessibilityStatement.swift new file mode 100644 index 00000000..f216e455 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AccessibilityStatement/AccessibilityStatement.swift @@ -0,0 +1,66 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AboutAccessibilityStatementItemConfig: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + let title: String + let icon: Image + let target: ODSAboutListItemTarget + let priority: ODSAboutListItemPriority + + // ================= + // MARK: Initializer + // ================= + + init(statementConfig: ODSAboutAccessibilityStatement) { + title = "Accessibility Statement" + icon = Image("ic_accessibility", bundle: Bundle.ods) + priority = .accessibilityStatement + target = .destination(AnyView(AccessibilityStatement(statementConfig: statementConfig))) + } +} + +private struct AccessibilityStatement: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let statementConfig: ODSAboutAccessibilityStatement + + // ========== + // MARK: Body + // ========== + + var body: some View { + ScrollView { + Text("The Accessibility statement can be generated using the Orange's V11ydette: https://la-va11ydette.orange.com/") + .padding(ODSSpacing.m) + } + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AboutReleaseDescriptionModel.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AboutReleaseDescriptionModel.swift new file mode 100644 index 00000000..0e019ed0 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AboutReleaseDescriptionModel.swift @@ -0,0 +1,70 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import Foundation + +struct AboutReleaseDescription: Decodable { + let version: String + let date: Date + let news: String +} + +class AboutReleaseDescriptionsLoader { + + // ================= + // MARK: Initializer + // ================= + + init() { } + + enum Error: Swift.Error { + case resourceNotFound + case noJsonData + } + + // ==================== + // MARK: Private Helper + // ==================== + + func load(from applicationNewsPath: String) throws -> [AboutReleaseDescription] { + + guard FileManager().fileExists(atPath: applicationNewsPath) else { + throw Error.resourceNotFound + } + + guard let jsonData = try String(contentsOfFile: applicationNewsPath).data(using: .utf8) else { + throw Error.noJsonData + } + + let dateFormatter = DateFormatter() + dateFormatter.dateFormat = "yyyy-MM-dd" + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .formatted(dateFormatter) + return try decoder.decode([AboutReleaseDescription].self, from: jsonData) + } +} + +extension AboutReleaseDescription { + static func load() throws -> [AboutReleaseDescription] { + return try AboutReleaseDescriptionsLoader().load(from: "AppNews") + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AppNewsList.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AppNewsList.swift new file mode 100644 index 00000000..b306700e --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/AppNews/AppNewsList.swift @@ -0,0 +1,94 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AppNewsList: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let releaseDescriptions: [AboutReleaseDescription] + + // ================= + // MARK: Initializer + // ================= + + init(fromFile path: String) { + self.releaseDescriptions = (try? AboutReleaseDescriptionsLoader().load(from: path)) ?? [] + } + + // ========== + // MARK: Body + // ========== + + var body: some View { + ScrollView { + if releaseDescriptions.isEmpty { + Text("No App news found in file") + } else { + ForEach(releaseDescriptions, id: \.version) { releaseDescription in + AboutReleaaseDescriptionEntry(releaseDescription: releaseDescription) + .padding(.horizontal, ODSSpacing.m) + Divider() + } + } + } + } +} + +private struct AboutReleaaseDescriptionEntry: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let releaseDescription: AboutReleaseDescription + + // ========== + // MARK: Body + // ========== + + var body: some View { + VStack(alignment: .leading, spacing: ODSSpacing.s) { + HStack { + Text(releaseDescription.version).odsFont(.headline) + Spacer() + Text(formatedDate).odsFont(.caption1Regular) + } + + Text(releaseDescription.news) + .odsFont(.callout) + .fixedSize(horizontal: false, vertical: true) + } + .padding(.vertical, ODSSpacing.s) + } + + // ==================== + // MARK: Private Helper + // ==================== + + private var formatedDate: String { + releaseDescription.date.formatted(date: Date.FormatStyle.DateStyle.abbreviated, time: Date.FormatStyle.TimeStyle.omitted) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/MoreApps/MoreApps.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/MoreApps/MoreApps.swift new file mode 100644 index 00000000..f683839b --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/MoreApps/MoreApps.swift @@ -0,0 +1,32 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct MoreApps: View { + + let url: URL + + var body: some View { + Text("More Apps will be here") + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/PrivacyPolicy/PrivacyPolicyItem.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/PrivacyPolicy/PrivacyPolicyItem.swift new file mode 100644 index 00000000..db5cb91c --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/PrivacyPolicy/PrivacyPolicyItem.swift @@ -0,0 +1,91 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AboutPrivacyPolicyItem: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + let title: String + let icon: Image + let target: ODSAboutListItemTarget + let priority: ODSAboutListItemPriority + + // ================= + // MARK: Initializer + // ================= + + init(policy: ODSPrivacyPolicy) { + self.title = "Privacy Policy" + self.icon = Image("ic_dataProtection", bundle: Bundle.ods) + self.priority = ODSAboutListItemPriority.privacyPolicy + self.target = .destination(AnyView(AboutPrivacyPolicy(policy: policy))) + } +} + +struct AboutPrivacyPolicy: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let policy: ODSPrivacyPolicy + + // ========== + // MARK: Body + // ========== + + var body: some View { + switch policy { + case .colapsable(let policy): + ColapsablePrivacyPolicy(policy: policy) + + case .webview(let source): + WebView(source: source) + } + } +} + +struct ColapsablePrivacyPolicy: View { + + // ======================= + // MARK: Stored Properties + // ======================= + + let policy: ODSStructuredPrivacyPolicy + + // ========== + // MARK: Body + // ========== + + var body: some View { + ForEach(policy.entities, id: \.id) { entity in + DisclosureGroup(entity.title) { + WebView(source: .html(entity.description)) + } + } + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/TermsOfService/TermsOfServiceItem.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/TermsOfService/TermsOfServiceItem.swift new file mode 100644 index 00000000..0907dddc --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/Internal/LitsItems/TermsOfService/TermsOfServiceItem.swift @@ -0,0 +1,42 @@ +// +// MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +struct AboutTermOfServiceItem: ODSAboutListItemConfig { + + // ======================= + // MARK: Stored Properties + // ======================= + + let title: String + let icon: Image + let target: ODSAboutListItemTarget + let priority: ODSAboutListItemPriority + + init(@ViewBuilder termsOfService: () -> TermsOfService) where TermsOfService: View { + self.title = "Terms of Service" + self.icon = Image("ic_calendarEventInfo", bundle: Bundle.ods) + self.priority = ODSAboutListItemPriority.termOfService + self.target = .destination(AnyView(termsOfService())) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/ODSAboutModule.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/ODSAboutModule.swift new file mode 100644 index 00000000..430b33d1 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/About/ODSAboutModule.swift @@ -0,0 +1,113 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +/// Use the about module to display application name, software version, +/// legal data protection, privacy, accessibilty statement, +/// and terms of service compliance information. +/// +/// It is also configurable to add some additional items to display +/// pages related to the service provided by the application +/// (i.e. settings, tutorials, ...) +/// +public struct ODSAboutModule: View where TermsOfService: View { + + // ======================= + // MARK: Stored properties + // ======================= + + private let headerIllustration: Image + private let applicationInformation: ODSAboutApplicationInformation + private let listItemConfigurations: [ODSAboutListItemConfig] + + // ================== + // MARK: Initializers + // ================== + + /// Initializes the about module. + /// + /// - Parameters: + /// - headerIllustration: Image of the illustration at the top of the screen. + /// - applicationInformation: (Mandatory) Information about the application. + /// - privacyPolicy: (Mandatory) The privacy policy of the application. + /// - acessibilityStatement: (Mandatory) The configuration to access the report of the accessibility statement. + /// - termsOfService: (Mandatory) A view builder to provide the terms of service (could be a webview, native screen, ...) + /// - listItemConfigurations: Configuration to add items in the list. The items are ordered according to the priority set in configutation. + /// + /// @Remark: Privacy Policy, accessibility statement and terms of service pages are + /// mandatory in this module. To access those pages, associated items are automatically + /// added in the list. They are ordered according to their priority defined by: + /// __ODSAboutListItemPriority.privacyPolicy__, __ODSAboutListItemPriority.termOfService__, __ODSAboutListItemPriority.accessibilityStatement__. + /// If custom items should be placed before those, configures them with lower priority. + /// + public init( + headerIllustration: Image = Image("il_about", bundle: Bundle.ods), + applicationInformation: ODSAboutApplicationInformation, + privacyPolicy: ODSPrivacyPolicy, + acessibilityStatement: ODSAboutAccessibilityStatement, + @ViewBuilder termsOfService: @escaping () -> TermsOfService, + listItemConfigurations: [ODSAboutListItemConfig] + ) { + self.headerIllustration = headerIllustration + self.applicationInformation = applicationInformation + + let internalItemsConfig = [ + AboutPrivacyPolicyItem(policy: privacyPolicy) as ODSAboutListItemConfig, + AboutTermOfServiceItem(termsOfService: termsOfService) as ODSAboutListItemConfig, + AboutAccessibilityStatementItemConfig(statementConfig: acessibilityStatement) as ODSAboutListItemConfig + ] + + self.listItemConfigurations = listItemConfigurations + internalItemsConfig + } + + // ========== + // MARK: Body + // ========== + + public var body: some View { + List { + headerIllustration + .resizable() + .aspectRatio(contentMode: .fit) + .accessibilityHidden(true) + .listRowInsets(EdgeInsets()) + .listRowSeparator(.hidden) + + Group { + AboutApplicationInformation(applicationInformation: applicationInformation) + .padding(.vertical, ODSSpacing.m) + .listRowInsets(EdgeInsets()) + .listRowSeparator(.hidden) + + AboutListItems(configurations: listItemConfigurations) + } + .padding(.horizontal, ODSSpacing.m) + .padding(.bottom, ODSSpacing.s) + } + .listStyle(.plain) + .navigationTitle("About") + .navigationBarTitleDisplayMode(.large) + .background(ODSInternalColor.primaryBackground.color) + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/AboutView.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/AboutView.swift deleted file mode 100644 index bde54ed9..00000000 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/AboutView.swift +++ /dev/null @@ -1,282 +0,0 @@ -// -// MIT License -// Copyright (c) 2021 Orange -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the Software), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// - -import SwiftUI - -public struct AboutView: View { - - // ======================= - // MARK: Stored Properties - // ======================= - - @EnvironmentObject var applicationInformation: ApplicationInformation - - // ================== - // MARK: Initializers - // ================== - - public init() {} - - // ========== - // MARK: Body - // ========== - - public var body: some View { - List { - VStack(alignment: .leading, spacing: ODSSpacing.none) { - - applicationInformation.imageHeader - .resizable() - .aspectRatio(contentMode: .fit) - .accessibilityHidden(true) - - ApplicationInformationView() - .padding(.all, ODSSpacing.m) - - } - .listRowInsets(EdgeInsets()) - - ODSAboutItemView() - } - .listStyle(PlainListStyle()) - .navigationTitle("About") - .navigationBarTitleDisplayMode(.large) - .background(ODSInternalColor.primaryBackground.color) - } -} - -public struct ODSAboutItem: Identifiable { - - // ======================= - // MARK: Stored Properties - // ======================= - - public let odsType: ODSTypeLink - public let text: String - public let nextView: AnyView - public let url: String? - - public enum ODSTypeLink { - case externalBrower - case navigation - case safariViewController - } - - // ================== - // MARK: Initializers - // ================== - - public init(text: String, nextView: AnyView) { - self.text = text - self.nextView = nextView - self.odsType = .navigation - self.url = nil - } - - public init(text: String, nextView: AnyView, url: String) { - self.text = text - self.nextView = nextView - self.url = url - self.odsType = .externalBrower - } - - public init(text: String, nextView: AnyView, safari: String) { - self.text = text - self.nextView = nextView - self.url = safari - self.odsType = .safariViewController - } - - public var id: String { - text - } -} - -public class ApplicationInformation: ObservableObject { - - // ======================= - // MARK: Stored Properties - // ======================= - - public let name: String - public let version: String - public let buildNumber: String? - public let buildType: String? - public let description: String? - public let copyrightNotice: String = "Orange property. All rights reserved" - public let imageHeader: Image - - public var menuList = [ - ODSAboutItem(text: "What's new", nextView: AnyView(Text("What's new application..."))), - ODSAboutItem(text: "External web browser", nextView: AnyView(EmptyView()), url: "https://system.design.orange.com/"), - ODSAboutItem(text: "Web view", nextView: AnyView(Text("Error View")), safari: "https://system.design.orange.com/"), - ] - - // ================== - // MARK: Initializers - // ================== - - public init(name: String, version: String, buildNumber: String? = nil, buildType: String? = nil, description: String? = nil, imageHeader: Image = Image("img_about", bundle: Bundle.ods)) { - self.name = name - self.version = version - self.buildType = buildType - self.buildNumber = buildNumber - self.description = description - self.imageHeader = imageHeader - } -} - -public struct ODSAboutItemView: View { - - // ======================= - // MARK: Stored Properties - // ======================= - - @State private var showSafari = false - @EnvironmentObject var applicationInformation: ApplicationInformation - - // ================== - // MARK: Initializers - // ================== - - public init() {} - - // ========== - // MARK: Body - // ========== - - public var body: some View { - ForEach(applicationInformation.menuList) { item in - - switch item.odsType { - case .navigation: - NavigationLink(destination: item.nextView) { - HStack { - Text(item.text).odsFont(.bodyBold) - } - .frame(minWidth: 0, - maxWidth: .infinity, - minHeight: ODSSpacing.xxl, - maxHeight: .infinity, - alignment: .leading) - } - - case .externalBrower: - if let url = item.url, let urlDestination = URL(string: url) { - Link(destination: urlDestination) { - HStack { - Text(item.text).odsFont(.bodyBold) - } - .frame(minWidth: 0, - maxWidth: .infinity, - minHeight: ODSSpacing.xxl, - maxHeight: .infinity, - alignment: .leading) - } - } - - case .safariViewController: - if let url = item.url, let urlDestination = URL(string: url) { - Button { - showSafari.toggle() - } label: { - Text(item.text).odsFont(.bodyBold) - .frame(minWidth: 0, - maxWidth: .infinity, - minHeight: ODSSpacing.xxl, - maxHeight: .infinity, - alignment: .leading) - } - .sheet(isPresented: $showSafari) { - ODSSFSafariViewWrapper(url: urlDestination) - } - } - } - } - } -} - -private struct ApplicationInformationView: View { - - // ======================= - // MARK: Stored Properties - // ======================= - - @EnvironmentObject var applicationInformation: ApplicationInformation - - // ========== - // MARK: Body - // ========== - - var body: some View { - VStack(alignment: .leading, spacing: 4) { - Text(applicationInformation.name) - .odsFont(.largeTitle) - .fixedSize(horizontal: false, vertical: true) - - Text("Version \(longVersionText)") - .fixedSize(horizontal: false, vertical: true) - - if let buildType = applicationInformation.buildType { - Text(buildType) - .fixedSize(horizontal: false, vertical: true) - } - - if let description = applicationInformation.description { - Text(description) - .fixedSize(horizontal: false, vertical: true) - .padding(.top, ODSSpacing.m) - } - - Text(applicationInformation.copyrightNotice) - .fixedSize(horizontal: false, vertical: true) - } - } - - // ============= - // MARK: Helpers - // ============= - - private var longVersionText: String { - if let buildNumber = applicationInformation.buildNumber { - return "\(applicationInformation.version) (\(buildNumber))" - } else { - return applicationInformation.version - } - } -} - -#if DEBUG -struct AboutView_Previews: PreviewProvider { - static var previews: some View { - let description = ApplicationInformation(name: "APP NAME", version: "1.0.0", buildNumber: "123456789", buildType: "PREVIEW", description: "This is the demo application for test") - - ForEach(ColorScheme.allCases, id: \.self) { - - AboutView() - .preferredColorScheme($0) - .environmentObject(description) - } - } -} -#endif diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/ODSListOfCardImageFirst.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/ODSListOfCardImageFirst.swift index d334b148..b1edfdf9 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/ODSListOfCardImageFirst.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Modules/ODSListOfCardImageFirst.swift @@ -77,7 +77,6 @@ struct ODSCardVerticalImageFirstListItem: View { NavigationLink { model.destination .navigationTitle(model.cardModel.title) - .background(Color(uiColor: .systemGray6)) } label: { ODSCardVerticalImageFirst(model: model.cardModel) } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/Contents.json new file mode 100644 index 00000000..10f45ea0 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_accessibility.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/ic_accessibility.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/ic_accessibility.svg new file mode 100644 index 00000000..7055de0d --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_accessibility.imageset/ic_accessibility.svg @@ -0,0 +1,7 @@ + + + icons/communication/#-D/mdpi/ic_Accessibility + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/Contents.json new file mode 100644 index 00000000..430213c1 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_apps.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/ic_apps.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/ic_apps.svg new file mode 100644 index 00000000..985a3df5 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_apps.imageset/ic_apps.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/A-E/mdpi/ic_Apps + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/Contents.json new file mode 100644 index 00000000..d67f9541 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_calendarEventInfo.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/ic_calendarEventInfo.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/ic_calendarEventInfo.svg new file mode 100644 index 00000000..470098df --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_calendarEventInfo.imageset/ic_calendarEventInfo.svg @@ -0,0 +1,7 @@ + + + icons/communication/#-D/mdpi/ic_Calendar_event_info + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/Contents.json new file mode 100644 index 00000000..854cfb58 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_comments.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/ic_comments.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/ic_comments.svg new file mode 100644 index 00000000..f6925856 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_comments.imageset/ic_comments.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/A-E/mdpi/ic_Comments + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/Contents.json new file mode 100644 index 00000000..50ff8af5 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_dataProtection.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/ic_dataProtection.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/ic_dataProtection.svg new file mode 100644 index 00000000..79b42975 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_dataProtection.imageset/ic_dataProtection.svg @@ -0,0 +1,7 @@ + + + icons/communication/#-D/mdpi/ic_Data_Protection + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/Contents.json new file mode 100644 index 00000000..9be4277a --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_legal.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/ic_legal.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/ic_legal.svg new file mode 100644 index 00000000..d84100cc --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_legal.imageset/ic_legal.svg @@ -0,0 +1,7 @@ + + + icons/communication/I-R/mdpi/ic_Legal + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/Contents.json new file mode 100644 index 00000000..14827124 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_review.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/ic_review.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/ic_review.svg new file mode 100644 index 00000000..b7a829a9 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_review.imageset/ic_review.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/M-S/mdpi/ic_Review + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/Contents.json new file mode 100644 index 00000000..2d17bf8a --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_share.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/ic_share.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/ic_share.svg new file mode 100644 index 00000000..72fd7a8a --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_share.imageset/ic_share.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/M-S/mdpi/ic_Share + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/Contents.json new file mode 100644 index 00000000..05f44c94 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_taskList.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/ic_taskList.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/ic_taskList.svg new file mode 100644 index 00000000..fdc03078 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Icons.xcassets/ic_taskList.imageset/ic_taskList.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/S-Z/mdpi/ic_Task_list + + + + \ No newline at end of file diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/Contents.json new file mode 100644 index 00000000..1d2ca817 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "il_about.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/il_about.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg rename to OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/il_about.imageset/il_about.svg diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/Contents.json b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/Contents.json deleted file mode 100644 index 1406b676..00000000 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "img_about@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "img_about@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@2x.png b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@2x.png deleted file mode 100644 index 287ad2f2..00000000 Binary files a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@2x.png and /dev/null differ diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@3x.png b/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@3x.png deleted file mode 100644 index 3d7aeb50..00000000 Binary files a/OrangeDesignSystem/Sources/OrangeDesignSystem/Resources/Images.xcassets/img_about.imageset/img_about@3x.png and /dev/null differ diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSNavigationBarModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSNavigationBarModifier.swift index c6b1f09c..9e4f26e5 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSNavigationBarModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSNavigationBarModifier.swift @@ -31,7 +31,7 @@ extension View { backgroundColor: theme.componentColors.navigationBarBackground ) } - + public func navigationBarColors(titleColor: Color, tintColor: Color, backgroundColor: Color) -> some View { modifier( NavigationBarColors(titleColor: UIColor(titleColor), @@ -43,9 +43,7 @@ extension View { struct NavigationBarColors: ViewModifier { - init(titleColor: UIColor, - tintColor: UIColor, - backgroundColor: UIColor = .systemBackground) { + init(titleColor: UIColor, tintColor: UIColor, backgroundColor: UIColor = .systemBackground) { let coloredAppearance = UINavigationBarAppearance() coloredAppearance.configureWithDefaultBackground() diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSTabBarModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSTabBarModifier.swift index 137a9d74..039c99a4 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSTabBarModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSTabBarModifier.swift @@ -31,11 +31,12 @@ extension View { badgeColor: .red) } - public func tabBarStyle(backgroundColor: Color? = nil, - itemColor: Color? = nil, - selectedItemColor: Color? = nil, - badgeColor: Color? = nil) -> some View - { + public func tabBarStyle( + backgroundColor: Color? = nil, + itemColor: Color? = nil, + selectedItemColor: Color? = nil, + badgeColor: Color? = nil + ) -> some View { onAppear { let itemAppearance = UITabBarItemAppearance() if let uiItemColor = itemColor?.uiColor { diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSToolBarModifier.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSToolBarModifier.swift index 3b34cad7..2a3ad924 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSToolBarModifier.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/Modifiers/ODSToolBarModifier.swift @@ -31,7 +31,7 @@ extension View { backgroundColor: theme.componentColors.navigationBarBackground ) } - + public func toolBarColors(titleColor: Color, tintColor: Color, backgroundColor: Color) -> some View { modifier( ToolBarColors(titleColor: UIColor(titleColor), @@ -43,9 +43,7 @@ extension View { struct ToolBarColors: ViewModifier { - init(titleColor: UIColor, - tintColor: UIColor, - backgroundColor: UIColor = .systemBackground) { + init(titleColor: UIColor, tintColor: UIColor, backgroundColor: UIColor = .systemBackground) { let coloredAppearance = UIToolbarAppearance() coloredAppearance.configureWithOpaqueBackground() diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSComponentsColors.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSComponentsColors.swift index 847a131c..8c4dda5c 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSComponentsColors.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSComponentsColors.swift @@ -55,7 +55,7 @@ public struct ODSComponentColors { // Bottom sheet public var bottomSheetHeaderBackground: Color - + // ================== // MARK: Initializers // ================== @@ -83,7 +83,7 @@ public struct ODSComponentColors { self.functionalPositive = .green self.functionalInfo = .blue self.functionalAlert = .yellow - + // Bottom sheet self.bottomSheetHeaderBackground = Color(UIColor.systemGray6) } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSCurrentTheme.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSCurrentTheme.swift index 1c28d13a..b4ce4c57 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSCurrentTheme.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/ODSCurrentTheme.swift @@ -25,7 +25,7 @@ import SwiftUI // MARK: Theme EnvironmentKey private struct Theme: EnvironmentKey { - + static let defaultValue = ODSTheme() } diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/View/ODSThemeableView.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/View/ODSThemeableView.swift index e4f65a38..f9e24c29 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/View/ODSThemeableView.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Theme/View/ODSThemeableView.swift @@ -70,11 +70,10 @@ public struct ODSThemeableView: View where Content: View { /// - theme: The new theme to be applied. /// - content: A view builder that creates the content of this stack. /// - public init(theme: ODSTheme, - @ViewBuilder content: @escaping () -> Content){ + public init(theme: ODSTheme, @ViewBuilder content: @escaping () -> Content){ self.theme = theme self.content = content - self.navigationBarColors(for: theme) + _ = self.navigationBarColors(for: theme) } public var body: some View { diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ODSBundle+Extension.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ODSBundle+extension.swift similarity index 100% rename from OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ODSBundle+Extension.swift rename to OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ODSBundle+extension.swift diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ShareSheet.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ShareSheet.swift new file mode 100644 index 00000000..315105e2 --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/ShareSheet.swift @@ -0,0 +1,66 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import SwiftUI + +enum ShareSheet { + /// Use to display a share sheet on the current active screen. + /// + /// - Parameters: + /// - content: The content displayed in the body of a mail. + /// - subject; The subject of the mail. + /// + static func show(content: String, subject: String = "", url: URL? = nil) { + let item = ShareItem(content: content, mailSubject: subject) + var items: [Any] = [item] + if let url = url { + items.append(url) + } + let av = UIActivityViewController(activityItems: items, applicationActivities: nil) + UIApplication.shared.topViewController?.present(av, animated: true, completion: nil) + } +} + +private class ShareItem: NSObject, UIActivityItemSource { + + let content: String + let mailSubject: String + + init(content: String, mailSubject: String) { + self.content = content + self.mailSubject = mailSubject + super.init() + } + + func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any { + content + } + + func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? { + content + } + + func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivity.ActivityType?) -> String { + mailSubject + } +} diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/TabBar+readSize.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/TabBar+readSize.swift index b19d4a40..585ff710 100644 --- a/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/TabBar+readSize.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/TabBar+readSize.swift @@ -31,22 +31,22 @@ extension View { } func configureTabBar(configurator: @escaping (UITabBarController, Bool) -> Void) -> some View { - modifier(TabBarConfigurationViewModifier(configurator: configurator)) + background(TabBarConfigurator(configurator: configurator)) } } -struct TabBarConfigurationViewModifier: ViewModifier { - let configurator: (UITabBarController, Bool) -> Void +struct TabBarConfigurator: UIViewControllerRepresentable { - func body(content: Content) -> some View { - content - .background(TabBarConfigurator(configurator: configurator)) - } -} + // ======================= + // MARK: Stored Properties + // ======================= -struct TabBarConfigurator: UIViewControllerRepresentable { let configurator: (UITabBarController, Bool) -> Void + // ============================================ + // MARK: UIViewControllerRepresentable Protocol + // ============================================ + func makeUIViewController(context: Context) -> TabBarConfigurationViewController { TabBarConfigurationViewController(configurator: configurator) } @@ -56,17 +56,38 @@ struct TabBarConfigurator: UIViewControllerRepresentable { } class TabBarConfigurationViewController: UIViewController { - let configurator: (UITabBarController, Bool) -> Void + + // ======================= + // MARK: Stored Properties + // ======================= + + private var configurator: (UITabBarController, Bool) -> Void + + // ================== + // MARK: Initializers + // ================== init(configurator: @escaping (UITabBarController, Bool) -> Void) { self.configurator = configurator super.init(nibName: nil, bundle: nil) } + @available(*, unavailable) required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } + // =============================== + // MARK: UIViewController Override + // =============================== + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + if let tabBarController = tabBarController { + configurator(tabBarController, true) + } + } + override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) diff --git a/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/UIAppliocation+extension.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/UIAppliocation+extension.swift new file mode 100644 index 00000000..c5baa1ce --- /dev/null +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/UIAppliocation+extension.swift @@ -0,0 +1,41 @@ +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + +import Foundation +import UIKit + +extension UIApplication { + + /// Get the view controll at top level of the current active screen. + /// Usefull to display a sheet over all. + public var topViewController: UIViewController? { + let scene = connectedScenes.first { $0.activationState == .foregroundActive } + + var topViewController = (scene as? UIWindowScene)?.keyWindow?.rootViewController + + while topViewController?.presentedViewController != nil { + topViewController = topViewController?.presentedViewController + } + return topViewController + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSDemoAboutView.swift b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/WebView.swift similarity index 66% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSDemoAboutView.swift rename to OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/WebView.swift index a76f377a..1b42c911 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSDemoAboutView.swift +++ b/OrangeDesignSystem/Sources/OrangeDesignSystem/Utils/WebView.swift @@ -21,27 +21,24 @@ // // -import OrangeDesignSystem import SwiftUI +import WebKit -struct ODSDemoAboutView: View { - var body: some View { - ODSDemoAboutConfig.instance.configure() - return NavigationView { - AboutView() - .environmentObject(ODSDemoAboutConfig.instance.applicationInformation) - .navigationbarMenuForThemeSelection() - } - .navigationViewStyle(.stack) +struct WebView: UIViewRepresentable { + + let source: ODSWebContentSource + + func makeUIView(context: Context) -> WKWebView { + return WKWebView() } -} -#if DEBUG -struct ODSDemoAboutView_Previews: PreviewProvider { - static var previews: some View { - ForEach(ColorScheme.allCases, id: \.self) { - ODSDemoAboutView().preferredColorScheme($0) + func updateUIView(_ webView: WKWebView, context: Context) { + switch source { + case .url(let url): + let request = URLRequest(url: url) + webView.load(request) + case .html(let string): + webView.loadHTMLString(string, baseURL: nil) } } } -#endif diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcodeproj/project.pbxproj b/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcodeproj/project.pbxproj index 9729412e..4826645b 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcodeproj/project.pbxproj +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcodeproj/project.pbxproj @@ -7,94 +7,97 @@ objects = { /* Begin PBXBuildFile section */ - 07000FB7292B7B0700CE537A /* NavigatinBarModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07000FB6292B7B0700CE537A /* NavigatinBarModifiers.swift */; }; - 07000FBC292FD9D700CE537A /* TabBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07000FBB292FD9D700CE537A /* TabBarVariant.swift */; }; - 07081296293E29A7002E38BB /* ProgressBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07081295293E29A7002E38BB /* ProgressBarVariant.swift */; }; - 071D3EF128884D8200DFD1C9 /* SpacingsPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 071D3EF028884D8200DFD1C9 /* SpacingsPage.swift */; }; - 072DE105296DCE3E00229FCF /* ToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 072DE104296DCE3E00229FCF /* ToastView.swift */; }; - 0735F63E293DF13200280AD4 /* SelectionListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0735F63D293DF13200280AD4 /* SelectionListModel.swift */; }; - 07387C5D28F0068B00D8721F /* Component.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07387C5C28F0068B00D8721F /* Component.swift */; }; - 07387C5F28F02F4F00D8721F /* SelectionList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07387C5E28F02F4F00D8721F /* SelectionList.swift */; }; - 07387C6128F0486A00D8721F /* StandardList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07387C6028F0486A00D8721F /* StandardList.swift */; }; - 07387C6328F062D900D8721F /* ListComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07387C6228F062D900D8721F /* ListComponent.swift */; }; - 07387C6928F0641400D8721F /* StandardListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07387C6828F0641400D8721F /* StandardListModel.swift */; }; - 0752EC2828EDBB540029A7BE /* ChipsComponentModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0752EC2728EDBB540029A7BE /* ChipsComponentModel.swift */; }; - 07535BAA29D31A440012F298 /* BottomSheetStandardVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07535BA929D31A440012F298 /* BottomSheetStandardVariant.swift */; }; - 07535BAF29D713320012F298 /* BottomSheetExpandingVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07535BAD29D713320012F298 /* BottomSheetExpandingVariantOptions.swift */; }; - 07535BB029D713320012F298 /* BottomSheetExpandingVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07535BAE29D713320012F298 /* BottomSheetExpandingVariant.swift */; }; - 07535BCF29DC57E60012F298 /* CustomizableVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07535BCE29DC57E60012F298 /* CustomizableVariant.swift */; }; - 075462FA28F474CC002E2E40 /* ButtonsComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075462F728F474CC002E2E40 /* ButtonsComponent.swift */; }; - 075462FC28F474CC002E2E40 /* EmphasisAndFunctionnalVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075462F928F474CC002E2E40 /* EmphasisAndFunctionnalVariant.swift */; }; - 075E5D6D29378735009A801B /* RecipesLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E5D6C29378735009A801B /* RecipesLoader.swift */; }; - 075E5D6F29379164009A801B /* Recipes.json in Resources */ = {isa = PBXBuildFile; fileRef = 075E5D6E29379164009A801B /* Recipes.json */; }; - 075E611929966CE5004CE0A6 /* IconVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E611829966CE5004CE0A6 /* IconVariant.swift */; }; - 075E611B29966D0C004CE0A6 /* BannerVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E611A29966D0C004CE0A6 /* BannerVariantOptions.swift */; }; - 075E611D29966EFB004CE0A6 /* NavigationBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E611C29966EFB004CE0A6 /* NavigationBarVariant.swift */; }; - 075E611F299672A9004CE0A6 /* ActivityIndicatorVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E611E299672A9004CE0A6 /* ActivityIndicatorVariant.swift */; }; - 075E6121299686B9004CE0A6 /* CapitalizedTextInputsVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E6120299686B9004CE0A6 /* CapitalizedTextInputsVariant.swift */; }; - 075E612329968A56004CE0A6 /* SecureVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E612229968A56004CE0A6 /* SecureVariant.swift */; }; - 075E6126299AA4D4004CE0A6 /* Guideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E6125299AA4D4004CE0A6 /* Guideline.swift */; }; - 075E612A299AA904004CE0A6 /* SpacingsGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E6129299AA904004CE0A6 /* SpacingsGuideline.swift */; }; - 075E612C299AA988004CE0A6 /* ColorsGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E612B299AA988004CE0A6 /* ColorsGuideline.swift */; }; - 075E612E299AAAEE004CE0A6 /* TypographyGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E612D299AAAEE004CE0A6 /* TypographyGuideline.swift */; }; - 075E6130299B77B5004CE0A6 /* GuidelinePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075E612F299B77B5004CE0A6 /* GuidelinePage.swift */; }; - 0789AB972934C33200796B82 /* TabBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0789AB962934C33200796B82 /* TabBarComponent.swift */; }; - 0789AB992934C35B00796B82 /* SliderComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0789AB982934C35A00796B82 /* SliderComponent.swift */; }; - 07973C54287C7470004397D7 /* ODSColors+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07973C53287C7470004397D7 /* ODSColors+extension.swift */; }; - 07973C56287C74CF004397D7 /* RGBA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07973C55287C74CF004397D7 /* RGBA.swift */; }; + 077C37CF2A9DD643003D6B51 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077C37CA2A9DD643003D6B51 /* Colors.xcassets */; }; + 077C37D32A9DD643003D6B51 /* Recipes.json in Resources */ = {isa = PBXBuildFile; fileRef = 077C37CE2A9DD643003D6B51 /* Recipes.json */; }; + 077C37D72A9DD6A4003D6B51 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077C37D62A9DD6A3003D6B51 /* Preview Assets.xcassets */; }; + 077C37E32A9DDACC003D6B51 /* PrivacyNotice.html in Resources */ = {isa = PBXBuildFile; fileRef = 077C37E12A9DDACC003D6B51 /* PrivacyNotice.html */; }; + 077C37E42A9DDACC003D6B51 /* CGU.html in Resources */ = {isa = PBXBuildFile; fileRef = 077C37E22A9DDACC003D6B51 /* CGU.html */; }; + 077C37E62A9DDC1A003D6B51 /* MainTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37E52A9DDC1A003D6B51 /* MainTabView.swift */; }; + 077C38482A9DDC79003D6B51 /* AboutSceen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37EB2A9DDC78003D6B51 /* AboutSceen.swift */; }; + 077C38492A9DDC79003D6B51 /* AboutHtmlAndMarkdownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37EC2A9DDC78003D6B51 /* AboutHtmlAndMarkdownView.swift */; }; + 077C384A2A9DDC79003D6B51 /* CustomizableVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37EF2A9DDC78003D6B51 /* CustomizableVariant.swift */; }; + 077C384B2A9DDC79003D6B51 /* ComponentPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F02A9DDC78003D6B51 /* ComponentPage.swift */; }; + 077C384C2A9DDC79003D6B51 /* Component.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F12A9DDC78003D6B51 /* Component.swift */; }; + 077C384D2A9DDC79003D6B51 /* ComponentList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F22A9DDC78003D6B51 /* ComponentList.swift */; }; + 077C384E2A9DDC79003D6B51 /* ButtonsComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F52A9DDC78003D6B51 /* ButtonsComponent.swift */; }; + 077C384F2A9DDC79003D6B51 /* IconVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F62A9DDC78003D6B51 /* IconVariant.swift */; }; + 077C38502A9DDC79003D6B51 /* EmphasisAndFunctionnalVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F72A9DDC79003D6B51 /* EmphasisAndFunctionnalVariant.swift */; }; + 077C38512A9DDC79003D6B51 /* CapitalizedTextInputsVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37F92A9DDC79003D6B51 /* CapitalizedTextInputsVariant.swift */; }; + 077C38522A9DDC79003D6B51 /* SecureVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37FA2A9DDC79003D6B51 /* SecureVariant.swift */; }; + 077C38532A9DDC79003D6B51 /* TextFieldComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37FB2A9DDC79003D6B51 /* TextFieldComponent.swift */; }; + 077C38542A9DDC79003D6B51 /* ListComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37FD2A9DDC79003D6B51 /* ListComponent.swift */; }; + 077C38552A9DDC79003D6B51 /* SelectionListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C37FF2A9DDC79003D6B51 /* SelectionListModel.swift */; }; + 077C38562A9DDC79003D6B51 /* SelectionListOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38002A9DDC79003D6B51 /* SelectionListOptions.swift */; }; + 077C38572A9DDC79003D6B51 /* SelectionList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38012A9DDC79003D6B51 /* SelectionList.swift */; }; + 077C38582A9DDC79003D6B51 /* StandardList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38032A9DDC79003D6B51 /* StandardList.swift */; }; + 077C38592A9DDC79003D6B51 /* StandardListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38042A9DDC79003D6B51 /* StandardListModel.swift */; }; + 077C385A2A9DDC79003D6B51 /* StandardListOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38052A9DDC79003D6B51 /* StandardListOptions.swift */; }; + 077C385B2A9DDC79003D6B51 /* ProgressBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38072A9DDC79003D6B51 /* ProgressBarVariant.swift */; }; + 077C385C2A9DDC79003D6B51 /* ProgressIndicatorComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38082A9DDC79003D6B51 /* ProgressIndicatorComponent.swift */; }; + 077C385D2A9DDC79003D6B51 /* ActivityIndicatorVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38092A9DDC79003D6B51 /* ActivityIndicatorVariant.swift */; }; + 077C385E2A9DDC79003D6B51 /* ChipsComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C380B2A9DDC79003D6B51 /* ChipsComponent.swift */; }; + 077C385F2A9DDC79003D6B51 /* ChipsComponentModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C380C2A9DDC79003D6B51 /* ChipsComponentModel.swift */; }; + 077C38602A9DDC79003D6B51 /* CardVerticalHeaderFirstVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C380E2A9DDC79003D6B51 /* CardVerticalHeaderFirstVariant.swift */; }; + 077C38612A9DDC79003D6B51 /* CardExampleData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C380F2A9DDC79003D6B51 /* CardExampleData.swift */; }; + 077C38622A9DDC79003D6B51 /* CardVerticalImageFirstVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38102A9DDC79003D6B51 /* CardVerticalImageFirstVariant.swift */; }; + 077C38632A9DDC79003D6B51 /* CardHorizontalVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38112A9DDC79003D6B51 /* CardHorizontalVariant.swift */; }; + 077C38642A9DDC79003D6B51 /* CardSmallVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38122A9DDC79003D6B51 /* CardSmallVariant.swift */; }; + 077C38652A9DDC79003D6B51 /* CardComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38132A9DDC79003D6B51 /* CardComponent.swift */; }; + 077C38662A9DDC79003D6B51 /* ToolBarVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38152A9DDC79003D6B51 /* ToolBarVariantOptions.swift */; }; + 077C38672A9DDC79003D6B51 /* ToolBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38162A9DDC79003D6B51 /* ToolBarComponent.swift */; }; + 077C38682A9DDC79003D6B51 /* TabBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38182A9DDC79003D6B51 /* TabBarVariant.swift */; }; + 077C38692A9DDC79003D6B51 /* TabBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38192A9DDC79003D6B51 /* TabBarComponent.swift */; }; + 077C386A2A9DDC79003D6B51 /* NavigatinBarModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C381B2A9DDC79003D6B51 /* NavigatinBarModifiers.swift */; }; + 077C386B2A9DDC79003D6B51 /* NavigationBarVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C381C2A9DDC79003D6B51 /* NavigationBarVariant.swift */; }; + 077C386C2A9DDC79003D6B51 /* NavigationBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C381D2A9DDC79003D6B51 /* NavigationBarComponent.swift */; }; + 077C386D2A9DDC79003D6B51 /* BannerVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C381F2A9DDC79003D6B51 /* BannerVariantOptions.swift */; }; + 077C386E2A9DDC79003D6B51 /* BannerComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38202A9DDC79003D6B51 /* BannerComponent.swift */; }; + 077C386F2A9DDC79003D6B51 /* BottomSheetExpandingVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38232A9DDC79003D6B51 /* BottomSheetExpandingVariant.swift */; }; + 077C38702A9DDC79003D6B51 /* BottomSheetExpandingVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38242A9DDC79003D6B51 /* BottomSheetExpandingVariantOptions.swift */; }; + 077C38712A9DDC79003D6B51 /* BottomSheetStandardVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38262A9DDC79003D6B51 /* BottomSheetStandardVariant.swift */; }; + 077C38722A9DDC79003D6B51 /* BottomSheetComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38272A9DDC79003D6B51 /* BottomSheetComponent.swift */; }; + 077C38732A9DDC79003D6B51 /* SlidersVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38292A9DDC79003D6B51 /* SlidersVariant.swift */; }; + 077C38742A9DDC79003D6B51 /* SliderComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C382A2A9DDC79003D6B51 /* SliderComponent.swift */; }; + 077C38752A9DDC79003D6B51 /* Guideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C382D2A9DDC79003D6B51 /* Guideline.swift */; }; + 077C38762A9DDC79003D6B51 /* GuidelinePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C382E2A9DDC79003D6B51 /* GuidelinePage.swift */; }; + 077C38772A9DDC79003D6B51 /* GuidelinesList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C382F2A9DDC79003D6B51 /* GuidelinesList.swift */; }; + 077C38782A9DDC79003D6B51 /* ColorsPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38312A9DDC79003D6B51 /* ColorsPage.swift */; }; + 077C38792A9DDC79003D6B51 /* RGBA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38332A9DDC79003D6B51 /* RGBA.swift */; }; + 077C387A2A9DDC79003D6B51 /* ODSColors+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38342A9DDC79003D6B51 /* ODSColors+extension.swift */; }; + 077C387B2A9DDC79003D6B51 /* ColorDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38362A9DDC79003D6B51 /* ColorDetail.swift */; }; + 077C387C2A9DDC79003D6B51 /* ColorIllustration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38372A9DDC79003D6B51 /* ColorIllustration.swift */; }; + 077C387D2A9DDC79003D6B51 /* ColorUsage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38382A9DDC79003D6B51 /* ColorUsage.swift */; }; + 077C387E2A9DDC79003D6B51 /* ColorsGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38392A9DDC79003D6B51 /* ColorsGuideline.swift */; }; + 077C387F2A9DDC79003D6B51 /* TypographyGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C383B2A9DDC79003D6B51 /* TypographyGuideline.swift */; }; + 077C38802A9DDC79003D6B51 /* TypographyPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C383C2A9DDC79003D6B51 /* TypographyPage.swift */; }; + 077C38812A9DDC79003D6B51 /* SpacingsGuideline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C383E2A9DDC79003D6B51 /* SpacingsGuideline.swift */; }; + 077C38822A9DDC79003D6B51 /* SpacingsPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C383F2A9DDC79003D6B51 /* SpacingsPage.swift */; }; + 077C38832A9DDC79003D6B51 /* AboutMyRecipeItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38422A9DDC79003D6B51 /* AboutMyRecipeItemConfiguration.swift */; }; + 077C38842A9DDC79003D6B51 /* AboutModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38432A9DDC79003D6B51 /* AboutModule.swift */; }; + 077C38852A9DDC79003D6B51 /* AboutMyReviewsItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38442A9DDC79003D6B51 /* AboutMyReviewsItemConfiguration.swift */; }; + 077C38862A9DDC79003D6B51 /* AboutModuleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38452A9DDC79003D6B51 /* AboutModuleModel.swift */; }; + 077C38872A9DDC79003D6B51 /* ModulesList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38462A9DDC79003D6B51 /* ModulesList.swift */; }; + 077C38882A9DDC79003D6B51 /* CardViewDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38472A9DDC79003D6B51 /* CardViewDemo.swift */; }; + 077C388B2A9DEE16003D6B51 /* AppNews.json in Resources */ = {isa = PBXBuildFile; fileRef = 077C388A2A9DEE16003D6B51 /* AppNews.json */; }; + 077C38972A9DEEDC003D6B51 /* Bundle+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C388D2A9DEEDB003D6B51 /* Bundle+Extension.swift */; }; + 077C38982A9DEEDC003D6B51 /* ToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C388E2A9DEEDB003D6B51 /* ToastView.swift */; }; + 077C38992A9DEEDC003D6B51 /* BackgroundBlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C388F2A9DEEDB003D6B51 /* BackgroundBlurView.swift */; }; + 077C389A2A9DEEDC003D6B51 /* RecipeBookModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38912A9DEEDB003D6B51 /* RecipeBookModel.swift */; }; + 077C389B2A9DEEDC003D6B51 /* RecipesBook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38922A9DEEDC003D6B51 /* RecipesBook.swift */; }; + 077C389C2A9DEEDC003D6B51 /* RecipesLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38932A9DEEDC003D6B51 /* RecipesLoader.swift */; }; + 077C389D2A9DEEDC003D6B51 /* ThemeSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38952A9DEEDC003D6B51 /* ThemeSelectionView.swift */; }; + 077C389E2A9DEEDC003D6B51 /* ThemeablePreviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077C38962A9DEEDC003D6B51 /* ThemeablePreviews.swift */; }; + 077C38A22AA0DD68003D6B51 /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = FDDAB0F62809AB2100ACE5F4 /* CHANGELOG.md */; }; + 077C38A52AA215BC003D6B51 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077C37CB2A9DD643003D6B51 /* Assets.xcassets */; }; 079821C729262C4400BE3116 /* InnovationCupTheme in Frameworks */ = {isa = PBXBuildFile; productRef = 079821C629262C4400BE3116 /* InnovationCupTheme */; }; 079821C92926340B00BE3116 /* OrangeTheme in Frameworks */ = {isa = PBXBuildFile; productRef = 079821C82926340B00BE3116 /* OrangeTheme */; }; - 079821CB29263C1200BE3116 /* ThemeablePreviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 079821CA29263C1200BE3116 /* ThemeablePreviews.swift */; }; - 079821CD2927BC3700BE3116 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 079821CC2927BC3700BE3116 /* Colors.xcassets */; }; - 07A187B9293F531700E1AD72 /* SelectionListOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A187B8293F531700E1AD72 /* SelectionListOptions.swift */; }; - 07A3382D29C4B1A000A56BA1 /* ODSCGU.html in Resources */ = {isa = PBXBuildFile; fileRef = 07A3382C29C3633000A56BA1 /* ODSCGU.html */; }; - 07A3382E29C4B1A400A56BA1 /* ODSPrivacyNotice.html in Resources */ = {isa = PBXBuildFile; fileRef = 07A3382B29C31C7800A56BA1 /* ODSPrivacyNotice.html */; }; 07AA3D4E28AE8B160001B75E /* Pods_OrangeDesignSystemDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07AA3D4D28AE8B160001B75E /* Pods_OrangeDesignSystemDemo.framework */; }; - 07C52F2028D37A2B0067CFC0 /* CardExampleData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C52F1F28D37A2B0067CFC0 /* CardExampleData.swift */; }; - 07C8234F28AE68B2003B2C3A /* TextFieldComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8234328AE68B2003B2C3A /* TextFieldComponent.swift */; }; - 07C8235028AE68B2003B2C3A /* ChipsComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8234428AE68B2003B2C3A /* ChipsComponent.swift */; }; - 07C8235528AE68B2003B2C3A /* NavigationBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8234928AE68B2003B2C3A /* NavigationBarComponent.swift */; }; - 07C8235628AE68B2003B2C3A /* CardComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8234A28AE68B2003B2C3A /* CardComponent.swift */; }; - 07C8235928AE690F003B2C3A /* ComponentPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8235828AE690F003B2C3A /* ComponentPage.swift */; }; - 07C8236828AE823F003B2C3A /* ThemeSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C8236728AE823F003B2C3A /* ThemeSelectionView.swift */; }; - 07CC45292923CAAD008BE71F /* BannerComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07CC45282923CAAD008BE71F /* BannerComponent.swift */; }; - 07D3AEE02968143700B36C3F /* ToolBarComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3AEDF2968143700B36C3F /* ToolBarComponent.swift */; }; - 07D3AEE22968169600B36C3F /* ToolBarVariantOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3AEE12968169600B36C3F /* ToolBarVariantOptions.swift */; }; - 07DF838C293A5A2300DFBE31 /* StandardListOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07DF838B293A5A2300DFBE31 /* StandardListOptions.swift */; }; 07E0A1B928AE8D2900CD1C32 /* OrangeDesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = 07E0A1B828AE8D2900CD1C32 /* OrangeDesignSystem */; }; - 07E37F6228C73252003FF740 /* CardSmallVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E37F6128C73252003FF740 /* CardSmallVariant.swift */; }; - 07E37F6428C74540003FF740 /* CardVerticalHeaderFirstVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E37F6328C74540003FF740 /* CardVerticalHeaderFirstVariant.swift */; }; - 07E37F6628C745E1003FF740 /* CardVerticalImageFirstVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E37F6528C745E1003FF740 /* CardVerticalImageFirstVariant.swift */; }; - 07F141C0298BC213007C8575 /* CardHorizontalVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07F141BF298BC213007C8575 /* CardHorizontalVariant.swift */; }; - 07F141C2298C0644007C8575 /* RecipeBookModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07F141C1298C0644007C8575 /* RecipeBookModel.swift */; }; - 07F141C4298CF4CB007C8575 /* RecipesBook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07F141C3298CF4CB007C8575 /* RecipesBook.swift */; }; - 07F141C829928B96007C8575 /* BottomSheetComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07F141C629928B96007C8575 /* BottomSheetComponent.swift */; }; - 07F343862943458D0043335A /* ProgressIndicatorComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07F343852943458C0043335A /* ProgressIndicatorComponent.swift */; }; C88E9E08333D56BAEA28A60E /* Pods_OrangeDesignSystemDemoTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E816C9278060A8072007BFD0 /* Pods_OrangeDesignSystemDemoTests.framework */; }; - F90D9768280030A6006D29FC /* TypographyPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D9765280030A6006D29FC /* TypographyPage.swift */; }; - F90D976C280030C4006D29FC /* MainTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D976B280030C4006D29FC /* MainTabView.swift */; }; - F90D977428003104006D29FC /* ODSDemoAboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D976E28003104006D29FC /* ODSDemoAboutView.swift */; }; - F90D977528003104006D29FC /* ODSDemoAboutConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D976F28003104006D29FC /* ODSDemoAboutConfig.swift */; }; - F90D977828003104006D29FC /* ODSDemoAboutContentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D977228003104006D29FC /* ODSDemoAboutContentsView.swift */; }; - F90D978228003281006D29FC /* ModulesList.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D977F28003281006D29FC /* ModulesList.swift */; }; - F90D978328003281006D29FC /* CardViewDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D978028003281006D29FC /* CardViewDemo.swift */; }; - F90D978528003299006D29FC /* AboutConfigDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D978428003299006D29FC /* AboutConfigDemo.swift */; }; - F90D978728005A4A006D29FC /* ComponentList.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90D978628005A4A006D29FC /* ComponentList.swift */; }; - F96A3E17280451660086B9BF /* ColorsPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E11280451660086B9BF /* ColorsPage.swift */; }; - F96A3E18280451660086B9BF /* ColorUsage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E12280451660086B9BF /* ColorUsage.swift */; }; - F96A3E19280451660086B9BF /* ColorDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E14280451660086B9BF /* ColorDetail.swift */; }; - F96A3E1B280451660086B9BF /* ColorIllustration.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E16280451660086B9BF /* ColorIllustration.swift */; }; - F96A3E1D280451FE0086B9BF /* GuidelinesList.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E1C280451FE0086B9BF /* GuidelinesList.swift */; }; - F96A3E23280452960086B9BF /* Bundle+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E1F280452960086B9BF /* Bundle+Extension.swift */; }; - F96A3E25280452960086B9BF /* BackgroundBlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A3E21280452960086B9BF /* BackgroundBlurView.swift */; }; - F99FF0732767AE2A006236A0 /* OrangeDesignSystemDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99FF06E2767AE2A006236A0 /* OrangeDesignSystemDemoApp.swift */; }; - F99FF0742767AE2A006236A0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F99FF06F2767AE2A006236A0 /* Assets.xcassets */; }; - F99FF07F2767AF62006236A0 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F99FF07E2767AF62006236A0 /* Preview Assets.xcassets */; }; + F99FF0732767AE2A006236A0 /* OrangeDesignSystemApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99FF06E2767AE2A006236A0 /* OrangeDesignSystemApp.swift */; }; F99FF08C2767B23E006236A0 /* OrangeDesignSystemDemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99FF08A2767B226006236A0 /* OrangeDesignSystemDemoTests.swift */; }; F99FF0922767B38B006236A0 /* OrangeDesignSystemDemoUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99FF08F2767B265006236A0 /* OrangeDesignSystemDemoUITests.swift */; }; F99FF0932767B38D006236A0 /* OrangeDesignSystemDemoUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F99FF08E2767B265006236A0 /* OrangeDesignSystemDemoUITestsLaunchTests.swift */; }; - FD88B6392930CE0600F58924 /* SlidersVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD88B6382930CE0600F58924 /* SlidersVariant.swift */; }; - FDDAB0F72809B39900ACE5F4 /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = FDDAB0F62809AB2100ACE5F4 /* CHANGELOG.md */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -116,66 +119,101 @@ /* Begin PBXFileReference section */ 021ED547747F959E94B4EA22 /* Pods-OrangeDesignSystemDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OrangeDesignSystemDemo.release.xcconfig"; path = "Target Support Files/Pods-OrangeDesignSystemDemo/Pods-OrangeDesignSystemDemo.release.xcconfig"; sourceTree = ""; }; - 07000FB6292B7B0700CE537A /* NavigatinBarModifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigatinBarModifiers.swift; sourceTree = ""; }; - 07000FBB292FD9D700CE537A /* TabBarVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabBarVariant.swift; sourceTree = ""; }; - 07081295293E29A7002E38BB /* ProgressBarVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBarVariant.swift; sourceTree = ""; }; - 071D3EF028884D8200DFD1C9 /* SpacingsPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpacingsPage.swift; sourceTree = ""; }; - 072DE104296DCE3E00229FCF /* ToastView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastView.swift; sourceTree = ""; }; - 0735F63D293DF13200280AD4 /* SelectionListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionListModel.swift; sourceTree = ""; }; - 07387C5C28F0068B00D8721F /* Component.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Component.swift; sourceTree = ""; }; - 07387C5E28F02F4F00D8721F /* SelectionList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionList.swift; sourceTree = ""; }; - 07387C6028F0486A00D8721F /* StandardList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandardList.swift; sourceTree = ""; }; - 07387C6228F062D900D8721F /* ListComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListComponent.swift; sourceTree = ""; }; - 07387C6828F0641400D8721F /* StandardListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandardListModel.swift; sourceTree = ""; }; - 0752EC2728EDBB540029A7BE /* ChipsComponentModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChipsComponentModel.swift; sourceTree = ""; }; - 07535BA929D31A440012F298 /* BottomSheetStandardVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetStandardVariant.swift; sourceTree = ""; }; - 07535BAD29D713320012F298 /* BottomSheetExpandingVariantOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BottomSheetExpandingVariantOptions.swift; path = Expanding/BottomSheetExpandingVariantOptions.swift; sourceTree = ""; }; - 07535BAE29D713320012F298 /* BottomSheetExpandingVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BottomSheetExpandingVariant.swift; path = Expanding/BottomSheetExpandingVariant.swift; sourceTree = ""; }; - 07535BCE29DC57E60012F298 /* CustomizableVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizableVariant.swift; sourceTree = ""; }; - 075462F728F474CC002E2E40 /* ButtonsComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonsComponent.swift; sourceTree = ""; }; - 075462F928F474CC002E2E40 /* EmphasisAndFunctionnalVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmphasisAndFunctionnalVariant.swift; sourceTree = ""; }; - 075E5D6C29378735009A801B /* RecipesLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecipesLoader.swift; sourceTree = ""; }; - 075E5D6E29379164009A801B /* Recipes.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Recipes.json; sourceTree = ""; }; - 075E611829966CE5004CE0A6 /* IconVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IconVariant.swift; sourceTree = ""; }; - 075E611A29966D0C004CE0A6 /* BannerVariantOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BannerVariantOptions.swift; sourceTree = ""; }; - 075E611C29966EFB004CE0A6 /* NavigationBarVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBarVariant.swift; sourceTree = ""; }; - 075E611E299672A9004CE0A6 /* ActivityIndicatorVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorVariant.swift; sourceTree = ""; }; - 075E6120299686B9004CE0A6 /* CapitalizedTextInputsVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CapitalizedTextInputsVariant.swift; sourceTree = ""; }; - 075E612229968A56004CE0A6 /* SecureVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureVariant.swift; sourceTree = ""; }; - 075E6125299AA4D4004CE0A6 /* Guideline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Guideline.swift; sourceTree = ""; }; - 075E6129299AA904004CE0A6 /* SpacingsGuideline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpacingsGuideline.swift; sourceTree = ""; }; - 075E612B299AA988004CE0A6 /* ColorsGuideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorsGuideline.swift; sourceTree = ""; }; - 075E612D299AAAEE004CE0A6 /* TypographyGuideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypographyGuideline.swift; sourceTree = ""; }; - 075E612F299B77B5004CE0A6 /* GuidelinePage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuidelinePage.swift; sourceTree = ""; }; - 0789AB962934C33200796B82 /* TabBarComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarComponent.swift; sourceTree = ""; }; - 0789AB982934C35A00796B82 /* SliderComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SliderComponent.swift; sourceTree = ""; }; - 07973C53287C7470004397D7 /* ODSColors+extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ODSColors+extension.swift"; sourceTree = ""; }; - 07973C55287C74CF004397D7 /* RGBA.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RGBA.swift; sourceTree = ""; }; - 079821CA29263C1200BE3116 /* ThemeablePreviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeablePreviews.swift; sourceTree = ""; }; - 079821CC2927BC3700BE3116 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Colors.xcassets; path = OrangeDesignSystemDemo/Colors.xcassets; sourceTree = ""; }; - 07A187B8293F531700E1AD72 /* SelectionListOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionListOptions.swift; sourceTree = ""; }; - 07A3382B29C31C7800A56BA1 /* ODSPrivacyNotice.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = ODSPrivacyNotice.html; path = OrangeDesignSystemDemo/Views/About/ODSPrivacyNotice.html; sourceTree = ""; }; - 07A3382C29C3633000A56BA1 /* ODSCGU.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = ODSCGU.html; path = OrangeDesignSystemDemo/Views/About/ODSCGU.html; sourceTree = ""; }; + 07210C402A8FAC6500507988 /* THIRD-PARTY.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = "THIRD-PARTY.md"; path = "../THIRD-PARTY.md"; sourceTree = ""; }; + 07210C412A8FAC6500507988 /* NOTICE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NOTICE.txt; path = ../NOTICE.txt; sourceTree = ""; }; + 07210C422A8FAC6500507988 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + 07210C462A8FACAA00507988 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; + 07210C482A8FAD1500507988 /* Fastfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Fastfile; path = fastlane/Fastfile; sourceTree = ""; }; + 07210C492A8FAD1600507988 /* Appfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Appfile; path = fastlane/Appfile; sourceTree = ""; }; + 07210C4C2A8FAD5900507988 /* Pluginfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Pluginfile; path = fastlane/Pluginfile; sourceTree = ""; }; + 077C37C12A9CED34003D6B51 /* Gemfile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Gemfile; path = ../Gemfile; sourceTree = ""; }; + 077C37C22A9CED5E003D6B51 /* .gitattributes */ = {isa = PBXFileReference; lastKnownFileType = text; name = .gitattributes; path = ../.gitattributes; sourceTree = ""; }; + 077C37C32A9CED5E003D6B51 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; name = .swiftlint.yml; path = ../.swiftlint.yml; sourceTree = ""; }; + 077C37C42A9CED5E003D6B51 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; name = .gitignore; path = ../.gitignore; sourceTree = ""; }; + 077C37C52A9CED5E003D6B51 /* .swiftformat */ = {isa = PBXFileReference; lastKnownFileType = text; name = .swiftformat; path = ../.swiftformat; sourceTree = ""; }; + 077C37CA2A9DD643003D6B51 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Colors.xcassets; path = OrangeDesignSystemDemo/Resources/Colors.xcassets; sourceTree = ""; }; + 077C37CB2A9DD643003D6B51 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = OrangeDesignSystemDemo/Resources/Assets.xcassets; sourceTree = ""; }; + 077C37CC2A9DD643003D6B51 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = OrangeDesignSystemDemo/Resources/Info.plist; sourceTree = ""; }; + 077C37CE2A9DD643003D6B51 /* Recipes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = Recipes.json; path = OrangeDesignSystemDemo/Resources/Recipes.json; sourceTree = ""; }; + 077C37D62A9DD6A3003D6B51 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 077C37E12A9DDACC003D6B51 /* PrivacyNotice.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = PrivacyNotice.html; path = OrangeDesignSystemDemo/Resources/PrivacyNotice.html; sourceTree = ""; }; + 077C37E22A9DDACC003D6B51 /* CGU.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = CGU.html; path = OrangeDesignSystemDemo/Resources/CGU.html; sourceTree = ""; }; + 077C37E52A9DDC1A003D6B51 /* MainTabView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainTabView.swift; path = OrangeDesignSystemDemo/MainTabView.swift; sourceTree = ""; }; + 077C37EB2A9DDC78003D6B51 /* AboutSceen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutSceen.swift; sourceTree = ""; }; + 077C37EC2A9DDC78003D6B51 /* AboutHtmlAndMarkdownView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutHtmlAndMarkdownView.swift; sourceTree = ""; }; + 077C37EF2A9DDC78003D6B51 /* CustomizableVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomizableVariant.swift; sourceTree = ""; }; + 077C37F02A9DDC78003D6B51 /* ComponentPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComponentPage.swift; sourceTree = ""; }; + 077C37F12A9DDC78003D6B51 /* Component.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Component.swift; sourceTree = ""; }; + 077C37F22A9DDC78003D6B51 /* ComponentList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComponentList.swift; sourceTree = ""; }; + 077C37F52A9DDC78003D6B51 /* ButtonsComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonsComponent.swift; sourceTree = ""; }; + 077C37F62A9DDC78003D6B51 /* IconVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IconVariant.swift; sourceTree = ""; }; + 077C37F72A9DDC79003D6B51 /* EmphasisAndFunctionnalVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmphasisAndFunctionnalVariant.swift; sourceTree = ""; }; + 077C37F92A9DDC79003D6B51 /* CapitalizedTextInputsVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CapitalizedTextInputsVariant.swift; sourceTree = ""; }; + 077C37FA2A9DDC79003D6B51 /* SecureVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecureVariant.swift; sourceTree = ""; }; + 077C37FB2A9DDC79003D6B51 /* TextFieldComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldComponent.swift; sourceTree = ""; }; + 077C37FD2A9DDC79003D6B51 /* ListComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListComponent.swift; sourceTree = ""; }; + 077C37FF2A9DDC79003D6B51 /* SelectionListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionListModel.swift; sourceTree = ""; }; + 077C38002A9DDC79003D6B51 /* SelectionListOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionListOptions.swift; sourceTree = ""; }; + 077C38012A9DDC79003D6B51 /* SelectionList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionList.swift; sourceTree = ""; }; + 077C38032A9DDC79003D6B51 /* StandardList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StandardList.swift; sourceTree = ""; }; + 077C38042A9DDC79003D6B51 /* StandardListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StandardListModel.swift; sourceTree = ""; }; + 077C38052A9DDC79003D6B51 /* StandardListOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StandardListOptions.swift; sourceTree = ""; }; + 077C38072A9DDC79003D6B51 /* ProgressBarVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressBarVariant.swift; sourceTree = ""; }; + 077C38082A9DDC79003D6B51 /* ProgressIndicatorComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressIndicatorComponent.swift; sourceTree = ""; }; + 077C38092A9DDC79003D6B51 /* ActivityIndicatorVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorVariant.swift; sourceTree = ""; }; + 077C380B2A9DDC79003D6B51 /* ChipsComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChipsComponent.swift; sourceTree = ""; }; + 077C380C2A9DDC79003D6B51 /* ChipsComponentModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChipsComponentModel.swift; sourceTree = ""; }; + 077C380E2A9DDC79003D6B51 /* CardVerticalHeaderFirstVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardVerticalHeaderFirstVariant.swift; sourceTree = ""; }; + 077C380F2A9DDC79003D6B51 /* CardExampleData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardExampleData.swift; sourceTree = ""; }; + 077C38102A9DDC79003D6B51 /* CardVerticalImageFirstVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardVerticalImageFirstVariant.swift; sourceTree = ""; }; + 077C38112A9DDC79003D6B51 /* CardHorizontalVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardHorizontalVariant.swift; sourceTree = ""; }; + 077C38122A9DDC79003D6B51 /* CardSmallVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardSmallVariant.swift; sourceTree = ""; }; + 077C38132A9DDC79003D6B51 /* CardComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardComponent.swift; sourceTree = ""; }; + 077C38152A9DDC79003D6B51 /* ToolBarVariantOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToolBarVariantOptions.swift; sourceTree = ""; }; + 077C38162A9DDC79003D6B51 /* ToolBarComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToolBarComponent.swift; sourceTree = ""; }; + 077C38182A9DDC79003D6B51 /* TabBarVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarVariant.swift; sourceTree = ""; }; + 077C38192A9DDC79003D6B51 /* TabBarComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarComponent.swift; sourceTree = ""; }; + 077C381B2A9DDC79003D6B51 /* NavigatinBarModifiers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigatinBarModifiers.swift; sourceTree = ""; }; + 077C381C2A9DDC79003D6B51 /* NavigationBarVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBarVariant.swift; sourceTree = ""; }; + 077C381D2A9DDC79003D6B51 /* NavigationBarComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBarComponent.swift; sourceTree = ""; }; + 077C381F2A9DDC79003D6B51 /* BannerVariantOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BannerVariantOptions.swift; sourceTree = ""; }; + 077C38202A9DDC79003D6B51 /* BannerComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BannerComponent.swift; sourceTree = ""; }; + 077C38232A9DDC79003D6B51 /* BottomSheetExpandingVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetExpandingVariant.swift; sourceTree = ""; }; + 077C38242A9DDC79003D6B51 /* BottomSheetExpandingVariantOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetExpandingVariantOptions.swift; sourceTree = ""; }; + 077C38262A9DDC79003D6B51 /* BottomSheetStandardVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetStandardVariant.swift; sourceTree = ""; }; + 077C38272A9DDC79003D6B51 /* BottomSheetComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetComponent.swift; sourceTree = ""; }; + 077C38292A9DDC79003D6B51 /* SlidersVariant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SlidersVariant.swift; sourceTree = ""; }; + 077C382A2A9DDC79003D6B51 /* SliderComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SliderComponent.swift; sourceTree = ""; }; + 077C382D2A9DDC79003D6B51 /* Guideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Guideline.swift; sourceTree = ""; }; + 077C382E2A9DDC79003D6B51 /* GuidelinePage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GuidelinePage.swift; sourceTree = ""; }; + 077C382F2A9DDC79003D6B51 /* GuidelinesList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GuidelinesList.swift; sourceTree = ""; }; + 077C38312A9DDC79003D6B51 /* ColorsPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorsPage.swift; sourceTree = ""; }; + 077C38332A9DDC79003D6B51 /* RGBA.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RGBA.swift; sourceTree = ""; }; + 077C38342A9DDC79003D6B51 /* ODSColors+extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ODSColors+extension.swift"; sourceTree = ""; }; + 077C38362A9DDC79003D6B51 /* ColorDetail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorDetail.swift; sourceTree = ""; }; + 077C38372A9DDC79003D6B51 /* ColorIllustration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorIllustration.swift; sourceTree = ""; }; + 077C38382A9DDC79003D6B51 /* ColorUsage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorUsage.swift; sourceTree = ""; }; + 077C38392A9DDC79003D6B51 /* ColorsGuideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorsGuideline.swift; sourceTree = ""; }; + 077C383B2A9DDC79003D6B51 /* TypographyGuideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypographyGuideline.swift; sourceTree = ""; }; + 077C383C2A9DDC79003D6B51 /* TypographyPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypographyPage.swift; sourceTree = ""; }; + 077C383E2A9DDC79003D6B51 /* SpacingsGuideline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpacingsGuideline.swift; sourceTree = ""; }; + 077C383F2A9DDC79003D6B51 /* SpacingsPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpacingsPage.swift; sourceTree = ""; }; + 077C38422A9DDC79003D6B51 /* AboutMyRecipeItemConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutMyRecipeItemConfiguration.swift; sourceTree = ""; }; + 077C38432A9DDC79003D6B51 /* AboutModule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutModule.swift; sourceTree = ""; }; + 077C38442A9DDC79003D6B51 /* AboutMyReviewsItemConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutMyReviewsItemConfiguration.swift; sourceTree = ""; }; + 077C38452A9DDC79003D6B51 /* AboutModuleModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutModuleModel.swift; sourceTree = ""; }; + 077C38462A9DDC79003D6B51 /* ModulesList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModulesList.swift; sourceTree = ""; }; + 077C38472A9DDC79003D6B51 /* CardViewDemo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardViewDemo.swift; sourceTree = ""; }; + 077C388A2A9DEE16003D6B51 /* AppNews.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = AppNews.json; path = OrangeDesignSystemDemo/Resources/AppNews.json; sourceTree = ""; }; + 077C388D2A9DEEDB003D6B51 /* Bundle+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+Extension.swift"; sourceTree = ""; }; + 077C388E2A9DEEDB003D6B51 /* ToastView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToastView.swift; sourceTree = ""; }; + 077C388F2A9DEEDB003D6B51 /* BackgroundBlurView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackgroundBlurView.swift; sourceTree = ""; }; + 077C38912A9DEEDB003D6B51 /* RecipeBookModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecipeBookModel.swift; sourceTree = ""; }; + 077C38922A9DEEDC003D6B51 /* RecipesBook.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecipesBook.swift; sourceTree = ""; }; + 077C38932A9DEEDC003D6B51 /* RecipesLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecipesLoader.swift; sourceTree = ""; }; + 077C38952A9DEEDC003D6B51 /* ThemeSelectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThemeSelectionView.swift; sourceTree = ""; }; + 077C38962A9DEEDC003D6B51 /* ThemeablePreviews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThemeablePreviews.swift; sourceTree = ""; }; 07AA3D4D28AE8B160001B75E /* Pods_OrangeDesignSystemDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Pods_OrangeDesignSystemDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 07C52F1F28D37A2B0067CFC0 /* CardExampleData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardExampleData.swift; sourceTree = ""; }; - 07C8234328AE68B2003B2C3A /* TextFieldComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldComponent.swift; sourceTree = ""; }; - 07C8234428AE68B2003B2C3A /* ChipsComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChipsComponent.swift; sourceTree = ""; }; - 07C8234928AE68B2003B2C3A /* NavigationBarComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBarComponent.swift; sourceTree = ""; }; - 07C8234A28AE68B2003B2C3A /* CardComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardComponent.swift; sourceTree = ""; }; - 07C8235828AE690F003B2C3A /* ComponentPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComponentPage.swift; sourceTree = ""; }; - 07C8236728AE823F003B2C3A /* ThemeSelectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThemeSelectionView.swift; sourceTree = ""; }; - 07CC45282923CAAD008BE71F /* BannerComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerComponent.swift; sourceTree = ""; }; - 07D3AEDF2968143700B36C3F /* ToolBarComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolBarComponent.swift; sourceTree = ""; }; - 07D3AEE12968169600B36C3F /* ToolBarVariantOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolBarVariantOptions.swift; sourceTree = ""; }; - 07DF838B293A5A2300DFBE31 /* StandardListOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StandardListOptions.swift; sourceTree = ""; }; - 07E37F6128C73252003FF740 /* CardSmallVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSmallVariant.swift; sourceTree = ""; }; - 07E37F6328C74540003FF740 /* CardVerticalHeaderFirstVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardVerticalHeaderFirstVariant.swift; sourceTree = ""; }; - 07E37F6528C745E1003FF740 /* CardVerticalImageFirstVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardVerticalImageFirstVariant.swift; sourceTree = ""; }; - 07F141BF298BC213007C8575 /* CardHorizontalVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardHorizontalVariant.swift; sourceTree = ""; }; - 07F141C1298C0644007C8575 /* RecipeBookModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecipeBookModel.swift; sourceTree = ""; }; - 07F141C3298CF4CB007C8575 /* RecipesBook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecipesBook.swift; sourceTree = ""; }; - 07F141C629928B96007C8575 /* BottomSheetComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetComponent.swift; sourceTree = ""; }; - 07F343852943458C0043335A /* ProgressIndicatorComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressIndicatorComponent.swift; sourceTree = ""; }; 2ACFE972C59B1460F410852D /* Pods-OrangeDesignSystemDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OrangeDesignSystemDemo.debug.xcconfig"; path = "Target Support Files/Pods-OrangeDesignSystemDemo/Pods-OrangeDesignSystemDemo.debug.xcconfig"; sourceTree = ""; }; 759CBF84E701D1BE3D68D365 /* Pods_OrangeDesignSystemDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OrangeDesignSystemDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B655A0B148F11BB69BCFF556 /* Pods-OrangeDesignSystemDemoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OrangeDesignSystemDemoTests.debug.xcconfig"; path = "Target Support Files/Pods-OrangeDesignSystemDemoTests/Pods-OrangeDesignSystemDemoTests.debug.xcconfig"; sourceTree = ""; }; @@ -183,35 +221,13 @@ EB0AA530275652AE0012E192 /* OrangeDesignSystemDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OrangeDesignSystemDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; EB0AA540275652AF0012E192 /* OrangeDesignSystemDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OrangeDesignSystemDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; EB0AA54A275652AF0012E192 /* OrangeDesignSystemDemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OrangeDesignSystemDemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - F90D9765280030A6006D29FC /* TypographyPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypographyPage.swift; sourceTree = ""; }; - F90D976B280030C4006D29FC /* MainTabView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainTabView.swift; path = OrangeDesignSystemDemo/Views/MainTabView.swift; sourceTree = ""; }; - F90D976E28003104006D29FC /* ODSDemoAboutView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ODSDemoAboutView.swift; sourceTree = ""; }; - F90D976F28003104006D29FC /* ODSDemoAboutConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ODSDemoAboutConfig.swift; sourceTree = ""; }; - F90D977228003104006D29FC /* ODSDemoAboutContentsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ODSDemoAboutContentsView.swift; sourceTree = ""; }; - F90D977F28003281006D29FC /* ModulesList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ModulesList.swift; path = OrangeDesignSystemDemo/Views/Modules/ModulesList.swift; sourceTree = ""; }; - F90D978028003281006D29FC /* CardViewDemo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CardViewDemo.swift; path = OrangeDesignSystemDemo/Views/Modules/CardViewDemo.swift; sourceTree = ""; }; - F90D978428003299006D29FC /* AboutConfigDemo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AboutConfigDemo.swift; path = OrangeDesignSystemDemo/Views/Modules/AboutConfigDemo.swift; sourceTree = ""; }; - F90D978628005A4A006D29FC /* ComponentList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ComponentList.swift; path = OrangeDesignSystemDemo/Views/Components/ComponentList.swift; sourceTree = ""; }; F913B85F2767969E001CB0AA /* Package.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Package.swift; path = ../Package.swift; sourceTree = ""; }; - F913B86827679EE9001CB0AA /* .swiftlint.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; name = .swiftlint.yml; path = ../.swiftlint.yml; sourceTree = ""; }; - F913B86927679EE9001CB0AA /* .swiftformat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = .swiftformat; path = ../.swiftformat; sourceTree = ""; }; - F94F90BD28328CAE00F06304 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = OrangeDesignSystemDemo/Info.plist; sourceTree = ""; }; - F96A3E11280451660086B9BF /* ColorsPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorsPage.swift; sourceTree = ""; }; - F96A3E12280451660086B9BF /* ColorUsage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorUsage.swift; sourceTree = ""; }; - F96A3E14280451660086B9BF /* ColorDetail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorDetail.swift; sourceTree = ""; }; - F96A3E16280451660086B9BF /* ColorIllustration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorIllustration.swift; sourceTree = ""; }; - F96A3E1C280451FE0086B9BF /* GuidelinesList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GuidelinesList.swift; sourceTree = ""; }; - F96A3E1F280452960086B9BF /* Bundle+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+Extension.swift"; sourceTree = ""; }; - F96A3E21280452960086B9BF /* BackgroundBlurView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackgroundBlurView.swift; sourceTree = ""; }; - F99FF06E2767AE2A006236A0 /* OrangeDesignSystemDemoApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OrangeDesignSystemDemoApp.swift; path = OrangeDesignSystemDemo/OrangeDesignSystemDemoApp.swift; sourceTree = ""; }; - F99FF06F2767AE2A006236A0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = OrangeDesignSystemDemo/Assets.xcassets; sourceTree = ""; }; - F99FF07E2767AF62006236A0 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = "Preview Assets.xcassets"; path = "OrangeDesignSystemDemo/Preview Content/Preview Assets.xcassets"; sourceTree = ""; }; + F99FF06E2767AE2A006236A0 /* OrangeDesignSystemApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OrangeDesignSystemApp.swift; path = OrangeDesignSystemDemo/OrangeDesignSystemApp.swift; sourceTree = ""; }; F99FF08A2767B226006236A0 /* OrangeDesignSystemDemoTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OrangeDesignSystemDemoTests.swift; path = OrangeDesignSystemDemoTests/OrangeDesignSystemDemoTests.swift; sourceTree = ""; }; F99FF08E2767B265006236A0 /* OrangeDesignSystemDemoUITestsLaunchTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OrangeDesignSystemDemoUITestsLaunchTests.swift; path = OrangeDesignSystemDemoUITests/OrangeDesignSystemDemoUITestsLaunchTests.swift; sourceTree = ""; }; F99FF08F2767B265006236A0 /* OrangeDesignSystemDemoUITests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OrangeDesignSystemDemoUITests.swift; path = OrangeDesignSystemDemoUITests/OrangeDesignSystemDemoUITests.swift; sourceTree = ""; }; FB859C964985A86562A19502 /* Pods-OrangeDesignSystemDemoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OrangeDesignSystemDemoTests.release.xcconfig"; path = "Target Support Files/Pods-OrangeDesignSystemDemoTests/Pods-OrangeDesignSystemDemoTests.release.xcconfig"; sourceTree = ""; }; FD347D2C28D4C00B00F451B8 /* Podfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Podfile; sourceTree = ""; }; - FD88B6382930CE0600F58924 /* SlidersVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlidersVariant.swift; sourceTree = ""; }; FDDAB0F62809AB2100ACE5F4 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = CHANGELOG.md; path = ../CHANGELOG.md; sourceTree = ""; }; /* End PBXFileReference section */ @@ -245,450 +261,508 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 07000FB3292B6D1D00CE537A /* NavigationBar */ = { + 07210C342A8FA6BC00507988 /* ๐Ÿ›  */ = { isa = PBXGroup; children = ( - 07C8234928AE68B2003B2C3A /* NavigationBarComponent.swift */, - 075E611C29966EFB004CE0A6 /* NavigationBarVariant.swift */, - 07000FB6292B7B0700CE537A /* NavigatinBarModifiers.swift */, + 077C37C02A9CECFF003D6B51 /* Configuration */, + 07210C472A8FAD0000507988 /* Fastlane */, + F913B86227679A13001CB0AA /* Scripts */, + 07210C462A8FACAA00507988 /* LICENSE */, + 07210C412A8FAC6500507988 /* NOTICE.txt */, + 07210C422A8FAC6500507988 /* README.md */, + 07210C402A8FAC6500507988 /* THIRD-PARTY.md */, + FDDAB0F62809AB2100ACE5F4 /* CHANGELOG.md */, ); - path = NavigationBar; + name = "๐Ÿ› "; sourceTree = ""; }; - 07000FBA292FD9B600CE537A /* TabBar */ = { + 07210C472A8FAD0000507988 /* Fastlane */ = { isa = PBXGroup; children = ( - 0789AB962934C33200796B82 /* TabBarComponent.swift */, - 07000FBB292FD9D700CE537A /* TabBarVariant.swift */, + 07210C4C2A8FAD5900507988 /* Pluginfile */, + 07210C492A8FAD1600507988 /* Appfile */, + 07210C482A8FAD1500507988 /* Fastfile */, ); - path = TabBar; + name = Fastlane; sourceTree = ""; }; - 07081294293E297F002E38BB /* ProgressIndicator */ = { + 077C37C02A9CECFF003D6B51 /* Configuration */ = { isa = PBXGroup; children = ( - 07F343852943458C0043335A /* ProgressIndicatorComponent.swift */, - 07081295293E29A7002E38BB /* ProgressBarVariant.swift */, - 075E611E299672A9004CE0A6 /* ActivityIndicatorVariant.swift */, + 077C37C22A9CED5E003D6B51 /* .gitattributes */, + 077C37C42A9CED5E003D6B51 /* .gitignore */, + 077C37C52A9CED5E003D6B51 /* .swiftformat */, + 077C37C32A9CED5E003D6B51 /* .swiftlint.yml */, + 077C37C12A9CED34003D6B51 /* Gemfile */, ); - path = ProgressIndicator; + name = Configuration; sourceTree = ""; }; - 071D3EEF28884D8200DFD1C9 /* Spacings */ = { + 077C37C92A9DD5FF003D6B51 /* Resources */ = { isa = PBXGroup; children = ( - 071D3EF028884D8200DFD1C9 /* SpacingsPage.swift */, - 075E6129299AA904004CE0A6 /* SpacingsGuideline.swift */, + 077C37D52A9DD6A3003D6B51 /* Preview Content */, + 077C37CB2A9DD643003D6B51 /* Assets.xcassets */, + 077C37CA2A9DD643003D6B51 /* Colors.xcassets */, + 077C37CC2A9DD643003D6B51 /* Info.plist */, + 077C37CE2A9DD643003D6B51 /* Recipes.json */, + 077C388A2A9DEE16003D6B51 /* AppNews.json */, + 077C37E22A9DDACC003D6B51 /* CGU.html */, + 077C37E12A9DDACC003D6B51 /* PrivacyNotice.html */, ); - path = Spacings; + name = Resources; sourceTree = ""; }; - 07240127285B656400DFB9A9 /* Typography */ = { + 077C37D52A9DD6A3003D6B51 /* Preview Content */ = { isa = PBXGroup; children = ( - 075E612D299AAAEE004CE0A6 /* TypographyGuideline.swift */, - F90D9765280030A6006D29FC /* TypographyPage.swift */, + 077C37D62A9DD6A3003D6B51 /* Preview Assets.xcassets */, ); - path = Typography; + name = "Preview Content"; + path = "OrangeDesignSystemDemo/Resources/Preview Content"; sourceTree = ""; }; - 07387C6428F0639B00D8721F /* StandardVariant */ = { + 077C37E92A9DDC78003D6B51 /* Screens */ = { isa = PBXGroup; children = ( - 07387C6028F0486A00D8721F /* StandardList.swift */, - 07387C6828F0641400D8721F /* StandardListModel.swift */, - 07DF838B293A5A2300DFBE31 /* StandardListOptions.swift */, + 077C37EA2A9DDC78003D6B51 /* About */, + 077C37ED2A9DDC78003D6B51 /* Components */, + 077C382B2A9DDC79003D6B51 /* Guidelines */, + 077C382F2A9DDC79003D6B51 /* GuidelinesList.swift */, + 077C38402A9DDC79003D6B51 /* Modules */, + ); + name = Screens; + path = OrangeDesignSystemDemo/Screens; + sourceTree = ""; + }; + 077C37EA2A9DDC78003D6B51 /* About */ = { + isa = PBXGroup; + children = ( + 077C37EB2A9DDC78003D6B51 /* AboutSceen.swift */, + 077C37EC2A9DDC78003D6B51 /* AboutHtmlAndMarkdownView.swift */, ); - path = StandardVariant; + path = About; sourceTree = ""; }; - 07387C6528F063A800D8721F /* SelectionVariant */ = { + 077C37ED2A9DDC78003D6B51 /* Components */ = { isa = PBXGroup; children = ( - 07387C5E28F02F4F00D8721F /* SelectionList.swift */, - 0735F63D293DF13200280AD4 /* SelectionListModel.swift */, - 07A187B8293F531700E1AD72 /* SelectionListOptions.swift */, + 077C37EE2A9DDC78003D6B51 /* Template */, + 077C37F32A9DDC78003D6B51 /* Pages */, + 077C37F22A9DDC78003D6B51 /* ComponentList.swift */, ); - path = SelectionVariant; + path = Components; sourceTree = ""; }; - 07389ACF291AB8DE000D7F4C /* TextFields */ = { + 077C37EE2A9DDC78003D6B51 /* Template */ = { isa = PBXGroup; children = ( - 07C8234328AE68B2003B2C3A /* TextFieldComponent.swift */, - 075E6120299686B9004CE0A6 /* CapitalizedTextInputsVariant.swift */, - 075E612229968A56004CE0A6 /* SecureVariant.swift */, + 077C37EF2A9DDC78003D6B51 /* CustomizableVariant.swift */, + 077C37F02A9DDC78003D6B51 /* ComponentPage.swift */, + 077C37F12A9DDC78003D6B51 /* Component.swift */, ); - path = TextFields; + path = Template; + sourceTree = ""; + }; + 077C37F32A9DDC78003D6B51 /* Pages */ = { + isa = PBXGroup; + children = ( + 077C37F42A9DDC78003D6B51 /* Buttons */, + 077C37F82A9DDC79003D6B51 /* TextFields */, + 077C37FC2A9DDC79003D6B51 /* Lists */, + 077C38062A9DDC79003D6B51 /* ProgressIndicator */, + 077C380A2A9DDC79003D6B51 /* Chips */, + 077C380D2A9DDC79003D6B51 /* Cards */, + 077C38142A9DDC79003D6B51 /* ToolBar */, + 077C38172A9DDC79003D6B51 /* TabBar */, + 077C381A2A9DDC79003D6B51 /* NavigationBar */, + 077C381E2A9DDC79003D6B51 /* Banners */, + 077C38212A9DDC79003D6B51 /* BottomSheet */, + 077C38282A9DDC79003D6B51 /* Sliders */, + ); + path = Pages; sourceTree = ""; }; - 0752EC2628EDBB3E0029A7BE /* Chips */ = { + 077C37F42A9DDC78003D6B51 /* Buttons */ = { isa = PBXGroup; children = ( - 07C8234428AE68B2003B2C3A /* ChipsComponent.swift */, - 0752EC2728EDBB540029A7BE /* ChipsComponentModel.swift */, + 077C37F52A9DDC78003D6B51 /* ButtonsComponent.swift */, + 077C37F62A9DDC78003D6B51 /* IconVariant.swift */, + 077C37F72A9DDC79003D6B51 /* EmphasisAndFunctionnalVariant.swift */, ); - path = Chips; + path = Buttons; sourceTree = ""; }; - 07535BAB29D31ACA0012F298 /* Extending */ = { + 077C37F82A9DDC79003D6B51 /* TextFields */ = { isa = PBXGroup; children = ( - 07535BAE29D713320012F298 /* BottomSheetExpandingVariant.swift */, - 07535BAD29D713320012F298 /* BottomSheetExpandingVariantOptions.swift */, + 077C37F92A9DDC79003D6B51 /* CapitalizedTextInputsVariant.swift */, + 077C37FA2A9DDC79003D6B51 /* SecureVariant.swift */, + 077C37FB2A9DDC79003D6B51 /* TextFieldComponent.swift */, ); - name = Extending; + path = TextFields; sourceTree = ""; }; - 07535BAC29D31AD60012F298 /* Standard */ = { + 077C37FC2A9DDC79003D6B51 /* Lists */ = { isa = PBXGroup; children = ( - 07535BA929D31A440012F298 /* BottomSheetStandardVariant.swift */, + 077C37FD2A9DDC79003D6B51 /* ListComponent.swift */, + 077C37FE2A9DDC79003D6B51 /* SelectionVariant */, + 077C38022A9DDC79003D6B51 /* StandardVariant */, ); - path = Standard; + path = Lists; sourceTree = ""; }; - 075462F628F474CC002E2E40 /* Buttons */ = { + 077C37FE2A9DDC79003D6B51 /* SelectionVariant */ = { isa = PBXGroup; children = ( - 075462F728F474CC002E2E40 /* ButtonsComponent.swift */, - 075462F928F474CC002E2E40 /* EmphasisAndFunctionnalVariant.swift */, - 075E611829966CE5004CE0A6 /* IconVariant.swift */, + 077C37FF2A9DDC79003D6B51 /* SelectionListModel.swift */, + 077C38002A9DDC79003D6B51 /* SelectionListOptions.swift */, + 077C38012A9DDC79003D6B51 /* SelectionList.swift */, ); - path = Buttons; + path = SelectionVariant; sourceTree = ""; }; - 075E5D6B2937871D009A801B /* Data */ = { + 077C38022A9DDC79003D6B51 /* StandardVariant */ = { isa = PBXGroup; children = ( - 075E5D6C29378735009A801B /* RecipesLoader.swift */, - 07F141C1298C0644007C8575 /* RecipeBookModel.swift */, - 07F141C3298CF4CB007C8575 /* RecipesBook.swift */, + 077C38032A9DDC79003D6B51 /* StandardList.swift */, + 077C38042A9DDC79003D6B51 /* StandardListModel.swift */, + 077C38052A9DDC79003D6B51 /* StandardListOptions.swift */, ); - path = Data; + path = StandardVariant; sourceTree = ""; }; - 075E6124299AA4BD004CE0A6 /* Template */ = { + 077C38062A9DDC79003D6B51 /* ProgressIndicator */ = { isa = PBXGroup; children = ( - 075E6125299AA4D4004CE0A6 /* Guideline.swift */, - 075E612F299B77B5004CE0A6 /* GuidelinePage.swift */, + 077C38072A9DDC79003D6B51 /* ProgressBarVariant.swift */, + 077C38082A9DDC79003D6B51 /* ProgressIndicatorComponent.swift */, + 077C38092A9DDC79003D6B51 /* ActivityIndicatorVariant.swift */, ); - path = Template; + path = ProgressIndicator; sourceTree = ""; }; - 07973C57287C74F1004397D7 /* Utils */ = { + 077C380A2A9DDC79003D6B51 /* Chips */ = { isa = PBXGroup; children = ( - 07973C55287C74CF004397D7 /* RGBA.swift */, - 07973C53287C7470004397D7 /* ODSColors+extension.swift */, + 077C380B2A9DDC79003D6B51 /* ChipsComponent.swift */, + 077C380C2A9DDC79003D6B51 /* ChipsComponentModel.swift */, ); - path = Utils; + path = Chips; sourceTree = ""; }; - 07C8233D28AE68B2003B2C3A /* Pages */ = { + 077C380D2A9DDC79003D6B51 /* Cards */ = { isa = PBXGroup; children = ( - 07F141C529928B96007C8575 /* BottomSheet */, - 07D3AEDE296813DA00B36C3F /* ToolBar */, - 07CC452A2923CF9C008BE71F /* Banners */, - 075462F628F474CC002E2E40 /* Buttons */, - 07E37F6028C73234003FF740 /* Cards */, - 0752EC2628EDBB3E0029A7BE /* Chips */, - 07C8233E28AE68B2003B2C3A /* Lists */, - 07000FB3292B6D1D00CE537A /* NavigationBar */, - 07081294293E297F002E38BB /* ProgressIndicator */, - FD88B6372930CDCB00F58924 /* Sliders */, - 07000FBA292FD9B600CE537A /* TabBar */, - 07389ACF291AB8DE000D7F4C /* TextFields */, - ); - name = Pages; - path = OrangeDesignSystemDemo/Views/Components/Pages; + 077C380E2A9DDC79003D6B51 /* CardVerticalHeaderFirstVariant.swift */, + 077C380F2A9DDC79003D6B51 /* CardExampleData.swift */, + 077C38102A9DDC79003D6B51 /* CardVerticalImageFirstVariant.swift */, + 077C38112A9DDC79003D6B51 /* CardHorizontalVariant.swift */, + 077C38122A9DDC79003D6B51 /* CardSmallVariant.swift */, + 077C38132A9DDC79003D6B51 /* CardComponent.swift */, + ); + path = Cards; sourceTree = ""; }; - 07C8233E28AE68B2003B2C3A /* Lists */ = { + 077C38142A9DDC79003D6B51 /* ToolBar */ = { isa = PBXGroup; children = ( - 07387C6528F063A800D8721F /* SelectionVariant */, - 07387C6428F0639B00D8721F /* StandardVariant */, - 07387C6228F062D900D8721F /* ListComponent.swift */, + 077C38152A9DDC79003D6B51 /* ToolBarVariantOptions.swift */, + 077C38162A9DDC79003D6B51 /* ToolBarComponent.swift */, ); - path = Lists; + path = ToolBar; sourceTree = ""; }; - 07C8235728AE690F003B2C3A /* Template */ = { + 077C38172A9DDC79003D6B51 /* TabBar */ = { isa = PBXGroup; children = ( - 07C8235828AE690F003B2C3A /* ComponentPage.swift */, - 07387C5C28F0068B00D8721F /* Component.swift */, - 07535BCE29DC57E60012F298 /* CustomizableVariant.swift */, + 077C38182A9DDC79003D6B51 /* TabBarVariant.swift */, + 077C38192A9DDC79003D6B51 /* TabBarComponent.swift */, ); - name = Template; - path = OrangeDesignSystemDemo/Views/Components/Template; + path = TabBar; sourceTree = ""; }; - 07C8236628AE823F003B2C3A /* Themes */ = { + 077C381A2A9DDC79003D6B51 /* NavigationBar */ = { isa = PBXGroup; children = ( - 07C8236728AE823F003B2C3A /* ThemeSelectionView.swift */, + 077C381B2A9DDC79003D6B51 /* NavigatinBarModifiers.swift */, + 077C381C2A9DDC79003D6B51 /* NavigationBarVariant.swift */, + 077C381D2A9DDC79003D6B51 /* NavigationBarComponent.swift */, ); - name = Themes; - path = OrangeDesignSystemDemo/Themes; + path = NavigationBar; sourceTree = ""; }; - 07CC452A2923CF9C008BE71F /* Banners */ = { + 077C381E2A9DDC79003D6B51 /* Banners */ = { isa = PBXGroup; children = ( - 07CC45282923CAAD008BE71F /* BannerComponent.swift */, - 075E611A29966D0C004CE0A6 /* BannerVariantOptions.swift */, + 077C381F2A9DDC79003D6B51 /* BannerVariantOptions.swift */, + 077C38202A9DDC79003D6B51 /* BannerComponent.swift */, ); path = Banners; sourceTree = ""; }; - 07D3AEDE296813DA00B36C3F /* ToolBar */ = { + 077C38212A9DDC79003D6B51 /* BottomSheet */ = { isa = PBXGroup; children = ( - 07D3AEDF2968143700B36C3F /* ToolBarComponent.swift */, - 07D3AEE12968169600B36C3F /* ToolBarVariantOptions.swift */, + 077C38222A9DDC79003D6B51 /* Expanding */, + 077C38252A9DDC79003D6B51 /* Standard */, + 077C38272A9DDC79003D6B51 /* BottomSheetComponent.swift */, ); - path = ToolBar; + path = BottomSheet; sourceTree = ""; }; - 07E37F6028C73234003FF740 /* Cards */ = { + 077C38222A9DDC79003D6B51 /* Expanding */ = { isa = PBXGroup; children = ( - 07C8234A28AE68B2003B2C3A /* CardComponent.swift */, - 07E37F6128C73252003FF740 /* CardSmallVariant.swift */, - 07E37F6328C74540003FF740 /* CardVerticalHeaderFirstVariant.swift */, - 07E37F6528C745E1003FF740 /* CardVerticalImageFirstVariant.swift */, - 07C52F1F28D37A2B0067CFC0 /* CardExampleData.swift */, - 07F141BF298BC213007C8575 /* CardHorizontalVariant.swift */, + 077C38232A9DDC79003D6B51 /* BottomSheetExpandingVariant.swift */, + 077C38242A9DDC79003D6B51 /* BottomSheetExpandingVariantOptions.swift */, ); - path = Cards; + path = Expanding; sourceTree = ""; }; - 07F141C529928B96007C8575 /* BottomSheet */ = { + 077C38252A9DDC79003D6B51 /* Standard */ = { isa = PBXGroup; children = ( - 07535BAC29D31AD60012F298 /* Standard */, - 07535BAB29D31ACA0012F298 /* Extending */, - 07F141C629928B96007C8575 /* BottomSheetComponent.swift */, + 077C38262A9DDC79003D6B51 /* BottomSheetStandardVariant.swift */, ); - path = BottomSheet; + path = Standard; sourceTree = ""; }; - 174EE48FFD62B367205CFF78 /* Frameworks */ = { + 077C38282A9DDC79003D6B51 /* Sliders */ = { isa = PBXGroup; children = ( - 07AA3D4D28AE8B160001B75E /* Pods_OrangeDesignSystemDemo.framework */, - 759CBF84E701D1BE3D68D365 /* Pods_OrangeDesignSystemDemo.framework */, - E816C9278060A8072007BFD0 /* Pods_OrangeDesignSystemDemoTests.framework */, + 077C38292A9DDC79003D6B51 /* SlidersVariant.swift */, + 077C382A2A9DDC79003D6B51 /* SliderComponent.swift */, ); - name = Frameworks; + path = Sliders; sourceTree = ""; }; - 5DEE13EE0B42A31B2EDDB804 /* Pods */ = { + 077C382B2A9DDC79003D6B51 /* Guidelines */ = { isa = PBXGroup; children = ( - 2ACFE972C59B1460F410852D /* Pods-OrangeDesignSystemDemo.debug.xcconfig */, - 021ED547747F959E94B4EA22 /* Pods-OrangeDesignSystemDemo.release.xcconfig */, - B655A0B148F11BB69BCFF556 /* Pods-OrangeDesignSystemDemoTests.debug.xcconfig */, - FB859C964985A86562A19502 /* Pods-OrangeDesignSystemDemoTests.release.xcconfig */, + 077C382C2A9DDC79003D6B51 /* Template */, + 077C38892A9DDD43003D6B51 /* Pages */, ); - path = Pods; + path = Guidelines; sourceTree = ""; }; - EB0AA527275652AE0012E192 = { + 077C382C2A9DDC79003D6B51 /* Template */ = { isa = PBXGroup; children = ( - FDDAB0F62809AB2100ACE5F4 /* CHANGELOG.md */, - F913B86727679DCC001CB0AA /* codeQuality */, - F913B86227679A13001CB0AA /* Scripts */, - F99FF06D2767ADF0006236A0 /* OrangeDesignSystemDemo */, - F99FF08D2767B242006236A0 /* OrangeDesignSystemDemoUITests */, - F99FF0892767B20C006236A0 /* OrangeDesignSystemDemoTests */, - EB0AA531275652AE0012E192 /* Products */, - 5DEE13EE0B42A31B2EDDB804 /* Pods */, - 174EE48FFD62B367205CFF78 /* Frameworks */, + 077C382D2A9DDC79003D6B51 /* Guideline.swift */, + 077C382E2A9DDC79003D6B51 /* GuidelinePage.swift */, ); + path = Template; sourceTree = ""; }; - EB0AA531275652AE0012E192 /* Products */ = { + 077C38302A9DDC79003D6B51 /* Colors */ = { isa = PBXGroup; children = ( - EB0AA530275652AE0012E192 /* OrangeDesignSystemDemo.app */, - EB0AA540275652AF0012E192 /* OrangeDesignSystemDemoTests.xctest */, - EB0AA54A275652AF0012E192 /* OrangeDesignSystemDemoUITests.xctest */, + 077C38312A9DDC79003D6B51 /* ColorsPage.swift */, + 077C38322A9DDC79003D6B51 /* Utils */, + 077C38352A9DDC79003D6B51 /* Views */, + 077C38392A9DDC79003D6B51 /* ColorsGuideline.swift */, ); - name = Products; + path = Colors; sourceTree = ""; }; - F90D9762280030A6006D29FC /* Guidelines */ = { + 077C38322A9DDC79003D6B51 /* Utils */ = { isa = PBXGroup; children = ( - 075E6124299AA4BD004CE0A6 /* Template */, - 071D3EEF28884D8200DFD1C9 /* Spacings */, - 07240127285B656400DFB9A9 /* Typography */, - F96A3E10280451660086B9BF /* Colors */, - F96A3E1C280451FE0086B9BF /* GuidelinesList.swift */, - ); - name = Guidelines; - path = OrangeDesignSystemDemo/Views/Guidelines; + 077C38332A9DDC79003D6B51 /* RGBA.swift */, + 077C38342A9DDC79003D6B51 /* ODSColors+extension.swift */, + ); + path = Utils; sourceTree = ""; }; - F90D976D28003104006D29FC /* About */ = { + 077C38352A9DDC79003D6B51 /* Views */ = { isa = PBXGroup; children = ( - F90D976E28003104006D29FC /* ODSDemoAboutView.swift */, - F90D976F28003104006D29FC /* ODSDemoAboutConfig.swift */, - F90D977228003104006D29FC /* ODSDemoAboutContentsView.swift */, + 077C38362A9DDC79003D6B51 /* ColorDetail.swift */, + 077C38372A9DDC79003D6B51 /* ColorIllustration.swift */, + 077C38382A9DDC79003D6B51 /* ColorUsage.swift */, ); - name = About; - path = OrangeDesignSystemDemo/Views/About; + path = Views; sourceTree = ""; }; - F913B86227679A13001CB0AA /* Scripts */ = { + 077C383A2A9DDC79003D6B51 /* Typography */ = { isa = PBXGroup; children = ( - FD347D2C28D4C00B00F451B8 /* Podfile */, - F913B85F2767969E001CB0AA /* Package.swift */, + 077C383B2A9DDC79003D6B51 /* TypographyGuideline.swift */, + 077C383C2A9DDC79003D6B51 /* TypographyPage.swift */, ); - name = Scripts; + path = Typography; sourceTree = ""; }; - F913B86727679DCC001CB0AA /* codeQuality */ = { + 077C383D2A9DDC79003D6B51 /* Spacings */ = { isa = PBXGroup; children = ( - F913B86927679EE9001CB0AA /* .swiftformat */, - F913B86827679EE9001CB0AA /* .swiftlint.yml */, + 077C383E2A9DDC79003D6B51 /* SpacingsGuideline.swift */, + 077C383F2A9DDC79003D6B51 /* SpacingsPage.swift */, ); - name = codeQuality; + path = Spacings; sourceTree = ""; }; - F96A3E10280451660086B9BF /* Colors */ = { + 077C38402A9DDC79003D6B51 /* Modules */ = { isa = PBXGroup; children = ( - 07973C57287C74F1004397D7 /* Utils */, - F96A3E13280451660086B9BF /* Views */, - 075E612B299AA988004CE0A6 /* ColorsGuideline.swift */, - F96A3E11280451660086B9BF /* ColorsPage.swift */, + 077C38412A9DDC79003D6B51 /* About */, + 077C38462A9DDC79003D6B51 /* ModulesList.swift */, + 077C38472A9DDC79003D6B51 /* CardViewDemo.swift */, ); - path = Colors; + path = Modules; sourceTree = ""; }; - F96A3E13280451660086B9BF /* Views */ = { + 077C38412A9DDC79003D6B51 /* About */ = { isa = PBXGroup; children = ( - F96A3E12280451660086B9BF /* ColorUsage.swift */, - F96A3E14280451660086B9BF /* ColorDetail.swift */, - F96A3E16280451660086B9BF /* ColorIllustration.swift */, + 077C38422A9DDC79003D6B51 /* AboutMyRecipeItemConfiguration.swift */, + 077C38432A9DDC79003D6B51 /* AboutModule.swift */, + 077C38442A9DDC79003D6B51 /* AboutMyReviewsItemConfiguration.swift */, + 077C38452A9DDC79003D6B51 /* AboutModuleModel.swift */, ); - path = Views; + path = About; sourceTree = ""; }; - F96A3E1E280452960086B9BF /* Utils */ = { + 077C38892A9DDD43003D6B51 /* Pages */ = { isa = PBXGroup; children = ( - 075E5D6B2937871D009A801B /* Data */, - F96A3E1F280452960086B9BF /* Bundle+Extension.swift */, - F96A3E21280452960086B9BF /* BackgroundBlurView.swift */, - 079821CA29263C1200BE3116 /* ThemeablePreviews.swift */, - 072DE104296DCE3E00229FCF /* ToastView.swift */, + 077C38302A9DDC79003D6B51 /* Colors */, + 077C383A2A9DDC79003D6B51 /* Typography */, + 077C383D2A9DDC79003D6B51 /* Spacings */, + ); + path = Pages; + sourceTree = ""; + }; + 077C388C2A9DEEDB003D6B51 /* Utils */ = { + isa = PBXGroup; + children = ( + 077C38A02A9E24DB003D6B51 /* UI */, + 077C38902A9DEEDB003D6B51 /* Domain */, ); name = Utils; - path = OrangeDesignSystemDemo/Views/Utils; + path = OrangeDesignSystemDemo/Utils; sourceTree = ""; }; - F99FF06D2767ADF0006236A0 /* OrangeDesignSystemDemo */ = { + 077C38902A9DEEDB003D6B51 /* Domain */ = { isa = PBXGroup; children = ( - F94F90BD28328CAE00F06304 /* Info.plist */, - FDD9DB7B27ECB8C90094B5CE /* Resources */, - F99FF07D2767AF4E006236A0 /* Preview Content */, - F99FF07C2767AF39006236A0 /* Views */, - F90D976B280030C4006D29FC /* MainTabView.swift */, - F99FF06E2767AE2A006236A0 /* OrangeDesignSystemDemoApp.swift */, - F99FF06F2767AE2A006236A0 /* Assets.xcassets */, - 079821CC2927BC3700BE3116 /* Colors.xcassets */, + 077C38A12A9E2512003D6B51 /* Recipes */, + 077C388D2A9DEEDB003D6B51 /* Bundle+Extension.swift */, ); - name = OrangeDesignSystemDemo; + path = Domain; sourceTree = ""; }; - F99FF07B2767AF2B006236A0 /* Components */ = { + 077C38942A9DEEDC003D6B51 /* Themes */ = { isa = PBXGroup; children = ( - 07C8235728AE690F003B2C3A /* Template */, - 07C8233D28AE68B2003B2C3A /* Pages */, - F90D978628005A4A006D29FC /* ComponentList.swift */, + 077C38952A9DEEDC003D6B51 /* ThemeSelectionView.swift */, + 077C38962A9DEEDC003D6B51 /* ThemeablePreviews.swift */, ); - name = Components; + path = Themes; sourceTree = ""; }; - F99FF07C2767AF39006236A0 /* Views */ = { + 077C38A02A9E24DB003D6B51 /* UI */ = { isa = PBXGroup; children = ( - 07C8236628AE823F003B2C3A /* Themes */, - F90D9762280030A6006D29FC /* Guidelines */, - F99FF07B2767AF2B006236A0 /* Components */, - F9F0BD1427B27ABA00B36DD8 /* Modules */, - F90D976D28003104006D29FC /* About */, - F96A3E1E280452960086B9BF /* Utils */, - ); - name = Views; + 077C38942A9DEEDC003D6B51 /* Themes */, + 077C388F2A9DEEDB003D6B51 /* BackgroundBlurView.swift */, + 077C388E2A9DEEDB003D6B51 /* ToastView.swift */, + ); + path = UI; sourceTree = ""; }; - F99FF07D2767AF4E006236A0 /* Preview Content */ = { + 077C38A12A9E2512003D6B51 /* Recipes */ = { isa = PBXGroup; children = ( - F99FF07E2767AF62006236A0 /* Preview Assets.xcassets */, + 077C38912A9DEEDB003D6B51 /* RecipeBookModel.swift */, + 077C38922A9DEEDC003D6B51 /* RecipesBook.swift */, + 077C38932A9DEEDC003D6B51 /* RecipesLoader.swift */, ); - name = "Preview Content"; + path = Recipes; sourceTree = ""; }; - F99FF0892767B20C006236A0 /* OrangeDesignSystemDemoTests */ = { + 174EE48FFD62B367205CFF78 /* Frameworks */ = { isa = PBXGroup; children = ( - F99FF08A2767B226006236A0 /* OrangeDesignSystemDemoTests.swift */, + 07AA3D4D28AE8B160001B75E /* Pods_OrangeDesignSystemDemo.framework */, + 759CBF84E701D1BE3D68D365 /* Pods_OrangeDesignSystemDemo.framework */, + E816C9278060A8072007BFD0 /* Pods_OrangeDesignSystemDemoTests.framework */, ); - name = OrangeDesignSystemDemoTests; + name = Frameworks; sourceTree = ""; }; - F99FF08D2767B242006236A0 /* OrangeDesignSystemDemoUITests */ = { + 5DEE13EE0B42A31B2EDDB804 /* Pods */ = { isa = PBXGroup; children = ( - F99FF08F2767B265006236A0 /* OrangeDesignSystemDemoUITests.swift */, - F99FF08E2767B265006236A0 /* OrangeDesignSystemDemoUITestsLaunchTests.swift */, + 2ACFE972C59B1460F410852D /* Pods-OrangeDesignSystemDemo.debug.xcconfig */, + 021ED547747F959E94B4EA22 /* Pods-OrangeDesignSystemDemo.release.xcconfig */, + B655A0B148F11BB69BCFF556 /* Pods-OrangeDesignSystemDemoTests.debug.xcconfig */, + FB859C964985A86562A19502 /* Pods-OrangeDesignSystemDemoTests.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + EB0AA527275652AE0012E192 = { + isa = PBXGroup; + children = ( + 07210C342A8FA6BC00507988 /* ๐Ÿ›  */, + F99FF06D2767ADF0006236A0 /* OrangeDesignSystemDemo */, + F99FF08D2767B242006236A0 /* OrangeDesignSystemDemoUITests */, + F99FF0892767B20C006236A0 /* OrangeDesignSystemDemoTests */, + EB0AA531275652AE0012E192 /* Products */, + 5DEE13EE0B42A31B2EDDB804 /* Pods */, + 174EE48FFD62B367205CFF78 /* Frameworks */, ); - name = OrangeDesignSystemDemoUITests; sourceTree = ""; }; - F9F0BD1427B27ABA00B36DD8 /* Modules */ = { + EB0AA531275652AE0012E192 /* Products */ = { isa = PBXGroup; children = ( - F90D977F28003281006D29FC /* ModulesList.swift */, - F90D978428003299006D29FC /* AboutConfigDemo.swift */, - F90D978028003281006D29FC /* CardViewDemo.swift */, + EB0AA530275652AE0012E192 /* OrangeDesignSystemDemo.app */, + EB0AA540275652AF0012E192 /* OrangeDesignSystemDemoTests.xctest */, + EB0AA54A275652AF0012E192 /* OrangeDesignSystemDemoUITests.xctest */, ); - name = Modules; + name = Products; sourceTree = ""; }; - FD88B6372930CDCB00F58924 /* Sliders */ = { + F913B86227679A13001CB0AA /* Scripts */ = { isa = PBXGroup; children = ( - 0789AB982934C35A00796B82 /* SliderComponent.swift */, - FD88B6382930CE0600F58924 /* SlidersVariant.swift */, + FD347D2C28D4C00B00F451B8 /* Podfile */, + F913B85F2767969E001CB0AA /* Package.swift */, ); - path = Sliders; + name = Scripts; + sourceTree = ""; + }; + F99FF06D2767ADF0006236A0 /* OrangeDesignSystemDemo */ = { + isa = PBXGroup; + children = ( + 077C37E92A9DDC78003D6B51 /* Screens */, + 077C388C2A9DEEDB003D6B51 /* Utils */, + 077C37C92A9DD5FF003D6B51 /* Resources */, + F99FF06E2767AE2A006236A0 /* OrangeDesignSystemApp.swift */, + 077C37E52A9DDC1A003D6B51 /* MainTabView.swift */, + ); + name = OrangeDesignSystemDemo; sourceTree = ""; }; - FDD9DB7B27ECB8C90094B5CE /* Resources */ = { + F99FF0892767B20C006236A0 /* OrangeDesignSystemDemoTests */ = { isa = PBXGroup; children = ( - 07A3382C29C3633000A56BA1 /* ODSCGU.html */, - 075E5D6E29379164009A801B /* Recipes.json */, - 07A3382B29C31C7800A56BA1 /* ODSPrivacyNotice.html */, + F99FF08A2767B226006236A0 /* OrangeDesignSystemDemoTests.swift */, ); - name = Resources; + name = OrangeDesignSystemDemoTests; + sourceTree = ""; + }; + F99FF08D2767B242006236A0 /* OrangeDesignSystemDemoUITests */ = { + isa = PBXGroup; + children = ( + F99FF08F2767B265006236A0 /* OrangeDesignSystemDemoUITests.swift */, + F99FF08E2767B265006236A0 /* OrangeDesignSystemDemoUITestsLaunchTests.swift */, + ); + name = OrangeDesignSystemDemoUITests; sourceTree = ""; }; /* End PBXGroup section */ @@ -808,13 +882,14 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - FDDAB0F72809B39900ACE5F4 /* CHANGELOG.md in Resources */, - 075E5D6F29379164009A801B /* Recipes.json in Resources */, - 07A3382E29C4B1A400A56BA1 /* ODSPrivacyNotice.html in Resources */, - 07A3382D29C4B1A000A56BA1 /* ODSCGU.html in Resources */, - F99FF07F2767AF62006236A0 /* Preview Assets.xcassets in Resources */, - 079821CD2927BC3700BE3116 /* Colors.xcassets in Resources */, - F99FF0742767AE2A006236A0 /* Assets.xcassets in Resources */, + 077C388B2A9DEE16003D6B51 /* AppNews.json in Resources */, + 077C37E32A9DDACC003D6B51 /* PrivacyNotice.html in Resources */, + 077C37D32A9DD643003D6B51 /* Recipes.json in Resources */, + 077C38A22AA0DD68003D6B51 /* CHANGELOG.md in Resources */, + 077C37D72A9DD6A4003D6B51 /* Preview Assets.xcassets in Resources */, + 077C37E42A9DDACC003D6B51 /* CGU.html in Resources */, + 077C38A52AA215BC003D6B51 /* Assets.xcassets in Resources */, + 077C37CF2A9DD643003D6B51 /* Colors.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -942,83 +1017,81 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 075E6121299686B9004CE0A6 /* CapitalizedTextInputsVariant.swift in Sources */, - 07CC45292923CAAD008BE71F /* BannerComponent.swift in Sources */, - 07C8235628AE68B2003B2C3A /* CardComponent.swift in Sources */, - 075E6130299B77B5004CE0A6 /* GuidelinePage.swift in Sources */, - 07387C6128F0486A00D8721F /* StandardList.swift in Sources */, - 07DF838C293A5A2300DFBE31 /* StandardListOptions.swift in Sources */, - F90D977828003104006D29FC /* ODSDemoAboutContentsView.swift in Sources */, - 0735F63E293DF13200280AD4 /* SelectionListModel.swift in Sources */, - F96A3E23280452960086B9BF /* Bundle+Extension.swift in Sources */, - 07D3AEE02968143700B36C3F /* ToolBarComponent.swift in Sources */, - 07387C5D28F0068B00D8721F /* Component.swift in Sources */, - F90D978728005A4A006D29FC /* ComponentList.swift in Sources */, - 07387C6928F0641400D8721F /* StandardListModel.swift in Sources */, - 0789AB992934C35B00796B82 /* SliderComponent.swift in Sources */, - 07535BAA29D31A440012F298 /* BottomSheetStandardVariant.swift in Sources */, - 07973C54287C7470004397D7 /* ODSColors+extension.swift in Sources */, - F90D977428003104006D29FC /* ODSDemoAboutView.swift in Sources */, - F96A3E19280451660086B9BF /* ColorDetail.swift in Sources */, - 07A187B9293F531700E1AD72 /* SelectionListOptions.swift in Sources */, - 07000FBC292FD9D700CE537A /* TabBarVariant.swift in Sources */, - 07D3AEE22968169600B36C3F /* ToolBarVariantOptions.swift in Sources */, - 07F343862943458D0043335A /* ProgressIndicatorComponent.swift in Sources */, - 07C8235528AE68B2003B2C3A /* NavigationBarComponent.swift in Sources */, - 075E612A299AA904004CE0A6 /* SpacingsGuideline.swift in Sources */, - 075E612E299AAAEE004CE0A6 /* TypographyGuideline.swift in Sources */, - 075E611929966CE5004CE0A6 /* IconVariant.swift in Sources */, - 075E611B29966D0C004CE0A6 /* BannerVariantOptions.swift in Sources */, - 0789AB972934C33200796B82 /* TabBarComponent.swift in Sources */, - 075462FA28F474CC002E2E40 /* ButtonsComponent.swift in Sources */, - F90D978528003299006D29FC /* AboutConfigDemo.swift in Sources */, - F90D9768280030A6006D29FC /* TypographyPage.swift in Sources */, - F96A3E17280451660086B9BF /* ColorsPage.swift in Sources */, - 07F141C829928B96007C8575 /* BottomSheetComponent.swift in Sources */, - 07C8234F28AE68B2003B2C3A /* TextFieldComponent.swift in Sources */, - 071D3EF128884D8200DFD1C9 /* SpacingsPage.swift in Sources */, - 07535BCF29DC57E60012F298 /* CustomizableVariant.swift in Sources */, - 07C8236828AE823F003B2C3A /* ThemeSelectionView.swift in Sources */, - F90D9768280030A6006D29FC /* TypographyPage.swift in Sources */, - 07387C5F28F02F4F00D8721F /* SelectionList.swift in Sources */, - 07535BAF29D713320012F298 /* BottomSheetExpandingVariantOptions.swift in Sources */, - F96A3E17280451660086B9BF /* ColorsPage.swift in Sources */, - 07C8234F28AE68B2003B2C3A /* TextFieldComponent.swift in Sources */, - 075E612C299AA988004CE0A6 /* ColorsGuideline.swift in Sources */, - 075E6126299AA4D4004CE0A6 /* Guideline.swift in Sources */, - 07F141C4298CF4CB007C8575 /* RecipesBook.swift in Sources */, - 071D3EF128884D8200DFD1C9 /* SpacingsPage.swift in Sources */, - 079821CB29263C1200BE3116 /* ThemeablePreviews.swift in Sources */, - 075462FC28F474CC002E2E40 /* EmphasisAndFunctionnalVariant.swift in Sources */, - 07C8235028AE68B2003B2C3A /* ChipsComponent.swift in Sources */, - 07081296293E29A7002E38BB /* ProgressBarVariant.swift in Sources */, - 07000FB7292B7B0700CE537A /* NavigatinBarModifiers.swift in Sources */, - 07C52F2028D37A2B0067CFC0 /* CardExampleData.swift in Sources */, - 075E612329968A56004CE0A6 /* SecureVariant.swift in Sources */, - 072DE105296DCE3E00229FCF /* ToastView.swift in Sources */, - F90D978328003281006D29FC /* CardViewDemo.swift in Sources */, - F90D976C280030C4006D29FC /* MainTabView.swift in Sources */, - 07F141C0298BC213007C8575 /* CardHorizontalVariant.swift in Sources */, - 0752EC2828EDBB540029A7BE /* ChipsComponentModel.swift in Sources */, - F96A3E18280451660086B9BF /* ColorUsage.swift in Sources */, - 075E5D6D29378735009A801B /* RecipesLoader.swift in Sources */, - F90D977528003104006D29FC /* ODSDemoAboutConfig.swift in Sources */, - 07535BB029D713320012F298 /* BottomSheetExpandingVariant.swift in Sources */, - 07C8235928AE690F003B2C3A /* ComponentPage.swift in Sources */, - 07F141C2298C0644007C8575 /* RecipeBookModel.swift in Sources */, - 07387C6328F062D900D8721F /* ListComponent.swift in Sources */, - 07E37F6428C74540003FF740 /* CardVerticalHeaderFirstVariant.swift in Sources */, - 075E611D29966EFB004CE0A6 /* NavigationBarVariant.swift in Sources */, - FD88B6392930CE0600F58924 /* SlidersVariant.swift in Sources */, - F96A3E1D280451FE0086B9BF /* GuidelinesList.swift in Sources */, - 07E37F6228C73252003FF740 /* CardSmallVariant.swift in Sources */, - 075E611F299672A9004CE0A6 /* ActivityIndicatorVariant.swift in Sources */, - 07973C56287C74CF004397D7 /* RGBA.swift in Sources */, - F96A3E25280452960086B9BF /* BackgroundBlurView.swift in Sources */, - F90D978228003281006D29FC /* ModulesList.swift in Sources */, - F96A3E1B280451660086B9BF /* ColorIllustration.swift in Sources */, - 07E37F6628C745E1003FF740 /* CardVerticalImageFirstVariant.swift in Sources */, - F99FF0732767AE2A006236A0 /* OrangeDesignSystemDemoApp.swift in Sources */, + 077C384F2A9DDC79003D6B51 /* IconVariant.swift in Sources */, + 077C38522A9DDC79003D6B51 /* SecureVariant.swift in Sources */, + 077C38642A9DDC79003D6B51 /* CardSmallVariant.swift in Sources */, + 077C38662A9DDC79003D6B51 /* ToolBarVariantOptions.swift in Sources */, + 077C38652A9DDC79003D6B51 /* CardComponent.swift in Sources */, + 077C385B2A9DDC79003D6B51 /* ProgressBarVariant.swift in Sources */, + 077C38862A9DDC79003D6B51 /* AboutModuleModel.swift in Sources */, + 077C387C2A9DDC79003D6B51 /* ColorIllustration.swift in Sources */, + 077C38782A9DDC79003D6B51 /* ColorsPage.swift in Sources */, + 077C385E2A9DDC79003D6B51 /* ChipsComponent.swift in Sources */, + 077C38482A9DDC79003D6B51 /* AboutSceen.swift in Sources */, + 077C38672A9DDC79003D6B51 /* ToolBarComponent.swift in Sources */, + 077C38812A9DDC79003D6B51 /* SpacingsGuideline.swift in Sources */, + 077C38852A9DDC79003D6B51 /* AboutMyReviewsItemConfiguration.swift in Sources */, + 077C387A2A9DDC79003D6B51 /* ODSColors+extension.swift in Sources */, + 077C38732A9DDC79003D6B51 /* SlidersVariant.swift in Sources */, + 077C38702A9DDC79003D6B51 /* BottomSheetExpandingVariantOptions.swift in Sources */, + 077C384C2A9DDC79003D6B51 /* Component.swift in Sources */, + 077C38722A9DDC79003D6B51 /* BottomSheetComponent.swift in Sources */, + 077C38762A9DDC79003D6B51 /* GuidelinePage.swift in Sources */, + 077C38752A9DDC79003D6B51 /* Guideline.swift in Sources */, + 077C386A2A9DDC79003D6B51 /* NavigatinBarModifiers.swift in Sources */, + 077C387B2A9DDC79003D6B51 /* ColorDetail.swift in Sources */, + 077C386B2A9DDC79003D6B51 /* NavigationBarVariant.swift in Sources */, + 077C38542A9DDC79003D6B51 /* ListComponent.swift in Sources */, + 077C385A2A9DDC79003D6B51 /* StandardListOptions.swift in Sources */, + 077C38492A9DDC79003D6B51 /* AboutHtmlAndMarkdownView.swift in Sources */, + 077C389D2A9DEEDC003D6B51 /* ThemeSelectionView.swift in Sources */, + 077C386E2A9DDC79003D6B51 /* BannerComponent.swift in Sources */, + 077C38982A9DEEDC003D6B51 /* ToastView.swift in Sources */, + 077C38992A9DEEDC003D6B51 /* BackgroundBlurView.swift in Sources */, + 077C38582A9DDC79003D6B51 /* StandardList.swift in Sources */, + 077C387D2A9DDC79003D6B51 /* ColorUsage.swift in Sources */, + 077C38822A9DDC79003D6B51 /* SpacingsPage.swift in Sources */, + 077C384A2A9DDC79003D6B51 /* CustomizableVariant.swift in Sources */, + 077C389B2A9DEEDC003D6B51 /* RecipesBook.swift in Sources */, + 077C38572A9DDC79003D6B51 /* SelectionList.swift in Sources */, + 077C38802A9DDC79003D6B51 /* TypographyPage.swift in Sources */, + 077C38832A9DDC79003D6B51 /* AboutMyRecipeItemConfiguration.swift in Sources */, + 077C38972A9DEEDC003D6B51 /* Bundle+Extension.swift in Sources */, + 077C38532A9DDC79003D6B51 /* TextFieldComponent.swift in Sources */, + 077C38872A9DDC79003D6B51 /* ModulesList.swift in Sources */, + 077C38712A9DDC79003D6B51 /* BottomSheetStandardVariant.swift in Sources */, + 077C384B2A9DDC79003D6B51 /* ComponentPage.swift in Sources */, + 077C385F2A9DDC79003D6B51 /* ChipsComponentModel.swift in Sources */, + 077C38592A9DDC79003D6B51 /* StandardListModel.swift in Sources */, + 077C38772A9DDC79003D6B51 /* GuidelinesList.swift in Sources */, + 077C38842A9DDC79003D6B51 /* AboutModule.swift in Sources */, + 077C38552A9DDC79003D6B51 /* SelectionListModel.swift in Sources */, + 077C389E2A9DEEDC003D6B51 /* ThemeablePreviews.swift in Sources */, + 077C386D2A9DDC79003D6B51 /* BannerVariantOptions.swift in Sources */, + 077C38682A9DDC79003D6B51 /* TabBarVariant.swift in Sources */, + 077C384E2A9DDC79003D6B51 /* ButtonsComponent.swift in Sources */, + 077C38792A9DDC79003D6B51 /* RGBA.swift in Sources */, + 077C386C2A9DDC79003D6B51 /* NavigationBarComponent.swift in Sources */, + 077C38602A9DDC79003D6B51 /* CardVerticalHeaderFirstVariant.swift in Sources */, + 077C38622A9DDC79003D6B51 /* CardVerticalImageFirstVariant.swift in Sources */, + 077C38692A9DDC79003D6B51 /* TabBarComponent.swift in Sources */, + 077C387E2A9DDC79003D6B51 /* ColorsGuideline.swift in Sources */, + 077C386F2A9DDC79003D6B51 /* BottomSheetExpandingVariant.swift in Sources */, + 077C385C2A9DDC79003D6B51 /* ProgressIndicatorComponent.swift in Sources */, + 077C37E62A9DDC1A003D6B51 /* MainTabView.swift in Sources */, + 077C385D2A9DDC79003D6B51 /* ActivityIndicatorVariant.swift in Sources */, + 077C38612A9DDC79003D6B51 /* CardExampleData.swift in Sources */, + 077C384D2A9DDC79003D6B51 /* ComponentList.swift in Sources */, + 077C38512A9DDC79003D6B51 /* CapitalizedTextInputsVariant.swift in Sources */, + 077C38632A9DDC79003D6B51 /* CardHorizontalVariant.swift in Sources */, + 077C38882A9DDC79003D6B51 /* CardViewDemo.swift in Sources */, + 077C38562A9DDC79003D6B51 /* SelectionListOptions.swift in Sources */, + 077C387F2A9DDC79003D6B51 /* TypographyGuideline.swift in Sources */, + 077C389C2A9DEEDC003D6B51 /* RecipesLoader.swift in Sources */, + 077C38742A9DDC79003D6B51 /* SliderComponent.swift in Sources */, + 077C389A2A9DEEDC003D6B51 /* RecipeBookModel.swift in Sources */, + F99FF0732767AE2A006236A0 /* OrangeDesignSystemApp.swift in Sources */, + 077C38502A9DDC79003D6B51 /* EmphasisAndFunctionnalVariant.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1182,11 +1255,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1652713510; - DEVELOPMENT_ASSET_PATHS = "\"OrangeDesignSystemDemo/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"OrangeDesignSystemDemo/Resources/Preview Content\""; DEVELOPMENT_TEAM = MG2LSJNJB6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = OrangeDesignSystemDemo/Info.plist; + INFOPLIST_FILE = OrangeDesignSystemDemo/Resources/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Orange Design System"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -1198,7 +1271,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.12.0; + MARKETING_VERSION = 0.13.0; PRODUCT_BUNDLE_IDENTIFIER = "soft.cocoa.ods-ios-demo.dev"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1217,11 +1290,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1652713510; - DEVELOPMENT_ASSET_PATHS = "\"OrangeDesignSystemDemo/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"OrangeDesignSystemDemo/Resources/Preview Content\""; DEVELOPMENT_TEAM = MG2LSJNJB6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = OrangeDesignSystemDemo/Info.plist; + INFOPLIST_FILE = OrangeDesignSystemDemo/Resources/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Orange Design System"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -1233,7 +1306,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.12.0; + MARKETING_VERSION = 0.13.0; PRODUCT_BUNDLE_IDENTIFIER = "soft.cocoa.ods-ios-demo.dev"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcworkspace/xcshareddata/IDETemplateMacros.plist b/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcworkspace/xcshareddata/IDETemplateMacros.plist new file mode 100644 index 00000000..8a408488 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo.xcworkspace/xcshareddata/IDETemplateMacros.plist @@ -0,0 +1,29 @@ + + + + + FILEHEADER + // +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// + + \ No newline at end of file diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/1024.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/1024.png deleted file mode 100644 index 068db44e..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/1024.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120-1.png deleted file mode 100644 index fa6a1bae..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120.png deleted file mode 100644 index fa6a1bae..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/120.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/152.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/152.png deleted file mode 100644 index 2ae4e6f3..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/152.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/167.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/167.png deleted file mode 100644 index 668e2e2b..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/167.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/180.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/180.png deleted file mode 100644 index dd7b8f19..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/180.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/20.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/20.png deleted file mode 100644 index 2bcb1876..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/20.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/29.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/29.png deleted file mode 100644 index ad6b0a71..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/29.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-1.png deleted file mode 100644 index 2c5d0942..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-2.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-2.png deleted file mode 100644 index 2c5d0942..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40-2.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40.png deleted file mode 100644 index 2c5d0942..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/40.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58-1.png deleted file mode 100644 index dd9bf264..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58.png deleted file mode 100644 index dd9bf264..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/58.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/60.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/60.png deleted file mode 100644 index 7b6bc288..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/60.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/76.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/76.png deleted file mode 100644 index 3f3961db..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/76.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80-1.png deleted file mode 100644 index 4c072fe0..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80.png deleted file mode 100644 index 4c072fe0..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/80.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/87.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/87.png deleted file mode 100644 index 5c2c87b2..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/87.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/1024.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/1024.png deleted file mode 100644 index cce12d35..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/1024.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120-1.png deleted file mode 100644 index cf36d183..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120.png deleted file mode 100644 index cf36d183..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/120.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/152.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/152.png deleted file mode 100644 index 2c6e225f..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/152.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/167.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/167.png deleted file mode 100644 index 81d8c0a7..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/167.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/180.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/180.png deleted file mode 100644 index c3ac393c..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/180.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/20.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/20.png deleted file mode 100644 index ea7acd85..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/20.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/29.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/29.png deleted file mode 100644 index 92fbc403..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/29.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-1.png deleted file mode 100644 index fc4a2b3a..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-2.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-2.png deleted file mode 100644 index fc4a2b3a..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40-2.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40.png deleted file mode 100644 index fc4a2b3a..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/40.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58-1.png deleted file mode 100644 index 63d4c6ee..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58.png deleted file mode 100644 index 63d4c6ee..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/58.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/60.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/60.png deleted file mode 100644 index ba89ff51..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/60.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/76.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/76.png deleted file mode 100644 index 2e62c2e7..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/76.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80-1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80-1.png deleted file mode 100644 index a82f957e..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80-1.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80.png deleted file mode 100644 index a82f957e..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/80.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/87.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/87.png deleted file mode 100644 index 24ccf7a0..00000000 Binary files a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/87.png and /dev/null differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/MainTabView.swift b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/MainTabView.swift similarity index 98% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/MainTabView.swift rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/MainTabView.swift index ee8d90ee..e5aff6c9 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/MainTabView.swift +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/MainTabView.swift @@ -40,7 +40,7 @@ struct MainTabView: View { .tabItem { Label("Modules", image: "Module-molecule_32") } - ODSDemoAboutView() + AboutScreen() .tabItem { Label("About", image: "info_32") } diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemDemoApp.swift b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemApp.swift similarity index 97% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemDemoApp.swift rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemApp.swift index 50563e8c..f239e771 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemDemoApp.swift +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/OrangeDesignSystemApp.swift @@ -25,7 +25,7 @@ import OrangeDesignSystem import SwiftUI @main -struct ods_ios_swiftUI_demoApp: App { +struct OrangeDesignSystemApp: App { @StateObject var themeProvider = ThemeProvider() var body: some Scene { diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/AppNews.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/AppNews.json new file mode 100644 index 00000000..da657299 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/AppNews.json @@ -0,0 +1,28 @@ +[ + { + "version": "0.12.0", + "date": "2023-04-14", + "news": "Addition of the Bottom Sheet component." + }, + { + "version": "0.11.2", + "date": "2023-03-27", + "news": "Update application to publish on store as unsearchable application" + }, + { + "version": "0.11.1", + "date": "2023-03-16", + "news": "Rename application" + }, + { + "version": "0.11.0", + "date": "2023-02-28", + "news": "1. Update Card component: \n- Update demo with realistics data\n- Add SideBySide card\n- Update Horizonal card to add a divider\n\n2. Update assets for Innovation theme" + }, + { + "version": "0.10.0", + "date": "2023-02-02", + "news": "Fix some bugs\n Add Tool bar component" + }, +] + diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/Contents.json new file mode 100644 index 00000000..8c223ad2 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_tools.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/ic_tools.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/ic_tools.svg new file mode 100644 index 00000000..83ff1a25 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/About/ic_tools.imageset/ic_tools.svg @@ -0,0 +1,7 @@ + + + icons/communication/R-U/mdpi/ic_Tools + + + + \ No newline at end of file diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Add.imageset/Add.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Add.imageset/Add.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Add.imageset/Add.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Add.imageset/Add.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Add.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Add.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Add.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Add.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/App-Store-512@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/App-Store-512@2x.png new file mode 100644 index 00000000..ad6ccfb4 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/App-Store-512@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/Contents.json similarity index 96% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/Contents.json index 4750ed74..723d4907 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/Contents.json +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/Contents.json @@ -61,6 +61,7 @@ "size" : "20x20" }, { + "filename" : "iPad-Settings-29@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "29x29" @@ -102,7 +103,7 @@ "size" : "83.5x83.5" }, { - "filename" : "App-Store-alpha-512@2x.png", + "filename" : "App-Store-512@2x.png", "idiom" : "ios-marketing", "scale" : "1x", "size" : "1024x1024" diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@1x.png new file mode 100644 index 00000000..ce933a35 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@2x.png new file mode 100644 index 00000000..cfa59bb4 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-App-76@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@1x.png new file mode 100644 index 00000000..83c7b6b7 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@2x.png new file mode 100644 index 00000000..457eb917 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Notification-20@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Pro-App-83.5@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Pro-App-83.5@2x.png new file mode 100644 index 00000000..3f52f860 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Pro-App-83.5@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@1x.png new file mode 100644 index 00000000..8a0afccd Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@2x.png new file mode 100644 index 00000000..7ca16146 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Settings-29@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@1x.png new file mode 100644 index 00000000..9164ac25 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@2x.png new file mode 100644 index 00000000..1f7361ea Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPad-Spotlight-40@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@2x.png new file mode 100644 index 00000000..71e8b58a Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@3x.png new file mode 100644 index 00000000..4dcea00b Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-App-60@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@2x.png new file mode 100644 index 00000000..779b61b9 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@3x.png new file mode 100644 index 00000000..28b758c0 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Notification-20@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@2x.png new file mode 100644 index 00000000..6a79406a Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@3x.png new file mode 100644 index 00000000..a054349c Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Settings-29@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@2x.png new file mode 100644 index 00000000..8c80963f Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@3x.png new file mode 100644 index 00000000..386bf950 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconDev.appiconset/iPhone-Spotlight-40@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/App-Store-512@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/App-Store-512@2x.png new file mode 100644 index 00000000..b9811829 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/App-Store-512@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/Contents.json similarity index 65% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/Contents.json index e5940774..723d4907 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconDev.appiconset/Contents.json +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/Contents.json @@ -1,109 +1,109 @@ { "images" : [ { - "filename" : "40.png", + "filename" : "iPhone-Notification-20@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "20x20" }, { - "filename" : "60.png", + "filename" : "iPhone-Notification-20@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "20x20" }, { - "filename" : "58.png", + "filename" : "iPhone-Settings-29@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "29x29" }, { - "filename" : "87.png", + "filename" : "iPhone-Settings-29@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "29x29" }, { - "filename" : "80.png", + "filename" : "iPhone-Spotlight-40@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "40x40" }, { - "filename" : "120.png", + "filename" : "iPhone-Spotlight-40@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "40x40" }, { - "filename" : "120-1.png", + "filename" : "iPhone-App-60@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "60x60" }, { - "filename" : "180.png", + "filename" : "iPhone-App-60@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "60x60" }, { - "filename" : "20.png", + "filename" : "iPad-Notification-20@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "20x20" }, { - "filename" : "40-1.png", + "filename" : "iPad-Notification-20@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "20x20" }, { - "filename" : "29.png", + "filename" : "iPad-Settings-29@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "29x29" }, { - "filename" : "58-1.png", + "filename" : "iPad-Settings-29@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "29x29" }, { - "filename" : "40-2.png", + "filename" : "iPad-Spotlight-40@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "40x40" }, { - "filename" : "80-1.png", + "filename" : "iPad-Spotlight-40@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "40x40" }, { - "filename" : "76.png", + "filename" : "iPad-App-76@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "76x76" }, { - "filename" : "152.png", + "filename" : "iPad-App-76@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "76x76" }, { - "filename" : "167.png", + "filename" : "iPad-Pro-App-83.5@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "83.5x83.5" }, { - "filename" : "1024.png", + "filename" : "App-Store-512@2x.png", "idiom" : "ios-marketing", "scale" : "1x", "size" : "1024x1024" diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/ODS-IOS-NAT-BETA.psd b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/ODS-IOS-NAT-BETA.psd new file mode 100644 index 00000000..c34be113 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/ODS-IOS-NAT-BETA.psd differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@1x.png new file mode 100644 index 00000000..0498f53e Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@2x.png new file mode 100644 index 00000000..c66f3384 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-App-76@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@1x.png new file mode 100644 index 00000000..9405c714 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@2x.png new file mode 100644 index 00000000..6c1895f3 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Notification-20@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Pro-App-83.5@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Pro-App-83.5@2x.png new file mode 100644 index 00000000..4cedb41e Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Pro-App-83.5@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@1x.png new file mode 100644 index 00000000..bb1b8ddc Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@2x.png new file mode 100644 index 00000000..bc6648ad Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Settings-29@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@1x.png new file mode 100644 index 00000000..b48655bb Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@2x.png new file mode 100644 index 00000000..a37b1223 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPad-Spotlight-40@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@2x.png new file mode 100644 index 00000000..8af9b55c Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@3x.png new file mode 100644 index 00000000..7771240e Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-App-60@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@2x.png new file mode 100644 index 00000000..6c1895f3 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@3x.png new file mode 100644 index 00000000..f907bc46 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Notification-20@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@2x.png new file mode 100644 index 00000000..bc6648ad Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@3x.png new file mode 100644 index 00000000..d7ff850b Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Settings-29@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@2x.png new file mode 100644 index 00000000..a37b1223 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@2x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@3x.png new file mode 100644 index 00000000..8af9b55c Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconQualif.appiconset/iPhone-Spotlight-40@3x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/App-Store-alpha-512@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/App-Store-512@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/App-Store-alpha-512@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/App-Store-512@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/Contents.json similarity index 65% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/Contents.json index e5940774..723d4907 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconQualif.appiconset/Contents.json +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/Contents.json @@ -1,109 +1,109 @@ { "images" : [ { - "filename" : "40.png", + "filename" : "iPhone-Notification-20@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "20x20" }, { - "filename" : "60.png", + "filename" : "iPhone-Notification-20@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "20x20" }, { - "filename" : "58.png", + "filename" : "iPhone-Settings-29@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "29x29" }, { - "filename" : "87.png", + "filename" : "iPhone-Settings-29@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "29x29" }, { - "filename" : "80.png", + "filename" : "iPhone-Spotlight-40@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "40x40" }, { - "filename" : "120.png", + "filename" : "iPhone-Spotlight-40@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "40x40" }, { - "filename" : "120-1.png", + "filename" : "iPhone-App-60@2x.png", "idiom" : "iphone", "scale" : "2x", "size" : "60x60" }, { - "filename" : "180.png", + "filename" : "iPhone-App-60@3x.png", "idiom" : "iphone", "scale" : "3x", "size" : "60x60" }, { - "filename" : "20.png", + "filename" : "iPad-Notification-20@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "20x20" }, { - "filename" : "40-1.png", + "filename" : "iPad-Notification-20@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "20x20" }, { - "filename" : "29.png", + "filename" : "iPad-Settings-29@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "29x29" }, { - "filename" : "58-1.png", + "filename" : "iPad-Settings-29@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "29x29" }, { - "filename" : "40-2.png", + "filename" : "iPad-Spotlight-40@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "40x40" }, { - "filename" : "80-1.png", + "filename" : "iPad-Spotlight-40@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "40x40" }, { - "filename" : "76.png", + "filename" : "iPad-App-76@1x.png", "idiom" : "ipad", "scale" : "1x", "size" : "76x76" }, { - "filename" : "152.png", + "filename" : "iPad-App-76@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "76x76" }, { - "filename" : "167.png", + "filename" : "iPad-Pro-App-83.5@2x.png", "idiom" : "ipad", "scale" : "2x", "size" : "83.5x83.5" }, { - "filename" : "1024.png", + "filename" : "App-Store-512@2x.png", "idiom" : "ios-marketing", "scale" : "1x", "size" : "1024x1024" diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@1x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@1x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@1x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-App-76@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@1x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@1x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@1x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Notification-20@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Pro-App-83.5@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Pro-App-83.5@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Pro-App-83.5@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Pro-App-83.5@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@1x.png new file mode 100644 index 00000000..d6585bf0 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@1x.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Settings-29@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@1x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@1x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@1x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@1x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPad-Spotlight-40@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@3x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@3x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-App-60@3x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@3x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@3x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Notification-20@3x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@3x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@3x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Settings-29@3x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@3x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@3x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/AppIconRelease.appiconset/iPhone-Spotlight-40@3x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/Contents.json new file mode 100644 index 00000000..799c9b2d --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_folderFavourite.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/ic_folderFavourite.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/ic_folderFavourite.svg new file mode 100644 index 00000000..b1fdd000 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_folderFavourite.imageset/ic_folderFavourite.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/E-M/mdpi/ic_Folder_favourite + + + + \ No newline at end of file diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/Contents.json new file mode 100644 index 00000000..852c1ddd --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_subtitles.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/ic_subtitles.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/ic_subtitles.svg new file mode 100644 index 00000000..c7a27723 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/About/ic_subtitles.imageset/ic_subtitles.svg @@ -0,0 +1,7 @@ + + + icons/functional_UI/S-Z/mdpi/ic_Subtitles + + + + \ No newline at end of file diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Modules/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Cafe.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Cafe.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Cafe.imageset/iconsCommunicationDIcCafe.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/CookingPot.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/CookingPot.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/CookingPot.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/CookingPot.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/CookingPot.imageset/iconsCommunicationDIcCookingPot.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/IceCream.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/IceCream.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/IceCream.imageset/iconsCommunicationDIIcIceCream.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Restaurant.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Restaurant.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Restaurant.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Restaurant.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/Recipes/Restaurant.imageset/iconsCommunicationRUIcRestaurant.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Guideline-DNA_32.imageset/Guideline-DNA_32.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/Module-molecule_32.imageset/Module-molecule_32.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/component-atom_32.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/component-atom_32.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/component-atom_32.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/component-atom_32.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/component-atom_32.imageset/component-atom_32.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/info_32.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/info_32.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/info_32.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/info_32.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/appTabBar/info_32.imageset/info_32.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/avatar.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/avatar.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/avatar.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/avatar.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/avatar.imageset/avatar.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/avatar.imageset/avatar.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/avatar.imageset/avatar.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/avatar.imageset/avatar.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@2x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/chips/iconsFunctionalUiEMIcHeartRecommend.imageset/iconsFunctionalUiEMIcHeartRecommend@3x.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/empty.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/empty.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/empty.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/empty.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/empty.imageset/nopicture.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/empty.imageset/nopicture.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/empty.imageset/nopicture.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/empty.imageset/nopicture.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Heart_19371.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Heart_19371.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Heart_19371.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Heart_19371.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Heart_19371.imageset/Heart_19371.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Info_19371.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Info_19371.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Info_19371.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Info_19371.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Info_19371.imageset/Info_19371.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Notification_Alert_19371.imageset/Notification_Alert_19371.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Search_19371.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Search_19371.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Search_19371.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Search_19371.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Search_19371.imageset/Search_19371.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Settings_19371.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Settings_19371.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Settings_19371.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Settings_19371.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/tabBar/Settings_19371.imageset/Settings_19371.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Colors.xcassets/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Colors.xcassets/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/AboutImage_generic.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/AboutImage_generic.png new file mode 100644 index 00000000..eef8c253 Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/AboutImage_generic.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/AboutImage_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Banners_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Banners_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Bars - tool_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Bars - tool_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/BottomSheet_generic.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/BottomSheet_generic.png new file mode 100644 index 00000000..4a053f8b Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/BottomSheet_generic.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/Contents.json new file mode 100644 index 00000000..5a4598f6 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/BottomSheet_generic.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "BottomSheet_generic.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Buttons - Shape_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Buttons - Shape_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Cards_1_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_1_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Cards_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Cards_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Cards_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Cards_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Cards_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Chips_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Chips_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Colour_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Colour_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Preview Content/Preview Assets.xcassets/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Preview Content/Preview Assets.xcassets/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Lists_generic.imageset/Lists_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Navigation bars_generic.imageset/Navigation bars_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Progress indicator_generic.imageset/Progress indicator_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Slider_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Slider_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Slider_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Slider_generic.imageset/Slider_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Spacing_generic.imageset/Spacing_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Tab bar_generic.imageset/Tab bar_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Text edit menu_generic.imageset/Text edit menu_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Generic/Typography_generic.imageset/Typography_generic.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg new file mode 100644 index 00000000..696bbd0f --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/AboutImage.svg @@ -0,0 +1,18 @@ + + + Image + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/AboutImage.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/AboutImage.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/AboutImage.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Banners.imageset/Banners.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Banners.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Banners.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Banners.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Banners.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Bars - tool.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Bars - tool.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/Contents.json new file mode 100644 index 00000000..db609ce3 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bottomSheet.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/bottomSheet.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/bottomSheet.png new file mode 100644 index 00000000..4a053f8b Binary files /dev/null and b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/BottomSheet.imageset/bottomSheet.png differ diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Buttons - Shape.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Buttons - Shape.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards.imageset/cards_module.jpg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Cards_1.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Cards_1.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Chips.imageset/Chips.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Chips.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Chips.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Chips.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Chips.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Colour.imageset/Colour.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Colour.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Colour.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Colour.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Colour.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Lists.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Lists.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Lists.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Lists.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Lists.imageset/Lists.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Navigation bars.imageset/Navigation bars.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Progress indicator.imageset/Progress indicator.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Slider.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Slider.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Slider.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Slider.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Slider.imageset/Controls.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Spacing.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Spacing.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Spacing.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Spacing.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Spacing.imageset/Spacing.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Tab bar.imageset/Tab bar.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Text edit menu.imageset/Text edit menu.png diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Typography.imageset/Contents.json b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Typography.imageset/Contents.json similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Typography.imageset/Contents.json rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Typography.imageset/Contents.json diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg similarity index 100% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/Assets.xcassets/thumbs/Orange/Typography.imageset/Typography.svg diff --git a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSCGU.html b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/CGU.html similarity index 99% rename from OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSCGU.html rename to OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/CGU.html index aa262992..1b977a04 100644 --- a/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Views/About/ODSCGU.html +++ b/OrangeDesignSystemDemo/OrangeDesignSystemDemo/Resources/CGU.html @@ -1,6 +1,7 @@ + - - - -
-
-

Test Results

-
-
-
-

1 tests

- -
-
- AllFailingPassing -
-
-
-
- - -
-
-

ods_ios_demoTests.FirstUnitTest

-
-
- - - - - - - - - -
- -

0.003s

- -

testExample

-
-
- -
- - - diff --git a/OrangeDesignSystemDemo/fastlane/test_output/report.junit b/OrangeDesignSystemDemo/fastlane/test_output/report.junit deleted file mode 100644 index 3f2baf86..00000000 --- a/OrangeDesignSystemDemo/fastlane/test_output/report.junit +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/OrangeDesignSystemDemo/ods-String-swift5.stencil b/OrangeDesignSystemDemo/ods-String-swift5.stencil deleted file mode 100644 index da01ea67..00000000 --- a/OrangeDesignSystemDemo/ods-String-swift5.stencil +++ /dev/null @@ -1,102 +0,0 @@ -// swiftlint:disable all -// Generated using SwiftGen โ€” https://github.com/SwiftGen/SwiftGen - -{% if tables.count > 0 %} -{% set accessModifier %}{% if param.publicAccess %}public{% else %}internal{% endif %}{% endset %} -import Foundation - -// swiftlint:disable superfluous_disable_command file_length implicit_return - -// MARK: - Strings - -{% macro parametersBlock types %}{% filter removeNewlines:"leading" %} - {% for type in types %} - {% if type == "String" %} - _ p{{forloop.counter}}: Any - {% else %} - _ p{{forloop.counter}}: {{type}} - {% endif %} - {{ ", " if not forloop.last }} - {% endfor %} -{% endfilter %}{% endmacro %} -{% macro argumentsBlock types %}{% filter removeNewlines:"leading" %} - {% for type in types %} - {% if type == "String" %} - String(describing: p{{forloop.counter}}) - {% elif type == "UnsafeRawPointer" %} - Int(bitPattern: p{{forloop.counter}}) - {% else %} - p{{forloop.counter}} - {% endif %} - {{ ", " if not forloop.last }} - {% endfor %} -{% endfilter %}{% endmacro %} -{% macro recursiveBlock table item %} - {% for string in item.strings %} - {% if not param.noComments %} - /// {{string.translation}} - {% endif %} - {% if string.types %} - {{accessModifier}} static func {{string.name|swiftIdentifier:"pretty"|lowerFirstWord|escapeReservedKeywords}}({% call parametersBlock string.types %}) -> String { - return {{enumName}}.tr("{{table}}", "{{string.key}}", {% call argumentsBlock string.types %}) - } - {% elif param.lookupFunction %} - {# custom localization function is mostly used for in-app lang selection, so we want the loc to be recomputed at each call for those (hence the computed var) #} - {{accessModifier}} static var {{string.name|swiftIdentifier:"pretty"|lowerFirstWord|escapeReservedKeywords}}: String { return {{enumName}}.tr("{{table}}", "{{string.key}}") } - {% else %} - {{accessModifier}} static let {{string.name|swiftIdentifier:"pretty"|lowerFirstWord|escapeReservedKeywords}} = {{enumName}}.tr("{{table}}", "{{string.key}}") - {% endif %} - {% endfor %} - {% for child in item.children %} - - {{accessModifier}} enum {{child.name|swiftIdentifier:"pretty"|escapeReservedKeywords}} { - {% filter indent:2 %}{% call recursiveBlock table child %}{% endfilter %} - } - {% endfor %} -{% endmacro %} -// swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length -// swiftlint:disable nesting type_body_length type_name vertical_whitespace_opening_braces -{% set enumName %}{{param.enumName|default:"Languages"}}{% endset %} -{{accessModifier}} enum {{enumName}} { - {% if tables.count > 1 or param.forceFileNameEnum %} - {% for table in tables %} - {{accessModifier}} enum {{table.name|swiftIdentifier:"pretty"|escapeReservedKeywords}} { - {% filter indent:2 %}{% call recursiveBlock table.name table.levels %}{% endfilter %} - } - {% endfor %} - {% else %} - {% call recursiveBlock tables.first.name tables.first.levels %} - {% endif %} -} -// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length -// swiftlint:enable nesting type_body_length type_name vertical_whitespace_opening_braces - -// MARK: - Implementation Details - -extension {{enumName}} { - private static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String { - {% if param.lookupFunction %} - let format = {{ param.lookupFunction }}(key, table) - {% else %} - let format = {{param.bundle|default:"BundleToken.bundle"}}.localizedString(forKey: key, value: nil, table: table) - {% endif %} - return String(format: format, locale: Locale.current, arguments: args) - } -} -{% if not param.bundle and not param.lookupFunction %} - -// swiftlint:disable convenience_type -private final class BundleToken { - static let bundle: Bundle = { - #if SWIFT_PACKAGE - return Bundle.module - #else - return Bundle(for: BundleToken.self) - #endif - }() -} -// swiftlint:enable convenience_type -{% endif %} -{% else %} -// No string found -{% endif %} diff --git a/OrangeDesignSystemDemo/swiftgen.yml b/OrangeDesignSystemDemo/swiftgen.yml deleted file mode 100644 index 6bda35b6..00000000 --- a/OrangeDesignSystemDemo/swiftgen.yml +++ /dev/null @@ -1,61 +0,0 @@ -## Note: all of the config entries below are just examples with placeholders. Be sure to edit and adjust to your needs when uncommenting. - -## In case your config entries all use a common input/output parent directory, you can specify those here. -## Every input/output paths in the rest of the config will then be expressed relative to these. -## Those two top-level keys are optional and default to "." (the directory of the config file). - input_dir: ods-ios-demo - output_dir: ./Resources/CodeGen/ - - -## Generate constants for your localized strings. -## Be sure that SwiftGen only parses ONE locale (typically Base.lproj, or en.lproj, or whichever your development region is); otherwise it will generate the same keys multiple times. -## SwiftGen will parse all `.strings` files found in that folder. - strings: - inputs: - - ./ - - filter: .+\.strings$ - outputs: - - templatePath: ./ods-String-swift5.stencil -# - templateName: structured-swift5 - output: Strings+Generated.swift - - -## Generate constants for your Assets Catalogs, including constants for images, colors, ARKit resources, etc. -## This example also shows how to provide additional parameters to your template to customize the output. -## - Especially the `forceProvidesNamespaces: true` param forces to create sub-namespace for each folder/group used in your Asset Catalogs, even the ones without "Provides Namespace". Without this param, SwiftGen only generates sub-namespaces for folders/groups which have the "Provides Namespace" box checked in the Inspector pane. -## - To know which params are supported for a template, use `swiftgen template doc xcassets swift5` to open the template documentation on GitHub. -# xcassets: -# inputs: -# - Main.xcassets -# - ProFeatures.xcassets -# outputs: -# - templateName: swift5 -# params: -# forceProvidesNamespaces: true -# output: XCAssets+Generated.swift - - -## Generate constants for your storyboards and XIBs. -## This one generates 2 output files, one containing the storyboard scenes, and another for the segues. -## (You can remove the segues entry if you don't use segues in your IB files). -## For `inputs` we can use "." here (aka "current directory", at least relative to `input_dir` = "MyLib/Sources"), -## and SwiftGen will recursively find all `*.storyboard` and `*.xib` files in there. -# ib: -# inputs: -# - . -# outputs: -# - templateName: scenes-swift5 -# output: IB-Scenes+Generated.swift -# - templateName: segues-swift5 -# output: IB-Segues+Generated.swift - - -## There are other parsers available for you to use depending on your needs, for example: -## - `fonts` (if you have custom ttf/ttc font files) -## - `coredata` (for CoreData models) -## - `json`, `yaml` and `plist` (to parse custom JSON/YAML/Plist files and generate code from their content) -## โ€ฆ -## -## For more info, use `swiftgen config doc` to open the full documentation on GitHub. -## https://github.com/SwiftGen/SwiftGen/tree/6.4.0/Documentation/ diff --git a/OrangeTheme/Sources/OrangeTheme/OrangeTheme.swift b/OrangeTheme/Sources/OrangeTheme/OrangeTheme.swift index 910a83bb..195d426c 100644 --- a/OrangeTheme/Sources/OrangeTheme/OrangeTheme.swift +++ b/OrangeTheme/Sources/OrangeTheme/OrangeTheme.swift @@ -42,19 +42,40 @@ enum OrangeColors: String, CaseIterable { case supportingBlue100 case supportingBlue200 case supportingBlue300 + case supportingBlue400 + case supportingBlue500 + case supportingBlue600 case supportingYellow100 case supportingYellow200 case supportingYellow300 + case supportingYellow400 + case supportingYellow500 + case supportingYellow600 case supportingGreen100 case supportingGreen200 case supportingGreen300 + case supportingGreen400 + case supportingGreen500 + case supportingGreen600 case supportingPurple100 case supportingPurple200 case supportingPurple300 + case supportingPurple400 + case supportingPurple500 + case supportingPurple600 case supportingPink100 case supportingPink200 case supportingPink300 - + case supportingPink400 + case supportingPink500 + case supportingPink600 + case supportingOrganic100 + case supportingOrganic200 + case supportingOrganic300 + case supportingOrganic400 + case supportingOrganic500 + case supportingOrganic600 + // MARK: - TMP case componentBackground @@ -89,30 +110,72 @@ enum OrangeColors: String, CaseIterable { return "Blue 200" case .supportingBlue300: return "Blue 300" + case .supportingBlue400: + return "Blue 400" + case .supportingBlue500: + return "Blue 500" + case .supportingBlue600: + return "Blue 600" case .supportingYellow100: return "Yellow 100" case .supportingYellow200: return "Yellow 200" case .supportingYellow300: return "Yellow 300" + case .supportingYellow400: + return "Yellow 400" + case .supportingYellow500: + return "Yellow 500" + case .supportingYellow600: + return "Yellow 600" case .supportingGreen100: return "Green 100" case .supportingGreen200: return "Green 200" case .supportingGreen300: return "Green 300" + case .supportingGreen400: + return "Green 400" + case .supportingGreen500: + return "Green 500" + case .supportingGreen600: + return "Green 600" case .supportingPurple100: return "Purple 100" case .supportingPurple200: return "Purple 200" case .supportingPurple300: return "Purple 300" + case .supportingPurple400: + return "Purple 400" + case .supportingPurple500: + return "Purple 500" + case .supportingPurple600: + return "Purple 600" case .supportingPink100: return "Pink 100" case .supportingPink200: return "Pink 200" case .supportingPink300: return "Pink 300" + case .supportingPink400: + return "Pink 400" + case .supportingPink500: + return "Pink 500" + case .supportingPink600: + return "Pink 600" + case .supportingOrganic100: + return "Orangic 100" + case .supportingOrganic200: + return "Orangic 200" + case .supportingOrganic300: + return "Orangic 300" + case .supportingOrganic400: + return "Orangic 400" + case .supportingOrganic500: + return "Orangic 500" + case .supportingOrganic600: + return "Orangic 600" case .componentBackground: return nil } @@ -142,30 +205,72 @@ enum OrangeColors: String, CaseIterable { return "Blue 200" case .supportingBlue300: return "Blue 300" + case .supportingBlue400: + return "Blue 400" + case .supportingBlue500: + return "Blue 500" + case .supportingBlue600: + return "Blue 600" case .supportingYellow100: return "Yellow 100" case .supportingYellow200: return "Yellow 200" case .supportingYellow300: return "Yellow 300" + case .supportingYellow400: + return "Yellow 400" + case .supportingYellow500: + return "Yellow 500" + case .supportingYellow600: + return "Yellow 600" case .supportingGreen100: return "Green 100" case .supportingGreen200: return "Green 200" case .supportingGreen300: return "Green 300" + case .supportingGreen400: + return "Green 400" + case .supportingGreen500: + return "Green 500" + case .supportingGreen600: + return "Green 600" case .supportingPurple100: return "Purple 100" case .supportingPurple200: return "Purple 200" case .supportingPurple300: return "Purple 300" + case .supportingPurple400: + return "Purple 400" + case .supportingPurple500: + return "Purple 500" + case .supportingPurple600: + return "Purple 600" case .supportingPink100: return "Pink 100" case .supportingPink200: return "Pink 200" case .supportingPink300: return "Pink 300" + case .supportingPink400: + return "Pink 400" + case .supportingPink500: + return "Pink 500" + case .supportingPink600: + return "Pink 600" + case .supportingOrganic100: + return "Orangic 100" + case .supportingOrganic200: + return "Orangic 200" + case .supportingOrganic300: + return "Orangic 300" + case .supportingOrganic400: + return "Orangic 400" + case .supportingOrganic500: + return "Orangic 500" + case .supportingOrganic600: + return "Orangic 600" case .componentBackground: return nil } @@ -180,7 +285,7 @@ public struct OrangeThemeFactory { public init() { var theme = ODSTheme() - + theme.name = OrangeThemeFactory.themeName theme.colorPalette = OrangeColors.palette diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/1_Core/coreOrange.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/1_Core/coreOrange.colorset/Contents.json index f7d67282..7db6d495 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/1_Core/coreOrange.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/1_Core/coreOrange.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.000", - "green" : "0.431", - "red" : "0.945" + "blue" : "0x00", + "green" : "0x6E", + "red" : "0xF1" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalNegative.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalNegative.colorset/Contents.json index 87db79b8..90dcdc11 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalNegative.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalNegative.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x20", - "green" : "0x00", - "red" : "0xB0" + "blue" : "0x14", + "green" : "0x3C", + "red" : "0xCD" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x79", - "green" : "0x66", - "red" : "0xCF" + "blue" : "0x15", + "green" : "0x3F", + "red" : "0xD5" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalPositive.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalPositive.colorset/Contents.json index ddce023e..a68f50ee 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalPositive.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/2_Functional/functionalPositive.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x47", - "green" : "0xA0", - "red" : "0x43" + "blue" : "0x22", + "green" : "0x87", + "red" : "0x22" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x1A", - "green" : "0x70", - "red" : "0x00" + "blue" : "0x32", + "green" : "0xC8", + "red" : "0x32" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue100.colorset/Contents.json index c574f51e..0baec5db 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue100.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue100.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.304", - "green" : "0.969", - "red" : "0.920" + "blue" : "0xF7", + "green" : "0xE8", + "red" : "0xB5" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue200.colorset/Contents.json index b87fc50e..e6cb7f56 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue200.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue200.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.902", - "green" : "0.706", - "red" : "0.294" + "blue" : "0xEF", + "green" : "0xCE", + "red" : "0x80" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue300.colorset/Contents.json index fe369f47..e6c02af2 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue300.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue300.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.741", - "green" : "0.369", - "red" : "0.031" + "blue" : "0xE6", + "green" : "0xB4", + "red" : "0x4B" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue400.colorset/Contents.json new file mode 100644 index 00000000..02e6c61c --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.839", + "green" : "0.616", + "red" : "0.243" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue500.colorset/Contents.json new file mode 100644 index 00000000..7133821a --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.792", + "green" : "0.494", + "red" : "0.137" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue600.colorset/Contents.json new file mode 100644 index 00000000..fe369f47 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingBlue600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.741", + "green" : "0.369", + "red" : "0.031" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen100.colorset/Contents.json index 42086007..e7aa858b 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen100.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen100.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.839", - "green" : "0.922", - "red" : "0.722" + "blue" : "0xD6", + "green" : "0xEB", + "red" : "0xB8" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen200.colorset/Contents.json index e53e551e..585652ff 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen200.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen200.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.529", - "green" : "0.745", - "red" : "0.314" + "blue" : "0xAF", + "green" : "0xD5", + "red" : "0x84" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen300.colorset/Contents.json index f3011142..d8e73af6 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen300.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen300.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.192", - "green" : "0.431", - "red" : "0.039" + "blue" : "0x87", + "green" : "0xBE", + "red" : "0x50" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen400.colorset/Contents.json new file mode 100644 index 00000000..31c0f093 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x71", + "green" : "0xA9", + "red" : "0x27" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen500.colorset/Contents.json new file mode 100644 index 00000000..92aec351 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x51", + "green" : "0x8C", + "red" : "0x19" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen600.colorset/Contents.json new file mode 100644 index 00000000..66da5c92 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingGreen600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x31", + "green" : "0x6E", + "red" : "0x0A" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic100.colorset/Contents.json new file mode 100644 index 00000000..3214e7be --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic100.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.941", + "green" : "0.961", + "red" : "0.976" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic200.colorset/Contents.json new file mode 100644 index 00000000..2951ab1e --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic200.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.698", + "green" : "0.812", + "red" : "0.957" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic300.colorset/Contents.json new file mode 100644 index 00000000..6b52fa50 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic300.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.447", + "green" : "0.576", + "red" : "0.757" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic400.colorset/Contents.json new file mode 100644 index 00000000..cc6c0cb8 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.275", + "green" : "0.306", + "red" : "0.443" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic500.colorset/Contents.json new file mode 100644 index 00000000..eb3eec30 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.176", + "green" : "0.204", + "red" : "0.384" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic600.colorset/Contents.json new file mode 100644 index 00000000..fd46a627 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingOrganic600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.149", + "green" : "0.180", + "red" : "0.282" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink100.colorset/Contents.json index d7e91a4f..a97ab40d 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink100.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink100.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.969", - "green" : "0.910", - "red" : "1.000" + "blue" : "0xF7", + "green" : "0xE8", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink200.colorset/Contents.json index 960f2b9d..6b445645 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink200.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink200.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.902", - "green" : "0.706", - "red" : "1.000" + "blue" : "0xEF", + "green" : "0xCE", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink300.colorset/Contents.json index b4eddbcc..9ae1f16f 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink300.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink300.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.831", - "green" : "0.541", - "red" : "1.000" + "blue" : "0xE6", + "green" : "0xB4", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink400.colorset/Contents.json new file mode 100644 index 00000000..b4eddbcc --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.831", + "green" : "0.541", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink500.colorset/Contents.json new file mode 100644 index 00000000..35f9c874 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.733", + "green" : "0.451", + "red" : "0.835" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink600.colorset/Contents.json new file mode 100644 index 00000000..186ecb37 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPink600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.604", + "green" : "0.302", + "red" : "0.737" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple100.colorset/Contents.json index 815c57d7..b7bf2abe 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple100.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple100.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.941", - "green" : "0.761", - "red" : "0.851" + "blue" : "0xF0", + "green" : "0xC2", + "red" : "0xD9" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple200.colorset/Contents.json index bc92045b..b5b1ca5e 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple200.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple200.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.847", - "green" : "0.522", - "red" : "0.659" + "blue" : "0xE4", + "green" : "0xA4", + "red" : "0xC1" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple300.colorset/Contents.json index e4babad3..27959d6b 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple300.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple300.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.569", - "green" : "0.129", - "red" : "0.286" + "blue" : "0xD8", + "green" : "0x85", + "red" : "0xA8" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple400.colorset/Contents.json new file mode 100644 index 00000000..fe1c7ab2 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xBD", + "green" : "0x73", + "red" : "0x93" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple500.colorset/Contents.json new file mode 100644 index 00000000..ddfc4c6a --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA7", + "green" : "0x4A", + "red" : "0x6E" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple600.colorset/Contents.json new file mode 100644 index 00000000..b0e2b725 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingPurple600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x91", + "green" : "0x21", + "red" : "0x49" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow100.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow100.colorset/Contents.json index 13a3b1e1..2f44f50a 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow100.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow100.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.714", - "green" : "0.965", - "red" : "1.000" + "blue" : "0xB6", + "green" : "0xF6", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow200.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow200.colorset/Contents.json index d55ed428..6eb8f9eb 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow200.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow200.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.000", - "green" : "0.824", - "red" : "1.000" + "blue" : "0x5B", + "green" : "0xE4", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow300.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow300.colorset/Contents.json index a07fd982..ac5f202a 100644 --- a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow300.colorset/Contents.json +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow300.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.000", - "green" : "0.706", - "red" : "1.000" + "blue" : "0x00", + "green" : "0xD2", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow400.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow400.colorset/Contents.json new file mode 100644 index 00000000..0c52fc23 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow400.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0xB4", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow500.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow500.colorset/Contents.json new file mode 100644 index 00000000..aa1eeb08 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow500.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x11", + "green" : "0x8F", + "red" : "0xB9" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow600.colorset/Contents.json b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow600.colorset/Contents.json new file mode 100644 index 00000000..1779dcf4 --- /dev/null +++ b/OrangeTheme/Sources/OrangeTheme/Resources/Color.xcassets/3_Supporting/supportingYellow600.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x06", + "green" : "0x6E", + "red" : "0x9D" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Package.swift b/Package.swift index 6c64cc9e..9bbfc2e7 100644 --- a/Package.swift +++ b/Package.swift @@ -1,5 +1,27 @@ // swift-tools-version:5.5 -// The swift-tools-version declares the minimum version of Swift required to build this package. + +// +// MIT License +// Copyright (c) 2021 Orange +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// import PackageDescription @@ -7,7 +29,6 @@ let package = Package( name: "OrangeDesignSystem", platforms: [.iOS(.v15)], products: [ - // Products define the executables and libraries a package produces, and make them visible to other packages. .library( name: "OrangeDesignSystem", targets: ["OrangeDesignSystem"] @@ -22,13 +43,9 @@ let package = Package( ), ], dependencies: [ - // Dependencies declare other packages that this package depends on. - // .package(url: /* package url */, from: "1.0.0"), - .package(url: "https://github.com/lucaszischka/BottomSheet", .exact("3.1.0")) + .package(url: "https://github.com/lucaszischka/BottomSheet", .exact("3.1.0")) ], targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "OrangeDesignSystem", dependencies: ["BottomSheet"], diff --git a/README.md b/README.md index 2943852a..e84c01bf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ - -

Orange Design System iOS

+

ODS iOS

Orange Design System iOS provides Orange iOS components to developers and a demo application. @@ -7,8 +6,8 @@ Visit Orange Design System iOS

- Report bug + Report bug ยท - Request feature + Request feature

diff --git a/docs/modules/about.md b/docs/modules/about.md index f498135b..a8edd6c5 100644 --- a/docs/modules/about.md +++ b/docs/modules/about.md @@ -1,9 +1,312 @@ --- layout: detail title: About -description: Module About +description: An about screen should be displayed in all Orange applications to display the application name, software version as well as all legal data protection, privacy, and terms of service compliance information. --- +--- + +**Page Summary** + +* [Specifications references](#specifications-references) +* [Overview](#overview) +* [About screen layout](#about-screen-layout) + * [Illustration area](#illustration-area) + * [Application section area](#application-section-area) + * [List items area](#list-items-area) + * [Mandatory items](#mandatory-items) + * [Optionnal items](#optionnal-tems) + * [Custom items](#custom-items) +* [How to configure the module](#how-to-configure-the-module) + * [Illustration area](#illustration-area) + * [Application section area](#application-section-area) + * [List Items area](#list-items-area) + * [Use mandatory items](#use-mandatory-items) + * [Add items to the list](#add-items-to-the-list) + * [Use optional items](#use-optional-items) + * [Create a custom item](#create-a-custom-item) + +--- + +## Specifications references + +- [Design System Manager - Modules - About](https://system.design.orange.com/0c1af118d/p/39538b-about/b/55a5d2) + +## Overview + +This module should be added in all applications to display general application information (name, software version, description, privacy policy, terms of service, ...), to offer user actions (Rate the app, send feedbacks, ...), to get informaioon linked to the service (Application recirculation, App news ...). + +It is also possible to add to the module some specifc features linked to the service provided by the application (Suppport, How to, settings, ...) + +In order to have consistant prsentation of those elemnts in all applications, the __About__ module offers a structured and configrable layout. + +![AboutScreen](images/about_screen.png) + + +## About screen layout + +The main about screen is divided to three areas. + +### Illustration area + +The first area (at the top of the screen) allows you to set an image illustrating the about screen linked to the service. If no image is provided the default one is inserted automatically. + +### Application information area + +The second area is dedicated for the application description with various elements: +- The name (mandatory) +- The version (optional) +- A description in sevral lines (optional) + + +It is also possible to activate two buttons to offer to the user to: + +- _share the application_ via email, via sms, via social networks... This button opens the default system share sheet that presents a range of actions to share the application. To activate this button, the developper needs to prvide the url of the application on the store and a short text describing the context of the sharing. +- _send feedback_ to the support of the service. This button is displayed if the developper provides a callback called when button is clicked. This callback can do what it is expected (send email, send sms, open form, open web site, ...). + + +### List items area + +The last area (at the bottom) is a list of items that propose to the user to make actions or navigate to additionnal feetures. +All items have the same layout (icon and text). They are ordered in the list according to their priority set into the configuration. + +#### Mandatory items + +Some items are provided with the module. Three of them are mandatory and allways available in the list: +- Item to present the __Privacy Policy__ (only html content supported today) +- Item to display __Terms of Service__ (View provided by developper) +- Item to show the __Accessibility Statement__ of the application (not available yet) +As those items must be grouped in the list, their priority are fixed and can not be changed. + +#### Optionnal items + +As most of applications propose the same additonnal features (Rate the app, App News, ...), and in order to have consitency in about screens of all applications, additional items are proposed with the module. + +* Rate the app + +This item can be added in the list to redirect the user to the app page on the Apple Store to rate the application. + +* Apps news + +This item enumerates the application versions with small text describing new features available. + +* Legal inofrmation + +This item is used to display legal infomration. Today, there is not recomandation on the presentation. + +#### Custom items + +In addition, it is also possible to add into the list some custom items. Like previous ones, they must respect the layout and can set their own priority to be inserted in the right place in the list. + + +## How to configure the module + +To display the about screen, initialize the module using the __ODSAboutModule__ stucture. During the initialization, a set of configuration must to be provided. + +### Illustration area + +If the about page needs to display a specific illustration, set it like this: + +```swft +ODSAboutModule(headerIllustration: Image("AboutImage"), ...) +``` + +To keep the default illustration, initialize the module without overriding the `headerIllustration` parameter. + + +### Application section area + +To configure the application, fill out the `ODSAboutApplicationInformation` structure and provide it to the module initialization. + +- With name only + +```swift +let nameOnly = ODSAboutApplicationInformation(name: "Orange Design System Demo") +ODSAboutModule(applicationInformation: nameOnly, ...) +``` + +- With description + +```swift +let withDescription = ODSAboutApplicationInformation( + name: "Orange Design System Demo" + description: "In this app you'll find implemented code examples of the guidelines, components and modules, for the themes of the Orange Design System.") +ODSAboutModule(applicationInformation: withDescription, ...) +``` + +- With version + +```swift +let version = ODSApplicationVersion( + marketingVersion: Bundle.main.marketingVersion, // Mandatory + buildNumber: Bundle.main.buildNumber ?? "", // Optional + buildType: Bundle.main.buildType // Optional +) + +let withVersion = ODSAboutApplicationInformation( + name: "Orange Design System Demo", + version: version +) + +ODSAboutModule(applicationInformation: withVersion, ...) +``` + +- To activate the Share the application action + +```swift +let storeUrl = URL(string: "http://oran.ge/dsapp")! +ler shareTheApplicationConfiguration = ODSAboutShareTheApplication( + storeUrl: storeUrl, + subject: "The Orange Design System", + description: "You will find the Orange Design System Mobile App that provides examples of design implementations at: \(storeUrl.absoluteString)" +) + +let withShareTheApp = ODSAboutApplicationInformation( + name: "Orange Design System Demo", + shareConfiguration: shareTheApplicationConfiguration +) +ODSAboutModule(applicationInformation: withShareTheApp, ...) +``` + +- To activate the feedback action + +```swift + +let withFeedback = ODSAboutApplicationInformation( + name: "Orange Design System Demo", + onFeedbackClicked: { + UIApplication.shared.open(URL(string: "https://github.com/Orange-OpenSource/ods-ios/issues/new/choose")!) + } +) + +ODSAboutModule(applicationInformation: withFeedback, ...) +``` + +### Lits items area + +#### Use mandatory items + +For the privacy policy display, only html content is supported today. A more structured content will be added soon. + +- Privacy policy + +```swift +// Initialize the privacy policy page with url of the html file store in resources. +let privacyPolicy = ODSPrivacyPolicy.webview(.url(Bundle.main.url(forResource: "PrivacyNotice", withExtension: "html")!)) +``` + +- The accessibility statement + +```swift +// Still it is not supported, initilaize with fake information +let acessibilityStatement = ODSAboutAccessibilityStatement(reportPath: "path", reportDetail: URL(string: "https://www.apple.com")!) +``` + +- The Terms of service + +```swift +// Today, there is no recomandation how to display the content, so the module provides a view builder +// to build a native screen or a webview + +@ViewBuilder +private func termsOfService() -> some View { + Text("Add terms of service here") +} +``` + +Then initialize the module with those mandatory elements: + +```swift +ODSAboutModule(..., + privacyPolicy: privacyPolicy, + acessibilityStatement: accessibilityStatement, + termsOfService: termOfService +) +``` + +#### Add items to the list + +To insert additionnal items into the list, initialize the __listItemConfigurations__ array adding items following the __ODSAboutListItemConfig__ protocol. +To order the items in the list, initialize the items with the right priority. + +```swift +// Add all items in list +ODSAboutModule(..., + listItemConfigurations: [legalInfoItem, rateTheAppItem, appsNewItem] +) + +// see items description below +``` + +#### Use optional items + +- Rate the app + +To create this item, define the url of the application on the store and the priority (position) of the item in the list: + +```swift +// This item opens the store in the external browser +let rateTheAppItem = ODSAboutRateTheAppItemCondfig( + priority: 501, + storeUrl: URL(string: "https://www.apple.com/app-store/")! +) +``` + +- Apps news + +To create this item, define the path to the json file containing the news. This file is embeded in the resources of the application. + +The model of the json file is: + +```json +[ + { + "version": "0.12.0", + "date": "2023-04-14", + "news": "A short description of news" + }, + ... +] +``` + +This is the code to create the item: + +```swift +// - Display the app News +let appNewFilePath = Bundle.main.path(forResource: "AppNews", ofType: "json")! +let appsNewItem = ODSAboutAppNewsItemConfig( + priorty: 502, + path: appNewFilePath +) +``` + +- Legal information + +Still there is not recomandation on the format of the presentation, this item needs a view builder to display the legal information. + +```swift +// Here, the legal information are displayed in a view with a single Text. + +let legalInformationItem = ODSAboutLegalInformationItemConfig(priority: 500) { + Text("This is Legal information content") +} +``` -# Getting started with Module About +#### Create a custom item +To create a custom item and associate a target, follow this example: + +```swift +public struct MyItemToDisplayText: ODSAboutListItemConfig { + public private(set) var title: String + public private(set) var icon: Image + public private(set) var target: ODSAboutListItemTarget + public private(set) var priority: ODSAboutListItemPriority + public init(priority: ODSAboutListItemPriority = 100) { + self.priority = priority + self.title = "Fake Item" + self.icon = Image(systemName: "heart"), + self.target = .destination(AnyView(Text("This is the destination screen"))) + } +} +``` diff --git a/docs/modules/images/about_screen.png b/docs/modules/images/about_screen.png new file mode 100644 index 00000000..ea0628be Binary files /dev/null and b/docs/modules/images/about_screen.png differ