[
  {
    "path": ".github/dependabot.yml",
    "content": "# Documentation for all configuration options:\n# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"bundler\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "content": "name: CI\n\non:\n  push:\n    branches:\n      - master\n      - develop\n  pull_request:\n    branches:\n      - master\n      - develop\n\nenv:\n  # https://github.com/actions/virtual-environments/tree/main/images/macos\n  DEVELOPER_DIR: /Applications/Xcode_12.3.app/Contents/Developer\n\n  IOS_SDK: iphonesimulator14.3\n\n  PROJECT: PresenterKit.xcodeproj\n  SCHEME: PresenterKit\n\n  EXAMPLE_PROJECT: Example/ExampleApp.xcodeproj\n  EXAMPLE_SCHEME: ExampleApp\n\n  IOS_DEST: \"OS=14.3,name=iPhone 12 Mini\"\n\njobs:\n  job-main:\n    name: Build and Test\n    runs-on: macOS-latest\n    steps:\n      - name: git checkout\n        uses: actions/checkout@v2\n\n      - name: xcode version\n        run: xcodebuild -version -sdk\n\n      - name: list simulators\n        run: |\n          xcrun simctl delete unavailable\n          xcrun simctl list\n\n      - name: unit tests\n        run: |\n          set -o pipefail\n          xcodebuild clean test \\\n              -project \"$PROJECT\" \\\n              -scheme \"$SCHEME\" \\\n              -sdk \"$IOS_SDK\" \\\n              -destination \"$IOS_DEST\" \\\n              ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | xcpretty -c\n\n      - name: ui tests\n        run: |\n          set -o pipefail\n          xcodebuild clean test \\\n              -project \"$EXAMPLE_PROJECT\" \\\n              -scheme \"$EXAMPLE_SCHEME\" \\\n              -sdk \"$IOS_SDK\" \\\n              -destination \"$IOS_DEST\" \\\n              ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | xcpretty -c\n"
  },
  {
    "path": ".github/workflows/danger.yml",
    "content": "name: Danger\n\non: pull_request\n\nenv:\n  # https://github.com/actions/virtual-environments/tree/main/images/macos\n  DEVELOPER_DIR: /Applications/Xcode_12.3.app/Contents/Developer\n\njobs:\n  job-danger:\n    name: Review, Lint, Verify\n    runs-on: macOS-latest\n    steps:\n      - name: git checkout\n        uses: actions/checkout@v2\n\n      - name: ruby versions\n        run: |\n          ruby --version\n          gem --version\n          bundler --version\n\n      - name: cache gems\n        uses: actions/cache@v2\n        with:\n          path: vendor/bundle\n          key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}\n          restore-keys: |\n            ${{ runner.os }}-gem-\n\n      - name: bundle install\n        run: |\n          bundle config path vendor/bundle\n          bundle install --without=documentation --jobs 4 --retry 3\n          echo \"/Users/runner/Library/Python/2.7/bin\" >> $GITHUB_PATH\n\n      - name: jazzy docs\n        run: bundle exec jazzy --output docs/\n\n      - name: danger\n        env:\n          DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}\n        run: bundle exec danger\n"
  },
  {
    "path": ".github/workflows/pod-lint.yml",
    "content": "name: CocoaPods Lint\n\non:\n  push:\n    branches:\n      - master\n      - develop\n  pull_request:\n    branches:\n      - master\n      - develop\n\nenv:\n  # https://github.com/actions/virtual-environments/tree/main/images/macos\n  DEVELOPER_DIR: /Applications/Xcode_12.3.app/Contents/Developer\n\njobs:\n  job-pod-lint:\n    name: Pod Lint\n    runs-on: macOS-latest\n    steps:\n      - name: git checkout\n        uses: actions/checkout@v2\n\n      - name: ruby versions\n        run: |\n          ruby --version\n          gem --version\n          bundler --version\n\n      - name: cache gems\n        uses: actions/cache@v2\n        with:\n          path: vendor/bundle\n          key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}\n          restore-keys: |\n            ${{ runner.os }}-gem-\n\n      - name: bundle install\n        run: |\n          bundle config path vendor/bundle\n          bundle install --without=documentation --jobs 4 --retry 3\n\n      - name: pod lint\n        run: bundle exec pod lib lint --allow-warnings\n"
  },
  {
    "path": ".github/workflows/spm.yml",
    "content": "name: SwiftPM Integration\n\non:\n  push:\n    branches:\n      - master\n      - develop\n  pull_request:\n    branches:\n      - master\n      - develop\n\nenv:\n  # https://github.com/actions/virtual-environments/tree/main/images/macos\n  DEVELOPER_DIR: /Applications/Xcode_12.3.app/Contents/Developer\n\n  IOS_SDK: iphonesimulator14.3\n  IOS_DEST: \"OS=14.3,name=iPhone 12 Mini\"\n\n  SCHEME: PresenterKit\n\njobs:\n  job-build:\n    name: SwiftPM Build\n    runs-on: macOS-latest\n    steps:\n      - name: git checkout\n        uses: actions/checkout@v2\n\n      - name: xcode version\n        run: xcodebuild -version -sdk\n\n      - name: list simulators\n        run: |\n          xcrun simctl delete unavailable\n          xcrun simctl list\n\n      - name: generate xcodeproj\n        run: swift package generate-xcodeproj\n\n      - name: Build\n        run: |\n          set -o pipefail\n          xcodebuild clean build -scheme \"$SCHEME\" -sdk \"$IOS_SDK\" -destination \"$IOS_DEST\" | xcpretty -c\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\n\n# swiftpm\n.swiftpm\n.build\n\n# docs\ndocs/docsets/\n\n# Xcode\n## Build generated\nbuild/\nDerivedData/\n\n## Various settings\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata/\n\n## Other\n*.moved-aside\n*.xcuserstate\n\n## Obj-C/Swift specific\n*.hmap\n*.ipa\n*.dSYM.zip\n*.dSYM\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\n# Pods/\n\n# Carthage\n#\n# Add this line if you want to avoid checking in source code from Carthage dependencies.\n# Carthage/Checkouts\n\nCarthage/Build\n\n# fastlane\n#\n# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the\n# screenshots whenever they are needed.\n# For more information about the recommended setup visit:\n# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md\n\nfastlane/report.xml\nfastlane/Preview.html\nfastlane/screenshots\nfastlane/test_output\n\n# Code Injection\n#\n# After new code Injection tools there's a generated folder /iOSInjectionProject\n# https://github.com/johnno1962/injectionforxcode\n\niOSInjectionProject/\n"
  },
  {
    "path": ".swiftlint.yml",
    "content": "excluded:\n  - Pods\n  - docs\n  - build\n  - scripts\n\ndisabled_rules:\n  # metrics\n  - nesting\n\n  # lint\n  - notification_center_detachment\n  - weak_delegate\n\n  # idiomatic\n  - force_cast\n  - type_name\n\n  # style\n  - identifier_name\n\nopt_in_rules:\n  # performance\n  - empty_count\n  - first_where\n  - sorted_first_last\n  - contains_over_first_not_nil\n  - last_where\n  - reduce_into\n  - contains_over_filter_count\n  - contains_over_filter_is_empty\n  - empty_collection_literal\n  - type_contents_order\n\n  # idiomatic\n  - fatal_error_message\n  - xctfail_message\n  - discouraged_object_literal\n  - discouraged_optional_boolean\n  - discouraged_optional_collection\n  - for_where\n  - function_default_parameter_at_end\n  - legacy_random\n  - no_extension_access_modifier\n  - redundant_type_annotation\n  - static_operator\n  - toggle_bool\n  - unavailable_function\n  - no_space_in_method_call\n\n  # style\n  - attributes\n  - number_separator\n  - operator_usage_whitespace\n  - sorted_imports\n  - vertical_parameter_alignment_on_call\n  - void_return\n  - closure_spacing\n  - empty_enum_arguments\n  - implicit_return\n  - modifier_order\n  - multiline_arguments\n  - multiline_parameters\n  - trailing_closure\n  - unneeded_parentheses_in_closure_argument\n  - vertical_whitespace_between_cases\n\n  # lint\n  - overridden_super_call\n  - yoda_condition\n  - anyobject_protocol\n  - array_init\n  - empty_xctest_method\n  - identical_operands\n  - prohibited_super_call\n  - unused_import\n  - unused_capture_list\n  - duplicate_enum_cases\n  - legacy_multiple\n  - unused_declaration\n\nline_length: 200\nfile_length: 600\n\ntype_body_length: 500\n\nfunction_body_length: 250\n\ncyclomatic_complexity: 15\n\ntype_contents_order:\n  order:\n    - associated_type\n    - type_alias\n    - case\n    - subtype\n    - type_property\n    - ib_outlet\n    - ib_inspectable\n    - instance_property\n    - initializer\n    - deinitializer\n    - subscript\n    - type_method\n    - view_life_cycle_method\n    - ib_action\n    - other_method\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# CHANGELOG\n\nThe changelog for `PresenterKit`. Also see the [releases](https://github.com/jessesquires/PresenterKit/releases) on GitHub.\n\n--------------------------------------\n\nNEXT\n----\n\n- TBA\n\n6.1.1\n-----\n\nThis release closes the [6.1.1 milestone](https://github.com/jessesquires/PresenterKit/milestone/10?closed=1).\n\n- Upgraded to Xcode 12 and Swift 5.3\n\n6.1.0\n-----\n\nThis release closes the [6.1.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/9?closed=1).\n\n### New\n\n- Added a new custom presentation controller, `HalfModalPresentationController`\n- Support for Swift Package Manager\n\n### Changed\n\n- Upgrade to Swift 5.2\n- Update to Xcode 11.4\n- Upgrade SwiftLint\n- Switch to GH Actions\n\n6.0.0\n-----\n\nThis release closes the [6.0.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/8?closed=1).\n\n### Breaking\n\n- iOS 11 minimum deployment target (Dropped iOS 10)\n- Renamed `present()` function to `presentController()` to avoid ambiguous naming with UIKit\n\n### Changed\n\n- Swift 5.1\n- Xcode 11\n- Upgrade Swiftlint to 0.35.0, add new rules\n- Update Travis CI\n\n5.1.0\n-----\n\nThis release closes the [5.1.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/7?closed=1).\n\n- Upgrade to Swift 4.2\n- Xcode 10.1\n- Upgrade Swiftlint to 0.27.0\n\n5.0.0\n-----\n\nThis release closes the [5.0.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/6?closed=1).\n\n### Breaking\n\n- Swift 4.1\n- iOS 10 minimum deployment target (Dropped iOS 9)\n- Xcode 9.4\n- Upgrade Swiftlint to 0.26.0\n- Renamed `dismiss()` function to `dismissController()` to avoid ambiguous naming with UIKit (#41)\n\n### Fixed\n\n- Respect transition context `.isCancelled` when pushing on a navigation stack (#38)\n\n### New\n\n- Add new `pop()` method extension on `UINavigationController` that accepts a `completion` parameter. Similar to existing `push()` method (#40)\n\n- Added `completion` parameter to `dismiss()` method extension on `UIViewController` (#41)\n\n4.0.0\n-----\n\nThis release closes the [4.0.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/4?closed=1).\n\n### Breaking changes\n\n- Converted to Swift 4\n\n- iOS 9 minimum deployment target\n\n- `public struct PopoverConfig` was changed to accommodate custom frame so it can be used as anchor for the popover.  ([#27](https://github.com/jessesquires/PresenterKit/pull/27), [#26](https://github.com/jessesquires/PresenterKit/issues/26), [@psartzetakis](https://github.com/psartzetakis))\n  - `PopoverConfig.Source.view(_)` was changed to `PopoverConfig.Source.view(container: frame:)`\n\n- `public struct DismissButtonConfig` was changed to accommodate custom images in bar button items. ([#24](https://github.com/jessesquires/PresenterKit/pull/24), [#22](https://github.com/jessesquires/PresenterKit/issues/22), [@psartzetakis](https://github.com/psartzetakis))\n    - `DismissButtonConfig.text` was renamed to `DismissButtonConfig.content`\n    - `public enum DismissButtonConfig.Text` was renamed to `public enum DismissButtonConfig.Content` and it now has 3 cases: `.systemItem`, `.text`, `.image`\n    - `DismissButtonConfig.init(location: style: text:)` was renamed to `DismissButtonConfig.init(location: style: content:)`\n\n### New\n\n- Added support for `completion` closure parameter on `present(..)` method. ([#21](https://github.com/jessesquires/PresenterKit/pull/21), [@Sumolari](https://github.com/Sumolari))\n\n3.0.0\n-----\n\nThis release closes the [3.0.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/3?closed=1).\n\n**Swift 3.0 now required.**\n\n### Changes\n\n- `presentViewController(_:, type:, animated:)` was renamed to `present(_:, type:, animated:)`\n\n### New\n\n- Added a `.none` case to `PresentationType` which uses UIKit defaults. Use this when presenting system controllers like `UIAlertController`.\n\n### Bug fixes\n\n- Fixed bug in `withStyles()` where modal presentation/transition styles might not be applied correctly ([#14](https://github.com/jessesquires/PresenterKit/issues/14)).\n\n2.0.0\n-----\n\nThis release closes the [2.0.0 milestone](https://github.com/jessesquires/PresenterKit/milestone/2?closed=1).\n\n**Swift 2.3 now required.**\n\n1.0.0\n-----\n\nInitial release 🎉\n"
  },
  {
    "path": "Dangerfile",
    "content": "# -----------------------------------------------------------------------------\n# Changed library files, but didn't add/update tests\n# -----------------------------------------------------------------------------\nall_changed_files = (git.added_files + git.modified_files + git.deleted_files)\n\nhas_source_changes = !all_changed_files.grep(/Sources/).empty?\nhas_test_changes = !all_changed_files.grep(/Tests/).empty?\nif has_source_changes && !has_test_changes\n    warn(\"Library files were updated without test coverage. Please update or add tests, if possible!\")\nend\n\n# -----------------------------------------------------------------------------\n# Pull request is too large to review\n# -----------------------------------------------------------------------------\nif git.lines_of_code > 600\n    warn(\"This is a large pull request! Can you break it up into multiple smaller ones instead?\")\nend\n\n# -----------------------------------------------------------------------------\n# All pull requests need a description\n# -----------------------------------------------------------------------------\nif github.pr_body.length < 25\n    fail(\"Please provide a detailed summary in the pull request description.\")\nend\n\n# -----------------------------------------------------------------------------\n# All pull requests should be submitted to dev/develop branch\n# -----------------------------------------------------------------------------\nif github.branch_for_base != \"dev\" && github.branch_for_base != \"develop\"\n    warn(\"Pull requests should be submitted to the dev branch only.\")\nend\n\n# -----------------------------------------------------------------------------\n# CHANGELOG entries are required for changes to library files\n# -----------------------------------------------------------------------------\nno_changelog_entry = !git.modified_files.include?(\"CHANGELOG.md\")\nif has_source_changes && no_changelog_entry\n    warn(\"There is no CHANGELOG entry. Do you need to add one?\")\nend\n\n# -----------------------------------------------------------------------------\n# Milestones are required for all PRs to track what's included in each release\n# -----------------------------------------------------------------------------\nhas_milestone = github.pr_json[\"milestone\"] != nil\nwarn('All pull requests should have a milestone.', sticky: false) unless has_milestone\n\n# -----------------------------------------------------------------------------\n# Docs are regenerated when releasing\n# -----------------------------------------------------------------------------\nhas_doc_changes = !git.modified_files.grep(/docs\\//).empty?\nif has_doc_changes\n    fail(\"Documentation cannot be edited directly.\")\n    message(%(Docs are automatically regenerated when creating new releases using [Jazzy](https://github.com/realm/jazzy).\n        If you want to update docs, please update the doc comments or markdown files directly.))\nend\n\n# -----------------------------------------------------------------------------\n# Verify correct `pod install` and `bundle install`\n# -----------------------------------------------------------------------------\ndef files_changed_as_set(files)\n    changed_files = files.select { |file| git.modified_files.include? file }\n    not_changed_files = files.select { |file| !changed_files.include? file }\n    all_files_changed = not_changed_files.empty?\n    no_files_changed = changed_files.empty?\n    return all_files_changed || no_files_changed\nend\n\n# Verify proper pod install.\n# If Podfile has been modified, so must the lock files.\ndid_update_podfile = git.modified_files.include?(\"Podfile\")\npod_files = [\"Podfile\", \"Podfile.lock\", \"Pods/Manifest.lock\"]\nif did_update_podfile && !files_changed_as_set(pod_files)\n    fail(\"CocoaPods error: #{pod_files} should all be changed at the same time.\n        Run `pod install` and commit the changes to fix.\")\nend\n\n# Prevent editing `Pods/` source directly.\n# If Pods has changed, then Podfile.lock must have changed too.\nhas_modified_pods = !(git.added_files + git.modified_files + git.deleted_files).grep(/Pods/).empty?\ndid_update_podlock = git.modified_files.include?(\"Podfile.lock\")\nif has_modified_pods && !did_update_podlock\n  fail(\"It looks like you are modifying CocoaPods source in `Pods/`. 3rd-party dependencies should not be edited.\n        To update or change pods, please update the `Podfile` and run `pod install`.\")\nend\n\n# Verify proper bundle install.\n# If Gemfile has been modified, so must the lock file.\ndid_update_gemfile = git.modified_files.include?(\"Gemfile\")\ngem_files = [\"Gemfile\", \"Gemfile.lock\"]\nif did_update_gemfile && !files_changed_as_set(gem_files)\n    fail(\"Bundler error: #{gem_files} should all be changed at the same time.\n        Run `bundle install` and commit the changes to fix.\")\nend\n\n# -----------------------------------------------------------------------------\n# Lint all changed markdown files\n# -----------------------------------------------------------------------------\nmarkdown_files = (git.added_files + git.modified_files).grep(%r{.*\\.md/})\nunless markdown_files.empty?\n    # Run proselint to check prose and check spelling\n    prose.language = \"en-us\"\n    prose.ignore_acronyms = true\n    prose.ignore_numbers = true\n    prose.ignored_words = [\"jessesquires\", \"swiftpm\", \"iOS\",\n        \"macOS\", \"watchOS\", \"tvOS\", \"Xcode\", \"PresenterKit\"\n    ]\n    prose.lint_files markdown_files\n    prose.check_spelling markdown_files\nend\n\n# -----------------------------------------------------------------------------\n# Run SwiftLint\n# -----------------------------------------------------------------------------\nswiftlint.verbose = true\nswiftlint.config_file = './.swiftlint.yml'\nswiftlint.lint_files(inline_mode: true, fail_on_error: true)\n\n# -----------------------------------------------------------------------------\n# Jazzy docs - check for new, undocumented symbols\n# -----------------------------------------------------------------------------\njazzy.check fail: :all\n"
  },
  {
    "path": "Example/ExampleApp/AppDelegate.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\n\n@UIApplicationMain\nfinal class AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n    func application(\n        _ application: UIApplication,\n        // swiftlint:disable:next discouraged_optional_collection\n        willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {\n        true\n    }\n}\n"
  },
  {
    "path": "Example/ExampleApp/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"83.5x83.5\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ios-marketing\",\n      \"size\" : \"1024x1024\",\n      \"scale\" : \"1x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example/ExampleApp/Assets.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example/ExampleApp/Assets.xcassets/ic_dismiss.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"dismiss@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"dismiss@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"dismiss@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example/ExampleApp/Base.lproj/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"17156\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <device id=\"retina4_7\" orientation=\"portrait\" appearance=\"light\"/>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"17125\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"PresenterKit\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"o9P-Nw-p8D\">\n                                <rect key=\"frame\" x=\"98.5\" y=\"307\" width=\"178\" height=\"53\"/>\n                                <constraints>\n                                    <constraint firstAttribute=\"height\" constant=\"53\" id=\"IBC-pi-qAv\"/>\n                                    <constraint firstAttribute=\"width\" relation=\"greaterThanOrEqual\" constant=\"178\" id=\"vYf-Ck-7c3\"/>\n                                </constraints>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"30\"/>\n                                <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                        </subviews>\n                        <viewLayoutGuide key=\"safeArea\" id=\"ZgL-Xc-pol\"/>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"o9P-Nw-p8D\" firstAttribute=\"centerX\" secondItem=\"ZgL-Xc-pol\" secondAttribute=\"centerX\" id=\"ibh-C9-ZWg\"/>\n                            <constraint firstItem=\"o9P-Nw-p8D\" firstAttribute=\"centerY\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"centerY\" id=\"lSG-yY-hB7\"/>\n                        </constraints>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"388\" y=\"435\"/>\n        </scene>\n    </scenes>\n    <resources>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n    </resources>\n</document>\n"
  },
  {
    "path": "Example/ExampleApp/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"17156\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"LSm-LS-aMG\">\n    <device id=\"retina4_7\" orientation=\"portrait\" appearance=\"light\"/>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"17125\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--PresenterKit-->\n        <scene sceneID=\"DwK-gN-fD8\">\n            <objects>\n                <tableViewController id=\"2kR-nF-Bf2\" customClass=\"MainViewController\" customModule=\"ExampleApp\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"static\" style=\"grouped\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"18\" sectionFooterHeight=\"18\" id=\"zh3-A1-cWB\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" systemColor=\"groupTableViewBackgroundColor\"/>\n                        <sections>\n                            <tableViewSection id=\"6FN-A9-WXP\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"JHC-AU-Yf7\" style=\"IBUITableViewCellStyleDefault\" id=\"h0a-dJ-rPY\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"18\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"h0a-dJ-rPY\" id=\"AZb-iq-xfH\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"Push\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"JHC-AU-Yf7\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                            <tableViewSection id=\"rIr-uf-ujc\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"iAE-2f-3fX\" style=\"IBUITableViewCellStyleDefault\" id=\"zEB-7F-Jxq\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"98\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"zEB-7F-Jxq\" id=\"2lC-p0-VFP\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"Modal\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"iAE-2f-3fX\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                            <tableViewSection id=\"ajS-bw-Tgi\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"HUt-r6-Bfj\" style=\"IBUITableViewCellStyleDefault\" id=\"bZu-wc-0pF\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"178\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"bZu-wc-0pF\" id=\"H2r-5Q-a03\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"Show\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"HUt-r6-Bfj\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                            <tableViewSection id=\"1tF-tY-ctz\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"tLM-B9-0Rs\" style=\"IBUITableViewCellStyleDefault\" id=\"zpJ-lA-GVX\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"258\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"zpJ-lA-GVX\" id=\"SqP-ME-UdG\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"ShowDetail\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"tLM-B9-0Rs\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                            <tableViewSection id=\"bIk-FY-np2\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"Nq9-uc-Nh2\" style=\"IBUITableViewCellStyleDefault\" id=\"Y5R-qA-YDa\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"338\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"Y5R-qA-YDa\" id=\"26V-mb-Wqh\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"PopoverFromView\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"Nq9-uc-Nh2\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                            <tableViewSection id=\"OFd-eA-kmg\">\n                                <cells>\n                                    <tableViewCell clipsSubviews=\"YES\" contentMode=\"scaleToFill\" selectionStyle=\"default\" accessoryType=\"disclosureIndicator\" indentationWidth=\"10\" reuseIdentifier=\"cell\" textLabel=\"8F3-4d-yZY\" style=\"IBUITableViewCellStyleDefault\" id=\"PYh-L1-KZj\">\n                                        <rect key=\"frame\" x=\"0.0\" y=\"418\" width=\"375\" height=\"44\"/>\n                                        <autoresizingMask key=\"autoresizingMask\"/>\n                                        <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"PYh-L1-KZj\" id=\"xWo-DE-kAQ\">\n                                            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"348\" height=\"44\"/>\n                                            <autoresizingMask key=\"autoresizingMask\"/>\n                                            <subviews>\n                                                <label opaque=\"NO\" multipleTouchEnabled=\"YES\" contentMode=\"left\" text=\"Custom (&quot;Half Modal&quot;)\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" id=\"8F3-4d-yZY\">\n                                                    <rect key=\"frame\" x=\"16\" y=\"0.0\" width=\"324\" height=\"44\"/>\n                                                    <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"16\"/>\n                                                    <color key=\"textColor\" systemColor=\"darkTextColor\"/>\n                                                    <nil key=\"highlightedColor\"/>\n                                                </label>\n                                            </subviews>\n                                        </tableViewCellContentView>\n                                    </tableViewCell>\n                                </cells>\n                            </tableViewSection>\n                        </sections>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"2kR-nF-Bf2\" id=\"130-Ba-bhN\"/>\n                            <outlet property=\"delegate\" destination=\"2kR-nF-Bf2\" id=\"18k-24-Mbh\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"PresenterKit\" id=\"a7j-O7-GLr\">\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Popover\" id=\"y0n-Py-Pi5\">\n                            <connections>\n                                <action selector=\"didTapPopoverButton:\" destination=\"2kR-nF-Bf2\" id=\"KXH-9U-vL3\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"Unc-SI-ZoB\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"759\" y=\"245\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"tRQ-iD-RRw\">\n            <objects>\n                <navigationController id=\"LSm-LS-aMG\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"XpN-Ws-R6x\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"2kR-nF-Bf2\" kind=\"relationship\" relationship=\"rootViewController\" id=\"1xI-qi-C26\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"lcx-Ji-cXd\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"30\" y=\"246\"/>\n        </scene>\n    </scenes>\n    <resources>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"darkTextColor\">\n            <color white=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n        </systemColor>\n        <systemColor name=\"groupTableViewBackgroundColor\">\n            <color red=\"0.94901960784313721\" green=\"0.94901960784313721\" blue=\"0.96862745098039216\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n        </systemColor>\n    </resources>\n</document>\n"
  },
  {
    "path": "Example/ExampleApp/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Example/ExampleApp/MainViewController.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport PresenterKit\nimport UIKit\n\nenum Options: Int {\n    case push\n    case modal\n    case show\n    case showDetail\n    case popover\n    case halfModal\n}\n\nfinal class MainViewController: UITableViewController,\nUIViewControllerTransitioningDelegate, UIPopoverPresentationControllerDelegate {\n\n    @IBAction func didTapPopoverButton(_ sender: UIBarButtonItem) {\n        let vc = RedViewController()\n        let config = PopoverConfig(source: .barButtonItem(sender), delegate: self)\n        presentController(vc, type: .popover(config)) {\n            print(\"Completed\")\n        }\n    }\n\n    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {\n        defer {\n            tableView.deselectRow(at: indexPath, animated: true)\n        }\n\n        let animated = true\n\n        switch indexPath.section {\n        case Options.push.rawValue:\n            let vc = RedViewController()\n            presentController(vc, type: .push, animated: animated) {\n                print(\"Completed\")\n            }\n\n        case Options.modal.rawValue:\n            let image = UIImage(named: \"ic_dismiss\")!\n            let dismissConfig = DismissButtonConfig(location: .left, style: .plain, content: .image(image))\n            let vc = RedViewController(dismissConfig: dismissConfig)\n            presentController(vc, type: .modal(.withNavigation, .fullScreen, .coverVertical), animated: animated) {\n                print(\"Completed\")\n            }\n\n        case Options.show.rawValue:\n            let vc = RedViewController()\n            presentController(vc, type: .show, animated: animated)\n\n        case Options.showDetail.rawValue:\n            let vc = RedViewController()\n            presentController(vc, type: .showDetail(.withNavigation), animated: animated)\n\n        case Options.popover.rawValue:\n            let cell = tableView.cellForRow(at: indexPath)!.contentView\n            let config = PopoverConfig(source: .view(container: cell, frame: nil), delegate: self)\n            let vc = RedViewController()\n            presentController(vc, type: .popover(config), animated: animated) {\n                print(\"Completed\")\n            }\n\n        case Options.halfModal.rawValue:\n            let vc = RedViewController()\n            vc.modalTransitionStyle = .coverVertical\n            presentController(vc, type: .custom(self), animated: animated) {\n                print(\"Completed\")\n            }\n\n        default:\n            fatalError(\"invalid index path: \\(indexPath)\")\n        }\n    }\n\n    // MARK: UIViewControllerTransitioningDelegate\n\n    func presentationController(forPresented presented: UIViewController,\n                                presenting: UIViewController?,\n                                source: UIViewController) -> UIPresentationController? {\n        HalfModalPresentationController(presentedViewController: presented, presenting: presenting)\n    }\n\n    // MARK: UIPopoverPresentationControllerDelegate\n\n    func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {\n        .none\n    }\n}\n"
  },
  {
    "path": "Example/ExampleApp/RedViewController.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport PresenterKit\nimport UIKit\n\nfinal class RedViewController: UITableViewController {\n\n    let cellId = \"cell\"\n    var dismissConfig: DismissButtonConfig?\n\n    init(dismissConfig: DismissButtonConfig? = nil) {\n        self.dismissConfig = dismissConfig\n        super.init(style: .grouped)\n    }\n\n    @available(*, unavailable)\n    required init?(coder aDecoder: NSCoder) {\n        fatalError(\"init(coder:) has not been implemented\")\n    }\n\n    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {\n        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)\n    }\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n        title = \"Red View\"\n        tableView.backgroundColor = UIColor(red: 1.0, green: 0.493_3, blue: 0.474, alpha: 1.0)\n        tableView.allowsSelection = false\n        tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellId)\n\n        let config = dismissConfig ?? DismissButtonConfig()\n        addDismissButtonIfNeeded(config: config)\n    }\n\n    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        10\n    }\n\n    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)\n        cell.textLabel?.text = \"cell \\((indexPath as NSIndexPath).row)\"\n        cell.textLabel?.textColor = .red\n        return cell\n    }\n\n    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {\n        \"Section title\"\n    }\n\n    override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {\n        \"Footer title\"\n    }\n}\n"
  },
  {
    "path": "Example/ExampleApp.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t882550121C5472B700CE6D8D /* RedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 882550111C5472B700CE6D8D /* RedViewController.swift */; };\n\t\t887E572B1C4DBC9B00684C85 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887E572A1C4DBC9B00684C85 /* AppDelegate.swift */; };\n\t\t887E572D1C4DBC9B00684C85 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887E572C1C4DBC9B00684C85 /* MainViewController.swift */; };\n\t\t887E57301C4DBC9B00684C85 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 887E572E1C4DBC9B00684C85 /* Main.storyboard */; };\n\t\t887E57321C4DBC9B00684C85 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 887E57311C4DBC9B00684C85 /* Assets.xcassets */; };\n\t\t887E57351C4DBC9B00684C85 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 887E57331C4DBC9B00684C85 /* LaunchScreen.storyboard */; };\n\t\t887E574B1C4DBC9B00684C85 /* ExampleAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887E574A1C4DBC9B00684C85 /* ExampleAppUITests.swift */; };\n\t\t887E57701C4DC07400684C85 /* PresenterKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 887E57671C4DC03B00684C85 /* PresenterKit.framework */; };\n\t\t887E57711C4DC07400684C85 /* PresenterKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 887E57671C4DC03B00684C85 /* PresenterKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t887E57471C4DBC9B00684C85 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 887E571F1C4DBC9B00684C85 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 887E57261C4DBC9B00684C85;\n\t\t\tremoteInfo = ExampleApp;\n\t\t};\n\t\t887E57661C4DC03B00684C85 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 88B1CF571C3F762700D1348C;\n\t\t\tremoteInfo = PresenterKit;\n\t\t};\n\t\t887E57681C4DC03B00684C85 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 88B1CF611C3F762800D1348C;\n\t\t\tremoteInfo = PresenterKitTests;\n\t\t};\n\t\t887E57721C4DC07500684C85 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 88B1CF561C3F762700D1348C;\n\t\t\tremoteInfo = PresenterKit;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\t887E57741C4DC07500684C85 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t887E57711C4DC07400684C85 /* PresenterKit.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t882550111C5472B700CE6D8D /* RedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RedViewController.swift; sourceTree = \"<group>\"; };\n\t\t887E57271C4DBC9B00684C85 /* ExampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ExampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t887E572A1C4DBC9B00684C85 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t887E572C1C4DBC9B00684C85 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = \"<group>\"; };\n\t\t887E572F1C4DBC9B00684C85 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t887E57311C4DBC9B00684C85 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = \"<group>\"; };\n\t\t887E57341C4DBC9B00684C85 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\t887E57361C4DBC9B00684C85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t887E57461C4DBC9B00684C85 /* ExampleAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t887E574A1C4DBC9B00684C85 /* ExampleAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleAppUITests.swift; sourceTree = \"<group>\"; };\n\t\t887E574C1C4DBC9B00684C85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = PresenterKit.xcodeproj; path = ../PresenterKit.xcodeproj; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t887E57241C4DBC9B00684C85 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t887E57701C4DC07400684C85 /* PresenterKit.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t887E57431C4DBC9B00684C85 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t887E571E1C4DBC9B00684C85 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */,\n\t\t\t\t887E57291C4DBC9B00684C85 /* ExampleApp */,\n\t\t\t\t887E57491C4DBC9B00684C85 /* ExampleAppUITests */,\n\t\t\t\t887E57281C4DBC9B00684C85 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t887E57281C4DBC9B00684C85 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t887E57271C4DBC9B00684C85 /* ExampleApp.app */,\n\t\t\t\t887E57461C4DBC9B00684C85 /* ExampleAppUITests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t887E57291C4DBC9B00684C85 /* ExampleApp */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t887E572A1C4DBC9B00684C85 /* AppDelegate.swift */,\n\t\t\t\t887E57311C4DBC9B00684C85 /* Assets.xcassets */,\n\t\t\t\t887E57361C4DBC9B00684C85 /* Info.plist */,\n\t\t\t\t887E57331C4DBC9B00684C85 /* LaunchScreen.storyboard */,\n\t\t\t\t887E572E1C4DBC9B00684C85 /* Main.storyboard */,\n\t\t\t\t887E572C1C4DBC9B00684C85 /* MainViewController.swift */,\n\t\t\t\t882550111C5472B700CE6D8D /* RedViewController.swift */,\n\t\t\t);\n\t\t\tpath = ExampleApp;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t887E57491C4DBC9B00684C85 /* ExampleAppUITests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t887E574A1C4DBC9B00684C85 /* ExampleAppUITests.swift */,\n\t\t\t\t887E574C1C4DBC9B00684C85 /* Info.plist */,\n\t\t\t);\n\t\t\tpath = ExampleAppUITests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t887E57621C4DC03B00684C85 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t887E57671C4DC03B00684C85 /* PresenterKit.framework */,\n\t\t\t\t887E57691C4DC03B00684C85 /* PresenterKitTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t887E57261C4DBC9B00684C85 /* ExampleApp */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 887E574F1C4DBC9B00684C85 /* Build configuration list for PBXNativeTarget \"ExampleApp\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t887E57231C4DBC9B00684C85 /* Sources */,\n\t\t\t\t887E57241C4DBC9B00684C85 /* Frameworks */,\n\t\t\t\t887E57251C4DBC9B00684C85 /* Resources */,\n\t\t\t\t887E57741C4DC07500684C85 /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t887E57731C4DC07500684C85 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = ExampleApp;\n\t\t\tproductName = ExampleApp;\n\t\t\tproductReference = 887E57271C4DBC9B00684C85 /* ExampleApp.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t887E57451C4DBC9B00684C85 /* ExampleAppUITests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 887E57551C4DBC9B00684C85 /* Build configuration list for PBXNativeTarget \"ExampleAppUITests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t887E57421C4DBC9B00684C85 /* Sources */,\n\t\t\t\t887E57431C4DBC9B00684C85 /* Frameworks */,\n\t\t\t\t887E57441C4DBC9B00684C85 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t887E57481C4DBC9B00684C85 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = ExampleAppUITests;\n\t\t\tproductName = ExampleAppUITests;\n\t\t\tproductReference = 887E57461C4DBC9B00684C85 /* ExampleAppUITests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.ui-testing\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t887E571F1C4DBC9B00684C85 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 1200;\n\t\t\t\tORGANIZATIONNAME = \"Hexed Bits\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t887E57261C4DBC9B00684C85 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tDevelopmentTeamName = \"Jesse Squires\";\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t\tProvisioningStyle = Manual;\n\t\t\t\t\t};\n\t\t\t\t\t887E57451C4DBC9B00684C85 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t\tProvisioningStyle = Manual;\n\t\t\t\t\t\tTestTargetID = 887E57261C4DBC9B00684C85;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 887E57221C4DBC9B00684C85 /* Build configuration list for PBXProject \"ExampleApp\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 887E571E1C4DBC9B00684C85;\n\t\t\tproductRefGroup = 887E57281C4DBC9B00684C85 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectReferences = (\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 887E57621C4DC03B00684C85 /* Products */;\n\t\t\t\t\tProjectRef = 887E57611C4DC03B00684C85 /* PresenterKit.xcodeproj */;\n\t\t\t\t},\n\t\t\t);\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t887E57261C4DBC9B00684C85 /* ExampleApp */,\n\t\t\t\t887E57451C4DBC9B00684C85 /* ExampleAppUITests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXReferenceProxy section */\n\t\t887E57671C4DC03B00684C85 /* PresenterKit.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = PresenterKit.framework;\n\t\t\tremoteRef = 887E57661C4DC03B00684C85 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t887E57691C4DC03B00684C85 /* PresenterKitTests.xctest */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.cfbundle;\n\t\t\tpath = PresenterKitTests.xctest;\n\t\t\tremoteRef = 887E57681C4DC03B00684C85 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n/* End PBXReferenceProxy section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t887E57251C4DBC9B00684C85 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t887E57351C4DBC9B00684C85 /* LaunchScreen.storyboard in Resources */,\n\t\t\t\t887E57321C4DBC9B00684C85 /* Assets.xcassets in Resources */,\n\t\t\t\t887E57301C4DBC9B00684C85 /* Main.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t887E57441C4DBC9B00684C85 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t887E57231C4DBC9B00684C85 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t887E572D1C4DBC9B00684C85 /* MainViewController.swift in Sources */,\n\t\t\t\t882550121C5472B700CE6D8D /* RedViewController.swift in Sources */,\n\t\t\t\t887E572B1C4DBC9B00684C85 /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t887E57421C4DBC9B00684C85 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t887E574B1C4DBC9B00684C85 /* ExampleAppUITests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t887E57481C4DBC9B00684C85 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 887E57261C4DBC9B00684C85 /* ExampleApp */;\n\t\t\ttargetProxy = 887E57471C4DBC9B00684C85 /* PBXContainerItemProxy */;\n\t\t};\n\t\t887E57731C4DC07500684C85 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = PresenterKit;\n\t\t\ttargetProxy = 887E57721C4DC07500684C85 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t887E572E1C4DBC9B00684C85 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t887E572F1C4DBC9B00684C85 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t887E57331C4DBC9B00684C85 /* LaunchScreen.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t887E57341C4DBC9B00684C85 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t887E574D1C4DBC9B00684C85 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 12.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t887E574E1C4DBC9B00684C85 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 12.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t887E57501C4DBC9B00684C85 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = ExampleApp/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleApp;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t887E57511C4DBC9B00684C85 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = ExampleApp/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleApp;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t887E57561C4DBC9B00684C85 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = ExampleAppUITests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleAppUITests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t\tTEST_TARGET_NAME = ExampleApp;\n\t\t\t\tUSES_XCTRUNNER = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t887E57571C4DBC9B00684C85 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = ExampleAppUITests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleAppUITests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tTEST_TARGET_NAME = ExampleApp;\n\t\t\t\tUSES_XCTRUNNER = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t887E57221C4DBC9B00684C85 /* Build configuration list for PBXProject \"ExampleApp\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t887E574D1C4DBC9B00684C85 /* Debug */,\n\t\t\t\t887E574E1C4DBC9B00684C85 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t887E574F1C4DBC9B00684C85 /* Build configuration list for PBXNativeTarget \"ExampleApp\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t887E57501C4DBC9B00684C85 /* Debug */,\n\t\t\t\t887E57511C4DBC9B00684C85 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t887E57551C4DBC9B00684C85 /* Build configuration list for PBXNativeTarget \"ExampleAppUITests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t887E57561C4DBC9B00684C85 /* Debug */,\n\t\t\t\t887E57571C4DBC9B00684C85 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 887E571F1C4DBC9B00684C85 /* Project object */;\n}\n"
  },
  {
    "path": "Example/ExampleApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:ExampleApp.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Example/ExampleApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Example/ExampleApp.xcodeproj/xcshareddata/IDETemplateMacros.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>FILEHEADER</key>\n\t<string>\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Example/ExampleApp.xcodeproj/xcshareddata/xcschemes/ExampleApp.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1200\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n               BuildableName = \"PresenterKit.framework\"\n               BlueprintName = \"PresenterKit\"\n               ReferencedContainer = \"container:../PresenterKit.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"887E57261C4DBC9B00684C85\"\n               BuildableName = \"ExampleApp.app\"\n               BlueprintName = \"ExampleApp\"\n               ReferencedContainer = \"container:ExampleApp.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      codeCoverageEnabled = \"YES\"\n      onlyGenerateCoverageForSpecifiedTargets = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"887E57261C4DBC9B00684C85\"\n            BuildableName = \"ExampleApp.app\"\n            BlueprintName = \"ExampleApp\"\n            ReferencedContainer = \"container:ExampleApp.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <CodeCoverageTargets>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n            BuildableName = \"PresenterKit.framework\"\n            BlueprintName = \"PresenterKit\"\n            ReferencedContainer = \"container:../PresenterKit.xcodeproj\">\n         </BuildableReference>\n      </CodeCoverageTargets>\n      <Testables>\n         <TestableReference\n            skipped = \"NO\"\n            parallelizable = \"YES\"\n            testExecutionOrdering = \"random\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"887E57451C4DBC9B00684C85\"\n               BuildableName = \"ExampleAppUITests.xctest\"\n               BlueprintName = \"ExampleAppUITests\"\n               ReferencedContainer = \"container:ExampleApp.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"887E57261C4DBC9B00684C85\"\n            BuildableName = \"ExampleApp.app\"\n            BlueprintName = \"ExampleApp\"\n            ReferencedContainer = \"container:ExampleApp.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"887E57261C4DBC9B00684C85\"\n            BuildableName = \"ExampleApp.app\"\n            BlueprintName = \"ExampleApp\"\n            ReferencedContainer = \"container:ExampleApp.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Example/ExampleAppUITests/ExampleAppUITests.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\nimport XCTest\n\nfinal class ExampleAppUITests: XCTestCase {\n\n    override func setUp() {\n        super.setUp()\n        continueAfterFailure = false\n        XCUIApplication().launch()\n    }\n\n    func test_popover() {\n        let app = XCUIApplication()\n        app.navigationBars[\"PresenterKit\"].buttons[\"Popover\"].tap()\n        app.otherElements[\"PopoverDismissRegion\"].tap()\n    }\n\n    func test_push() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"Push\"].tap()\n        app.navigationBars[\"Red View\"].buttons[\"PresenterKit\"].tap()\n    }\n\n    func test_modal() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"Modal\"].tap()\n        app.navigationBars[\"Red View\"].children(matching: .button).element.tap()\n    }\n\n    func test_show() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"Show\"].tap()\n        app.navigationBars[\"Red View\"].buttons[\"PresenterKit\"].tap()\n    }\n\n    func test_showDetail() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"ShowDetail\"].tap()\n        app.navigationBars[\"Red View\"].buttons[\"Cancel\"].tap()\n    }\n\n    func test_popoverFromView() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"PopoverFromView\"].tap()\n        app.otherElements[\"PopoverDismissRegion\"].tap()\n    }\n\n    func test_halfModal() {\n        let app = XCUIApplication()\n        app.tables.staticTexts[\"Custom (\\\"Half Modal\\\")\"].tap()\n        app.children(matching: .window).element(boundBy: 0).children(matching: .other).element(boundBy: 1).tap()\n    }\n}\n"
  },
  {
    "path": "Example/ExampleAppUITests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Gemfile",
    "content": "source 'https://rubygems.org'\n\ngem 'cocoapods', '~> 1.11'\n\n# ------------\n# Danger Setup\n# ------------\ngem 'danger'\n\n# github\ngem 'danger-auto_label'\n\n# general\ngem 'danger-todoist'\ngem 'danger-prose'\n\n# xcode, ios, macos\ngem 'danger-swiftlint'\n\ngem 'danger-jazzy'\ngem 'jazzy'\n\ngem 'danger-duplicate_localizable_strings'\ngem 'danger-missed_localizable_strings'\n\n# fixes for github security vulnerability warnings\ngem \"rubyzip\", \">= 1.3.0\"\ngem \"excon\", \">= 0.71.0\"\n"
  },
  {
    "path": "Guides/Getting Started.md",
    "content": "# Getting Started\n\nThis guide provides a brief overview for how to get started using `PresenterKit`.\n\n```swift\nimport PresenterKit\n```\n\n- Watch [the talk](https://realm.io/news/slug-jesse-squires-swifty-view-controller-presenters/)\n- Read the [blog post](http://www.jessesquires.com/swifty-presenters/)\n- Run the [example project](https://github.com/jessesquires/PresenterKit/tree/develop/Example)\n\n## Presenting a view controller modally\n\n```swift\nlet vc = MyViewController()\npresentController(vc, type: .modal(.withNavigation, .formSheet, .coverVertical))\n```\n\n## Pushing a view controller\n\n```swift\nlet vc = MyViewController()\npresentController(vc, type: .push)\n```\n\n## Presenting as a popover\n\n```swift\nlet vc = MyViewController()\nlet config = PopoverConfig(source: .barButtonItem(item), delegate: self)\npresentController(vc, type: .popover(config))\n```\n\n## Dismissing a view controller\n\n```swift\ndismissController()\n```\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016-present Jesse Squires\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Package.swift",
    "content": "// swift-tools-version:5.3\n// The swift-tools-version declares the minimum version\n// of Swift required to build this package.\n// ----------------------------------------------------\n//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//  Copyright © 2020-present Jesse Squires\n//\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"PresenterKit\",\n    platforms: [\n        .iOS(.v11)\n    ],\n    products: [\n        .library(\n            name: \"PresenterKit\",\n            targets: [\"PresenterKit\"])\n    ],\n    targets: [\n        .target(\n            name: \"PresenterKit\",\n            path: \"Sources\",\n            exclude: [\"Info.plist\"]),\n        .testTarget(name: \"PresenterKitTests\",\n                    dependencies: [\"PresenterKit\"],\n                    path: \"Tests\",\n                    exclude: [\"Info.plist\"])\n    ],\n    swiftLanguageVersions: [.v5]\n)\n"
  },
  {
    "path": "PresenterKit.podspec",
    "content": "Pod::Spec.new do |s|\n   s.name = 'PresenterKit'\n   s.version = '6.1.3'\n   s.license = 'MIT'\n\n   s.summary = 'Custom presenters and better view controller presentation for iOS'\n   s.homepage = 'https://github.com/jessesquires/PresenterKit'\n   s.documentation_url = 'https://jessesquires.github.io/PresenterKit'\n   s.social_media_url = 'https://twitter.com/jesse_squires'\n   s.author = 'Jesse Squires'\n\n   s.source = { :git => 'https://github.com/jessesquires/PresenterKit.git', :tag => s.version }\n   s.source_files = 'Sources/*.swift'\n\n   s.swift_version = '5.3'\n   s.ios.deployment_target = '11.0'\n\n   s.requires_arc = true\n\n   s.deprecated = true\nend\n"
  },
  {
    "path": "PresenterKit.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t13C26AD71DFD2C99004CC79D /* UINavigationController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C26AD61DFD2C99004CC79D /* UINavigationController+Extensions.swift */; };\n\t\t8876470E1C56FB2D002048E2 /* DismissButtonConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8876470D1C56FB2D002048E2 /* DismissButtonConfig.swift */; };\n\t\t887647181C59E423002048E2 /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887647171C59E423002048E2 /* UIViewController+Extensions.swift */; };\n\t\t8889115B244B89CC00CB3137 /* HalfModalPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8889115A244B89CB00CB3137 /* HalfModalPresentationController.swift */; };\n\t\t889CC4181C4345BD00CD2DBD /* PresentationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889CC4171C4345BD00CD2DBD /* PresentationType.swift */; };\n\t\t88B1CF621C3F762800D1348C /* PresenterKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B1CF571C3F762700D1348C /* PresenterKit.framework */; };\n\t\t88B1CF7B1C3F767000D1348C /* PresenterKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B1CF761C3F766C00D1348C /* PresenterKitTests.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t88B1CF631C3F762800D1348C /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 88B1CF4E1C3F762700D1348C /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 88B1CF561C3F762700D1348C;\n\t\t\tremoteInfo = PresenterKit;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t13C26AD61DFD2C99004CC79D /* UINavigationController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = \"UINavigationController+Extensions.swift\"; sourceTree = \"<group>\"; };\n\t\t8876470D1C56FB2D002048E2 /* DismissButtonConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DismissButtonConfig.swift; sourceTree = \"<group>\"; };\n\t\t887647171C59E423002048E2 /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = \"UIViewController+Extensions.swift\"; sourceTree = \"<group>\"; };\n\t\t8889115A244B89CB00CB3137 /* HalfModalPresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HalfModalPresentationController.swift; sourceTree = \"<group>\"; };\n\t\t889CC4171C4345BD00CD2DBD /* PresentationType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationType.swift; sourceTree = \"<group>\"; };\n\t\t88B1CF571C3F762700D1348C /* PresenterKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PresenterKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t88B1CF611C3F762800D1348C /* PresenterKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PresenterKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t88B1CF721C3F766C00D1348C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t88B1CF751C3F766C00D1348C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t88B1CF761C3F766C00D1348C /* PresenterKitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresenterKitTests.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t88B1CF531C3F762700D1348C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t88B1CF5E1C3F762800D1348C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t88B1CF621C3F762800D1348C /* PresenterKit.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t88B1CF4D1C3F762700D1348C = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t88B1CF711C3F766C00D1348C /* Sources */,\n\t\t\t\t88B1CF741C3F766C00D1348C /* Tests */,\n\t\t\t\t88B1CF581C3F762700D1348C /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t88B1CF581C3F762700D1348C /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t88B1CF571C3F762700D1348C /* PresenterKit.framework */,\n\t\t\t\t88B1CF611C3F762800D1348C /* PresenterKitTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t88B1CF711C3F766C00D1348C /* Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8876470D1C56FB2D002048E2 /* DismissButtonConfig.swift */,\n\t\t\t\t8889115A244B89CB00CB3137 /* HalfModalPresentationController.swift */,\n\t\t\t\t88B1CF721C3F766C00D1348C /* Info.plist */,\n\t\t\t\t889CC4171C4345BD00CD2DBD /* PresentationType.swift */,\n\t\t\t\t13C26AD61DFD2C99004CC79D /* UINavigationController+Extensions.swift */,\n\t\t\t\t887647171C59E423002048E2 /* UIViewController+Extensions.swift */,\n\t\t\t);\n\t\t\tpath = Sources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t88B1CF741C3F766C00D1348C /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t88B1CF751C3F766C00D1348C /* Info.plist */,\n\t\t\t\t88B1CF761C3F766C00D1348C /* PresenterKitTests.swift */,\n\t\t\t);\n\t\t\tpath = Tests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t88B1CF541C3F762700D1348C /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t88B1CF561C3F762700D1348C /* PresenterKit */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 88B1CF6B1C3F762800D1348C /* Build configuration list for PBXNativeTarget \"PresenterKit\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t88B1CF521C3F762700D1348C /* Sources */,\n\t\t\t\t88B1CF531C3F762700D1348C /* Frameworks */,\n\t\t\t\t88B1CF541C3F762700D1348C /* Headers */,\n\t\t\t\t88B1CF551C3F762700D1348C /* Resources */,\n\t\t\t\t8822155B20051A240008AA5C /* SwiftLint */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = PresenterKit;\n\t\t\tproductName = PresenterKit;\n\t\t\tproductReference = 88B1CF571C3F762700D1348C /* PresenterKit.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t88B1CF601C3F762800D1348C /* PresenterKitTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 88B1CF6E1C3F762800D1348C /* Build configuration list for PBXNativeTarget \"PresenterKitTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t88B1CF5D1C3F762800D1348C /* Sources */,\n\t\t\t\t88B1CF5E1C3F762800D1348C /* Frameworks */,\n\t\t\t\t88B1CF5F1C3F762800D1348C /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t88B1CF641C3F762800D1348C /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = PresenterKitTests;\n\t\t\tproductName = PresenterKitTests;\n\t\t\tproductReference = 88B1CF611C3F762800D1348C /* PresenterKitTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t88B1CF4E1C3F762700D1348C /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 1200;\n\t\t\t\tORGANIZATIONNAME = \"Hexed Bits\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t88B1CF561C3F762700D1348C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tDevelopmentTeam = 5VRJU68BZ5;\n\t\t\t\t\t\tDevelopmentTeamName = \"Jesse Squires\";\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\t88B1CF601C3F762800D1348C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tDevelopmentTeamName = \"Jesse Squires\";\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t\tProvisioningStyle = Manual;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 88B1CF511C3F762700D1348C /* Build configuration list for PBXProject \"PresenterKit\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 88B1CF4D1C3F762700D1348C;\n\t\t\tproductRefGroup = 88B1CF581C3F762700D1348C /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t88B1CF561C3F762700D1348C /* PresenterKit */,\n\t\t\t\t88B1CF601C3F762800D1348C /* PresenterKitTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t88B1CF551C3F762700D1348C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t88B1CF5F1C3F762800D1348C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t8822155B20051A240008AA5C /* SwiftLint */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = SwiftLint;\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/zsh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/scripts/lint.zsh\\\"\\n\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t88B1CF521C3F762700D1348C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8876470E1C56FB2D002048E2 /* DismissButtonConfig.swift in Sources */,\n\t\t\t\t887647181C59E423002048E2 /* UIViewController+Extensions.swift in Sources */,\n\t\t\t\t8889115B244B89CC00CB3137 /* HalfModalPresentationController.swift in Sources */,\n\t\t\t\t889CC4181C4345BD00CD2DBD /* PresentationType.swift in Sources */,\n\t\t\t\t13C26AD71DFD2C99004CC79D /* UINavigationController+Extensions.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t88B1CF5D1C3F762800D1348C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t88B1CF7B1C3F767000D1348C /* PresenterKitTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t88B1CF641C3F762800D1348C /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 88B1CF561C3F762700D1348C /* PresenterKit */;\n\t\t\ttargetProxy = 88B1CF631C3F762800D1348C /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t88B1CF691C3F762800D1348C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 12.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t88B1CF6A1C3F762800D1348C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 12.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t88B1CF6C1C3F762800D1348C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Sources/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMARKETING_VERSION = 6.1.1;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.PresenterKit;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSUPPORTS_MACCATALYST = NO;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t88B1CF6D1C3F762800D1348C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Sources/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMARKETING_VERSION = 6.1.1;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.PresenterKit;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSUPPORTS_MACCATALYST = NO;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t88B1CF6F1C3F762800D1348C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.PresenterKitTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t88B1CF701C3F762800D1348C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.PresenterKitTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t88B1CF511C3F762700D1348C /* Build configuration list for PBXProject \"PresenterKit\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t88B1CF691C3F762800D1348C /* Debug */,\n\t\t\t\t88B1CF6A1C3F762800D1348C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t88B1CF6B1C3F762800D1348C /* Build configuration list for PBXNativeTarget \"PresenterKit\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t88B1CF6C1C3F762800D1348C /* Debug */,\n\t\t\t\t88B1CF6D1C3F762800D1348C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t88B1CF6E1C3F762800D1348C /* Build configuration list for PBXNativeTarget \"PresenterKitTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t88B1CF6F1C3F762800D1348C /* Debug */,\n\t\t\t\t88B1CF701C3F762800D1348C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 88B1CF4E1C3F762700D1348C /* Project object */;\n}\n"
  },
  {
    "path": "PresenterKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:PresenterKit.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "PresenterKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "PresenterKit.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "PresenterKit.xcodeproj/xcshareddata/IDETemplateMacros.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>FILEHEADER</key>\n\t<string>\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "PresenterKit.xcodeproj/xcshareddata/xcschemes/PresenterKit.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1200\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n               BuildableName = \"PresenterKit.framework\"\n               BlueprintName = \"PresenterKit\"\n               ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      codeCoverageEnabled = \"YES\"\n      onlyGenerateCoverageForSpecifiedTargets = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n            BuildableName = \"PresenterKit.framework\"\n            BlueprintName = \"PresenterKit\"\n            ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <CodeCoverageTargets>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n            BuildableName = \"PresenterKit.framework\"\n            BlueprintName = \"PresenterKit\"\n            ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n         </BuildableReference>\n      </CodeCoverageTargets>\n      <Testables>\n         <TestableReference\n            skipped = \"NO\"\n            parallelizable = \"YES\"\n            testExecutionOrdering = \"random\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"88B1CF601C3F762800D1348C\"\n               BuildableName = \"PresenterKitTests.xctest\"\n               BlueprintName = \"PresenterKitTests\"\n               ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n            BuildableName = \"PresenterKit.framework\"\n            BlueprintName = \"PresenterKit\"\n            ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"88B1CF561C3F762700D1348C\"\n            BuildableName = \"PresenterKit.framework\"\n            BlueprintName = \"PresenterKit\"\n            ReferencedContainer = \"container:PresenterKit.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "README.md",
    "content": "# PresenterKit [![Actions Status](https://github.com/jessesquires/PresenterKit/workflows/CI/badge.svg)](https://github.com/jessesquires/PresenterKit/actions)\n\n*Custom presenters and better view controller presentation for iOS*\n\n## Requirements\n\n* Xcode 12.0+\n* Swift 5.3+\n* iOS 11.0+\n* [SwiftLint](https://github.com/realm/SwiftLint)\n\n## Installation\n\n#### [CocoaPods](https://cocoapods.org)\n\n````ruby\npod 'PresenterKit', '~> 6.1.0'\n\n# develop branch\npod 'PresenterKit', :git => 'https://github.com/jessesquires/PresenterKit.git', :branch => 'develop'\n````\n\n### [Swift Package Manager](https://swift.org/package-manager/)\n\nAdd `PresenterKit` to the `dependencies` value of your `Package.swift`.\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/jessesquires/PresenterKit.git\", from: \"6.1.0\")\n]\n```\n\nAlternatively, you can add the package [directly via Xcode](https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app).\n\n## Documentation\n\nYou can read the [documentation here](https://jessesquires.github.io/PresenterKit). Generated with [jazzy](https://github.com/realm/jazzy). Hosted by [GitHub Pages](https://pages.github.com).\n\n## Contributing\n\nInterested in making contributions to this project? Please review the guides below.\n\n- [Contributing Guidelines](https://github.com/jessesquires/.github/blob/master/CONTRIBUTING.md)\n- [Code of Conduct](https://github.com/jessesquires/.github/blob/master/CODE_OF_CONDUCT.md)\n- [Support and Help](https://github.com/jessesquires/.github/blob/master/SUPPORT.md)\n- [Security Policy](https://github.com/jessesquires/.github/blob/master/SECURITY.md)\n\nAlso, consider [sponsoring this project](https://www.jessesquires.com/sponsor/) or [buying my apps](https://www.hexedbits.com)! ✌️\n\n## Credits\n\nCreated and maintained by [**@jesse_squires**](https://twitter.com/jesse_squires).\n\n## License\n\nReleased under the MIT License. See `LICENSE` for details.\n\n> **Copyright &copy; 2016-present Jesse Squires.**\n"
  },
  {
    "path": "Sources/DismissButtonConfig.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\n\n/**\n A configuration for `UIBarButtonItem`.\n Use this configuration to create dismissal/cancel buttons for modally presented view controllers.\n */\npublic struct DismissButtonConfig {\n\n    /// Specifies a bar button's location in a navigation bar.\n    public enum Location {\n        /// The left side of the navigation bar.\n        case left\n\n        /// The right side of the navigation bar.\n        case right\n    }\n\n    /// Specifies a bar button's item style.\n    public enum Style {\n        /// Use bold text, `.Done` style.\n        case bold\n\n        /// Use regular text, `.Plain` style.\n        case plain\n    }\n\n    /// Specifies the content (title or image) for the bar button.\n    public enum Content {\n        /// Specifies a `UIBarButtonSystemItem`.\n        case systemItem(UIBarButtonItem.SystemItem)\n\n        /// Specifies custom text for the bar button.\n        case text(String)\n\n        /// Specifies a custom image for the bar button.\n        case image(UIImage)\n    }\n\n    /// The location for the bar button.\n    /// The default is `.left`.\n    public let location: Location\n\n    /// The style for the bar button.\n    ///  The default is `.plain`.\n    public let style: Style\n\n    /// The content for the bar button.\n    ///  The default is `.plain`.\n    public let content: Content\n\n    /**\n     Initializes a new configuration instance.\n\n     - parameter location: The location for the bar button. The default is `.left`.\n     - parameter style:    The style for the bar button. The default is `.plain`.\n     - parameter content:  The content for the bar button. The default is `.systemItem(.cancel)`.\n\n     - returns: A new configuration instance.\n     */\n    public init(location: Location = .left, style: Style = .plain, content: Content = .systemItem(.cancel)) {\n        self.location = location\n        self.style = style\n        self.content = content\n    }\n}\n\nextension UIBarButtonItem {\n    /**\n     Initializes a new bar button item using the specified configuration.\n\n     - parameter config: The configuration for the item.\n     - parameter target: The object that receives the action message.\n     - parameter action: The action to send to target when this item is selected.\n\n     - returns: A new bar button item instance.\n     */\n    public convenience init(config: DismissButtonConfig, target: AnyObject?, action: Selector) {\n        switch config.content {\n        case .text(let title):\n            self.init(title: title, style: config.style.itemStyle, target: target, action: action)\n\n        case .image(let image):\n            self.init(image: image, style: config.style.itemStyle, target: target, action: action)\n\n        case .systemItem(let systemItem):\n            self.init(barButtonSystemItem: systemItem, target: target, action: action)\n        }\n        self.style = config.style.itemStyle\n    }\n}\n\nextension DismissButtonConfig.Style {\n    var itemStyle: UIBarButtonItem.Style {\n        switch self {\n        case .bold:\n            return .done\n\n        case .plain:\n            return .plain\n        }\n    }\n}\n\nextension DismissButtonConfig.Content {\n    var systemItem: UIBarButtonItem.SystemItem? {\n        switch self {\n        case .systemItem(let item):\n            return item\n\n        default:\n            return nil\n        }\n    }\n\n    var image: UIImage? {\n        switch self {\n        case .image(let image):\n            return image\n\n        default:\n            return nil\n        }\n    }\n\n    var title: String? {\n        switch self {\n        case .text(let str):\n            return str\n\n        default:\n            return nil\n        }\n    }\n}\n"
  },
  {
    "path": "Sources/HalfModalPresentationController.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\n// swiftlint:disable type_contents_order\n\nimport UIKit\n\n/// A modal presentation controller that presents the presented view controller modally,\n/// covering the bottom half of the presenting view controller. This presentation controller\n/// displays a transparent dimmed, tappable view over the top half of the presenting view controller.\npublic final class HalfModalPresentationController: UIPresentationController {\n\n    private lazy var dimmingView: UIView = {\n        let view = UIView()\n        view.backgroundColor = UIColor.black.withAlphaComponent(0.5)\n        view.alpha = 0.0\n        let tap = UITapGestureRecognizer(target: self, action: #selector(Self.dimmingViewTapped(_:)))\n        view.addGestureRecognizer(tap)\n        return view\n    }()\n\n    /// :nodoc:\n    override public init(presentedViewController: UIViewController,\n                         presenting presentingViewController: UIViewController?) {\n        super.init(presentedViewController: presentedViewController,\n                   presenting: presentingViewController)\n    }\n\n    /// :nodoc:\n    override public func presentationTransitionWillBegin() {\n        self.dimmingView.frame = containerView!.bounds\n        self.dimmingView.alpha = 0.0\n        self.containerView?.insertSubview(self.dimmingView, at: 0)\n\n        let animations = {\n            self.dimmingView.alpha = 1.0\n        }\n\n        if let transitionCoordinator = self.presentingViewController.transitionCoordinator {\n\n            transitionCoordinator.animate(alongsideTransition: { _ in\n                animations()\n            }, completion: nil)\n        } else {\n            animations()\n        }\n    }\n\n    /// :nodoc:\n    override public func dismissalTransitionWillBegin() {\n        let animations = {\n            self.dimmingView.alpha = 0.0\n        }\n\n        if let transitionCoordinator = presentingViewController.transitionCoordinator {\n            transitionCoordinator.animate(alongsideTransition: { _ in\n                animations()\n            }, completion: nil)\n        } else {\n            animations()\n        }\n    }\n\n    /// :nodoc:\n    override public var adaptivePresentationStyle: UIModalPresentationStyle {\n        .none\n    }\n\n    /// :nodoc:\n    override public var shouldPresentInFullscreen: Bool {\n        true\n    }\n\n    /// :nodoc:\n    override public func size(\n        forChildContentContainer container: UIContentContainer,\n        withParentContainerSize parentSize: CGSize) -> CGSize {\n        CGSize(width: parentSize.width,\n               height: round(parentSize.height / 2.0))\n    }\n\n    /// :nodoc:\n    override public func containerViewWillLayoutSubviews() {\n        self.dimmingView.frame = self.containerView!.bounds\n        self.presentedView?.frame = self.frameOfPresentedViewInContainerView\n    }\n\n    /// :nodoc:\n    override public var frameOfPresentedViewInContainerView: CGRect {\n        let size = self.size(forChildContentContainer: presentedViewController,\n                             withParentContainerSize: containerView!.bounds.size)\n        let origin = CGPoint(x: 0.0, y: self.containerView!.frame.maxY / 2)\n        return CGRect(origin: origin, size: size)\n    }\n\n    // MARK: Private\n\n    @objc\n    private func dimmingViewTapped(_ tap: UITapGestureRecognizer) {\n        self.presentingViewController.dismiss(animated: true, completion: nil)\n    }\n}\n\n// swiftlint:enable type_contents_order\n"
  },
  {
    "path": "Sources/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>$(MARKETING_VERSION)</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Sources/PresentationType.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\n\n/**\n Specifies the navigation style for a view controller.\n */\npublic enum NavigationStyle {\n    /// Do not embed a view controller in a `UINavigationController`.\n    case none\n\n    /// Embed view controller in a `UINavigationController`.\n    case withNavigation\n}\n\n/**\n A configuration for `UIPopoverPresentationController`.\n */\npublic struct PopoverConfig {\n\n    /**\n     Describes the source view from which the popover is showing.\n     */\n    public enum Source {\n        /// Specifies that the popover should display from a `UIBarButtonItem` instance.\n        case barButtonItem(UIBarButtonItem)\n\n        /// Specifies that the popover should display from a `UIView` instance and be anchored on the specific `frame`. \n        /// If the `frame` is `nil` then the provided view's frame will be used as the anchor frame.\n        case view(container: UIView, frame: CGRect?)\n    }\n\n    /// The source view for the popover.\n    let source: Source\n\n    /// The arrow direction of the popover.\n    /// The default is `.any`.\n    let arrowDirection: UIPopoverArrowDirection\n\n    /// The delegate object for the popover presentation controller, or `nil`.\n    /// The default is `nil`.\n    let delegate: UIPopoverPresentationControllerDelegate?\n\n    /**\n     Initializes and returns a new `PopoverConfig` object.\n\n     - parameter source:         The source for the popoever.\n     - parameter arrowDirection: The arrow direction for the popover. The default is `.any`.\n     - parameter delegate:       The delegate for the popover. The default is `nil`.\n\n     - returns: A new `PopoverConfig` object.\n     */\n    public init(source: Source,\n                arrowDirection: UIPopoverArrowDirection = .any,\n                delegate: UIPopoverPresentationControllerDelegate? = nil) {\n        self.source = source\n        self.arrowDirection = arrowDirection\n        self.delegate = delegate\n    }\n}\n\n/**\n Describes the type of presentation for a view controller.\n */\npublic enum PresentationType {\n    /// A modal presentation type with the specified navigation, presentation, and transition styles.\n    case modal(NavigationStyle, UIModalPresentationStyle, UIModalTransitionStyle)\n\n    /// A popover presentation type with the specified configuration.\n    case popover(PopoverConfig)\n\n    /// A push presentation type.\n    case push\n\n    /// A \"show\" presentation type. This is an adaptive presentation that usually corresponds to `.Push`.\n    case show\n\n    /// A \"show detail\" presentation type. This is an adaptive presentation that usually corresponds to `.Modal`.\n    case showDetail(NavigationStyle)\n\n    /// A custom presentation style that uses the specified delegate.\n    case custom(UIViewControllerTransitioningDelegate)\n\n    /// No presentation type specified, use UIKit defaults. Use this when presenting system controllers, like `UIAlertController`.\n    case none\n}\n"
  },
  {
    "path": "Sources/UINavigationController+Extensions.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\n\nextension UINavigationController {\n\n    /**\n     Pushes the given view controller and calls the given closure upon completion.\n     \n     - parameter viewController: The view controller to push onto the stack.\n     - parameter animated: Specify `true` to animate the transition or `false`\n     if you do not want the transition to be animated.\n     - parameter completion: The closure to be called upon completion.\n     */\n    public func push(_ viewController: UIViewController,\n                     animated: Bool = true,\n                     completion: (() -> Void)? = nil) {\n        self.pushViewController(viewController, animated: animated)\n        self._handle(animated: animated, completion: completion)\n    }\n\n    /**\n     Pops the top view controller and calls the given closure upon completion.\n\n     - parameter animated: Specify `true` to animate the transition or `false`\n     if you do not want the transition to be animated.\n     - parameter completion: The closure to be called upon completion.\n     */\n    public func pop(animated: Bool = true,\n                    completion: (() -> Void)? = nil) {\n        self.popViewController(animated: animated)\n        self._handle(animated: animated, completion: completion)\n    }\n\n    private func _handle(animated: Bool, completion: (() -> Void)?) {\n        guard let completion = completion else {\n            return\n        }\n\n        guard animated, let coordinator = self.transitionCoordinator else {\n            completion()\n            return\n        }\n\n        coordinator.animate(alongsideTransition: nil) { context in\n            guard !context.isCancelled else { return }\n            completion()\n        }\n    }\n}\n"
  },
  {
    "path": "Sources/UIViewController+Extensions.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\nimport UIKit\n\n// MARK: - Styles\nextension UIViewController {\n\n    /**\n     Wraps the receiving view controller in a navigation controller.\n     The receiver is set as the `rootViewController` of the navigation controller.\n\n     - returns: The navigation controller that contains the receiver as the `rootViewController`.\n     */\n    @discardableResult\n    public func withNavigation() -> UINavigationController {\n        UINavigationController(rootViewController: self)\n    }\n\n    /**\n     Applies the specified modal presentation style to the view controller.\n\n     - parameter presentation: A modal presentation style.\n\n     - returns: The view controller after applying the style.\n     */\n    @discardableResult\n    public func withPresentation(_ presentation: UIModalPresentationStyle) -> Self {\n        self.modalPresentationStyle = presentation\n        return self\n    }\n\n    /**\n     Applies the specified modal transition style to the view controller.\n\n     - parameter transition: A modal transition style.\n\n     - returns: The view controller after applying the style.\n     */\n    @discardableResult\n    public func withTransition(_ transition: UIModalTransitionStyle) -> Self {\n        self.modalTransitionStyle = transition\n        return self\n    }\n\n    /**\n     Applies the specified navigation style to the view controller.\n\n     - parameter navigationStyle: A navigation style.\n\n     - returns: The view controller after applying the style.\n\n     - note: If `navigationStyle` is `.withNavigation`, then calling this method is equivalent to calling `withNavigation()`.\n     If `navigationStyle` is `.none`, then calling this method does nothing.\n     */\n    @discardableResult\n    public func withNavigationStyle(_ navigationStyle: NavigationStyle) -> UIViewController {\n        switch navigationStyle {\n        case .none:\n            return self\n\n        case .withNavigation:\n            return self.withNavigation()\n        }\n    }\n\n    /**\n     Applies the specified navigation style to the view controller.\n\n     - parameter navigation:   A navigation style.\n     - parameter presentation: A modal presentation style.\n     - parameter transition:   A modal transition style.\n\n     - returns: The view controller after applying the style.\n     */\n    @discardableResult\n    public func withStyles(navigation: NavigationStyle,\n                           presentation: UIModalPresentationStyle,\n                           transition: UIModalTransitionStyle) -> UIViewController {\n        // apple styles to self, then to navigation controller\n        self.withPresentation(presentation).withTransition(transition)\n        return self.withNavigationStyle(navigation).withPresentation(presentation).withTransition(transition)\n    }\n}\n\n// MARK: - Presentation\nextension UIViewController {\n\n    /**\n     Presents a view controller using the specified presentation type.\n\n     - parameter viewController: The view controller to display over the current view controller.\n     - parameter type:           The presentation type to use.\n     - parameter animated:       Pass `true` to animate the presentation, `false` otherwise.\n     - parameter completion:     The closure to be called.\n\n     - warning: The `completion` parameter is ignored for `show` and `showDetail` presentation types.\n     */\n    public func presentController(_ controller: UIViewController,\n                                  type: PresentationType,\n                                  animated: Bool = true,\n                                  completion: (() -> Void)? = nil) {\n        switch type {\n        case .modal(let n, let p, let t):\n            let vc = controller.withStyles(navigation: n, presentation: p, transition: t)\n            self.present(vc, animated: animated, completion: completion)\n\n        case .popover(let c):\n            controller.withStyles(navigation: .none, presentation: .popover, transition: .crossDissolve)\n\n            let popoverController = controller.popoverPresentationController\n            popoverController?.delegate = c.delegate\n            popoverController?.permittedArrowDirections = c.arrowDirection\n            switch c.source {\n            case .barButtonItem(let item):\n                popoverController?.barButtonItem = item\n\n            case .view(let container, let frame):\n                popoverController?.sourceView = container\n                popoverController?.sourceRect = frame ?? container.bounds\n            }\n            self.present(controller, animated: animated, completion: completion)\n\n        case .push:\n            if let nav = self as? UINavigationController {\n                nav.push(controller, animated: animated, completion: completion)\n            } else {\n                self.navigationController!.push(controller, animated: animated, completion: completion)\n            }\n\n        case .show:\n            assert(completion == nil, \"Completion closure parameter is ignored for `.show`\")\n            self.show(controller, sender: self)\n\n        case .showDetail(let navigation):\n            assert(completion == nil, \"Completion closure parameter is ignored for `.showDetail`\")\n            self.showDetailViewController(controller.withNavigationStyle(navigation), sender: self)\n\n        case .custom(let delegate):\n            controller.modalPresentationStyle = .custom\n            controller.transitioningDelegate = delegate\n            self.present(controller, animated: animated, completion: completion)\n\n        case .none:\n            self.present(controller, animated: animated, completion: completion)\n        }\n    }\n}\n\n// MARK: - Dismissal\nextension UIViewController {\n\n    private var needsDismissButton: Bool {\n        self.isModallyPresented\n    }\n\n    private var isModallyPresented: Bool {\n        (self.hasPresentingController && !self.hasNavigationController)\n            || (self.hasPresentingController && self.hasNavigationController && self.isNavigationRootViewController)\n    }\n\n    private var hasPresentingController: Bool {\n        self.presentingViewController != nil\n    }\n\n    private var hasNavigationController: Bool {\n        self.navigationController != nil\n    }\n\n    private var isNavigationRootViewController: Bool {\n        self.navigationController?.viewControllers.first == self\n    }\n\n    /**\n     Dismisses the receiving view controller.\n\n     - parameter animated: Pass `true` to animate the presentation, `false` otherwise.\n     - parameter completion: The closure to be called upon completion.\n     */\n    public func dismissController(animated: Bool = true, completion: (() -> Void)? = nil) {\n        if self.isModallyPresented {\n            assert(presentingViewController != nil)\n            self.presentingViewController?.dismiss(animated: animated, completion: completion)\n        } else {\n            assert(navigationController != nil)\n            _ = self.navigationController?.pop(animated: animated, completion: completion)\n        }\n    }\n\n    /**\n     Adds a dismiss button having the provided configuration, if needed.\n\n     - parameter config: The configuration to apply to the dismiss button.\n\n     - note: This method does nothing if the view controller is not presented modally.\n     */\n    public func addDismissButtonIfNeeded(config: DismissButtonConfig = DismissButtonConfig()) {\n        guard self.needsDismissButton else { return }\n        self.addDismissButton(config: config)\n    }\n\n    /**\n     Adds a dismiss button having the provided configuration.\n\n     - parameter config: The configuration to apply to the dismiss button.\n\n     - note: The view controller must have a non-nil `navigationItem`.\n     */\n    public func addDismissButton(config: DismissButtonConfig = DismissButtonConfig()) {\n        let button = UIBarButtonItem(config: config,\n                                     target: self,\n                                     action: #selector(Self._didTapDismissButton(_:)))\n\n        switch config.location {\n        case .left:\n            self.navigationItem.leftBarButtonItem = button\n\n        case .right:\n            self.navigationItem.rightBarButtonItem = button\n        }\n    }\n\n    @objc\n    private func _didTapDismissButton(_ sender: UIBarButtonItem) {\n        self.dismissController()\n    }\n}\n"
  },
  {
    "path": "Tests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Tests/PresenterKitTests.swift",
    "content": "//\n//  Created by Jesse Squires\n//  https://www.jessesquires.com\n//\n//\n//  Documentation\n//  https://jessesquires.github.io/PresenterKit\n//\n//\n//  GitHub\n//  https://github.com/jessesquires/PresenterKit\n//\n//\n//  License\n//  Copyright © 2016-Present Jesse Squires\n//  Released under an MIT license: https://opensource.org/licenses/MIT\n//\n\n@testable import PresenterKit\nimport UIKit\nimport XCTest\n\nfinal class PresenterKitTests: XCTestCase {\n\n    func test_thatBarButtonItem_initializesWith_dismissConfig_default() {\n        let config = DismissButtonConfig()\n        XCTAssertEqual(config.location, DismissButtonConfig.Location.left)\n        XCTAssertEqual(config.style.itemStyle, UIBarButtonItem.Style.plain)\n        XCTAssertEqual(config.content.systemItem, UIBarButtonItem.SystemItem.cancel)\n        XCTAssertNil(config.content.title)\n\n        let action = #selector(tapAction(sender:))\n        let item = UIBarButtonItem(config: config, target: self, action: action)\n\n        XCTAssertEqual(item.style, config.style.itemStyle)\n        XCTAssertTrue(item.target === self)\n        XCTAssertEqual(item.action, action)\n    }\n\n    func test_thatBarButtonItem_initializesWith_dismissConfig_leftBoldCancel() {\n        let config = DismissButtonConfig(location: .left, style: .bold, content: .systemItem(.done))\n        XCTAssertEqual(config.location, DismissButtonConfig.Location.left)\n        XCTAssertEqual(config.style.itemStyle, UIBarButtonItem.Style.done)\n        XCTAssertEqual(config.content.systemItem, UIBarButtonItem.SystemItem.done)\n        XCTAssertNil(config.content.title)\n\n        let action = #selector(tapAction(sender:))\n        let item = UIBarButtonItem(config: config, target: self, action: action)\n\n        XCTAssertEqual(item.style, config.style.itemStyle)\n        XCTAssertTrue(item.target === self)\n        XCTAssertEqual(item.action, action)\n    }\n\n    func test_thatBarButtonItem_initializesWith_dismissConfig_rightPlainCustomText() {\n        let config = DismissButtonConfig(location: .right, style: .plain, content: .text(\"title\"))\n        XCTAssertEqual(config.location, DismissButtonConfig.Location.right)\n        XCTAssertEqual(config.style.itemStyle, UIBarButtonItem.Style.plain)\n        XCTAssertEqual(config.content.title, \"title\")\n        XCTAssertNil(config.content.systemItem)\n\n        let action = #selector(tapAction(sender:))\n        let item = UIBarButtonItem(config: config, target: self, action: action)\n\n        XCTAssertEqual(item.style, config.style.itemStyle)\n        XCTAssertTrue(item.target === self)\n        XCTAssertEqual(item.action, action)\n    }\n\n    func test_thatBarButtonItem_initializesWith_dismissConfig_leftImage() {\n        let image = UIImage()\n        let config = DismissButtonConfig(location: .left, style: .plain, content: .image(image))\n        XCTAssertEqual(config.location, DismissButtonConfig.Location.left)\n        XCTAssertEqual(config.style.itemStyle, UIBarButtonItem.Style.plain)\n        XCTAssertEqual(config.content.image, image)\n        XCTAssertNil(config.content.systemItem)\n\n        let action = #selector(tapAction(sender:))\n        let item = UIBarButtonItem(config: config, target: self, action: action)\n        XCTAssertEqual(item.style, config.style.itemStyle)\n        XCTAssertTrue(item.target === self)\n        XCTAssertEqual(item.action, action)\n    }\n\n    func test_thatViewController_appliesStyle_withNavigation() {\n        let controller = UIViewController()\n        let nav = controller.withNavigationStyle(.withNavigation) as! UINavigationController\n        XCTAssertEqual(controller, nav.topViewController)\n    }\n\n    func test_thatViewController_appliesStyle_withNavigation_none() {\n        let controller = UIViewController()\n        let other = controller.withNavigationStyle(.none)\n        XCTAssertEqual(controller, other)\n    }\n\n    func test_thatViewController_appliesStyle_withPresentation() {\n        let controller = UIViewController()\n        let other = controller.withPresentation(.formSheet)\n        XCTAssertEqual(controller, other)\n        XCTAssertEqual(controller.modalPresentationStyle, UIModalPresentationStyle.formSheet)\n        XCTAssertEqual(other.modalPresentationStyle, UIModalPresentationStyle.formSheet)\n\n        let controller2 = UIViewController()\n        let other2 = controller2.withPresentation(.pageSheet)\n        XCTAssertEqual(controller2, other2)\n        XCTAssertEqual(controller2.modalPresentationStyle, UIModalPresentationStyle.pageSheet)\n        XCTAssertEqual(other2.modalPresentationStyle, UIModalPresentationStyle.pageSheet)\n\n        let controller3 = UIViewController()\n        let other3 = controller3.withPresentation(.custom)\n        XCTAssertEqual(controller3, other3)\n        XCTAssertEqual(controller3.modalPresentationStyle, UIModalPresentationStyle.custom)\n        XCTAssertEqual(other3.modalPresentationStyle, UIModalPresentationStyle.custom)\n    }\n\n    func test_thatViewController_appliesStyle_withTransition() {\n        let controller = UIViewController()\n        let other = controller.withTransition(.coverVertical)\n        XCTAssertEqual(controller, other)\n        XCTAssertEqual(controller.modalTransitionStyle, UIModalTransitionStyle.coverVertical)\n        XCTAssertEqual(other.modalTransitionStyle, UIModalTransitionStyle.coverVertical)\n\n        let controller2 = UIViewController()\n        let other2 = controller2.withTransition(.crossDissolve)\n        XCTAssertEqual(controller2, other2)\n        XCTAssertEqual(controller2.modalTransitionStyle, UIModalTransitionStyle.crossDissolve)\n        XCTAssertEqual(other2.modalTransitionStyle, UIModalTransitionStyle.crossDissolve)\n\n        let controller3 = UIViewController()\n        let other3 = controller3.withTransition(.flipHorizontal)\n        XCTAssertEqual(controller3, other3)\n        XCTAssertEqual(controller3.modalTransitionStyle, UIModalTransitionStyle.flipHorizontal)\n        XCTAssertEqual(other3.modalTransitionStyle, UIModalTransitionStyle.flipHorizontal)\n    }\n\n    func test_thatViewController_appliesStyles_withStyles() {\n        let controller = UIViewController()\n        let other = controller.withStyles(navigation: .withNavigation,\n                                          presentation: .overCurrentContext,\n                                          transition: .partialCurl) as! UINavigationController\n        XCTAssertEqual(controller, other.topViewController)\n        XCTAssertEqual(controller.modalPresentationStyle, UIModalPresentationStyle.overCurrentContext)\n        XCTAssertEqual(controller.modalTransitionStyle, UIModalTransitionStyle.partialCurl)\n        XCTAssertEqual(other.modalPresentationStyle, UIModalPresentationStyle.overCurrentContext)\n        XCTAssertEqual(other.modalTransitionStyle, UIModalTransitionStyle.partialCurl)\n\n        let controller2 = UIViewController()\n        let other2 = controller2.withStyles(navigation: .none,\n                                            presentation: .none,\n                                            transition: .coverVertical)\n        XCTAssertEqual(controller2, other2)\n        XCTAssertEqual(controller2.modalPresentationStyle, UIModalPresentationStyle.none)\n        XCTAssertEqual(controller2.modalTransitionStyle, UIModalTransitionStyle.coverVertical)\n\n        let controller3 = UIViewController()\n        let other3 = controller3.withStyles(navigation: .withNavigation,\n                                            presentation: .formSheet,\n                                            transition: .coverVertical) as! UINavigationController\n        XCTAssertEqual(controller3, other3.topViewController)\n        XCTAssertEqual(controller3.modalPresentationStyle, UIModalPresentationStyle.formSheet)\n        XCTAssertEqual(controller3.modalTransitionStyle, UIModalTransitionStyle.coverVertical)\n        XCTAssertEqual(other3.modalPresentationStyle, UIModalPresentationStyle.formSheet)\n        XCTAssertEqual(other3.modalTransitionStyle, UIModalTransitionStyle.coverVertical)\n    }\n\n    func test_thatViewController_presentsViewController_withPresentationType_push() {\n        let firstController = UINavigationController()\n        let secondController = UIViewController()\n\n        let expectPush = expectation(description: \"completion block called\")\n\n        firstController.presentController(secondController, type: .push, animated: false) {\n            expectPush.fulfill()\n        }\n\n        XCTAssertNotNil(secondController.navigationController)\n        XCTAssertNotNil(secondController.navigationItem)\n        XCTAssertEqual(firstController.topViewController, secondController)\n\n        secondController.addDismissButtonIfNeeded()\n        XCTAssertNil(secondController.navigationItem.leftBarButtonItem)\n        XCTAssertNil(secondController.navigationItem.rightBarButtonItem)\n\n        let expectPop = expectation(description: \"completion block called\")\n\n        secondController.dismissController(animated: false) {\n            expectPop.fulfill()\n        }\n\n        XCTAssertEqual(firstController.topViewController, secondController)\n\n        waitForExpectations(timeout: 5)\n    }\n\n    func test_thatViewController_presentsViewController_withPresentationType_push_embedded() {\n        let firstController = UIViewController()\n        let navController = UINavigationController(rootViewController: firstController)\n        XCTAssertEqual(navController.topViewController, firstController)\n\n        let secondController = UIViewController()\n        firstController.presentController(secondController, type: .push, animated: false)\n\n        XCTAssertNotNil(secondController.navigationController)\n        XCTAssertNotNil(secondController.navigationItem)\n        XCTAssertEqual(navController.topViewController, secondController)\n\n        secondController.addDismissButtonIfNeeded()\n        XCTAssertNil(secondController.navigationItem.leftBarButtonItem)\n        XCTAssertNil(secondController.navigationItem.rightBarButtonItem)\n\n        secondController.dismissController(animated: false)\n        XCTAssertEqual(navController.topViewController, firstController)\n    }\n\n    func test_thatViewController_presentsViewController_withPresentationType_show() {\n        let firstController = UINavigationController()\n        let secondController = UIViewController()\n        firstController.presentController(secondController, type: .show, animated: false)\n\n        XCTAssertNotNil(secondController.navigationController)\n        XCTAssertNotNil(secondController.navigationItem)\n        XCTAssertEqual(firstController.topViewController, secondController)\n\n        secondController.addDismissButtonIfNeeded()\n        XCTAssertNil(secondController.navigationItem.leftBarButtonItem)\n        XCTAssertNil(secondController.navigationItem.rightBarButtonItem)\n    }\n\n    // MARK: Helpers\n\n    func tapAction(sender: UIBarButtonItem) { }\n}\n"
  },
  {
    "path": "docs/Classes.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Classes  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Section/Classes\" class=\"dashAnchor\"></a>\n    <a title=\"Classes  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Classes  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Classes</h1>\n            <p>The following classes are available globally.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\"></a>\n                    <a name=\"//apple_ref/swift/Class/HalfModalPresentationController\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A modal presentation controller that presents the presented view controller modally,\ncovering the bottom half of the presenting view controller. This presentation controller\ndisplays a transparent dimmed, tappable view over the top half of the presenting view controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">final</span> <span class=\"kd\">class</span> <span class=\"kt\">HalfModalPresentationController</span> <span class=\"p\">:</span> <span class=\"kt\">UIPresentationController</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Enums/NavigationStyle.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>NavigationStyle Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/NavigationStyle\" class=\"dashAnchor\"></a>\n    <a title=\"NavigationStyle Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        NavigationStyle Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>NavigationStyle</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">NavigationStyle</span></code></pre>\n\n                </div>\n              </div>\n            <p>Specifies the navigation style for a view controller.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit15NavigationStyleO4noneyA2CmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/none\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit15NavigationStyleO4noneyA2CmF\">none</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Do not embed a view controller in a <code>UINavigationController</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"k\">none</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit15NavigationStyleO04withC0yA2CmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/withNavigation\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit15NavigationStyleO04withC0yA2CmF\">withNavigation</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Embed view controller in a <code>UINavigationController</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">withNavigation</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Enums/PresentationType.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>PresentationType Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/PresentationType\" class=\"dashAnchor\"></a>\n    <a title=\"PresentationType Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        PresentationType Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>PresentationType</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">PresentationType</span></code></pre>\n\n                </div>\n              </div>\n            <p>Describes the type of presentation for a view controller.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO5modalyAcA15NavigationStyleO_So07UIModalcG0VSo0h10TransitionG0VtcACmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/modal(_:_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO5modalyAcA15NavigationStyleO_So07UIModalcG0VSo0h10TransitionG0VtcACmF\">modal(_:<wbr>_:<wbr>_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A modal presentation type with the specified navigation, presentation, and transition styles.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">modal</span><span class=\"p\">(</span><span class=\"kt\"><a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a></span><span class=\"p\">,</span> <span class=\"kt\">UIModalPresentationStyle</span><span class=\"p\">,</span> <span class=\"kt\">UIModalTransitionStyle</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO7popoveryAcA13PopoverConfigVcACmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/popover(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO7popoveryAcA13PopoverConfigVcACmF\">popover(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A popover presentation type with the specified configuration.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">popover</span><span class=\"p\">(</span><span class=\"kt\"><a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a></span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO4pushyA2CmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/push\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO4pushyA2CmF\">push</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A push presentation type.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">push</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO4showyA2CmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/show\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO4showyA2CmF\">show</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A &ldquo;show&rdquo; presentation type. This is an adaptive presentation that usually corresponds to <code>.Push</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">show</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO10showDetailyAcA15NavigationStyleOcACmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/showDetail(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO10showDetailyAcA15NavigationStyleOcACmF\">showDetail(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A &ldquo;show detail&rdquo; presentation type. This is an adaptive presentation that usually corresponds to <code>.Modal</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">showDetail</span><span class=\"p\">(</span><span class=\"kt\"><a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a></span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO6customyACSo37UIViewControllerTransitioningDelegate_pcACmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/custom(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO6customyACSo37UIViewControllerTransitioningDelegate_pcACmF\">custom(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A custom presentation style that uses the specified delegate.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">custom</span><span class=\"p\">(</span><span class=\"kt\">UIViewControllerTransitioningDelegate</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO4noneyA2CmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/none\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO4noneyA2CmF\">none</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>No presentation type specified, use UIKit defaults. Use this when presenting system controllers, like <code>UIAlertController</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"k\">none</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Enums.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Enumerations  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Section/Enumerations\" class=\"dashAnchor\"></a>\n    <a title=\"Enumerations  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Enumerations  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Enumerations</h1>\n            <p>The following enumerations are available globally.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit15NavigationStyleO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/NavigationStyle\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit15NavigationStyleO\">NavigationStyle</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies the navigation style for a view controller.</p>\n\n                        <a href=\"Enums/NavigationStyle.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">NavigationStyle</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit16PresentationTypeO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/PresentationType\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit16PresentationTypeO\">PresentationType</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Describes the type of presentation for a view controller.</p>\n\n                        <a href=\"Enums/PresentationType.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">PresentationType</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Extensions/UIBarButtonItem.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>UIBarButtonItem Extension Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Extension/UIBarButtonItem\" class=\"dashAnchor\"></a>\n    <a title=\"UIBarButtonItem Extension Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        UIBarButtonItem Extension Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>UIBarButtonItem</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UIBarButtonItem</span></code></pre>\n\n                </div>\n              </div>\n            \n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So15UIBarButtonItemC12PresenterKitE6config6target6actionAbC07DismissB6ConfigV_yXlSg10ObjectiveC8SelectorVtcfc\"></a>\n                    <a name=\"//apple_ref/swift/Method/init(config:target:action:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So15UIBarButtonItemC12PresenterKitE6config6target6actionAbC07DismissB6ConfigV_yXlSg10ObjectiveC8SelectorVtcfc\">init(config:<wbr>target:<wbr>action:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Initializes a new bar button item using the specified configuration.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">convenience</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"nv\">config</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a></span><span class=\"p\">,</span> <span class=\"nv\">target</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">?,</span> <span class=\"nv\">action</span><span class=\"p\">:</span> <span class=\"kt\">Selector</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>config</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The configuration for the item.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>target</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The object that receives the action message.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>action</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The action to send to target when this item is selected.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>A new bar button item instance.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Extensions/UINavigationController.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>UINavigationController Extension Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Extension/UINavigationController\" class=\"dashAnchor\"></a>\n    <a title=\"UINavigationController Extension Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        UINavigationController Extension Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>UINavigationController</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UINavigationController</span></code></pre>\n\n                </div>\n              </div>\n            \n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So22UINavigationControllerC12PresenterKitE4push_8animated10completionySo06UIViewB0C_SbyycSgtF\"></a>\n                    <a name=\"//apple_ref/swift/Method/push(_:animated:completion:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So22UINavigationControllerC12PresenterKitE4push_8animated10completionySo06UIViewB0C_SbyycSgtF\">push(_:<wbr>animated:<wbr>completion:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Pushes the given view controller and calls the given closure upon completion.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">push</span><span class=\"p\">(</span><span class=\"n\">_</span> <span class=\"nv\">viewController</span><span class=\"p\">:</span> <span class=\"kt\">UIViewController</span><span class=\"p\">,</span>\n                 <span class=\"nv\">animated</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span> <span class=\"o\">=</span> <span class=\"kc\">true</span><span class=\"p\">,</span>\n                 <span class=\"nv\">completion</span><span class=\"p\">:</span> <span class=\"p\">(()</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">Void</span><span class=\"p\">)?</span> <span class=\"o\">=</span> <span class=\"kc\">nil</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>viewController</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The view controller to push onto the stack.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>animated</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>Specify <code>true</code> to animate the transition or <code>false</code>\nif you do not want the transition to be animated.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>completion</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The closure to be called upon completion.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So22UINavigationControllerC12PresenterKitE3pop8animated10completionySb_yycSgtF\"></a>\n                    <a name=\"//apple_ref/swift/Method/pop(animated:completion:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So22UINavigationControllerC12PresenterKitE3pop8animated10completionySb_yycSgtF\">pop(animated:<wbr>completion:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Pops the top view controller and calls the given closure upon completion.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">pop</span><span class=\"p\">(</span><span class=\"nv\">animated</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span> <span class=\"o\">=</span> <span class=\"kc\">true</span><span class=\"p\">,</span>\n                <span class=\"nv\">completion</span><span class=\"p\">:</span> <span class=\"p\">(()</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">Void</span><span class=\"p\">)?</span> <span class=\"o\">=</span> <span class=\"kc\">nil</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>animated</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>Specify <code>true</code> to animate the transition or <code>false</code>\nif you do not want the transition to be animated.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>completion</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The closure to be called upon completion.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Extensions/UIViewController.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>UIViewController Extension Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Extension/UIViewController\" class=\"dashAnchor\"></a>\n    <a title=\"UIViewController Extension Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        UIViewController Extension Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>UIViewController</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UIViewController</span></code></pre>\n\n                </div>\n              </div>\n            \n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE14withNavigationSo012UINavigationB0CyF\"></a>\n                    <a name=\"//apple_ref/swift/Method/withNavigation()\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE14withNavigationSo012UINavigationB0CyF\">withNavigation()</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Wraps the receiving view controller in a navigation controller.\nThe receiver is set as the <code>rootViewController</code> of the navigation controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">@discardableResult</span>\n<span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">withNavigation</span><span class=\"p\">()</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">UINavigationController</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The navigation controller that contains the receiver as the <code>rootViewController</code>.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE16withPresentationyABXDSo07UIModalF5StyleVF\"></a>\n                    <a name=\"//apple_ref/swift/Method/withPresentation(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE16withPresentationyABXDSo07UIModalF5StyleVF\">withPresentation(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Applies the specified modal presentation style to the view controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">@discardableResult</span>\n<span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">withPresentation</span><span class=\"p\">(</span><span class=\"n\">_</span> <span class=\"nv\">presentation</span><span class=\"p\">:</span> <span class=\"kt\">UIModalPresentationStyle</span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"k\">Self</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>presentation</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A modal presentation style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The view controller after applying the style.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE14withTransitionyABXDSo07UIModalF5StyleVF\"></a>\n                    <a name=\"//apple_ref/swift/Method/withTransition(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE14withTransitionyABXDSo07UIModalF5StyleVF\">withTransition(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Applies the specified modal transition style to the view controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">@discardableResult</span>\n<span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">withTransition</span><span class=\"p\">(</span><span class=\"n\">_</span> <span class=\"nv\">transition</span><span class=\"p\">:</span> <span class=\"kt\">UIModalTransitionStyle</span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"k\">Self</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>transition</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A modal transition style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The view controller after applying the style.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE19withNavigationStyleyAbC0fG0OF\"></a>\n                    <a name=\"//apple_ref/swift/Method/withNavigationStyle(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE19withNavigationStyleyAbC0fG0OF\">withNavigationStyle(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Applies the specified navigation style to the view controller.</p>\n<div class=\"aside aside-note\">\n    <p class=\"aside-title\">Note</p>\n    <p>If <code>navigationStyle</code> is <code>.withNavigation</code>, then calling this method is equivalent to calling <code><a href=\"../Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE14withNavigationSo012UINavigationB0CyF\">withNavigation()</a></code>.\nIf <code>navigationStyle</code> is <code>.none</code>, then calling this method does nothing.</p>\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">@discardableResult</span>\n<span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">withNavigationStyle</span><span class=\"p\">(</span><span class=\"n\">_</span> <span class=\"nv\">navigationStyle</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a></span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">UIViewController</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>navigationStyle</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A navigation style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The view controller after applying the style.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE10withStyles10navigation12presentation10transitionAbC15NavigationStyleO_So019UIModalPresentationK0VSo0l10TransitionK0VtF\"></a>\n                    <a name=\"//apple_ref/swift/Method/withStyles(navigation:presentation:transition:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE10withStyles10navigation12presentation10transitionAbC15NavigationStyleO_So019UIModalPresentationK0VSo0l10TransitionK0VtF\">withStyles(navigation:<wbr>presentation:<wbr>transition:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Applies the specified navigation style to the view controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">@discardableResult</span>\n<span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">withStyles</span><span class=\"p\">(</span><span class=\"nv\">navigation</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a></span><span class=\"p\">,</span>\n                       <span class=\"nv\">presentation</span><span class=\"p\">:</span> <span class=\"kt\">UIModalPresentationStyle</span><span class=\"p\">,</span>\n                       <span class=\"nv\">transition</span><span class=\"p\">:</span> <span class=\"kt\">UIModalTransitionStyle</span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">UIViewController</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>navigation</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A navigation style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>presentation</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A modal presentation style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>transition</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>A modal transition style.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The view controller after applying the style.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n            <div class=\"task-group\">\n              <div class=\"task-name-container\">\n                <a name=\"/Presentation\"></a>\n                <a name=\"//apple_ref/swift/Section/Presentation\" class=\"dashAnchor\"></a>\n                <div class=\"section-name-container\">\n                  <a class=\"section-name-link\" href=\"#/Presentation\"></a>\n                  <h3 class=\"section-name\"><p>Presentation</p>\n</h3>\n                </div>\n              </div>\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE07presentB0_4type8animated10completionyAB_AC16PresentationTypeOSbyycSgtF\"></a>\n                    <a name=\"//apple_ref/swift/Method/presentController(_:type:animated:completion:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE07presentB0_4type8animated10completionyAB_AC16PresentationTypeOSbyycSgtF\">presentController(_:<wbr>type:<wbr>animated:<wbr>completion:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Presents a view controller using the specified presentation type.</p>\n<div class=\"aside aside-warning\">\n    <p class=\"aside-title\">Warning</p>\n    <p>The <code>completion</code> parameter is ignored for <code>show</code> and <code>showDetail</code> presentation types.</p>\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">presentController</span><span class=\"p\">(</span><span class=\"n\">_</span> <span class=\"nv\">controller</span><span class=\"p\">:</span> <span class=\"kt\">UIViewController</span><span class=\"p\">,</span>\n                              <span class=\"nv\">type</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Enums/PresentationType.html\">PresentationType</a></span><span class=\"p\">,</span>\n                              <span class=\"nv\">animated</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span> <span class=\"o\">=</span> <span class=\"kc\">true</span><span class=\"p\">,</span>\n                              <span class=\"nv\">completion</span><span class=\"p\">:</span> <span class=\"p\">(()</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">Void</span><span class=\"p\">)?</span> <span class=\"o\">=</span> <span class=\"kc\">nil</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>viewController</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The view controller to display over the current view controller.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>type</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The presentation type to use.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>animated</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>Pass <code>true</code> to animate the presentation, <code>false</code> otherwise.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>completion</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The closure to be called.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n            <div class=\"task-group\">\n              <div class=\"task-name-container\">\n                <a name=\"/Dismissal\"></a>\n                <a name=\"//apple_ref/swift/Section/Dismissal\" class=\"dashAnchor\"></a>\n                <div class=\"section-name-container\">\n                  <a class=\"section-name-link\" href=\"#/Dismissal\"></a>\n                  <h3 class=\"section-name\"><p>Dismissal</p>\n</h3>\n                </div>\n              </div>\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE07dismissB08animated10completionySb_yycSgtF\"></a>\n                    <a name=\"//apple_ref/swift/Method/dismissController(animated:completion:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE07dismissB08animated10completionySb_yycSgtF\">dismissController(animated:<wbr>completion:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Dismisses the receiving view controller.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">dismissController</span><span class=\"p\">(</span><span class=\"nv\">animated</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span> <span class=\"o\">=</span> <span class=\"kc\">true</span><span class=\"p\">,</span> <span class=\"nv\">completion</span><span class=\"p\">:</span> <span class=\"p\">(()</span> <span class=\"o\">-&gt;</span> <span class=\"kt\">Void</span><span class=\"p\">)?</span> <span class=\"o\">=</span> <span class=\"kc\">nil</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>animated</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>Pass <code>true</code> to animate the presentation, <code>false</code> otherwise.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>completion</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The closure to be called upon completion.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE24addDismissButtonIfNeeded6configyAC0fG6ConfigV_tF\"></a>\n                    <a name=\"//apple_ref/swift/Method/addDismissButtonIfNeeded(config:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE24addDismissButtonIfNeeded6configyAC0fG6ConfigV_tF\">addDismissButtonIfNeeded(config:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Adds a dismiss button having the provided configuration, if needed.</p>\n<div class=\"aside aside-note\">\n    <p class=\"aside-title\">Note</p>\n    <p>This method does nothing if the view controller is not presented modally.</p>\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">addDismissButtonIfNeeded</span><span class=\"p\">(</span><span class=\"nv\">config</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a></span> <span class=\"o\">=</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a></span><span class=\"p\">())</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>config</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The configuration to apply to the dismiss button.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:So16UIViewControllerC12PresenterKitE16addDismissButton6configyAC0fG6ConfigV_tF\"></a>\n                    <a name=\"//apple_ref/swift/Method/addDismissButton(config:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:So16UIViewControllerC12PresenterKitE16addDismissButton6configyAC0fG6ConfigV_tF\">addDismissButton(config:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Adds a dismiss button having the provided configuration.</p>\n<div class=\"aside aside-note\">\n    <p class=\"aside-title\">Note</p>\n    <p>The view controller must have a non-nil <code>navigationItem</code>.</p>\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">addDismissButton</span><span class=\"p\">(</span><span class=\"nv\">config</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a></span> <span class=\"o\">=</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a></span><span class=\"p\">())</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>config</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The configuration to apply to the dismiss button.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Extensions.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Extensions  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Section/Extensions\" class=\"dashAnchor\"></a>\n    <a title=\"Extensions  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Extensions  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Extensions</h1>\n            <p>The following extensions are available globally.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/c:objc(cs)UIBarButtonItem\"></a>\n                    <a name=\"//apple_ref/swift/Extension/UIBarButtonItem\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/c:objc(cs)UIBarButtonItem\">UIBarButtonItem</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        \n                        <a href=\"Extensions/UIBarButtonItem.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UIBarButtonItem</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/c:objc(cs)UINavigationController\"></a>\n                    <a name=\"//apple_ref/swift/Extension/UINavigationController\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/c:objc(cs)UINavigationController\">UINavigationController</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        \n                        <a href=\"Extensions/UINavigationController.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UINavigationController</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n            <div class=\"task-group\">\n              <div class=\"task-name-container\">\n                <a name=\"/Styles\"></a>\n                <a name=\"//apple_ref/swift/Section/Styles\" class=\"dashAnchor\"></a>\n                <div class=\"section-name-container\">\n                  <a class=\"section-name-link\" href=\"#/Styles\"></a>\n                  <h3 class=\"section-name\"><p>Styles</p>\n</h3>\n                </div>\n              </div>\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/c:objc(cs)UIViewController\"></a>\n                    <a name=\"//apple_ref/swift/Extension/UIViewController\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/c:objc(cs)UIViewController\">UIViewController</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        \n                        <a href=\"Extensions/UIViewController.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">UIViewController</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Guides.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Guides  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Section/Guides\" class=\"dashAnchor\"></a>\n    <a title=\"Guides  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Guides  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Guides</h1>\n            <p>The following guides are available globally.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/documentation.Getting Started\"></a>\n                    <a name=\"//apple_ref/swift/Guide/Getting Started\" class=\"dashAnchor\"></a>\n                    <a class=\"direct-link\" href=\"getting-started.html\">Getting Started</a>\n                    </code>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/DismissButtonConfig/Content.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Content Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../../js/jquery.min.js\" defer></script>\n    <script src=\"../../js/jazzy.js\" defer></script>\n    \n    <script src=\"../../js/lunr.min.js\" defer></script>\n    <script src=\"../../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/Content\" class=\"dashAnchor\"></a>\n    <a title=\"Content Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../../img/carat.png\" />\n        Content Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Content</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Content</span></code></pre>\n\n                </div>\n              </div>\n            <p>Specifies the content (title or image) for the bar button.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV7ContentO10systemItemyAESo05UIBard6SystemH0VcAEmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/systemItem(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV7ContentO10systemItemyAESo05UIBard6SystemH0VcAEmF\">systemItem(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies a <code>UIBarButtonSystemItem</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">systemItem</span><span class=\"p\">(</span><span class=\"kt\">UIBarButtonItem</span><span class=\"o\">.</span><span class=\"kt\">SystemItem</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV7ContentO4textyAESScAEmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/text(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV7ContentO4textyAESScAEmF\">text(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies custom text for the bar button.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">text</span><span class=\"p\">(</span><span class=\"kt\">String</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV7ContentO5imageyAESo7UIImageCcAEmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/image(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV7ContentO5imageyAESo7UIImageCcAEmF\">image(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies a custom image for the bar button.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">image</span><span class=\"p\">(</span><span class=\"kt\">UIImage</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/DismissButtonConfig/Location.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Location Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../../js/jquery.min.js\" defer></script>\n    <script src=\"../../js/jazzy.js\" defer></script>\n    \n    <script src=\"../../js/lunr.min.js\" defer></script>\n    <script src=\"../../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/Location\" class=\"dashAnchor\"></a>\n    <a title=\"Location Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../../img/carat.png\" />\n        Location Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Location</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Location</span></code></pre>\n\n                </div>\n              </div>\n            <p>Specifies a bar button&rsquo;s location in a navigation bar.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV8LocationO4leftyA2EmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/left\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV8LocationO4leftyA2EmF\">left</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The left side of the navigation bar.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">left</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV8LocationO5rightyA2EmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/right\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV8LocationO5rightyA2EmF\">right</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The right side of the navigation bar.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">right</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/DismissButtonConfig/Style.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Style Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../../js/jquery.min.js\" defer></script>\n    <script src=\"../../js/jazzy.js\" defer></script>\n    \n    <script src=\"../../js/lunr.min.js\" defer></script>\n    <script src=\"../../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/Style\" class=\"dashAnchor\"></a>\n    <a title=\"Style Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../../img/carat.png\" />\n        Style Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Style</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Style</span></code></pre>\n\n                </div>\n              </div>\n            <p>Specifies a bar button&rsquo;s item style.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV5StyleO4boldyA2EmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/bold\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV5StyleO4boldyA2EmF\">bold</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Use bold text, <code>.Done</code> style.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">bold</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV5StyleO5plainyA2EmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/plain\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV5StyleO5plainyA2EmF\">plain</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Use regular text, <code>.Plain</code> style.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"n\">plain</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/DismissButtonConfig.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>DismissButtonConfig Structure Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Struct/DismissButtonConfig\" class=\"dashAnchor\"></a>\n    <a title=\"DismissButtonConfig Structure Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        DismissButtonConfig Structure Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>DismissButtonConfig</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">struct</span> <span class=\"kt\">DismissButtonConfig</span></code></pre>\n\n                </div>\n              </div>\n            <p>A configuration for <code>UIBarButtonItem</code>.\nUse this configuration to create dismissal/cancel buttons for modally presented view controllers.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV8LocationO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/Location\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV8LocationO\">Location</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies a bar button&rsquo;s location in a navigation bar.</p>\n\n                        <a href=\"../Structs/DismissButtonConfig/Location.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Location</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV5StyleO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/Style\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV5StyleO\">Style</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies a bar button&rsquo;s item style.</p>\n\n                        <a href=\"../Structs/DismissButtonConfig/Style.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Style</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV7ContentO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/Content\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV7ContentO\">Content</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies the content (title or image) for the bar button.</p>\n\n                        <a href=\"../Structs/DismissButtonConfig/Content.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Content</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV8locationAC8LocationOvp\"></a>\n                    <a name=\"//apple_ref/swift/Property/location\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV8locationAC8LocationOvp\">location</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The location for the bar button.\nThe default is <code>.left</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"k\">let</span> <span class=\"nv\">location</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Location.html\">Location</a></span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV5styleAC5StyleOvp\"></a>\n                    <a name=\"//apple_ref/swift/Property/style\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV5styleAC5StyleOvp\">style</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The style for the bar button.\n The default is <code>.plain</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"k\">let</span> <span class=\"nv\">style</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Style.html\">Style</a></span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV7contentAC7ContentOvp\"></a>\n                    <a name=\"//apple_ref/swift/Property/content\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV7contentAC7ContentOvp\">content</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The content for the bar button.\n The default is <code>.plain</code>.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"k\">let</span> <span class=\"nv\">content</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Content.html\">Content</a></span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV8location5style7contentA2C8LocationO_AC5StyleOAC7ContentOtcfc\"></a>\n                    <a name=\"//apple_ref/swift/Method/init(location:style:content:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV8location5style7contentA2C8LocationO_AC5StyleOAC7ContentOtcfc\">init(location:<wbr>style:<wbr>content:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Initializes a new configuration instance.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"nv\">location</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Location.html\">Location</a></span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"nv\">style</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Style.html\">Style</a></span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"n\">plain</span><span class=\"p\">,</span> <span class=\"nv\">content</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/DismissButtonConfig/Content.html\">Content</a></span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"nf\">systemItem</span><span class=\"p\">(</span><span class=\"o\">.</span><span class=\"n\">cancel</span><span class=\"p\">))</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>location</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The location for the bar button. The default is <code>.left</code>.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>style</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The style for the bar button. The default is <code>.plain</code>.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>content</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The content for the bar button. The default is <code>.systemItem(.cancel)</code>.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>A new configuration instance.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/PopoverConfig/Source.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Source Enumeration Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../../js/jquery.min.js\" defer></script>\n    <script src=\"../../js/jazzy.js\" defer></script>\n    \n    <script src=\"../../js/lunr.min.js\" defer></script>\n    <script src=\"../../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Enum/Source\" class=\"dashAnchor\"></a>\n    <a title=\"Source Enumeration Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../../img/carat.png\" />\n        Source Enumeration Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Source</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Source</span></code></pre>\n\n                </div>\n              </div>\n            <p>Describes the source view from which the popover is showing.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit13PopoverConfigV6SourceO13barButtonItemyAESo05UIBargH0CcAEmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/barButtonItem(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit13PopoverConfigV6SourceO13barButtonItemyAESo05UIBargH0CcAEmF\">barButtonItem(_:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies that the popover should display from a <code>UIBarButtonItem</code> instance.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">barButtonItem</span><span class=\"p\">(</span><span class=\"kt\">UIBarButtonItem</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit13PopoverConfigV6SourceO4viewyAESo6UIViewC_So6CGRectVSgtcAEmF\"></a>\n                    <a name=\"//apple_ref/swift/Element/view(container:frame:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit13PopoverConfigV6SourceO4viewyAESo6UIViewC_So6CGRectVSgtcAEmF\">view(container:<wbr>frame:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Specifies that the popover should display from a <code>UIView</code> instance and be anchored on the specific <code>frame</code>. \nIf the <code>frame</code> is <code>nil</code> then the provided view&rsquo;s frame will be used as the anchor frame.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"k\">case</span> <span class=\"nf\">view</span><span class=\"p\">(</span><span class=\"nv\">container</span><span class=\"p\">:</span> <span class=\"kt\">UIView</span><span class=\"p\">,</span> <span class=\"nv\">frame</span><span class=\"p\">:</span> <span class=\"kt\">CGRect</span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs/PopoverConfig.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>PopoverConfig Structure Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n    <script src=\"../js/lunr.min.js\" defer></script>\n    <script src=\"../js/typeahead.jquery.js\" defer></script>\n    <script src=\"../js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Struct/PopoverConfig\" class=\"dashAnchor\"></a>\n    <a title=\"PopoverConfig Structure Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"../index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"../img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"../search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"../index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"../img/carat.png\" />\n        PopoverConfig Structure Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"../Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"../Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>PopoverConfig</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  \n                  <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">struct</span> <span class=\"kt\">PopoverConfig</span></code></pre>\n\n                </div>\n              </div>\n            <p>A configuration for <code>UIPopoverPresentationController</code>.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit13PopoverConfigV6SourceO\"></a>\n                    <a name=\"//apple_ref/swift/Enum/Source\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit13PopoverConfigV6SourceO\">Source</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Describes the source view from which the popover is showing.</p>\n\n                        <a href=\"../Structs/PopoverConfig/Source.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">enum</span> <span class=\"kt\">Source</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit13PopoverConfigV6source14arrowDirection8delegateA2C6SourceO_So014UIPopoverArrowG0VSo0J30PresentationControllerDelegate_pSgtcfc\"></a>\n                    <a name=\"//apple_ref/swift/Method/init(source:arrowDirection:delegate:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit13PopoverConfigV6source14arrowDirection8delegateA2C6SourceO_So014UIPopoverArrowG0VSo0J30PresentationControllerDelegate_pSgtcfc\">init(source:<wbr>arrowDirection:<wbr>delegate:<wbr>)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Initializes and returns a new <code>PopoverConfig</code> object.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"nv\">source</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Structs/PopoverConfig/Source.html\">Source</a></span><span class=\"p\">,</span>\n            <span class=\"nv\">arrowDirection</span><span class=\"p\">:</span> <span class=\"kt\">UIPopoverArrowDirection</span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"n\">any</span><span class=\"p\">,</span>\n            <span class=\"nv\">delegate</span><span class=\"p\">:</span> <span class=\"kt\">UIPopoverPresentationControllerDelegate</span><span class=\"p\">?</span> <span class=\"o\">=</span> <span class=\"kc\">nil</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Parameters</h4>\n                        <table class=\"graybox\">\n                          <tbody>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>source</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The source for the popoever.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>arrowDirection</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The arrow direction for the popover. The default is <code>.any</code>.</p>\n                                </div>\n                              </td>\n                            </tr>\n                            <tr>\n                              <td>\n                                <code>\n                                <em>delegate</em>\n                                </code>\n                              </td>\n                              <td>\n                                <div>\n                                  <p>The delegate for the popover. The default is <code>nil</code>.</p>\n                                </div>\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>A new <code>PopoverConfig</code> object.</p>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Structs.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Structures  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a name=\"//apple_ref/swift/Section/Structures\" class=\"dashAnchor\"></a>\n    <a title=\"Structures  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Structures  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            <h1>Structures</h1>\n            <p>The following structures are available globally.</p>\n\n          </section>\n          <section class=\"section task-group-section\">\n            <div class=\"task-group\">\n              <ul>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit19DismissButtonConfigV\"></a>\n                    <a name=\"//apple_ref/swift/Struct/DismissButtonConfig\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit19DismissButtonConfigV\">DismissButtonConfig</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A configuration for <code>UIBarButtonItem</code>.\nUse this configuration to create dismissal/cancel buttons for modally presented view controllers.</p>\n\n                        <a href=\"Structs/DismissButtonConfig.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">struct</span> <span class=\"kt\">DismissButtonConfig</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:12PresenterKit13PopoverConfigV\"></a>\n                    <a name=\"//apple_ref/swift/Struct/PopoverConfig\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:12PresenterKit13PopoverConfigV\">PopoverConfig</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>A configuration for <code>UIPopoverPresentationController</code>.</p>\n\n                        <a href=\"Structs/PopoverConfig.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight swift\"><code><span class=\"kd\">public</span> <span class=\"kd\">struct</span> <span class=\"kt\">PopoverConfig</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/css/highlight.css",
    "content": "/* Credit to https://gist.github.com/wataru420/2048287 */\n.highlight {\n  /* Comment */\n  /* Error */\n  /* Keyword */\n  /* Operator */\n  /* Comment.Multiline */\n  /* Comment.Preproc */\n  /* Comment.Single */\n  /* Comment.Special */\n  /* Generic.Deleted */\n  /* Generic.Deleted.Specific */\n  /* Generic.Emph */\n  /* Generic.Error */\n  /* Generic.Heading */\n  /* Generic.Inserted */\n  /* Generic.Inserted.Specific */\n  /* Generic.Output */\n  /* Generic.Prompt */\n  /* Generic.Strong */\n  /* Generic.Subheading */\n  /* Generic.Traceback */\n  /* Keyword.Constant */\n  /* Keyword.Declaration */\n  /* Keyword.Pseudo */\n  /* Keyword.Reserved */\n  /* Keyword.Type */\n  /* Literal.Number */\n  /* Literal.String */\n  /* Name.Attribute */\n  /* Name.Builtin */\n  /* Name.Class */\n  /* Name.Constant */\n  /* Name.Entity */\n  /* Name.Exception */\n  /* Name.Function */\n  /* Name.Namespace */\n  /* Name.Tag */\n  /* Name.Variable */\n  /* Operator.Word */\n  /* Text.Whitespace */\n  /* Literal.Number.Float */\n  /* Literal.Number.Hex */\n  /* Literal.Number.Integer */\n  /* Literal.Number.Oct */\n  /* Literal.String.Backtick */\n  /* Literal.String.Char */\n  /* Literal.String.Doc */\n  /* Literal.String.Double */\n  /* Literal.String.Escape */\n  /* Literal.String.Heredoc */\n  /* Literal.String.Interpol */\n  /* Literal.String.Other */\n  /* Literal.String.Regex */\n  /* Literal.String.Single */\n  /* Literal.String.Symbol */\n  /* Name.Builtin.Pseudo */\n  /* Name.Variable.Class */\n  /* Name.Variable.Global */\n  /* Name.Variable.Instance */\n  /* Literal.Number.Integer.Long */ }\n  .highlight .c {\n    color: #999988;\n    font-style: italic; }\n  .highlight .err {\n    color: #a61717;\n    background-color: #e3d2d2; }\n  .highlight .k {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .o {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .cm {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cp {\n    color: #999999;\n    font-weight: bold; }\n  .highlight .c1 {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cs {\n    color: #999999;\n    font-weight: bold;\n    font-style: italic; }\n  .highlight .gd {\n    color: #000000;\n    background-color: #ffdddd; }\n  .highlight .gd .x {\n    color: #000000;\n    background-color: #ffaaaa; }\n  .highlight .ge {\n    color: #000000;\n    font-style: italic; }\n  .highlight .gr {\n    color: #aa0000; }\n  .highlight .gh {\n    color: #999999; }\n  .highlight .gi {\n    color: #000000;\n    background-color: #ddffdd; }\n  .highlight .gi .x {\n    color: #000000;\n    background-color: #aaffaa; }\n  .highlight .go {\n    color: #888888; }\n  .highlight .gp {\n    color: #555555; }\n  .highlight .gs {\n    font-weight: bold; }\n  .highlight .gu {\n    color: #aaaaaa; }\n  .highlight .gt {\n    color: #aa0000; }\n  .highlight .kc {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kd {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kp {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kr {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kt {\n    color: #445588; }\n  .highlight .m {\n    color: #009999; }\n  .highlight .s {\n    color: #d14; }\n  .highlight .na {\n    color: #008080; }\n  .highlight .nb {\n    color: #0086B3; }\n  .highlight .nc {\n    color: #445588;\n    font-weight: bold; }\n  .highlight .no {\n    color: #008080; }\n  .highlight .ni {\n    color: #800080; }\n  .highlight .ne {\n    color: #990000;\n    font-weight: bold; }\n  .highlight .nf {\n    color: #990000; }\n  .highlight .nn {\n    color: #555555; }\n  .highlight .nt {\n    color: #000080; }\n  .highlight .nv {\n    color: #008080; }\n  .highlight .ow {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .w {\n    color: #bbbbbb; }\n  .highlight .mf {\n    color: #009999; }\n  .highlight .mh {\n    color: #009999; }\n  .highlight .mi {\n    color: #009999; }\n  .highlight .mo {\n    color: #009999; }\n  .highlight .sb {\n    color: #d14; }\n  .highlight .sc {\n    color: #d14; }\n  .highlight .sd {\n    color: #d14; }\n  .highlight .s2 {\n    color: #d14; }\n  .highlight .se {\n    color: #d14; }\n  .highlight .sh {\n    color: #d14; }\n  .highlight .si {\n    color: #d14; }\n  .highlight .sx {\n    color: #d14; }\n  .highlight .sr {\n    color: #009926; }\n  .highlight .s1 {\n    color: #d14; }\n  .highlight .ss {\n    color: #990073; }\n  .highlight .bp {\n    color: #999999; }\n  .highlight .vc {\n    color: #008080; }\n  .highlight .vg {\n    color: #008080; }\n  .highlight .vi {\n    color: #008080; }\n  .highlight .il {\n    color: #009999; }\n"
  },
  {
    "path": "docs/css/jazzy.css",
    "content": "html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td {\n  background: transparent;\n  border: 0;\n  margin: 0;\n  outline: 0;\n  padding: 0;\n  vertical-align: baseline; }\n\nbody {\n  background-color: #f2f2f2;\n  font-family: Helvetica, freesans, Arial, sans-serif;\n  font-size: 14px;\n  -webkit-font-smoothing: subpixel-antialiased;\n  word-wrap: break-word; }\n\nh1, h2, h3 {\n  margin-top: 0.8em;\n  margin-bottom: 0.3em;\n  font-weight: 100;\n  color: black; }\n\nh1 {\n  font-size: 2.5em; }\n\nh2 {\n  font-size: 2em;\n  border-bottom: 1px solid #e2e2e2; }\n\nh4 {\n  font-size: 13px;\n  line-height: 1.5;\n  margin-top: 21px; }\n\nh5 {\n  font-size: 1.1em; }\n\nh6 {\n  font-size: 1.1em;\n  color: #777; }\n\n.section-name {\n  color: gray;\n  display: block;\n  font-family: Helvetica;\n  font-size: 22px;\n  font-weight: 100;\n  margin-bottom: 15px; }\n\npre, code {\n  font: 0.95em Menlo, monospace;\n  color: #777;\n  word-wrap: normal; }\n\np code, li code {\n  background-color: #eee;\n  padding: 2px 4px;\n  border-radius: 4px; }\n\npre > code {\n  padding: 0; }\n\na {\n  color: #0088cc;\n  text-decoration: none; }\n  a code {\n    color: inherit; }\n\nul {\n  padding-left: 15px; }\n\nli {\n  line-height: 1.8em; }\n\nimg {\n  max-width: 100%; }\n\nblockquote {\n  margin-left: 0;\n  padding: 0 10px;\n  border-left: 4px solid #ccc; }\n\n.content-wrapper {\n  margin: 0 auto;\n  width: 980px; }\n\nheader {\n  font-size: 0.85em;\n  line-height: 32px;\n  background-color: #414141;\n  position: fixed;\n  width: 100%;\n  z-index: 3; }\n  header img {\n    padding-right: 6px;\n    vertical-align: -4px;\n    height: 16px; }\n  header a {\n    color: #fff; }\n  header p {\n    float: left;\n    color: #999; }\n  header .header-right {\n    float: right;\n    margin-left: 16px; }\n\n#breadcrumbs {\n  background-color: #f2f2f2;\n  height: 21px;\n  padding-top: 17px;\n  position: fixed;\n  width: 100%;\n  z-index: 2;\n  margin-top: 32px; }\n  #breadcrumbs #carat {\n    height: 10px;\n    margin: 0 5px; }\n\n.sidebar {\n  background-color: #f9f9f9;\n  border: 1px solid #e2e2e2;\n  overflow-y: auto;\n  overflow-x: hidden;\n  position: fixed;\n  top: 70px;\n  bottom: 0;\n  width: 230px;\n  word-wrap: normal; }\n\n.nav-groups {\n  list-style-type: none;\n  background: #fff;\n  padding-left: 0; }\n\n.nav-group-name {\n  border-bottom: 1px solid #e2e2e2;\n  font-size: 1.1em;\n  font-weight: 100;\n  padding: 15px 0 15px 20px; }\n  .nav-group-name > a {\n    color: #333; }\n\n.nav-group-tasks {\n  margin-top: 5px; }\n\n.nav-group-task {\n  font-size: 0.9em;\n  list-style-type: none;\n  white-space: nowrap; }\n  .nav-group-task a {\n    color: #888; }\n\n.main-content {\n  background-color: #fff;\n  border: 1px solid #e2e2e2;\n  margin-left: 246px;\n  position: absolute;\n  overflow: hidden;\n  padding-bottom: 20px;\n  top: 70px;\n  width: 734px; }\n  .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote {\n    margin-bottom: 1em; }\n  .main-content p {\n    line-height: 1.8em; }\n  .main-content section .section:first-child {\n    margin-top: 0;\n    padding-top: 0; }\n  .main-content section .task-group-section .task-group:first-of-type {\n    padding-top: 10px; }\n    .main-content section .task-group-section .task-group:first-of-type .section-name {\n      padding-top: 15px; }\n  .main-content section .heading:before {\n    content: \"\";\n    display: block;\n    padding-top: 70px;\n    margin: -70px 0 0; }\n  .main-content .section-name p {\n    margin-bottom: inherit;\n    line-height: inherit; }\n  .main-content .section-name code {\n    background-color: inherit;\n    padding: inherit;\n    color: inherit; }\n\n.section {\n  padding: 0 25px; }\n\n.highlight {\n  background-color: #eee;\n  padding: 10px 12px;\n  border: 1px solid #e2e2e2;\n  border-radius: 4px;\n  overflow-x: auto; }\n\n.declaration .highlight {\n  overflow-x: initial;\n  padding: 0 40px 40px 0;\n  margin-bottom: -25px;\n  background-color: transparent;\n  border: none; }\n\n.section-name {\n  margin: 0;\n  margin-left: 18px; }\n\n.task-group-section {\n  margin-top: 10px;\n  padding-left: 6px;\n  border-top: 1px solid #e2e2e2; }\n\n.task-group {\n  padding-top: 0px; }\n\n.task-name-container a[name]:before {\n  content: \"\";\n  display: block;\n  padding-top: 70px;\n  margin: -70px 0 0; }\n\n.section-name-container {\n  position: relative;\n  display: inline-block; }\n  .section-name-container .section-name-link {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    right: 0;\n    margin-bottom: 0; }\n  .section-name-container .section-name {\n    position: relative;\n    pointer-events: none;\n    z-index: 1; }\n    .section-name-container .section-name a {\n      pointer-events: auto; }\n\n.item {\n  padding-top: 8px;\n  width: 100%;\n  list-style-type: none; }\n  .item a[name]:before {\n    content: \"\";\n    display: block;\n    padding-top: 70px;\n    margin: -70px 0 0; }\n  .item code {\n    background-color: transparent;\n    padding: 0; }\n  .item .token, .item .direct-link {\n    display: inline-block;\n    text-indent: -20px;\n    padding-left: 3px;\n    margin-left: 35px;\n    font-size: 11.9px;\n    transition: all 300ms; }\n  .item .token-open {\n    margin-left: 20px; }\n  .item .discouraged {\n    text-decoration: line-through; }\n  .item .declaration-note {\n    font-size: .85em;\n    color: gray;\n    font-style: italic; }\n\n.pointer-container {\n  border-bottom: 1px solid #e2e2e2;\n  left: -23px;\n  padding-bottom: 13px;\n  position: relative;\n  width: 110%; }\n\n.pointer {\n  background: #f9f9f9;\n  border-left: 1px solid #e2e2e2;\n  border-top: 1px solid #e2e2e2;\n  height: 12px;\n  left: 21px;\n  top: -7px;\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n  transform: rotate(45deg);\n  position: absolute;\n  width: 12px; }\n\n.height-container {\n  display: none;\n  left: -25px;\n  padding: 0 25px;\n  position: relative;\n  width: 100%;\n  overflow: hidden; }\n  .height-container .section {\n    background: #f9f9f9;\n    border-bottom: 1px solid #e2e2e2;\n    left: -25px;\n    position: relative;\n    width: 100%;\n    padding-top: 10px;\n    padding-bottom: 5px; }\n\n.aside, .language {\n  padding: 6px 12px;\n  margin: 12px 0;\n  border-left: 5px solid #dddddd;\n  overflow-y: hidden; }\n  .aside .aside-title, .language .aside-title {\n    font-size: 9px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    padding-bottom: 0;\n    margin: 0;\n    color: #aaa;\n    -webkit-user-select: none; }\n  .aside p:last-child, .language p:last-child {\n    margin-bottom: 0; }\n\n.language {\n  border-left: 5px solid #cde9f4; }\n  .language .aside-title {\n    color: #4b8afb; }\n\n.aside-warning, .aside-deprecated, .aside-unavailable {\n  border-left: 5px solid #ff6666; }\n  .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title {\n    color: #ff0000; }\n\n.graybox {\n  border-collapse: collapse;\n  width: 100%; }\n  .graybox p {\n    margin: 0;\n    word-break: break-word;\n    min-width: 50px; }\n  .graybox td {\n    border: 1px solid #e2e2e2;\n    padding: 5px 25px 5px 10px;\n    vertical-align: middle; }\n  .graybox tr td:first-of-type {\n    text-align: right;\n    padding: 7px;\n    vertical-align: top;\n    word-break: normal;\n    width: 40px; }\n\n.slightly-smaller {\n  font-size: 0.9em; }\n\n#footer {\n  position: relative;\n  top: 10px;\n  bottom: 0px;\n  margin-left: 25px; }\n  #footer p {\n    margin: 0;\n    color: #aaa;\n    font-size: 0.8em; }\n\nhtml.dash header, html.dash #breadcrumbs, html.dash .sidebar {\n  display: none; }\n\nhtml.dash .main-content {\n  width: 980px;\n  margin-left: 0;\n  border: none;\n  width: 100%;\n  top: 0;\n  padding-bottom: 0; }\n\nhtml.dash .height-container {\n  display: block; }\n\nhtml.dash .item .token {\n  margin-left: 0; }\n\nhtml.dash .content-wrapper {\n  width: auto; }\n\nhtml.dash #footer {\n  position: static; }\n\nform[role=search] {\n  float: right; }\n  form[role=search] input {\n    font: Helvetica, freesans, Arial, sans-serif;\n    margin-top: 6px;\n    font-size: 13px;\n    line-height: 20px;\n    padding: 0px 10px;\n    border: none;\n    border-radius: 1em; }\n    .loading form[role=search] input {\n      background: white url(../img/spinner.gif) center right 4px no-repeat; }\n  form[role=search] .tt-menu {\n    margin: 0;\n    min-width: 300px;\n    background: #fff;\n    color: #333;\n    border: 1px solid #e2e2e2;\n    z-index: 4; }\n  form[role=search] .tt-highlight {\n    font-weight: bold; }\n  form[role=search] .tt-suggestion {\n    font: Helvetica, freesans, Arial, sans-serif;\n    font-size: 14px;\n    padding: 0 8px; }\n    form[role=search] .tt-suggestion span {\n      display: table-cell;\n      white-space: nowrap; }\n    form[role=search] .tt-suggestion .doc-parent-name {\n      width: 100%;\n      text-align: right;\n      font-weight: normal;\n      font-size: 0.9em;\n      padding-left: 16px; }\n  form[role=search] .tt-suggestion:hover,\n  form[role=search] .tt-suggestion.tt-cursor {\n    cursor: pointer;\n    background-color: #4183c4;\n    color: #fff; }\n  form[role=search] .tt-suggestion:hover .doc-parent-name,\n  form[role=search] .tt-suggestion.tt-cursor .doc-parent-name {\n    color: #fff; }\n"
  },
  {
    "path": "docs/getting-started.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Getting Started  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a title=\"Getting Started  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        Getting Started  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            \n            <h1 id='getting-started' class='heading'>Getting Started</h1>\n\n<p>This guide provides a brief overview for how to get started using <code>PresenterKit</code>.</p>\n<pre class=\"highlight swift\"><code><span class=\"kd\">import</span> <span class=\"kt\">PresenterKit</span>\n</code></pre>\n\n<ul>\n<li>Watch <a href=\"https://realm.io/news/slug-jesse-squires-swifty-view-controller-presenters/\">the talk</a></li>\n<li>Read the <a href=\"http://www.jessesquires.com/swifty-presenters/\">blog post</a></li>\n<li>Run the <a href=\"https://github.com/jessesquires/PresenterKit/tree/develop/Example\">example project</a></li>\n</ul>\n<h2 id='presenting-a-view-controller-modally' class='heading'>Presenting a view controller modally</h2>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">vc</span> <span class=\"o\">=</span> <span class=\"kt\">MyViewController</span><span class=\"p\">()</span>\n<span class=\"nf\">presentController</span><span class=\"p\">(</span><span class=\"n\">vc</span><span class=\"p\">,</span> <span class=\"nv\">type</span><span class=\"p\">:</span> <span class=\"o\">.</span><span class=\"nf\">modal</span><span class=\"p\">(</span><span class=\"o\">.</span><span class=\"n\">withNavigation</span><span class=\"p\">,</span> <span class=\"o\">.</span><span class=\"n\">formSheet</span><span class=\"p\">,</span> <span class=\"o\">.</span><span class=\"n\">coverVertical</span><span class=\"p\">))</span>\n</code></pre>\n<h2 id='pushing-a-view-controller' class='heading'>Pushing a view controller</h2>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">vc</span> <span class=\"o\">=</span> <span class=\"kt\">MyViewController</span><span class=\"p\">()</span>\n<span class=\"nf\">presentController</span><span class=\"p\">(</span><span class=\"n\">vc</span><span class=\"p\">,</span> <span class=\"nv\">type</span><span class=\"p\">:</span> <span class=\"o\">.</span><span class=\"n\">push</span><span class=\"p\">)</span>\n</code></pre>\n<h2 id='presenting-as-a-popover' class='heading'>Presenting as a popover</h2>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">vc</span> <span class=\"o\">=</span> <span class=\"kt\">MyViewController</span><span class=\"p\">()</span>\n<span class=\"k\">let</span> <span class=\"nv\">config</span> <span class=\"o\">=</span> <span class=\"kt\">PopoverConfig</span><span class=\"p\">(</span><span class=\"nv\">source</span><span class=\"p\">:</span> <span class=\"o\">.</span><span class=\"nf\">barButtonItem</span><span class=\"p\">(</span><span class=\"n\">item</span><span class=\"p\">),</span> <span class=\"nv\">delegate</span><span class=\"p\">:</span> <span class=\"k\">self</span><span class=\"p\">)</span>\n<span class=\"nf\">presentController</span><span class=\"p\">(</span><span class=\"n\">vc</span><span class=\"p\">,</span> <span class=\"nv\">type</span><span class=\"p\">:</span> <span class=\"o\">.</span><span class=\"nf\">popover</span><span class=\"p\">(</span><span class=\"n\">config</span><span class=\"p\">))</span>\n</code></pre>\n<h2 id='dismissing-a-view-controller' class='heading'>Dismissing a view controller</h2>\n<pre class=\"highlight swift\"><code><span class=\"nf\">dismissController</span><span class=\"p\">()</span>\n</code></pre>\n\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>PresenterKit  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset='utf-8'>\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n    <script src=\"js/lunr.min.js\" defer></script>\n    <script src=\"js/typeahead.jquery.js\" defer></script>\n    <script src=\"js/jazzy.search.js\" defer></script>\n  </head>\n  <body>\n    <a title=\"PresenterKit  Reference\"></a>\n    <header>\n      <div class=\"content-wrapper\">\n        <p><a href=\"index.html\">PresenterKit 6.1.1 Docs</a> (100% documented)</p>\n        <p class=\"header-right\"><a href=\"https://github.com/jessesquires/PresenterKit\"><img src=\"img/gh.png\"/>View on GitHub</a></p>\n        <p class=\"header-right\">\n          <form role=\"search\" action=\"search.json\">\n            <input type=\"text\" placeholder=\"Search documentation\" data-typeahead>\n          </form>\n        </p>\n      </div>\n    </header>\n    <div class=\"content-wrapper\">\n      <p id=\"breadcrumbs\">\n        <a href=\"index.html\">PresenterKit Reference</a>\n        <img id=\"carat\" src=\"img/carat.png\" />\n        PresenterKit  Reference\n      </p>\n    </div>\n    <div class=\"content-wrapper\">\n      <nav class=\"sidebar\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"getting-started.html\">Getting Started</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\">HalfModalPresentationController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Enums.html\">Enumerations</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/NavigationStyle.html\">NavigationStyle</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Enums/PresentationType.html\">PresentationType</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Extensions.html\">Extensions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIBarButtonItem.html\">UIBarButtonItem</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UINavigationController.html\">UINavigationController</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Extensions/UIViewController.html\">UIViewController</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a href=\"Structs.html\">Structures</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig.html\">DismissButtonConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Location.html\">– Location</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Style.html\">– Style</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/DismissButtonConfig/Content.html\">– Content</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig.html\">PopoverConfig</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a href=\"Structs/PopoverConfig/Source.html\">– Source</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n        <section>\n          <section class=\"section\">\n            \n            <h1 id='presenterkit-a-href-https-github-com-jessesquires-presenterkit-actions-img-src-https-github-com-jessesquires-presenterkit-workflows-ci-badge-svg-alt-actions-status-a' class='heading'>PresenterKit <a href=\"https://github.com/jessesquires/PresenterKit/actions\"><img src=\"https://github.com/jessesquires/PresenterKit/workflows/CI/badge.svg\" alt=\"Actions Status\"></a></h1>\n\n<p><em>Custom presenters and better view controller presentation for iOS</em></p>\n<h2 id='requirements' class='heading'>Requirements</h2>\n\n<ul>\n<li>Xcode 12.0+</li>\n<li>Swift 5.3+</li>\n<li>iOS 11.0+</li>\n<li><a href=\"https://github.com/realm/SwiftLint\">SwiftLint</a></li>\n</ul>\n<h2 id='installation' class='heading'>Installation</h2>\n<h4 id='a-href-https-cocoapods-org-cocoapods-a' class='heading'><a href=\"https://cocoapods.org\">CocoaPods</a></h4>\n<pre class=\"highlight ruby\"><code><span class=\"n\">pod</span> <span class=\"s1\">'PresenterKit'</span><span class=\"p\">,</span> <span class=\"s1\">'~&gt; 6.1.0'</span>\n\n<span class=\"c1\"># develop branch</span>\n<span class=\"n\">pod</span> <span class=\"s1\">'PresenterKit'</span><span class=\"p\">,</span> <span class=\"ss\">:git</span> <span class=\"o\">=&gt;</span> <span class=\"s1\">'https://github.com/jessesquires/PresenterKit.git'</span><span class=\"p\">,</span> <span class=\"ss\">:branch</span> <span class=\"o\">=&gt;</span> <span class=\"s1\">'develop'</span>\n</code></pre>\n<h3 id='a-href-https-swift-org-package-manager-swift-package-manager-a' class='heading'><a href=\"https://swift.org/package-manager/\">Swift Package Manager</a></h3>\n\n<p>Add <code>PresenterKit</code> to the <code>dependencies</code> value of your <code>Package.swift</code>.</p>\n<pre class=\"highlight swift\"><code><span class=\"nv\">dependencies</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n    <span class=\"o\">.</span><span class=\"nf\">package</span><span class=\"p\">(</span><span class=\"nv\">url</span><span class=\"p\">:</span> <span class=\"s\">\"https://github.com/jessesquires/PresenterKit.git\"</span><span class=\"p\">,</span> <span class=\"nv\">from</span><span class=\"p\">:</span> <span class=\"s\">\"6.1.0\"</span><span class=\"p\">)</span>\n<span class=\"p\">]</span>\n</code></pre>\n\n<p>Alternatively, you can add the package <a href=\"https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app\">directly via Xcode</a>.</p>\n<h2 id='documentation' class='heading'>Documentation</h2>\n\n<p>You can read the <a href=\"https://jessesquires.github.io/PresenterKit\">documentation here</a>. Generated with <a href=\"https://github.com/realm/jazzy\">jazzy</a>. Hosted by <a href=\"https://pages.github.com\">GitHub Pages</a>.</p>\n<h2 id='contributing' class='heading'>Contributing</h2>\n\n<p>Interested in making contributions to this project? Please review the guides below.</p>\n\n<ul>\n<li><a href=\"https://github.com/jessesquires/.github/blob/master/CONTRIBUTING.md\">Contributing Guidelines</a></li>\n<li><a href=\"https://github.com/jessesquires/.github/blob/master/CODE_OF_CONDUCT.md\">Code of Conduct</a></li>\n<li><a href=\"https://github.com/jessesquires/.github/blob/master/SUPPORT.md\">Support and Help</a></li>\n<li><a href=\"https://github.com/jessesquires/.github/blob/master/SECURITY.md\">Security Policy</a></li>\n</ul>\n\n<p>Also, consider <a href=\"https://www.jessesquires.com/sponsor/\">sponsoring this project</a> or <a href=\"https://www.hexedbits.com\">buying my apps</a>! ✌️</p>\n<h2 id='credits' class='heading'>Credits</h2>\n\n<p>Created and maintained by <a href=\"https://twitter.com/jesse_squires\"><strong>@jesse_squires</strong></a>.</p>\n<h2 id='license' class='heading'>License</h2>\n\n<p>Released under the MIT License. See <code>LICENSE</code> for details.</p>\n\n<blockquote>\n<p><strong>Copyright &copy; 2016-present Jesse Squires.</strong></p>\n</blockquote>\n\n          </section>\n        </section>\n        <section id=\"footer\">\n          <p>&copy; 2020 <a class=\"link\" href=\"https://jessesquires.com\" target=\"_blank\" rel=\"external\">Jesse Squires</a>. All rights reserved. (Last updated: 2020-12-04)</p>\n          <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.13.6</a>, a <a class=\"link\" href=\"https://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n        </section>\n      </article>\n    </div>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/js/jazzy.js",
    "content": "window.jazzy = {'docset': false}\nif (typeof window.dash != 'undefined') {\n  document.documentElement.className += ' dash'\n  window.jazzy.docset = true\n}\nif (navigator.userAgent.match(/xcode/i)) {\n  document.documentElement.className += ' xcode'\n  window.jazzy.docset = true\n}\n\nfunction toggleItem($link, $content) {\n  var animationDuration = 300;\n  $link.toggleClass('token-open');\n  $content.slideToggle(animationDuration);\n}\n\nfunction itemLinkToContent($link) {\n  return $link.parent().parent().next();\n}\n\n// On doc load + hash-change, open any targetted item\nfunction openCurrentItemIfClosed() {\n  if (window.jazzy.docset) {\n    return;\n  }\n  var $link = $(`a[name=\"${location.hash.substring(1)}\"]`).nextAll('.token');\n  $content = itemLinkToContent($link);\n  if ($content.is(':hidden')) {\n    toggleItem($link, $content);\n  }\n}\n\n$(openCurrentItemIfClosed);\n$(window).on('hashchange', openCurrentItemIfClosed);\n\n// On item link ('token') click, toggle its discussion\n$('.token').on('click', function(event) {\n  if (window.jazzy.docset) {\n    return;\n  }\n  var $link = $(this);\n  toggleItem($link, itemLinkToContent($link));\n\n  // Keeps the document from jumping to the hash.\n  var href = $link.attr('href');\n  if (history.pushState) {\n    history.pushState({}, '', href);\n  } else {\n    location.hash = href;\n  }\n  event.preventDefault();\n});\n\n// Clicks on links to the current, closed, item need to open the item\n$(\"a:not('.token')\").on('click', function() {\n  if (location == this.href) {\n    openCurrentItemIfClosed();\n  }\n});\n\n// KaTeX rendering\nif (\"katex\" in window) {\n  $($('.math').each( (_, element) => {\n    katex.render(element.textContent, element, {\n      displayMode: $(element).hasClass('m-block'),\n      throwOnError: false,\n      trust: true\n    });\n  }))\n}\n"
  },
  {
    "path": "docs/js/jazzy.search.js",
    "content": "$(function(){\n  var $typeahead = $('[data-typeahead]');\n  var $form = $typeahead.parents('form');\n  var searchURL = $form.attr('action');\n\n  function displayTemplate(result) {\n    return result.name;\n  }\n\n  function suggestionTemplate(result) {\n    var t = '<div class=\"list-group-item clearfix\">';\n    t += '<span class=\"doc-name\">' + result.name + '</span>';\n    if (result.parent_name) {\n     t += '<span class=\"doc-parent-name label\">' + result.parent_name + '</span>';\n    }\n    t += '</div>';\n    return t;\n  }\n\n  $typeahead.one('focus', function() {\n    $form.addClass('loading');\n\n    $.getJSON(searchURL).then(function(searchData) {\n      const searchIndex = lunr(function() {\n        this.ref('url');\n        this.field('name');\n        this.field('abstract');\n        for (const [url, doc] of Object.entries(searchData)) {\n          this.add({url: url, name: doc.name, abstract: doc.abstract});\n        }\n      });\n\n      $typeahead.typeahead(\n        {\n          highlight: true,\n          minLength: 3,\n          autoselect: true\n        },\n        {\n          limit: 10,\n          display: displayTemplate,\n          templates: { suggestion: suggestionTemplate },\n          source: function(query, sync) {\n            const lcSearch = query.toLowerCase();\n            const results = searchIndex.query(function(q) {\n                q.term(lcSearch, { boost: 100 });\n                q.term(lcSearch, {\n                  boost: 10,\n                  wildcard: lunr.Query.wildcard.TRAILING\n                });\n            }).map(function(result) {\n              var doc = searchData[result.ref];\n              doc.url = result.ref;\n              return doc;\n            });\n            sync(results);\n          }\n        }\n      );\n      $form.removeClass('loading');\n      $typeahead.trigger('focus');\n    });\n  });\n\n  var baseURL = searchURL.slice(0, -\"search.json\".length);\n\n  $typeahead.on('typeahead:select', function(e, result) {\n    window.location = baseURL + result.url;\n  });\n});\n"
  },
  {
    "path": "docs/js/typeahead.jquery.js",
    "content": "/*!\n * typeahead.js 1.3.1\n * https://github.com/corejavascript/typeahead.js\n * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT\n */\n\n\n(function(root, factory) {\n    if (typeof define === \"function\" && define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return factory(a0);\n        });\n    } else if (typeof module === \"object\" && module.exports) {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj && obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate && !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining <= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var WWW = function() {\n        \"use strict\";\n        var defaultClassNames = {\n            wrapper: \"twitter-typeahead\",\n            input: \"tt-input\",\n            hint: \"tt-hint\",\n            menu: \"tt-menu\",\n            dataset: \"tt-dataset\",\n            suggestion: \"tt-suggestion\",\n            selectable: \"tt-selectable\",\n            empty: \"tt-empty\",\n            open: \"tt-open\",\n            cursor: \"tt-cursor\",\n            highlight: \"tt-highlight\"\n        };\n        return build;\n        function build(o) {\n            var www, classes;\n            classes = _.mixin({}, defaultClassNames, o);\n            www = {\n                css: buildCss(),\n                classes: classes,\n                html: buildHtml(classes),\n                selectors: buildSelectors(classes)\n            };\n            return {\n                css: www.css,\n                html: www.html,\n                classes: www.classes,\n                selectors: www.selectors,\n                mixin: function(o) {\n                    _.mixin(o, www);\n                }\n            };\n        }\n        function buildHtml(c) {\n            return {\n                wrapper: '<span class=\"' + c.wrapper + '\"></span>',\n                menu: '<div role=\"listbox\" class=\"' + c.menu + '\"></div>'\n            };\n        }\n        function buildSelectors(classes) {\n            var selectors = {};\n            _.each(classes, function(v, k) {\n                selectors[k] = \".\" + v;\n            });\n            return selectors;\n        }\n        function buildCss() {\n            var css = {\n                wrapper: {\n                    position: \"relative\",\n                    display: \"inline-block\"\n                },\n                hint: {\n                    position: \"absolute\",\n                    top: \"0\",\n                    left: \"0\",\n                    borderColor: \"transparent\",\n                    boxShadow: \"none\",\n                    opacity: \"1\"\n                },\n                input: {\n                    position: \"relative\",\n                    verticalAlign: \"top\",\n                    backgroundColor: \"transparent\"\n                },\n                inputWithNoHint: {\n                    position: \"relative\",\n                    verticalAlign: \"top\"\n                },\n                menu: {\n                    position: \"absolute\",\n                    top: \"100%\",\n                    left: \"0\",\n                    zIndex: \"100\",\n                    display: \"none\"\n                },\n                ltr: {\n                    left: \"0\",\n                    right: \"auto\"\n                },\n                rtl: {\n                    left: \"auto\",\n                    right: \" 0\"\n                }\n            };\n            if (_.isMsie()) {\n                _.mixin(css.input, {\n                    backgroundImage: \"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\"\n                });\n            }\n            return css;\n        }\n    }();\n    var EventBus = function() {\n        \"use strict\";\n        var namespace, deprecationMap;\n        namespace = \"typeahead:\";\n        deprecationMap = {\n            render: \"rendered\",\n            cursorchange: \"cursorchanged\",\n            select: \"selected\",\n            autocomplete: \"autocompleted\"\n        };\n        function EventBus(o) {\n            if (!o || !o.el) {\n                $.error(\"EventBus initialized without el\");\n            }\n            this.$el = $(o.el);\n        }\n        _.mixin(EventBus.prototype, {\n            _trigger: function(type, args) {\n                var $e = $.Event(namespace + type);\n                this.$el.trigger.call(this.$el, $e, args || []);\n                return $e;\n            },\n            before: function(type) {\n                var args, $e;\n                args = [].slice.call(arguments, 1);\n                $e = this._trigger(\"before\" + type, args);\n                return $e.isDefaultPrevented();\n            },\n            trigger: function(type) {\n                var deprecatedType;\n                this._trigger(type, [].slice.call(arguments, 1));\n                if (deprecatedType = deprecationMap[type]) {\n                    this._trigger(deprecatedType, [].slice.call(arguments, 1));\n                }\n            }\n        });\n        return EventBus;\n    }();\n    var EventEmitter = function() {\n        \"use strict\";\n        var splitter = /\\s+/, nextTick = getNextTick();\n        return {\n            onSync: onSync,\n            onAsync: onAsync,\n            off: off,\n            trigger: trigger\n        };\n        function on(method, types, cb, context) {\n            var type;\n            if (!cb) {\n                return this;\n            }\n            types = types.split(splitter);\n            cb = context ? bindContext(cb, context) : cb;\n            this._callbacks = this._callbacks || {};\n            while (type = types.shift()) {\n                this._callbacks[type] = this._callbacks[type] || {\n                    sync: [],\n                    async: []\n                };\n                this._callbacks[type][method].push(cb);\n            }\n            return this;\n        }\n        function onAsync(types, cb, context) {\n            return on.call(this, \"async\", types, cb, context);\n        }\n        function onSync(types, cb, context) {\n            return on.call(this, \"sync\", types, cb, context);\n        }\n        function off(types) {\n            var type;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            while (type = types.shift()) {\n                delete this._callbacks[type];\n            }\n            return this;\n        }\n        function trigger(types) {\n            var type, callbacks, args, syncFlush, asyncFlush;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            args = [].slice.call(arguments, 1);\n            while ((type = types.shift()) && (callbacks = this._callbacks[type])) {\n                syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));\n                asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));\n                syncFlush() && nextTick(asyncFlush);\n            }\n            return this;\n        }\n        function getFlush(callbacks, context, args) {\n            return flush;\n            function flush() {\n                var cancelled;\n                for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) {\n                    cancelled = callbacks[i].apply(context, args) === false;\n                }\n                return !cancelled;\n            }\n        }\n        function getNextTick() {\n            var nextTickFn;\n            if (window.setImmediate) {\n                nextTickFn = function nextTickSetImmediate(fn) {\n                    setImmediate(function() {\n                        fn();\n                    });\n                };\n            } else {\n                nextTickFn = function nextTickSetTimeout(fn) {\n                    setTimeout(function() {\n                        fn();\n                    }, 0);\n                };\n            }\n            return nextTickFn;\n        }\n        function bindContext(fn, context) {\n            return fn.bind ? fn.bind(context) : function() {\n                fn.apply(context, [].slice.call(arguments, 0));\n            };\n        }\n    }();\n    var highlight = function(doc) {\n        \"use strict\";\n        var defaults = {\n            node: null,\n            pattern: null,\n            tagName: \"strong\",\n            className: null,\n            wordsOnly: false,\n            caseSensitive: false,\n            diacriticInsensitive: false\n        };\n        var accented = {\n            A: \"[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Ａａ]\",\n            B: \"[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Ｂｂ]\",\n            C: \"[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Ｃｃ]\",\n            D: \"[DdĎďǄ-ǆǱ-ǳᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Ｄｄ]\",\n            E: \"[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ｅｅ]\",\n            F: \"[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ﬀ-ﬄＦｆ]\",\n            G: \"[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Ｇｇ]\",\n            H: \"[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Ｈｈ]\",\n            I: \"[IiÌ-Ïì-ïĨ-İĲĳǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕ﬁﬃＩｉ]\",\n            J: \"[JjĲ-ĵǇ-ǌǰʲᴶⅉ⒥ⒿⓙⱼＪｊ]\",\n            K: \"[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Ｋｋ]\",\n            L: \"[LlĹ-ŀǇ-ǉˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿ﬂﬄＬｌ]\",\n            M: \"[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Ｍｍ]\",\n            N: \"[NnÑñŃ-ŉǊ-ǌǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Ｎｎ]\",\n            O: \"[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Ｏｏ]\",\n            P: \"[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Ｐｐ]\",\n            Q: \"[Qqℚ⒬Ⓠⓠ㏃Ｑｑ]\",\n            R: \"[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Ｒｒ]\",\n            S: \"[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜ﬆＳｓ]\",\n            T: \"[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ﬅﬆＴｔ]\",\n            U: \"[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Ｕｕ]\",\n            V: \"[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Ｖｖ]\",\n            W: \"[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ｗｗ]\",\n            X: \"[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Ｘｘ]\",\n            Y: \"[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Ｙｙ]\",\n            Z: \"[ZzŹ-žǱ-ǳᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Ｚｚ]\"\n        };\n        return function hightlight(o) {\n            var regex;\n            o = _.mixin({}, defaults, o);\n            if (!o.node || !o.pattern) {\n                return;\n            }\n            o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];\n            regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);\n            traverse(o.node, hightlightTextNode);\n            function hightlightTextNode(textNode) {\n                var match, patternNode, wrapperNode;\n                if (match = regex.exec(textNode.data)) {\n                    wrapperNode = doc.createElement(o.tagName);\n                    o.className && (wrapperNode.className = o.className);\n                    patternNode = textNode.splitText(match.index);\n                    patternNode.splitText(match[0].length);\n                    wrapperNode.appendChild(patternNode.cloneNode(true));\n                    textNode.parentNode.replaceChild(wrapperNode, patternNode);\n                }\n                return !!match;\n            }\n            function traverse(el, hightlightTextNode) {\n                var childNode, TEXT_NODE_TYPE = 3;\n                for (var i = 0; i < el.childNodes.length; i++) {\n                    childNode = el.childNodes[i];\n                    if (childNode.nodeType === TEXT_NODE_TYPE) {\n                        i += hightlightTextNode(childNode) ? 1 : 0;\n                    } else {\n                        traverse(childNode, hightlightTextNode);\n                    }\n                }\n            }\n        };\n        function accent_replacer(chr) {\n            return accented[chr.toUpperCase()] || chr;\n        }\n        function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {\n            var escapedPatterns = [], regexStr;\n            for (var i = 0, len = patterns.length; i < len; i++) {\n                var escapedWord = _.escapeRegExChars(patterns[i]);\n                if (diacriticInsensitive) {\n                    escapedWord = escapedWord.replace(/\\S/g, accent_replacer);\n                }\n                escapedPatterns.push(escapedWord);\n            }\n            regexStr = wordsOnly ? \"\\\\b(\" + escapedPatterns.join(\"|\") + \")\\\\b\" : \"(\" + escapedPatterns.join(\"|\") + \")\";\n            return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, \"i\");\n        }\n    }(window.document);\n    var Input = function() {\n        \"use strict\";\n        var specialKeyCodeMap;\n        specialKeyCodeMap = {\n            9: \"tab\",\n            27: \"esc\",\n            37: \"left\",\n            39: \"right\",\n            13: \"enter\",\n            38: \"up\",\n            40: \"down\"\n        };\n        function Input(o, www) {\n            var id;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"input is missing\");\n            }\n            www.mixin(this);\n            this.$hint = $(o.hint);\n            this.$input = $(o.input);\n            this.$menu = $(o.menu);\n            id = this.$input.attr(\"id\") || _.guid();\n            this.$menu.attr(\"id\", id + \"_listbox\");\n            this.$hint.attr({\n                \"aria-hidden\": true\n            });\n            this.$input.attr({\n                \"aria-owns\": id + \"_listbox\",\n                role: \"combobox\",\n                \"aria-autocomplete\": \"list\",\n                \"aria-expanded\": false\n            });\n            this.query = this.$input.val();\n            this.queryWhenFocused = this.hasFocus() ? this.query : null;\n            this.$overflowHelper = buildOverflowHelper(this.$input);\n            this._checkLanguageDirection();\n            if (this.$hint.length === 0) {\n                this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n            }\n            this.onSync(\"cursorchange\", this._updateDescendent);\n        }\n        Input.normalizeQuery = function(str) {\n            return _.toStr(str).replace(/^\\s*/g, \"\").replace(/\\s{2,}/g, \" \");\n        };\n        _.mixin(Input.prototype, EventEmitter, {\n            _onBlur: function onBlur() {\n                this.resetInputValue();\n                this.trigger(\"blurred\");\n            },\n            _onFocus: function onFocus() {\n                this.queryWhenFocused = this.query;\n                this.trigger(\"focused\");\n            },\n            _onKeydown: function onKeydown($e) {\n                var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n                this._managePreventDefault(keyName, $e);\n                if (keyName && this._shouldTrigger(keyName, $e)) {\n                    this.trigger(keyName + \"Keyed\", $e);\n                }\n            },\n            _onInput: function onInput() {\n                this._setQuery(this.getInputValue());\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            _managePreventDefault: function managePreventDefault(keyName, $e) {\n                var preventDefault;\n                switch (keyName) {\n                  case \"up\":\n                  case \"down\":\n                    preventDefault = !withModifier($e);\n                    break;\n\n                  default:\n                    preventDefault = false;\n                }\n                preventDefault && $e.preventDefault();\n            },\n            _shouldTrigger: function shouldTrigger(keyName, $e) {\n                var trigger;\n                switch (keyName) {\n                  case \"tab\":\n                    trigger = !withModifier($e);\n                    break;\n\n                  default:\n                    trigger = true;\n                }\n                return trigger;\n            },\n            _checkLanguageDirection: function checkLanguageDirection() {\n                var dir = (this.$input.css(\"direction\") || \"ltr\").toLowerCase();\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.$hint.attr(\"dir\", dir);\n                    this.trigger(\"langDirChanged\", dir);\n                }\n            },\n            _setQuery: function setQuery(val, silent) {\n                var areEquivalent, hasDifferentWhitespace;\n                areEquivalent = areQueriesEquivalent(val, this.query);\n                hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false;\n                this.query = val;\n                if (!silent && !areEquivalent) {\n                    this.trigger(\"queryChanged\", this.query);\n                } else if (!silent && hasDifferentWhitespace) {\n                    this.trigger(\"whitespaceChanged\", this.query);\n                }\n            },\n            _updateDescendent: function updateDescendent(event, id) {\n                this.$input.attr(\"aria-activedescendant\", id);\n            },\n            bind: function() {\n                var that = this, onBlur, onFocus, onKeydown, onInput;\n                onBlur = _.bind(this._onBlur, this);\n                onFocus = _.bind(this._onFocus, this);\n                onKeydown = _.bind(this._onKeydown, this);\n                onInput = _.bind(this._onInput, this);\n                this.$input.on(\"blur.tt\", onBlur).on(\"focus.tt\", onFocus).on(\"keydown.tt\", onKeydown);\n                if (!_.isMsie() || _.isMsie() > 9) {\n                    this.$input.on(\"input.tt\", onInput);\n                } else {\n                    this.$input.on(\"keydown.tt keypress.tt cut.tt paste.tt\", function($e) {\n                        if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n                            return;\n                        }\n                        _.defer(_.bind(that._onInput, that, $e));\n                    });\n                }\n                return this;\n            },\n            focus: function focus() {\n                this.$input.focus();\n            },\n            blur: function blur() {\n                this.$input.blur();\n            },\n            getLangDir: function getLangDir() {\n                return this.dir;\n            },\n            getQuery: function getQuery() {\n                return this.query || \"\";\n            },\n            setQuery: function setQuery(val, silent) {\n                this.setInputValue(val);\n                this._setQuery(val, silent);\n            },\n            hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() {\n                return this.query !== this.queryWhenFocused;\n            },\n            getInputValue: function getInputValue() {\n                return this.$input.val();\n            },\n            setInputValue: function setInputValue(value) {\n                this.$input.val(value);\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            resetInputValue: function resetInputValue() {\n                this.setInputValue(this.query);\n            },\n            getHint: function getHint() {\n                return this.$hint.val();\n            },\n            setHint: function setHint(value) {\n                this.$hint.val(value);\n            },\n            clearHint: function clearHint() {\n                this.setHint(\"\");\n            },\n            clearHintIfInvalid: function clearHintIfInvalid() {\n                var val, hint, valIsPrefixOfHint, isValid;\n                val = this.getInputValue();\n                hint = this.getHint();\n                valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0;\n                isValid = val !== \"\" && valIsPrefixOfHint && !this.hasOverflow();\n                !isValid && this.clearHint();\n            },\n            hasFocus: function hasFocus() {\n                return this.$input.is(\":focus\");\n            },\n            hasOverflow: function hasOverflow() {\n                var constraint = this.$input.width() - 2;\n                this.$overflowHelper.text(this.getInputValue());\n                return this.$overflowHelper.width() >= constraint;\n            },\n            isCursorAtEnd: function() {\n                var valueLength, selectionStart, range;\n                valueLength = this.$input.val().length;\n                selectionStart = this.$input[0].selectionStart;\n                if (_.isNumber(selectionStart)) {\n                    return selectionStart === valueLength;\n                } else if (document.selection) {\n                    range = document.selection.createRange();\n                    range.moveStart(\"character\", -valueLength);\n                    return valueLength === range.text.length;\n                }\n                return true;\n            },\n            destroy: function destroy() {\n                this.$hint.off(\".tt\");\n                this.$input.off(\".tt\");\n                this.$overflowHelper.remove();\n                this.$hint = this.$input = this.$overflowHelper = $(\"<div>\");\n            },\n            setAriaExpanded: function setAriaExpanded(value) {\n                this.$input.attr(\"aria-expanded\", value);\n            }\n        });\n        return Input;\n        function buildOverflowHelper($input) {\n            return $('<pre aria-hidden=\"true\"></pre>').css({\n                position: \"absolute\",\n                visibility: \"hidden\",\n                whiteSpace: \"pre\",\n                fontFamily: $input.css(\"font-family\"),\n                fontSize: $input.css(\"font-size\"),\n                fontStyle: $input.css(\"font-style\"),\n                fontVariant: $input.css(\"font-variant\"),\n                fontWeight: $input.css(\"font-weight\"),\n                wordSpacing: $input.css(\"word-spacing\"),\n                letterSpacing: $input.css(\"letter-spacing\"),\n                textIndent: $input.css(\"text-indent\"),\n                textRendering: $input.css(\"text-rendering\"),\n                textTransform: $input.css(\"text-transform\")\n            }).insertAfter($input);\n        }\n        function areQueriesEquivalent(a, b) {\n            return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n        }\n        function withModifier($e) {\n            return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n        }\n    }();\n    var Dataset = function() {\n        \"use strict\";\n        var keys, nameGenerator;\n        keys = {\n            dataset: \"tt-selectable-dataset\",\n            val: \"tt-selectable-display\",\n            obj: \"tt-selectable-object\"\n        };\n        nameGenerator = _.getIdGenerator();\n        function Dataset(o, www) {\n            o = o || {};\n            o.templates = o.templates || {};\n            o.templates.notFound = o.templates.notFound || o.templates.empty;\n            if (!o.source) {\n                $.error(\"missing source\");\n            }\n            if (!o.node) {\n                $.error(\"missing node\");\n            }\n            if (o.name && !isValidName(o.name)) {\n                $.error(\"invalid dataset name: \" + o.name);\n            }\n            www.mixin(this);\n            this.highlight = !!o.highlight;\n            this.name = _.toStr(o.name || nameGenerator());\n            this.limit = o.limit || 5;\n            this.displayFn = getDisplayFn(o.display || o.displayKey);\n            this.templates = getTemplates(o.templates, this.displayFn);\n            this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;\n            this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async;\n            this._resetLastSuggestion();\n            this.$el = $(o.node).attr(\"role\", \"presentation\").addClass(this.classes.dataset).addClass(this.classes.dataset + \"-\" + this.name);\n        }\n        Dataset.extractData = function extractData(el) {\n            var $el = $(el);\n            if ($el.data(keys.obj)) {\n                return {\n                    dataset: $el.data(keys.dataset) || \"\",\n                    val: $el.data(keys.val) || \"\",\n                    obj: $el.data(keys.obj) || null\n                };\n            }\n            return null;\n        };\n        _.mixin(Dataset.prototype, EventEmitter, {\n            _overwrite: function overwrite(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (this.async && this.templates.pending) {\n                    this._renderPending(query);\n                } else if (!this.async && this.templates.notFound) {\n                    this._renderNotFound(query);\n                } else {\n                    this._empty();\n                }\n                this.trigger(\"rendered\", suggestions, false, this.name);\n            },\n            _append: function append(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length && this.$lastSuggestion.length) {\n                    this._appendSuggestions(query, suggestions);\n                } else if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (!this.$lastSuggestion.length && this.templates.notFound) {\n                    this._renderNotFound(query);\n                }\n                this.trigger(\"rendered\", suggestions, true, this.name);\n            },\n            _renderSuggestions: function renderSuggestions(query, suggestions) {\n                var $fragment;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                this.$lastSuggestion = $fragment.children().last();\n                this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions));\n            },\n            _appendSuggestions: function appendSuggestions(query, suggestions) {\n                var $fragment, $lastSuggestion;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                $lastSuggestion = $fragment.children().last();\n                this.$lastSuggestion.after($fragment);\n                this.$lastSuggestion = $lastSuggestion;\n            },\n            _renderPending: function renderPending(query) {\n                var template = this.templates.pending;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _renderNotFound: function renderNotFound(query) {\n                var template = this.templates.notFound;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _empty: function empty() {\n                this.$el.empty();\n                this._resetLastSuggestion();\n            },\n            _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) {\n                var that = this, fragment;\n                fragment = document.createDocumentFragment();\n                _.each(suggestions, function getSuggestionNode(suggestion) {\n                    var $el, context;\n                    context = that._injectQuery(query, suggestion);\n                    $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + \" \" + that.classes.selectable);\n                    fragment.appendChild($el[0]);\n                });\n                this.highlight && highlight({\n                    className: this.classes.highlight,\n                    node: fragment,\n                    pattern: query\n                });\n                return $(fragment);\n            },\n            _getFooter: function getFooter(query, suggestions) {\n                return this.templates.footer ? this.templates.footer({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _getHeader: function getHeader(query, suggestions) {\n                return this.templates.header ? this.templates.header({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _resetLastSuggestion: function resetLastSuggestion() {\n                this.$lastSuggestion = $();\n            },\n            _injectQuery: function injectQuery(query, obj) {\n                return _.isObject(obj) ? _.mixin({\n                    _query: query\n                }, obj) : obj;\n            },\n            update: function update(query) {\n                var that = this, canceled = false, syncCalled = false, rendered = 0;\n                this.cancel();\n                this.cancel = function cancel() {\n                    canceled = true;\n                    that.cancel = $.noop;\n                    that.async && that.trigger(\"asyncCanceled\", query, that.name);\n                };\n                this.source(query, sync, async);\n                !syncCalled && sync([]);\n                function sync(suggestions) {\n                    if (syncCalled) {\n                        return;\n                    }\n                    syncCalled = true;\n                    suggestions = (suggestions || []).slice(0, that.limit);\n                    rendered = suggestions.length;\n                    that._overwrite(query, suggestions);\n                    if (rendered < that.limit && that.async) {\n                        that.trigger(\"asyncRequested\", query, that.name);\n                    }\n                }\n                function async(suggestions) {\n                    suggestions = suggestions || [];\n                    if (!canceled && rendered < that.limit) {\n                        that.cancel = $.noop;\n                        var idx = Math.abs(rendered - that.limit);\n                        rendered += idx;\n                        that._append(query, suggestions.slice(0, idx));\n                        that.async && that.trigger(\"asyncReceived\", query, that.name);\n                    }\n                }\n            },\n            cancel: $.noop,\n            clear: function clear() {\n                this._empty();\n                this.cancel();\n                this.trigger(\"cleared\");\n            },\n            isEmpty: function isEmpty() {\n                return this.$el.is(\":empty\");\n            },\n            destroy: function destroy() {\n                this.$el = $(\"<div>\");\n            }\n        });\n        return Dataset;\n        function getDisplayFn(display) {\n            display = display || _.stringify;\n            return _.isFunction(display) ? display : displayFn;\n            function displayFn(obj) {\n                return obj[display];\n            }\n        }\n        function getTemplates(templates, displayFn) {\n            return {\n                notFound: templates.notFound && _.templatify(templates.notFound),\n                pending: templates.pending && _.templatify(templates.pending),\n                header: templates.header && _.templatify(templates.header),\n                footer: templates.footer && _.templatify(templates.footer),\n                suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate\n            };\n            function userSuggestionTemplate(context) {\n                var template = templates.suggestion;\n                return $(template(context)).attr(\"id\", _.guid());\n            }\n            function suggestionTemplate(context) {\n                return $('<div role=\"option\">').attr(\"id\", _.guid()).text(displayFn(context));\n            }\n        }\n        function isValidName(str) {\n            return /^[_a-zA-Z0-9-]+$/.test(str);\n        }\n    }();\n    var Menu = function() {\n        \"use strict\";\n        function Menu(o, www) {\n            var that = this;\n            o = o || {};\n            if (!o.node) {\n                $.error(\"node is required\");\n            }\n            www.mixin(this);\n            this.$node = $(o.node);\n            this.query = null;\n            this.datasets = _.map(o.datasets, initializeDataset);\n            function initializeDataset(oDataset) {\n                var node = that.$node.find(oDataset.node).first();\n                oDataset.node = node.length ? node : $(\"<div>\").appendTo(that.$node);\n                return new Dataset(oDataset, www);\n            }\n        }\n        _.mixin(Menu.prototype, EventEmitter, {\n            _onSelectableClick: function onSelectableClick($e) {\n                this.trigger(\"selectableClicked\", $($e.currentTarget));\n            },\n            _onRendered: function onRendered(type, dataset, suggestions, async) {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetRendered\", dataset, suggestions, async);\n            },\n            _onCleared: function onCleared() {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetCleared\");\n            },\n            _propagate: function propagate() {\n                this.trigger.apply(this, arguments);\n            },\n            _allDatasetsEmpty: function allDatasetsEmpty() {\n                return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {\n                    var isEmpty = dataset.isEmpty();\n                    this.$node.attr(\"aria-expanded\", !isEmpty);\n                    return isEmpty;\n                }, this));\n            },\n            _getSelectables: function getSelectables() {\n                return this.$node.find(this.selectors.selectable);\n            },\n            _removeCursor: function _removeCursor() {\n                var $selectable = this.getActiveSelectable();\n                $selectable && $selectable.removeClass(this.classes.cursor);\n            },\n            _ensureVisible: function ensureVisible($el) {\n                var elTop, elBottom, nodeScrollTop, nodeHeight;\n                elTop = $el.position().top;\n                elBottom = elTop + $el.outerHeight(true);\n                nodeScrollTop = this.$node.scrollTop();\n                nodeHeight = this.$node.height() + parseInt(this.$node.css(\"paddingTop\"), 10) + parseInt(this.$node.css(\"paddingBottom\"), 10);\n                if (elTop < 0) {\n                    this.$node.scrollTop(nodeScrollTop + elTop);\n                } else if (nodeHeight < elBottom) {\n                    this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight));\n                }\n            },\n            bind: function() {\n                var that = this, onSelectableClick;\n                onSelectableClick = _.bind(this._onSelectableClick, this);\n                this.$node.on(\"click.tt\", this.selectors.selectable, onSelectableClick);\n                this.$node.on(\"mouseover\", this.selectors.selectable, function() {\n                    that.setCursor($(this));\n                });\n                this.$node.on(\"mouseleave\", function() {\n                    that._removeCursor();\n                });\n                _.each(this.datasets, function(dataset) {\n                    dataset.onSync(\"asyncRequested\", that._propagate, that).onSync(\"asyncCanceled\", that._propagate, that).onSync(\"asyncReceived\", that._propagate, that).onSync(\"rendered\", that._onRendered, that).onSync(\"cleared\", that._onCleared, that);\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                return this.$node.hasClass(this.classes.open);\n            },\n            open: function open() {\n                this.$node.scrollTop(0);\n                this.$node.addClass(this.classes.open);\n            },\n            close: function close() {\n                this.$node.attr(\"aria-expanded\", false);\n                this.$node.removeClass(this.classes.open);\n                this._removeCursor();\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.attr(\"dir\", dir);\n            },\n            selectableRelativeToCursor: function selectableRelativeToCursor(delta) {\n                var $selectables, $oldCursor, oldIndex, newIndex;\n                $oldCursor = this.getActiveSelectable();\n                $selectables = this._getSelectables();\n                oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1;\n                newIndex = oldIndex + delta;\n                newIndex = (newIndex + 1) % ($selectables.length + 1) - 1;\n                newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex;\n                return newIndex === -1 ? null : $selectables.eq(newIndex);\n            },\n            setCursor: function setCursor($selectable) {\n                this._removeCursor();\n                if ($selectable = $selectable && $selectable.first()) {\n                    $selectable.addClass(this.classes.cursor);\n                    this._ensureVisible($selectable);\n                }\n            },\n            getSelectableData: function getSelectableData($el) {\n                return $el && $el.length ? Dataset.extractData($el) : null;\n            },\n            getActiveSelectable: function getActiveSelectable() {\n                var $selectable = this._getSelectables().filter(this.selectors.cursor).first();\n                return $selectable.length ? $selectable : null;\n            },\n            getTopSelectable: function getTopSelectable() {\n                var $selectable = this._getSelectables().first();\n                return $selectable.length ? $selectable : null;\n            },\n            update: function update(query) {\n                var isValidUpdate = query !== this.query;\n                if (isValidUpdate) {\n                    this.query = query;\n                    _.each(this.datasets, updateDataset);\n                }\n                return isValidUpdate;\n                function updateDataset(dataset) {\n                    dataset.update(query);\n                }\n            },\n            empty: function empty() {\n                _.each(this.datasets, clearDataset);\n                this.query = null;\n                this.$node.addClass(this.classes.empty);\n                function clearDataset(dataset) {\n                    dataset.clear();\n                }\n            },\n            destroy: function destroy() {\n                this.$node.off(\".tt\");\n                this.$node = $(\"<div>\");\n                _.each(this.datasets, destroyDataset);\n                function destroyDataset(dataset) {\n                    dataset.destroy();\n                }\n            }\n        });\n        return Menu;\n    }();\n    var Status = function() {\n        \"use strict\";\n        function Status(options) {\n            this.$el = $(\"<span></span>\", {\n                role: \"status\",\n                \"aria-live\": \"polite\"\n            }).css({\n                position: \"absolute\",\n                padding: \"0\",\n                border: \"0\",\n                height: \"1px\",\n                width: \"1px\",\n                \"margin-bottom\": \"-1px\",\n                \"margin-right\": \"-1px\",\n                overflow: \"hidden\",\n                clip: \"rect(0 0 0 0)\",\n                \"white-space\": \"nowrap\"\n            });\n            options.$input.after(this.$el);\n            _.each(options.menu.datasets, _.bind(function(dataset) {\n                if (dataset.onSync) {\n                    dataset.onSync(\"rendered\", _.bind(this.update, this));\n                    dataset.onSync(\"cleared\", _.bind(this.cleared, this));\n                }\n            }, this));\n        }\n        _.mixin(Status.prototype, {\n            update: function update(event, suggestions) {\n                var length = suggestions.length;\n                var words;\n                if (length === 1) {\n                    words = {\n                        result: \"result\",\n                        is: \"is\"\n                    };\n                } else {\n                    words = {\n                        result: \"results\",\n                        is: \"are\"\n                    };\n                }\n                this.$el.text(length + \" \" + words.result + \" \" + words.is + \" available, use up and down arrow keys to navigate.\");\n            },\n            cleared: function() {\n                this.$el.text(\"\");\n            }\n        });\n        return Status;\n    }();\n    var DefaultMenu = function() {\n        \"use strict\";\n        var s = Menu.prototype;\n        function DefaultMenu() {\n            Menu.apply(this, [].slice.call(arguments, 0));\n        }\n        _.mixin(DefaultMenu.prototype, Menu.prototype, {\n            open: function open() {\n                !this._allDatasetsEmpty() && this._show();\n                return s.open.apply(this, [].slice.call(arguments, 0));\n            },\n            close: function close() {\n                this._hide();\n                return s.close.apply(this, [].slice.call(arguments, 0));\n            },\n            _onRendered: function onRendered() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() && this._show();\n                }\n                return s._onRendered.apply(this, [].slice.call(arguments, 0));\n            },\n            _onCleared: function onCleared() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() && this._show();\n                }\n                return s._onCleared.apply(this, [].slice.call(arguments, 0));\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.css(dir === \"ltr\" ? this.css.ltr : this.css.rtl);\n                return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));\n            },\n            _hide: function hide() {\n                this.$node.hide();\n            },\n            _show: function show() {\n                this.$node.css(\"display\", \"block\");\n            }\n        });\n        return DefaultMenu;\n    }();\n    var Typeahead = function() {\n        \"use strict\";\n        function Typeahead(o, www) {\n            var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"missing input\");\n            }\n            if (!o.menu) {\n                $.error(\"missing menu\");\n            }\n            if (!o.eventBus) {\n                $.error(\"missing event bus\");\n            }\n            www.mixin(this);\n            this.eventBus = o.eventBus;\n            this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n            this.input = o.input;\n            this.menu = o.menu;\n            this.enabled = true;\n            this.autoselect = !!o.autoselect;\n            this.active = false;\n            this.input.hasFocus() && this.activate();\n            this.dir = this.input.getLangDir();\n            this._hacks();\n            this.menu.bind().onSync(\"selectableClicked\", this._onSelectableClicked, this).onSync(\"asyncRequested\", this._onAsyncRequested, this).onSync(\"asyncCanceled\", this._onAsyncCanceled, this).onSync(\"asyncReceived\", this._onAsyncReceived, this).onSync(\"datasetRendered\", this._onDatasetRendered, this).onSync(\"datasetCleared\", this._onDatasetCleared, this);\n            onFocused = c(this, \"activate\", \"open\", \"_onFocused\");\n            onBlurred = c(this, \"deactivate\", \"_onBlurred\");\n            onEnterKeyed = c(this, \"isActive\", \"isOpen\", \"_onEnterKeyed\");\n            onTabKeyed = c(this, \"isActive\", \"isOpen\", \"_onTabKeyed\");\n            onEscKeyed = c(this, \"isActive\", \"_onEscKeyed\");\n            onUpKeyed = c(this, \"isActive\", \"open\", \"_onUpKeyed\");\n            onDownKeyed = c(this, \"isActive\", \"open\", \"_onDownKeyed\");\n            onLeftKeyed = c(this, \"isActive\", \"isOpen\", \"_onLeftKeyed\");\n            onRightKeyed = c(this, \"isActive\", \"isOpen\", \"_onRightKeyed\");\n            onQueryChanged = c(this, \"_openIfActive\", \"_onQueryChanged\");\n            onWhitespaceChanged = c(this, \"_openIfActive\", \"_onWhitespaceChanged\");\n            this.input.bind().onSync(\"focused\", onFocused, this).onSync(\"blurred\", onBlurred, this).onSync(\"enterKeyed\", onEnterKeyed, this).onSync(\"tabKeyed\", onTabKeyed, this).onSync(\"escKeyed\", onEscKeyed, this).onSync(\"upKeyed\", onUpKeyed, this).onSync(\"downKeyed\", onDownKeyed, this).onSync(\"leftKeyed\", onLeftKeyed, this).onSync(\"rightKeyed\", onRightKeyed, this).onSync(\"queryChanged\", onQueryChanged, this).onSync(\"whitespaceChanged\", onWhitespaceChanged, this).onSync(\"langDirChanged\", this._onLangDirChanged, this);\n        }\n        _.mixin(Typeahead.prototype, {\n            _hacks: function hacks() {\n                var $input, $menu;\n                $input = this.input.$input || $(\"<div>\");\n                $menu = this.menu.$node || $(\"<div>\");\n                $input.on(\"blur.tt\", function($e) {\n                    var active, isActive, hasActive;\n                    active = document.activeElement;\n                    isActive = $menu.is(active);\n                    hasActive = $menu.has(active).length > 0;\n                    if (_.isMsie() && (isActive || hasActive)) {\n                        $e.preventDefault();\n                        $e.stopImmediatePropagation();\n                        _.defer(function() {\n                            $input.focus();\n                        });\n                    }\n                });\n                $menu.on(\"mousedown.tt\", function($e) {\n                    $e.preventDefault();\n                });\n            },\n            _onSelectableClicked: function onSelectableClicked(type, $el) {\n                this.select($el);\n            },\n            _onDatasetCleared: function onDatasetCleared() {\n                this._updateHint();\n            },\n            _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {\n                this._updateHint();\n                if (this.autoselect) {\n                    var cursorClass = this.selectors.cursor.substr(1);\n                    this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);\n                }\n                this.eventBus.trigger(\"render\", suggestions, async, dataset);\n            },\n            _onAsyncRequested: function onAsyncRequested(type, dataset, query) {\n                this.eventBus.trigger(\"asyncrequest\", query, dataset);\n            },\n            _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {\n                this.eventBus.trigger(\"asynccancel\", query, dataset);\n            },\n            _onAsyncReceived: function onAsyncReceived(type, dataset, query) {\n                this.eventBus.trigger(\"asyncreceive\", query, dataset);\n            },\n            _onFocused: function onFocused() {\n                this._minLengthMet() && this.menu.update(this.input.getQuery());\n            },\n            _onBlurred: function onBlurred() {\n                if (this.input.hasQueryChangedSinceLastFocus()) {\n                    this.eventBus.trigger(\"change\", this.input.getQuery());\n                }\n            },\n            _onEnterKeyed: function onEnterKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    if (this.select($selectable)) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                } else if (this.autoselect) {\n                    if (this.select(this.menu.getTopSelectable())) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                }\n            },\n            _onTabKeyed: function onTabKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    this.select($selectable) && $e.preventDefault();\n                } else if (this.autoselect) {\n                    if ($selectable = this.menu.getTopSelectable()) {\n                        this.autocomplete($selectable) && $e.preventDefault();\n                    }\n                }\n            },\n            _onEscKeyed: function onEscKeyed() {\n                this.close();\n            },\n            _onUpKeyed: function onUpKeyed() {\n                this.moveCursor(-1);\n            },\n            _onDownKeyed: function onDownKeyed() {\n                this.moveCursor(+1);\n            },\n            _onLeftKeyed: function onLeftKeyed() {\n                if (this.dir === \"rtl\" && this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onRightKeyed: function onRightKeyed() {\n                if (this.dir === \"ltr\" && this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onQueryChanged: function onQueryChanged(e, query) {\n                this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();\n            },\n            _onWhitespaceChanged: function onWhitespaceChanged() {\n                this._updateHint();\n            },\n            _onLangDirChanged: function onLangDirChanged(e, dir) {\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.menu.setLanguageDirection(dir);\n                }\n            },\n            _openIfActive: function openIfActive() {\n                this.isActive() && this.open();\n            },\n            _minLengthMet: function minLengthMet(query) {\n                query = _.isString(query) ? query : this.input.getQuery() || \"\";\n                return query.length >= this.minLength;\n            },\n            _updateHint: function updateHint() {\n                var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;\n                $selectable = this.menu.getTopSelectable();\n                data = this.menu.getSelectableData($selectable);\n                val = this.input.getInputValue();\n                if (data && !_.isBlankString(val) && !this.input.hasOverflow()) {\n                    query = Input.normalizeQuery(val);\n                    escapedQuery = _.escapeRegExChars(query);\n                    frontMatchRegEx = new RegExp(\"^(?:\" + escapedQuery + \")(.+$)\", \"i\");\n                    match = frontMatchRegEx.exec(data.val);\n                    match && this.input.setHint(val + match[1]);\n                } else {\n                    this.input.clearHint();\n                }\n            },\n            isEnabled: function isEnabled() {\n                return this.enabled;\n            },\n            enable: function enable() {\n                this.enabled = true;\n            },\n            disable: function disable() {\n                this.enabled = false;\n            },\n            isActive: function isActive() {\n                return this.active;\n            },\n            activate: function activate() {\n                if (this.isActive()) {\n                    return true;\n                } else if (!this.isEnabled() || this.eventBus.before(\"active\")) {\n                    return false;\n                } else {\n                    this.active = true;\n                    this.eventBus.trigger(\"active\");\n                    return true;\n                }\n            },\n            deactivate: function deactivate() {\n                if (!this.isActive()) {\n                    return true;\n                } else if (this.eventBus.before(\"idle\")) {\n                    return false;\n                } else {\n                    this.active = false;\n                    this.close();\n                    this.eventBus.trigger(\"idle\");\n                    return true;\n                }\n            },\n            isOpen: function isOpen() {\n                return this.menu.isOpen();\n            },\n            open: function open() {\n                if (!this.isOpen() && !this.eventBus.before(\"open\")) {\n                    this.input.setAriaExpanded(true);\n                    this.menu.open();\n                    this._updateHint();\n                    this.eventBus.trigger(\"open\");\n                }\n                return this.isOpen();\n            },\n            close: function close() {\n                if (this.isOpen() && !this.eventBus.before(\"close\")) {\n                    this.input.setAriaExpanded(false);\n                    this.menu.close();\n                    this.input.clearHint();\n                    this.input.resetInputValue();\n                    this.eventBus.trigger(\"close\");\n                }\n                return !this.isOpen();\n            },\n            setVal: function setVal(val) {\n                this.input.setQuery(_.toStr(val));\n            },\n            getVal: function getVal() {\n                return this.input.getQuery();\n            },\n            select: function select($selectable) {\n                var data = this.menu.getSelectableData($selectable);\n                if (data && !this.eventBus.before(\"select\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val, true);\n                    this.eventBus.trigger(\"select\", data.obj, data.dataset);\n                    this.close();\n                    return true;\n                }\n                return false;\n            },\n            autocomplete: function autocomplete($selectable) {\n                var query, data, isValid;\n                query = this.input.getQuery();\n                data = this.menu.getSelectableData($selectable);\n                isValid = data && query !== data.val;\n                if (isValid && !this.eventBus.before(\"autocomplete\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val);\n                    this.eventBus.trigger(\"autocomplete\", data.obj, data.dataset);\n                    return true;\n                }\n                return false;\n            },\n            moveCursor: function moveCursor(delta) {\n                var query, $candidate, data, suggestion, datasetName, cancelMove, id;\n                query = this.input.getQuery();\n                $candidate = this.menu.selectableRelativeToCursor(delta);\n                data = this.menu.getSelectableData($candidate);\n                suggestion = data ? data.obj : null;\n                datasetName = data ? data.dataset : null;\n                id = $candidate ? $candidate.attr(\"id\") : null;\n                this.input.trigger(\"cursorchange\", id);\n                cancelMove = this._minLengthMet() && this.menu.update(query);\n                if (!cancelMove && !this.eventBus.before(\"cursorchange\", suggestion, datasetName)) {\n                    this.menu.setCursor($candidate);\n                    if (data) {\n                        if (typeof data.val === \"string\") {\n                            this.input.setInputValue(data.val);\n                        }\n                    } else {\n                        this.input.resetInputValue();\n                        this._updateHint();\n                    }\n                    this.eventBus.trigger(\"cursorchange\", suggestion, datasetName);\n                    return true;\n                }\n                return false;\n            },\n            destroy: function destroy() {\n                this.input.destroy();\n                this.menu.destroy();\n            }\n        });\n        return Typeahead;\n        function c(ctx) {\n            var methods = [].slice.call(arguments, 1);\n            return function() {\n                var args = [].slice.call(arguments);\n                _.each(methods, function(method) {\n                    return ctx[method].apply(ctx, args);\n                });\n            };\n        }\n    }();\n    (function() {\n        \"use strict\";\n        var old, keys, methods;\n        old = $.fn.typeahead;\n        keys = {\n            www: \"tt-www\",\n            attrs: \"tt-attrs\",\n            typeahead: \"tt-typeahead\"\n        };\n        methods = {\n            initialize: function initialize(o, datasets) {\n                var www;\n                datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);\n                o = o || {};\n                www = WWW(o.classNames);\n                return this.each(attach);\n                function attach() {\n                    var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;\n                    _.each(datasets, function(d) {\n                        d.highlight = !!o.highlight;\n                    });\n                    $input = $(this);\n                    $wrapper = $(www.html.wrapper);\n                    $hint = $elOrNull(o.hint);\n                    $menu = $elOrNull(o.menu);\n                    defaultHint = o.hint !== false && !$hint;\n                    defaultMenu = o.menu !== false && !$menu;\n                    defaultHint && ($hint = buildHintFromInput($input, www));\n                    defaultMenu && ($menu = $(www.html.menu).css(www.css.menu));\n                    $hint && $hint.val(\"\");\n                    $input = prepInput($input, www);\n                    if (defaultHint || defaultMenu) {\n                        $wrapper.css(www.css.wrapper);\n                        $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);\n                        $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);\n                    }\n                    MenuConstructor = defaultMenu ? DefaultMenu : Menu;\n                    eventBus = new EventBus({\n                        el: $input\n                    });\n                    input = new Input({\n                        hint: $hint,\n                        input: $input,\n                        menu: $menu\n                    }, www);\n                    menu = new MenuConstructor({\n                        node: $menu,\n                        datasets: datasets\n                    }, www);\n                    status = new Status({\n                        $input: $input,\n                        menu: menu\n                    });\n                    typeahead = new Typeahead({\n                        input: input,\n                        menu: menu,\n                        eventBus: eventBus,\n                        minLength: o.minLength,\n                        autoselect: o.autoselect\n                    }, www);\n                    $input.data(keys.www, www);\n                    $input.data(keys.typeahead, typeahead);\n                }\n            },\n            isEnabled: function isEnabled() {\n                var enabled;\n                ttEach(this.first(), function(t) {\n                    enabled = t.isEnabled();\n                });\n                return enabled;\n            },\n            enable: function enable() {\n                ttEach(this, function(t) {\n                    t.enable();\n                });\n                return this;\n            },\n            disable: function disable() {\n                ttEach(this, function(t) {\n                    t.disable();\n                });\n                return this;\n            },\n            isActive: function isActive() {\n                var active;\n                ttEach(this.first(), function(t) {\n                    active = t.isActive();\n                });\n                return active;\n            },\n            activate: function activate() {\n                ttEach(this, function(t) {\n                    t.activate();\n                });\n                return this;\n            },\n            deactivate: function deactivate() {\n                ttEach(this, function(t) {\n                    t.deactivate();\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                var open;\n                ttEach(this.first(), function(t) {\n                    open = t.isOpen();\n                });\n                return open;\n            },\n            open: function open() {\n                ttEach(this, function(t) {\n                    t.open();\n                });\n                return this;\n            },\n            close: function close() {\n                ttEach(this, function(t) {\n                    t.close();\n                });\n                return this;\n            },\n            select: function select(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.select($el);\n                });\n                return success;\n            },\n            autocomplete: function autocomplete(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.autocomplete($el);\n                });\n                return success;\n            },\n            moveCursor: function moveCursoe(delta) {\n                var success = false;\n                ttEach(this.first(), function(t) {\n                    success = t.moveCursor(delta);\n                });\n                return success;\n            },\n            val: function val(newVal) {\n                var query;\n                if (!arguments.length) {\n                    ttEach(this.first(), function(t) {\n                        query = t.getVal();\n                    });\n                    return query;\n                } else {\n                    ttEach(this, function(t) {\n                        t.setVal(_.toStr(newVal));\n                    });\n                    return this;\n                }\n            },\n            destroy: function destroy() {\n                ttEach(this, function(typeahead, $input) {\n                    revert($input);\n                    typeahead.destroy();\n                });\n                return this;\n            }\n        };\n        $.fn.typeahead = function(method) {\n            if (methods[method]) {\n                return methods[method].apply(this, [].slice.call(arguments, 1));\n            } else {\n                return methods.initialize.apply(this, arguments);\n            }\n        };\n        $.fn.typeahead.noConflict = function noConflict() {\n            $.fn.typeahead = old;\n            return this;\n        };\n        function ttEach($els, fn) {\n            $els.each(function() {\n                var $input = $(this), typeahead;\n                (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input);\n            });\n        }\n        function buildHintFromInput($input, www) {\n            return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({\n                readonly: true,\n                required: false\n            }).removeAttr(\"id name placeholder\").removeClass(\"required\").attr({\n                spellcheck: \"false\",\n                tabindex: -1\n            });\n        }\n        function prepInput($input, www) {\n            $input.data(keys.attrs, {\n                dir: $input.attr(\"dir\"),\n                autocomplete: $input.attr(\"autocomplete\"),\n                spellcheck: $input.attr(\"spellcheck\"),\n                style: $input.attr(\"style\")\n            });\n            $input.addClass(www.classes.input).attr({\n                spellcheck: false\n            });\n            try {\n                !$input.attr(\"dir\") && $input.attr(\"dir\", \"auto\");\n            } catch (e) {}\n            return $input;\n        }\n        function getBackgroundStyles($el) {\n            return {\n                backgroundAttachment: $el.css(\"background-attachment\"),\n                backgroundClip: $el.css(\"background-clip\"),\n                backgroundColor: $el.css(\"background-color\"),\n                backgroundImage: $el.css(\"background-image\"),\n                backgroundOrigin: $el.css(\"background-origin\"),\n                backgroundPosition: $el.css(\"background-position\"),\n                backgroundRepeat: $el.css(\"background-repeat\"),\n                backgroundSize: $el.css(\"background-size\")\n            };\n        }\n        function revert($input) {\n            var www, $wrapper;\n            www = $input.data(keys.www);\n            $wrapper = $input.parent().filter(www.selectors.wrapper);\n            _.each($input.data(keys.attrs), function(val, key) {\n                _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);\n            });\n            $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);\n            if ($wrapper.length) {\n                $input.detach().insertAfter($wrapper);\n                $wrapper.remove();\n            }\n        }\n        function $elOrNull(obj) {\n            var isValid, $el;\n            isValid = _.isJQuery(obj) || _.isElement(obj);\n            $el = isValid ? $(obj).first() : [];\n            return $el.length ? $el : null;\n        }\n    })();\n});"
  },
  {
    "path": "docs/search.json",
    "content": "{\"Structs/PopoverConfig/Source.html#/s:12PresenterKit13PopoverConfigV6SourceO13barButtonItemyAESo05UIBargH0CcAEmF\":{\"name\":\"barButtonItem(_:)\",\"abstract\":\"<p>Specifies that the popover should display from a <code>UIBarButtonItem</code> instance.</p>\",\"parent_name\":\"Source\"},\"Structs/PopoverConfig/Source.html#/s:12PresenterKit13PopoverConfigV6SourceO4viewyAESo6UIViewC_So6CGRectVSgtcAEmF\":{\"name\":\"view(container:frame:)\",\"abstract\":\"<p>Specifies that the popover should display from a <code>UIView</code> instance and be anchored on the specific <code>frame</code>.\",\"parent_name\":\"Source\"},\"Structs/PopoverConfig/Source.html\":{\"name\":\"Source\",\"abstract\":\"<p>Describes the source view from which the popover is showing.</p>\",\"parent_name\":\"PopoverConfig\"},\"Structs/PopoverConfig.html#/s:12PresenterKit13PopoverConfigV6source14arrowDirection8delegateA2C6SourceO_So014UIPopoverArrowG0VSo0J30PresentationControllerDelegate_pSgtcfc\":{\"name\":\"init(source:arrowDirection:delegate:)\",\"abstract\":\"<p>Initializes and returns a new <code>PopoverConfig</code> object.</p>\",\"parent_name\":\"PopoverConfig\"},\"Structs/DismissButtonConfig/Content.html#/s:12PresenterKit19DismissButtonConfigV7ContentO10systemItemyAESo05UIBard6SystemH0VcAEmF\":{\"name\":\"systemItem(_:)\",\"abstract\":\"<p>Specifies a <code>UIBarButtonSystemItem</code>.</p>\",\"parent_name\":\"Content\"},\"Structs/DismissButtonConfig/Content.html#/s:12PresenterKit19DismissButtonConfigV7ContentO4textyAESScAEmF\":{\"name\":\"text(_:)\",\"abstract\":\"<p>Specifies custom text for the bar button.</p>\",\"parent_name\":\"Content\"},\"Structs/DismissButtonConfig/Content.html#/s:12PresenterKit19DismissButtonConfigV7ContentO5imageyAESo7UIImageCcAEmF\":{\"name\":\"image(_:)\",\"abstract\":\"<p>Specifies a custom image for the bar button.</p>\",\"parent_name\":\"Content\"},\"Structs/DismissButtonConfig/Style.html#/s:12PresenterKit19DismissButtonConfigV5StyleO4boldyA2EmF\":{\"name\":\"bold\",\"abstract\":\"<p>Use bold text, <code>.Done</code> style.</p>\",\"parent_name\":\"Style\"},\"Structs/DismissButtonConfig/Style.html#/s:12PresenterKit19DismissButtonConfigV5StyleO5plainyA2EmF\":{\"name\":\"plain\",\"abstract\":\"<p>Use regular text, <code>.Plain</code> style.</p>\",\"parent_name\":\"Style\"},\"Structs/DismissButtonConfig/Location.html#/s:12PresenterKit19DismissButtonConfigV8LocationO4leftyA2EmF\":{\"name\":\"left\",\"abstract\":\"<p>The left side of the navigation bar.</p>\",\"parent_name\":\"Location\"},\"Structs/DismissButtonConfig/Location.html#/s:12PresenterKit19DismissButtonConfigV8LocationO5rightyA2EmF\":{\"name\":\"right\",\"abstract\":\"<p>The right side of the navigation bar.</p>\",\"parent_name\":\"Location\"},\"Structs/DismissButtonConfig/Location.html\":{\"name\":\"Location\",\"abstract\":\"<p>Specifies a bar button&rsquo;s location in a navigation bar.</p>\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig/Style.html\":{\"name\":\"Style\",\"abstract\":\"<p>Specifies a bar button&rsquo;s item style.</p>\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig/Content.html\":{\"name\":\"Content\",\"abstract\":\"<p>Specifies the content (title or image) for the bar button.</p>\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig.html#/s:12PresenterKit19DismissButtonConfigV8locationAC8LocationOvp\":{\"name\":\"location\",\"abstract\":\"<p>The location for the bar button.\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig.html#/s:12PresenterKit19DismissButtonConfigV5styleAC5StyleOvp\":{\"name\":\"style\",\"abstract\":\"<p>The style for the bar button.\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig.html#/s:12PresenterKit19DismissButtonConfigV7contentAC7ContentOvp\":{\"name\":\"content\",\"abstract\":\"<p>The content for the bar button.\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig.html#/s:12PresenterKit19DismissButtonConfigV8location5style7contentA2C8LocationO_AC5StyleOAC7ContentOtcfc\":{\"name\":\"init(location:style:content:)\",\"abstract\":\"<p>Initializes a new configuration instance.</p>\",\"parent_name\":\"DismissButtonConfig\"},\"Structs/DismissButtonConfig.html\":{\"name\":\"DismissButtonConfig\",\"abstract\":\"<p>A configuration for <code>UIBarButtonItem</code>.\"},\"Structs/PopoverConfig.html\":{\"name\":\"PopoverConfig\",\"abstract\":\"<p>A configuration for <code>UIPopoverPresentationController</code>.</p>\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE14withNavigationSo012UINavigationB0CyF\":{\"name\":\"withNavigation()\",\"abstract\":\"<p>Wraps the receiving view controller in a navigation controller.\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE16withPresentationyABXDSo07UIModalF5StyleVF\":{\"name\":\"withPresentation(_:)\",\"abstract\":\"<p>Applies the specified modal presentation style to the view controller.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE14withTransitionyABXDSo07UIModalF5StyleVF\":{\"name\":\"withTransition(_:)\",\"abstract\":\"<p>Applies the specified modal transition style to the view controller.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE19withNavigationStyleyAbC0fG0OF\":{\"name\":\"withNavigationStyle(_:)\",\"abstract\":\"<p>Applies the specified navigation style to the view controller.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE10withStyles10navigation12presentation10transitionAbC15NavigationStyleO_So019UIModalPresentationK0VSo0l10TransitionK0VtF\":{\"name\":\"withStyles(navigation:presentation:transition:)\",\"abstract\":\"<p>Applies the specified navigation style to the view controller.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE07presentB0_4type8animated10completionyAB_AC16PresentationTypeOSbyycSgtF\":{\"name\":\"presentController(_:type:animated:completion:)\",\"abstract\":\"<p>Presents a view controller using the specified presentation type.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE07dismissB08animated10completionySb_yycSgtF\":{\"name\":\"dismissController(animated:completion:)\",\"abstract\":\"<p>Dismisses the receiving view controller.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE24addDismissButtonIfNeeded6configyAC0fG6ConfigV_tF\":{\"name\":\"addDismissButtonIfNeeded(config:)\",\"abstract\":\"<p>Adds a dismiss button having the provided configuration, if needed.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UIViewController.html#/s:So16UIViewControllerC12PresenterKitE16addDismissButton6configyAC0fG6ConfigV_tF\":{\"name\":\"addDismissButton(config:)\",\"abstract\":\"<p>Adds a dismiss button having the provided configuration.</p>\",\"parent_name\":\"UIViewController\"},\"Extensions/UINavigationController.html#/s:So22UINavigationControllerC12PresenterKitE4push_8animated10completionySo06UIViewB0C_SbyycSgtF\":{\"name\":\"push(_:animated:completion:)\",\"abstract\":\"<p>Pushes the given view controller and calls the given closure upon completion.</p>\",\"parent_name\":\"UINavigationController\"},\"Extensions/UINavigationController.html#/s:So22UINavigationControllerC12PresenterKitE3pop8animated10completionySb_yycSgtF\":{\"name\":\"pop(animated:completion:)\",\"abstract\":\"<p>Pops the top view controller and calls the given closure upon completion.</p>\",\"parent_name\":\"UINavigationController\"},\"Extensions/UIBarButtonItem.html#/s:So15UIBarButtonItemC12PresenterKitE6config6target6actionAbC07DismissB6ConfigV_yXlSg10ObjectiveC8SelectorVtcfc\":{\"name\":\"init(config:target:action:)\",\"abstract\":\"<p>Initializes a new bar button item using the specified configuration.</p>\",\"parent_name\":\"UIBarButtonItem\"},\"Extensions/UIBarButtonItem.html\":{\"name\":\"UIBarButtonItem\"},\"Extensions/UINavigationController.html\":{\"name\":\"UINavigationController\"},\"Extensions/UIViewController.html\":{\"name\":\"UIViewController\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO5modalyAcA15NavigationStyleO_So07UIModalcG0VSo0h10TransitionG0VtcACmF\":{\"name\":\"modal(_:_:_:)\",\"abstract\":\"<p>A modal presentation type with the specified navigation, presentation, and transition styles.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO7popoveryAcA13PopoverConfigVcACmF\":{\"name\":\"popover(_:)\",\"abstract\":\"<p>A popover presentation type with the specified configuration.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO4pushyA2CmF\":{\"name\":\"push\",\"abstract\":\"<p>A push presentation type.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO4showyA2CmF\":{\"name\":\"show\",\"abstract\":\"<p>A &ldquo;show&rdquo; presentation type. This is an adaptive presentation that usually corresponds to <code>.Push</code>.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO10showDetailyAcA15NavigationStyleOcACmF\":{\"name\":\"showDetail(_:)\",\"abstract\":\"<p>A &ldquo;show detail&rdquo; presentation type. This is an adaptive presentation that usually corresponds to <code>.Modal</code>.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO6customyACSo37UIViewControllerTransitioningDelegate_pcACmF\":{\"name\":\"custom(_:)\",\"abstract\":\"<p>A custom presentation style that uses the specified delegate.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/PresentationType.html#/s:12PresenterKit16PresentationTypeO4noneyA2CmF\":{\"name\":\"none\",\"abstract\":\"<p>No presentation type specified, use UIKit defaults. Use this when presenting system controllers, like <code>UIAlertController</code>.</p>\",\"parent_name\":\"PresentationType\"},\"Enums/NavigationStyle.html#/s:12PresenterKit15NavigationStyleO4noneyA2CmF\":{\"name\":\"none\",\"abstract\":\"<p>Do not embed a view controller in a <code>UINavigationController</code>.</p>\",\"parent_name\":\"NavigationStyle\"},\"Enums/NavigationStyle.html#/s:12PresenterKit15NavigationStyleO04withC0yA2CmF\":{\"name\":\"withNavigation\",\"abstract\":\"<p>Embed view controller in a <code>UINavigationController</code>.</p>\",\"parent_name\":\"NavigationStyle\"},\"Enums/NavigationStyle.html\":{\"name\":\"NavigationStyle\",\"abstract\":\"<p>Specifies the navigation style for a view controller.</p>\"},\"Enums/PresentationType.html\":{\"name\":\"PresentationType\",\"abstract\":\"<p>Describes the type of presentation for a view controller.</p>\"},\"Classes.html#/c:@M@PresenterKit@objc(cs)HalfModalPresentationController\":{\"name\":\"HalfModalPresentationController\",\"abstract\":\"<p>A modal presentation controller that presents the presented view controller modally,\"},\"getting-started.html\":{\"name\":\"Getting Started\"},\"Guides.html\":{\"name\":\"Guides\",\"abstract\":\"<p>The following guides are available globally.</p>\"},\"Classes.html\":{\"name\":\"Classes\",\"abstract\":\"<p>The following classes are available globally.</p>\"},\"Enums.html\":{\"name\":\"Enumerations\",\"abstract\":\"<p>The following enumerations are available globally.</p>\"},\"Extensions.html\":{\"name\":\"Extensions\",\"abstract\":\"<p>The following extensions are available globally.</p>\"},\"Structs.html\":{\"name\":\"Structures\",\"abstract\":\"<p>The following structures are available globally.</p>\"}}"
  },
  {
    "path": "docs/undocumented.json",
    "content": "{\n  \"warnings\": [\n\n  ],\n  \"source_directory\": \"/Users/jsq/GitHub/PresenterKit\"\n}"
  },
  {
    "path": "scripts/build_docs.zsh",
    "content": "#!/bin/zsh\n\n#  Created by Jesse Squires\n#  https://www.jessesquires.com\n#\n#  Copyright © 2020-present Jesse Squires\n#\n#  Docs by jazzy\n#  https://github.com/realm/jazzy/releases/latest\n#  ------------------------------\n#  Generates documentation using jazzy and checks for installation.\n\nVERSION=\"0.13.6\"\n\nFOUND=$(jazzy --version)\nLINK=\"https://github.com/realm/jazzy\"\nINSTALL=\"gem install jazzy\"\n\nPROJECT=\"PresenterKit\"\n\nif which jazzy >/dev/null; then\n    jazzy \\\n        --clean \\\n        --author \"Jesse Squires\" \\\n        --author_url \"https://jessesquires.com\" \\\n        --github_url \"https://github.com/jessesquires/$PROJECT\" \\\n        --module \"$PROJECT\" \\\n        --source-directory . \\\n        --readme \"README.md\" \\\n        --documentation \"Guides/*.md\" \\\n        --output docs/\nelse\n    echo \"\n    Error: Jazzy not installed!\n\n    Download: $LINK\n    Install: $INSTALL\n    \"\n    exit 1\nfi\n\nif [ \"$FOUND\" != \"jazzy version: $VERSION\" ]; then\n    echo \"\n    Warning: incorrect Jazzy installed! Please upgrade.\n    Expected: $VERSION\n    Found: $FOUND\n\n    Download: $LINK\n    Install: $INSTALL\n    \"\nfi\n\nexit\n"
  },
  {
    "path": "scripts/lint.zsh",
    "content": "#!/bin/zsh\n\n#  Created by Jesse Squires\n#  https://www.jessesquires.com\n#\n#  Copyright © 2020-present Jesse Squires\n#\n#  SwiftLint\n#  https://github.com/realm/SwiftLint/releases/latest\n#  ------------------------------\n#  Runs SwiftLint and checks for installation.\n\nVERSION=\"0.41.0\"\n\nFOUND=$(swiftlint version)\nLINK=\"https://github.com/realm/SwiftLint\"\nINSTALL=\"brew install swiftlint\"\n\nif which swiftlint >/dev/null; then\n    swiftlint lint --config ./.swiftlint.yml\nelse\n    echo \"\n    Error: SwiftLint not installed!\n\n    Download: $LINK\n    Install: $INSTALL\n    \"\nfi\n\nif [ $FOUND != $VERSION ]; then\n    echo \"\n    Warning: incorrect SwiftLint installed! Please upgrade.\n    Expected: $VERSION\n    Found: $FOUND\n\n    Download: $LINK\n    Install: $INSTALL\n    \"\nfi\n\nexit\n"
  }
]