├── .docs ├── favicon.ico ├── index.html ├── developer-og.jpg ├── images │ ├── gif1.gif │ └── gif2.gif ├── index │ ├── data.mdb │ ├── navigator.index │ ├── availability.index │ └── index.json ├── developer-og-twitter.jpg ├── metadata.json ├── img │ ├── deprecated-icon.7bf1740a.svg │ ├── added-icon.832a5d2c.svg │ └── modified-icon.efb2697d.svg ├── js │ ├── highlight-js-shell-js.0ad5b20f.js │ ├── highlight-js-json-js.2a1856ba.js │ ├── highlight-js-diff-js.4db9a783.js │ ├── highlight-js-http-js.f78e83c2.js │ ├── highlight-js-xml-js.0d78f903.js │ ├── highlight-js-markdown-js.a2f456af.js │ ├── highlight-js-java-js.4fe21e94.js │ ├── highlight-js-llvm-js.26121771.js │ ├── highlight-js-objectivec-js.74dea052.js │ ├── highlight-js-bash-js.702f0c5c.js │ ├── highlight-js-custom-markdown.78c9f6ed.js │ ├── highlight-js-python-js.60354774.js │ ├── highlight-js-ruby-js.7272231f.js │ ├── highlight-js-c-js.063069d3.js │ ├── highlight-js-php-js.c458ffa4.js │ ├── highlight-js-perl-js.da6eda82.js │ ├── highlight-js-cpp-js.458a9ae4.js │ └── highlight-js-javascript-js.dfc9d16d.js ├── documentation │ └── rangepicker │ │ ├── index.html │ │ ├── rangepickerview │ │ ├── index.html │ │ ├── delegate │ │ │ └── index.html │ │ ├── unitfont │ │ │ └── index.html │ │ ├── valuefont │ │ │ └── index.html │ │ ├── valuetype │ │ │ └── index.html │ │ ├── init(coder:) │ │ │ └── index.html │ │ ├── init(frame:) │ │ │ └── index.html │ │ ├── selectedindex │ │ │ └── index.html │ │ ├── unittextcolor │ │ │ └── index.html │ │ ├── valuetextcolor │ │ │ └── index.html │ │ ├── visibilityrange │ │ │ └── index.html │ │ ├── alignment-swift.enum │ │ │ ├── index.html │ │ │ ├── !=(_:_:) │ │ │ │ └── index.html │ │ │ ├── horizontal │ │ │ │ └── index.html │ │ │ ├── vertical │ │ │ │ └── index.html │ │ │ └── equatable-implementations │ │ │ │ └── index.html │ │ ├── alignment-swift.property │ │ │ └── index.html │ │ ├── selectrow(_:animated:) │ │ │ └── index.html │ │ └── seperatorbackgroundcolor │ │ │ └── index.html │ │ └── rangepickerviewdelegate │ │ ├── index.html │ │ ├── rangepickerview(_:didselectrow:) │ │ └── index.html │ │ ├── rangepickerview(_:numberofindicesat:) │ │ └── index.html │ │ ├── rangepickerview(_:titleforrowatindex:) │ │ └── index.html │ │ └── rangepickerview(_:headertitleindicesat:) │ │ └── index.html ├── favicon.svg ├── data │ └── documentation │ │ ├── rangepicker.json │ │ └── rangepicker │ │ ├── rangepickerview │ │ ├── init(frame:).json │ │ ├── init(coder:).json │ │ ├── unitfont.json │ │ ├── valuefont.json │ │ ├── selectedindex.json │ │ ├── valuetype.json │ │ ├── unittextcolor.json │ │ ├── visibilityrange.json │ │ ├── valuetextcolor.json │ │ ├── alignment-swift.enum │ │ │ ├── vertical.json │ │ │ ├── horizontal.json │ │ │ ├── equatable-implementations.json │ │ │ └── !=(_:_:).json │ │ ├── seperatorbackgroundcolor.json │ │ ├── selectrow(_:animated:).json │ │ ├── delegate.json │ │ ├── alignment-swift.property.json │ │ └── alignment-swift.enum.json │ │ ├── rangepickerviewdelegate │ │ ├── rangepickerview(_:didselectrow:).json │ │ ├── rangepickerview(_:numberofindicesat:).json │ │ ├── rangepickerview(_:titleforrowatindex:).json │ │ └── rangepickerview(_:headertitleindicesat:).json │ │ └── rangepickerviewdelegate.json └── css │ └── 675.40c3bcb2.css ├── Sample └── Sample │ ├── Sample │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ ├── ViewController.swift │ ├── AppDelegate.swift │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ └── SceneDelegate.swift │ └── Sample.xcodeproj │ ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ └── xcschemes │ └── Sample.xcscheme ├── Sources └── RangePicker │ ├── Documentation.docc │ ├── Resources │ │ ├── gif1.gif │ │ └── gif2.gif │ └── Documentation.md │ ├── Alignment.swift │ ├── RangePickerViewNib.swift │ ├── RangePickerViewDataSource.swift │ └── RangePickerView.swift ├── .swiftformat ├── Package.swift ├── Tests └── RangePickerTests │ └── RangePickerViewTests.swift ├── .github └── workflows │ └── docc.yml ├── LICENSE ├── .gitignore └── README.md /.docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/favicon.ico -------------------------------------------------------------------------------- /.docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.docs/developer-og.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/developer-og.jpg -------------------------------------------------------------------------------- /.docs/images/gif1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/images/gif1.gif -------------------------------------------------------------------------------- /.docs/images/gif2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/images/gif2.gif -------------------------------------------------------------------------------- /.docs/index/data.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/index/data.mdb -------------------------------------------------------------------------------- /.docs/index/navigator.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/index/navigator.index -------------------------------------------------------------------------------- /.docs/developer-og-twitter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/developer-og-twitter.jpg -------------------------------------------------------------------------------- /.docs/index/availability.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/.docs/index/availability.index -------------------------------------------------------------------------------- /.docs/metadata.json: -------------------------------------------------------------------------------- 1 | {"bundleDisplayName":"RangePicker","bundleIdentifier":"RangePicker","schemaVersion":{"patch":0,"major":0,"minor":1}} -------------------------------------------------------------------------------- /Sample/Sample/Sample/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Sources/RangePicker/Documentation.docc/Resources/gif1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/Sources/RangePicker/Documentation.docc/Resources/gif1.gif -------------------------------------------------------------------------------- /Sources/RangePicker/Documentation.docc/Resources/gif2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobven/RangePicker/HEAD/Sources/RangePicker/Documentation.docc/Resources/gif2.gif -------------------------------------------------------------------------------- /Sample/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sample/Sample/Sample/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Sources/RangePicker/Documentation.docc/Documentation.md: -------------------------------------------------------------------------------- 1 | # ``RangePicker`` 2 | ## Gifs 3 | | ![iPhone 14 Pro Max](gif1) | ![iPhone 13 Mini](gif2) | 4 | |:--------------------------------------------------:|:-----------------------------------:| 5 | -------------------------------------------------------------------------------- /Sample/Sample/Sample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Sample/Sample/Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.swiftformat: -------------------------------------------------------------------------------- 1 | # format options 2 | --importgrouping testable-bottom 3 | --maxwidth 120 4 | --wraparguments before-first 5 | --wrapparameters before-first 6 | --wrapcollections before-first 7 | --funcattributes same-line 8 | --typeattributes same-line 9 | --varattributes same-line 10 | 11 | # file options 12 | --exclude Build 13 | 14 | # rules 15 | --disable wrapMultilineStatementBraces, unusedArguments, trailingCommas 16 | -------------------------------------------------------------------------------- /.docs/img/deprecated-icon.7bf1740a.svg: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version: 5.8 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "RangePicker", 7 | platforms: [.iOS(.v11)], 8 | products: [ 9 | .library( 10 | name: "RangePicker", 11 | targets: ["RangePicker"] 12 | ) 13 | ], 14 | dependencies: [], 15 | targets: [ 16 | .target( 17 | name: "RangePicker", 18 | dependencies: [] 19 | ), 20 | .testTarget( 21 | name: "RangePickerTests", 22 | dependencies: ["RangePicker"] 23 | ) 24 | ] 25 | ) 26 | -------------------------------------------------------------------------------- /.docs/img/added-icon.832a5d2c.svg: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-shell-js.0ad5b20f.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[176],{7874:function(s){function e(s){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}s.exports=e}}]); -------------------------------------------------------------------------------- /.docs/documentation/rangepicker/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /Sources/RangePicker/Alignment.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Alignment.swift 3 | // RangePicker 4 | // 5 | // Created by Rashid Ramazanov on 21.06.2023. 6 | // 7 | 8 | import Foundation 9 | 10 | public extension RangePickerView { 11 | enum Alignment { 12 | case horizontal, vertical 13 | var angle: CGFloat { 14 | switch self { 15 | case .horizontal: return -90 / 180.0 * CGFloat.pi 16 | case .vertical: return 90 / 180.0 * CGFloat.pi 17 | } 18 | } 19 | 20 | var rotationAngle: CGFloat { 21 | switch self { 22 | case .horizontal: return CGFloat.pi / 2 23 | case .vertical: return CGFloat.pi * 2 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/delegate/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/unitfont/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/valuefont/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/valuetype/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerviewdelegate/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/init(coder:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/init(frame:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/selectedindex/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/unittextcolor/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/valuetextcolor/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/visibilityrange/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.enum/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.property/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/selectrow(_:animated:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/seperatorbackgroundcolor/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.enum/!=(_:_:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.enum/horizontal/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.enum/vertical/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:didselectrow:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerview/alignment-swift.enum/equatable-implementations/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:numberofindicesat:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:titleforrowatindex:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /.docs/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:headertitleindicesat:)/index.html: -------------------------------------------------------------------------------- 1 | Documentation
-------------------------------------------------------------------------------- /Sample/Sample/Sample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UIApplicationSceneManifest 6 | 7 | UIApplicationSupportsMultipleScenes 8 | 9 | UISceneConfigurations 10 | 11 | UIWindowSceneSessionRoleApplication 12 | 13 | 14 | UISceneConfigurationName 15 | Default Configuration 16 | UISceneDelegateClassName 17 | $(PRODUCT_MODULE_NAME).SceneDelegate 18 | UISceneStoryboardFile 19 | Main 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-json-js.2a1856ba.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[82],{14:function(e){function n(e){const n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},c={match:/[{}[\],:]/,className:"punctuation",relevance:0},a={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[n,c,e.QUOTE_STRING_MODE,a,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/js/highlight-js-diff-js.4db9a783.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[213],{7731:function(e){function n(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}e.exports=n}}]); -------------------------------------------------------------------------------- /Tests/RangePickerTests/RangePickerViewTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RangePickerViewTests.swift 3 | // RangePickerTests 4 | // 5 | // Created by Rashid Ramazanov on 21.06.2023. 6 | // 7 | 8 | import XCTest 9 | @testable import RangePicker 10 | 11 | final class RangePickerViewTests: XCTestCase { 12 | var sut: RangePickerView! 13 | 14 | override func setUp() { 15 | sut = .init() 16 | } 17 | 18 | func testAlignment() { 19 | setAlignment(.horizontal) 20 | // Test whether resetting does not changes orientation 21 | setAlignment(.horizontal) 22 | 23 | sut.alignment = .vertical 24 | } 25 | 26 | private func setAlignment(_ alignment: RangePickerView.Alignment) { 27 | sut.alignment = alignment 28 | XCTAssertEqual(sut.alignment, alignment) 29 | XCTAssertEqual(sut.mAlignment, alignment) 30 | XCTAssertEqual(sut.transform, .init(rotationAngle: alignment.angle)) 31 | XCTAssertEqual(sut.valueView.transform, .init(rotationAngle: alignment.rotationAngle)) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.github/workflows/docc.yml: -------------------------------------------------------------------------------- 1 | #1 2 | name: docc 3 | 4 | #2 5 | on: 6 | push: 7 | branches: [main] 8 | workflow_dispatch: 9 | 10 | #3 11 | permissions: 12 | pages: write 13 | id-token: write 14 | contents: read 15 | 16 | #1 17 | jobs: 18 | build: 19 | #2 20 | runs-on: macos-12 21 | #3 22 | steps: 23 | - name: Checkout Repository 24 | uses: actions/checkout@v3 25 | with: 26 | fetch-depth: 0 27 | #4 28 | - name: Run Build Docs 29 | run: ./build-docc.sh 30 | #5 31 | - name: Setup Pages 32 | id: pages 33 | uses: actions/configure-pages@v3 34 | - name: Upload artifact 35 | uses: actions/upload-pages-artifact@v1 36 | with: 37 | path: .docs 38 | 39 | #1 40 | deploy: 41 | #2 42 | runs-on: ubuntu-latest 43 | #3 44 | needs: build 45 | #4 46 | steps: 47 | - name: Deploy to GitHub Pages 48 | id: deployment 49 | uses: actions/deploy-pages@v2 50 | environment: 51 | name: github-pages 52 | url: ${{ steps.deployment.outputs.page_url }} 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Mobven 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.docs/img/modified-icon.efb2697d.svg: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-http-js.f78e83c2.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[878],{8937:function(e){function n(e){const n=e.regex,a="HTTP/(2|1\\.[01])",s=/[A-Za-z][A-Za-z0-9-]*/,t={className:"attribute",begin:n.concat("^",s,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},i=[t,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})",end:/$/,contains:[{className:"meta",begin:a},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},{begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},e.inherit(t,{relevance:0})]}}e.exports=n}}]); -------------------------------------------------------------------------------- /Sample/Sample/Sample/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Sample 4 | // 5 | // Created by Cem Eke on 20.06.2023. 6 | // 7 | 8 | import RangePicker 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | @IBOutlet var rangePickerView: RangePickerView! 13 | var values = Array(1 ... 100) 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | rangePickerView.delegate = self 18 | rangePickerView.alignment = .horizontal 19 | rangePickerView.valueType = "kg" 20 | } 21 | 22 | @IBAction func changePickerAlignment(_ sender: UISwitch) { 23 | rangePickerView.alignment = sender.isOn ? .horizontal : .vertical 24 | } 25 | } 26 | 27 | extension ViewController: RangePickerViewDelegate { 28 | func rangePickerView(_ rangePickerView: RangePickerView, titleForRowAtIndex row: Int) -> String? { 29 | String(values[row]) 30 | } 31 | 32 | func rangePickerView(_ rangePickerView: RangePickerView, didSelectRow row: Int) {} 33 | 34 | func rangePickerView(_ rangePickerView: RangePickerView, numberOfIndicesAt row: Int) -> Int? { 35 | values.count 36 | } 37 | 38 | func rangePickerView(_ rangePickerView: RangePickerView, headerTitleIndicesAt row: Int) -> String? { 39 | String(values[row]) 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /.docs/favicon.svg: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /Sample/Sample/Sample/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Sample 4 | // 5 | // Created by Cem Eke on 20.06.2023. 6 | // 7 | 8 | import UIKit 9 | 10 | @main class AppDelegate: UIResponder, UIApplicationDelegate { 11 | func application( 12 | _ application: UIApplication, 13 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 14 | ) -> Bool { 15 | // Override point for customization after application launch. 16 | true 17 | } 18 | 19 | // MARK: UISceneSession Lifecycle 20 | 21 | func application( 22 | _ application: UIApplication, 23 | configurationForConnecting connectingSceneSession: UISceneSession, 24 | options: UIScene.ConnectionOptions 25 | ) -> UISceneConfiguration { 26 | // Called when a new scene session is being created. 27 | // Use this method to select a configuration to create the new scene with. 28 | UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 29 | } 30 | 31 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 32 | // Called when the user discards a scene session. 33 | // If any sessions were discarded while the application was not running, this will be called shortly after 34 | // application:didFinishLaunchingWithOptions. 35 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Sample/Sample/Sample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Sources/RangePicker/RangePickerViewNib.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RangePickerViewNib.swift 3 | // RangePickerView 4 | // 5 | // Created by Rashid Ramazanov on 8/15/22. 6 | // Copyright © 2022 Mobven. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | 12 | extension RangePickerView { 13 | func setupNib() { 14 | let view = fromNib() 15 | addSubview(pinningView: view) 16 | view.backgroundColor = .clear 17 | view.frame = bounds 18 | view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 19 | } 20 | 21 | func fromNib() -> UIView { 22 | guard let nibName = type(of: self).description().components(separatedBy: ".").last else { 23 | fatalError("nibName not found") 24 | } 25 | 26 | let nib = UINib(nibName: nibName, bundle: Bundle.module) 27 | 28 | guard let view = nib.instantiate(withOwner: self, options: nil).first as? UIView else { 29 | fatalError("View not found") 30 | } 31 | 32 | return view 33 | } 34 | } 35 | 36 | extension UIView { 37 | /// Add subview to view and set constraints to fit all bounds. 38 | /// - Parameter view: To be added as subview. 39 | func addSubview(pinningView view: UIView) { 40 | view.translatesAutoresizingMaskIntoConstraints = false 41 | addSubview(view) 42 | view.pinView(self) 43 | } 44 | 45 | /// Sets constraints the specified view to fit all bounds. 46 | /// - Parameter view: To set constraints on. 47 | func pinView(_ view: UIView, top: CGFloat = 0, leading: CGFloat = 0, trailing: CGFloat = 0, bottom: CGFloat = 0) { 48 | NSLayoutConstraint.activate([ 49 | leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: leading), 50 | trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: trailing), 51 | topAnchor.constraint(equalTo: view.topAnchor, constant: top), 52 | bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: bottom) 53 | ]) 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | .derivedData 9 | FeedbackReporterIOS/DrivedData 10 | *.ipa 11 | *.app.dSYM.zip 12 | 13 | ## Various settings 14 | *.pbxuser 15 | !default.pbxuser 16 | *.mode1v3 17 | !default.mode1v3 18 | *.mode2v3 19 | !default.mode2v3 20 | *.perspectivev3 21 | !default.perspectivev3 22 | xcuserdata/ 23 | 24 | ## Other 25 | *.moved-aside 26 | *.xccheckout 27 | *.xcscmblueprint 28 | 29 | ## Obj-C/Swift specific 30 | *.hmap 31 | *.ipa 32 | *.dSYM.zip 33 | *.dSYM 34 | 35 | ## Playgrounds 36 | timeline.xctimeline 37 | playground.xcworkspace 38 | 39 | # Swift Package Manager 40 | # 41 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 42 | # Packages/ 43 | # Package.pins 44 | # Package.resolved 45 | # *.xcodeproj 46 | # 47 | # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata 48 | # hence it is not needed unless you have added a package configuration file to your project 49 | .swiftpm 50 | 51 | .build/ 52 | 53 | # CocoaPods 54 | # 55 | # We recommend against adding the Pods directory to your .gitignore. However 56 | # you should judge for yourself, the pros and cons are mentioned at: 57 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 58 | # 59 | Pods/ 60 | 61 | # Carthage 62 | # 63 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 64 | # Carthage/Checkouts 65 | 66 | Carthage/Build 67 | vendor 68 | 69 | # fastlane 70 | # 71 | # It is recommended to not store the screenshots in the git repo. 72 | # Instead, use fastlane to re-generate the screenshots whenever they are needed. 73 | # For more information about the recommended setup visit: 74 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 75 | 76 | fastlane/report.xml 77 | fastlane/Preview.html 78 | fastlane/screenshots 79 | fastlane/test_output 80 | .DS_Store 81 | fastlane/README.md 82 | reports/ 83 | firebase-debug.log 84 | Gemfile.lock 85 | fastlane/Matchfile 86 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-xml-js.0d78f903.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[490],{4610:function(e){function n(e){const n=e.regex,a=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),s=/[A-Za-z0-9._:-]+/,t={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(c,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),r=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),g={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[c,r,l,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[c,i,r,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},t,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[g],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[g],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:g}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/js/highlight-js-markdown-js.a2f456af.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[113],{1312:function(e){function n(e){const n=e.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},c={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},t={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},g={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},b={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};g.contains.push(b),b.contains.push(g);let o=[a,l];g.contains=g.contains.concat(o),b.contains=b.contains.concat(o),o=o.concat(g,b);const r={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:o}]}]},u={className:"quote",begin:"^>\\s+",contains:o,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[r,a,s,g,b,u,c,i,l,t]}}e.exports=n}}]); -------------------------------------------------------------------------------- /Sample/Sample/Sample/SceneDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.swift 3 | // Sample 4 | // 5 | // Created by Cem Eke on 20.06.2023. 6 | // 7 | 8 | import UIKit 9 | 10 | class SceneDelegate: UIResponder, UIWindowSceneDelegate { 11 | var window: UIWindow? 12 | 13 | func scene( 14 | _ scene: UIScene, 15 | willConnectTo session: UISceneSession, 16 | options connectionOptions: UIScene.ConnectionOptions 17 | ) { 18 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene 19 | // `scene`. 20 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. 21 | // This delegate does not imply the connecting scene or session are new (see 22 | // `application:configurationForConnectingSceneSession` instead). 23 | guard let _ = (scene as? UIWindowScene) else { return } 24 | } 25 | 26 | func sceneDidDisconnect(_ scene: UIScene) { 27 | // Called as the scene is being released by the system. 28 | // This occurs shortly after the scene enters the background, or when its session is discarded. 29 | // Release any resources associated with this scene that can be re-created the next time the scene connects. 30 | // The scene may re-connect later, as its session was not necessarily discarded (see 31 | // `application:didDiscardSceneSessions` instead). 32 | } 33 | 34 | func sceneDidBecomeActive(_ scene: UIScene) { 35 | // Called when the scene has moved from an inactive state to an active state. 36 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. 37 | } 38 | 39 | func sceneWillResignActive(_ scene: UIScene) { 40 | // Called when the scene will move from an active state to an inactive state. 41 | // This may occur due to temporary interruptions (ex. an incoming phone call). 42 | } 43 | 44 | func sceneWillEnterForeground(_ scene: UIScene) { 45 | // Called as the scene transitions from the background to the foreground. 46 | // Use this method to undo the changes made on entering the background. 47 | } 48 | 49 | func sceneDidEnterBackground(_ scene: UIScene) { 50 | // Called as the scene transitions from the foreground to the background. 51 | // Use this method to save data, release shared resources, and store enough scene-specific state information 52 | // to restore the scene back to its current state. 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker.json: -------------------------------------------------------------------------------- 1 | {"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker","interfaceLanguage":"swift"},"sections":[],"primaryContentSections":[{"content":[{"type":"heading","level":2,"text":"Gifs","anchor":"Gifs"},{"rows":[[[{"type":"paragraph","inlineContent":[{"identifier":"gif1","type":"image"}]}],[{"inlineContent":[{"type":"image","identifier":"gif2"}],"type":"paragraph"}]]],"type":"table","header":"row","alignments":["center","center"]}],"kind":"content"}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker"]}],"metadata":{"roleHeading":"Framework","symbolKind":"module","modules":[{"name":"RangePicker"}],"externalID":"RangePicker","title":"RangePicker","role":"collection"},"hierarchy":{"paths":[[]]},"kind":"symbol","schemaVersion":{"patch":0,"major":0,"minor":3},"topicSections":[{"identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"],"title":"Classes"},{"title":"Protocols","identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate"]}],"references":{"gif1":{"identifier":"gif1","type":"image","alt":"iPhone 14 Pro Max","variants":[{"url":"\/images\/gif1.gif","traits":["1x","light"]}]},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"gif2":{"type":"image","alt":"iPhone 13 Mini","identifier":"gif2","variants":[{"url":"\/images\/gif2.gif","traits":["1x","light"]}]},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/init(frame:).json: -------------------------------------------------------------------------------- 1 | {"sections":[],"metadata":{"title":"init(frame:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"frame"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","text":"CGRect","preciseIdentifier":"c:@S@CGRect"},{"text":")","kind":"text"}],"modules":[{"name":"RangePicker"}],"symbolKind":"init","roleHeading":"Initializer","externalID":"c:@M@RangePicker@objc(cs)RangePickerView(im)initWithFrame:","role":"symbol"},"schemaVersion":{"minor":3,"major":0,"patch":0},"primaryContentSections":[{"declarations":[{"tokens":[{"text":"override","kind":"keyword"},{"text":" ","kind":"text"},{"text":"init","kind":"keyword"},{"kind":"text","text":"("},{"text":"frame","kind":"externalParam"},{"text":": ","kind":"text"},{"preciseIdentifier":"c:@S@CGRect","text":"CGRect","kind":"typeIdentifier"},{"kind":"text","text":")"}],"platforms":["iOS"],"languages":["swift"]}],"kind":"declarations"}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/init(frame:)"]}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/init(frame:)","interfaceLanguage":"swift"},"kind":"symbol","references":{"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/init(frame:)":{"title":"init(frame:)","role":"symbol","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"text":"frame","kind":"externalParam"},{"text":": ","kind":"text"},{"preciseIdentifier":"c:@S@CGRect","text":"CGRect","kind":"typeIdentifier"},{"text":")","kind":"text"}],"abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/init(frame:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/init(frame:)","kind":"symbol"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/init(coder:).json: -------------------------------------------------------------------------------- 1 | {"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/init(coder:)"]}],"sections":[],"primaryContentSections":[{"declarations":[{"tokens":[{"text":"required","kind":"keyword"},{"kind":"text","text":" "},{"kind":"keyword","text":"init"},{"text":"?(","kind":"text"},{"text":"coder","kind":"externalParam"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSCoder","text":"NSCoder"},{"text":")","kind":"text"}],"platforms":["iOS"],"languages":["swift"]}],"kind":"declarations"}],"schemaVersion":{"patch":0,"minor":3,"major":0},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/init(coder:)","interfaceLanguage":"swift"},"metadata":{"title":"init(coder:)","fragments":[{"kind":"identifier","text":"init"},{"text":"?(","kind":"text"},{"text":"coder","kind":"externalParam"},{"kind":"text","text":": "},{"preciseIdentifier":"c:objc(cs)NSCoder","text":"NSCoder","kind":"typeIdentifier"},{"text":")","kind":"text"}],"externalID":"c:@M@RangePicker@objc(cs)RangePickerView(im)initWithCoder:","symbolKind":"init","modules":[{"name":"RangePicker"}],"role":"symbol","roleHeading":"Initializer"},"kind":"symbol","references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/init(coder:)":{"type":"topic","kind":"symbol","url":"\/documentation\/rangepicker\/rangepickerview\/init(coder:)","abstract":[],"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"coder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSCoder","text":"NSCoder"},{"kind":"text","text":")"}],"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/init(coder:)","title":"init(coder:)","role":"symbol"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/unitfont.json: -------------------------------------------------------------------------------- 1 | {"schemaVersion":{"major":0,"patch":0,"minor":3},"metadata":{"roleHeading":"Instance Property","title":"unitFont","externalID":"s:11RangePicker0aB4ViewC8unitFontSo6UIFontCvp","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"unitFont"},{"text":": ","kind":"text"},{"preciseIdentifier":"c:objc(cs)UIFont","text":"UIFont","kind":"typeIdentifier"}],"modules":[{"name":"RangePicker"}],"symbolKind":"property","role":"symbol"},"primaryContentSections":[{"declarations":[{"platforms":["iOS"],"languages":["swift"],"tokens":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"unitFont"},{"text":": ","kind":"text"},{"text":"UIFont","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIFont"},{"text":" { ","kind":"text"},{"text":"get","kind":"keyword"},{"kind":"text","text":" "},{"text":"set","kind":"keyword"},{"kind":"text","text":" }"}]}],"kind":"declarations"}],"abstract":[{"text":"The font for the unit label’s text.","type":"text"}],"sections":[],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/unitFont","interfaceLanguage":"swift"},"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/unitfont"],"traits":[{"interfaceLanguage":"swift"}]}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/unitFont":{"title":"unitFont","url":"\/documentation\/rangepicker\/rangepickerview\/unitfont","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/unitFont","abstract":[{"type":"text","text":"The font for the unit label’s text."}],"role":"symbol","kind":"symbol","fragments":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"text":"unitFont","kind":"identifier"},{"text":": ","kind":"text"},{"text":"UIFont","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIFont"}]},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/valuefont.json: -------------------------------------------------------------------------------- 1 | {"sections":[],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueFont","interfaceLanguage":"swift"},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"abstract":[{"type":"text","text":"The font for the value label’s text."}],"primaryContentSections":[{"kind":"declarations","declarations":[{"platforms":["iOS"],"languages":["swift"],"tokens":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"valueFont"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIFont","text":"UIFont"},{"text":" { ","kind":"text"},{"text":"get","kind":"keyword"},{"kind":"text","text":" "},{"kind":"keyword","text":"set"},{"text":" }","kind":"text"}]}]}],"kind":"symbol","variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/valuefont"]}],"schemaVersion":{"patch":0,"major":0,"minor":3},"metadata":{"externalID":"s:11RangePicker0aB4ViewC9valueFontSo6UIFontCvp","symbolKind":"property","title":"valueFont","roleHeading":"Instance Property","role":"symbol","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"text":"valueFont","kind":"identifier"},{"kind":"text","text":": "},{"text":"UIFont","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIFont"}],"modules":[{"name":"RangePicker"}]},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/valueFont":{"abstract":[{"type":"text","text":"The font for the value label’s text."}],"title":"valueFont","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"valueFont","kind":"identifier"},{"text":": ","kind":"text"},{"preciseIdentifier":"c:objc(cs)UIFont","text":"UIFont","kind":"typeIdentifier"}],"url":"\/documentation\/rangepicker\/rangepickerview\/valuefont","role":"symbol","kind":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueFont"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/selectedindex.json: -------------------------------------------------------------------------------- 1 | {"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/selectedindex"]}],"abstract":[{"text":"A zero-indexed number identifying selection of the range picker view.","type":"text"}],"sections":[],"schemaVersion":{"major":0,"minor":3,"patch":0},"kind":"symbol","metadata":{"modules":[{"name":"RangePicker"}],"symbolKind":"property","title":"selectedIndex","roleHeading":"Instance Property","externalID":"s:11RangePicker0aB4ViewC13selectedIndexSivp","role":"symbol","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"selectedIndex","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}]},"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/selectedIndex","interfaceLanguage":"swift"},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"text":"selectedIndex","kind":"identifier"},{"kind":"text","text":": "},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"},{"text":" { ","kind":"text"},{"kind":"keyword","text":"get"},{"text":" }","kind":"text"}],"languages":["swift"],"platforms":["iOS"]}]}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/selectedIndex":{"url":"\/documentation\/rangepicker\/rangepickerview\/selectedindex","title":"selectedIndex","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/selectedIndex","abstract":[{"text":"A zero-indexed number identifying selection of the range picker view.","type":"text"}],"type":"topic","role":"symbol","kind":"symbol","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"selectedIndex"},{"text":": ","kind":"text"},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"}]},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/valuetype.json: -------------------------------------------------------------------------------- 1 | {"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueType","interfaceLanguage":"swift"},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"text":"valueType","kind":"identifier"},{"kind":"text","text":": "},{"preciseIdentifier":"s:SS","text":"String","kind":"typeIdentifier"},{"kind":"text","text":" { "},{"text":"get","kind":"keyword"},{"text":" ","kind":"text"},{"text":"set","kind":"keyword"},{"text":" }","kind":"text"}]}],"kind":"declarations"}],"kind":"symbol","schemaVersion":{"minor":3,"patch":0,"major":0},"abstract":[{"type":"text","text":"Rotating picker view to horizontal directions if it’s true. Default values is “cm”."}],"sections":[],"metadata":{"symbolKind":"property","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"text":"valueType","kind":"identifier"},{"kind":"text","text":": "},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"}],"role":"symbol","modules":[{"name":"RangePicker"}],"roleHeading":"Instance Property","title":"valueType","externalID":"s:11RangePicker0aB4ViewC9valueTypeSSvp"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/valuetype"]}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/valueType":{"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/valuetype","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueType","fragments":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"valueType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","text":"String"}],"abstract":[{"type":"text","text":"Rotating picker view to horizontal directions if it’s true. Default values is “cm”."}],"role":"symbol","kind":"symbol","title":"valueType"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/unittextcolor.json: -------------------------------------------------------------------------------- 1 | {"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/unitTextColor","interfaceLanguage":"swift"},"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"metadata":{"modules":[{"name":"RangePicker"}],"roleHeading":"Instance Property","symbolKind":"property","externalID":"s:11RangePicker0aB4ViewC13unitTextColorSo7UIColorCvp","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"text":"unitTextColor","kind":"identifier"},{"kind":"text","text":": "},{"text":"UIColor","preciseIdentifier":"c:objc(cs)UIColor","kind":"typeIdentifier"}],"title":"unitTextColor","role":"symbol"},"sections":[],"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"text":"unitTextColor","kind":"identifier"},{"kind":"text","text":": "},{"preciseIdentifier":"c:objc(cs)UIColor","text":"UIColor","kind":"typeIdentifier"},{"text":" { ","kind":"text"},{"kind":"keyword","text":"get"},{"text":" ","kind":"text"},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"abstract":[{"type":"text","text":"The text color for the unit label’s text."}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/unittextcolor"]}],"schemaVersion":{"minor":3,"patch":0,"major":0},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"title":"RangePickerView","url":"\/documentation\/rangepicker\/rangepickerview","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"role":"symbol","fragments":[{"text":"class","kind":"keyword"},{"kind":"text","text":" "},{"text":"RangePickerView","kind":"identifier"}]},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/unitTextColor":{"kind":"symbol","url":"\/documentation\/rangepicker\/rangepickerview\/unittextcolor","role":"symbol","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"unitTextColor","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIColor","text":"UIColor"}],"type":"topic","abstract":[{"text":"The text color for the unit label’s text.","type":"text"}],"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/unitTextColor","title":"unitTextColor"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/visibilityrange.json: -------------------------------------------------------------------------------- 1 | {"schemaVersion":{"minor":3,"patch":0,"major":0},"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/visibilityrange"],"traits":[{"interfaceLanguage":"swift"}]}],"abstract":[{"text":"Range of the values for the visible items. Default values is 10.","type":"text"}],"primaryContentSections":[{"kind":"declarations","declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"text":"visibilityRange","kind":"identifier"},{"text":": ","kind":"text"},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"text":" ","kind":"text"},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}]}]}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/visibilityRange"},"sections":[],"kind":"symbol","metadata":{"role":"symbol","symbolKind":"property","externalID":"s:11RangePicker0aB4ViewC010visibilityA0Sivp","modules":[{"name":"RangePicker"}],"title":"visibilityRange","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"visibilityRange","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","text":"Int"}],"roleHeading":"Instance Property"},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/visibilityRange":{"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/visibilityrange","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/visibilityRange","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"visibilityRange"},{"kind":"text","text":": "},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"}],"abstract":[{"type":"text","text":"Range of the values for the visible items. Default values is 10."}],"role":"symbol","kind":"symbol","title":"visibilityRange"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/valuetextcolor.json: -------------------------------------------------------------------------------- 1 | {"sections":[],"metadata":{"externalID":"s:11RangePicker0aB4ViewC14valueTextColorSo7UIColorCvp","role":"symbol","symbolKind":"property","modules":[{"name":"RangePicker"}],"title":"valueTextColor","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"valueTextColor","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UIColor","preciseIdentifier":"c:objc(cs)UIColor"}]},"abstract":[{"text":"The text color for the value label’s text.","type":"text"}],"schemaVersion":{"patch":0,"minor":3,"major":0},"primaryContentSections":[{"declarations":[{"platforms":["iOS"],"tokens":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"valueTextColor","kind":"identifier"},{"text":": ","kind":"text"},{"text":"UIColor","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIColor"},{"text":" { ","kind":"text"},{"text":"get","kind":"keyword"},{"kind":"text","text":" "},{"text":"set","kind":"keyword"},{"text":" }","kind":"text"}],"languages":["swift"]}],"kind":"declarations"}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/valuetextcolor"]}],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueTextColor"},"kind":"symbol","references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/valueTextColor":{"kind":"symbol","role":"symbol","url":"\/documentation\/rangepicker\/rangepickerview\/valuetextcolor","title":"valueTextColor","type":"topic","abstract":[{"type":"text","text":"The text color for the value label’s text."}],"fragments":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"text":"valueTextColor","kind":"identifier"},{"kind":"text","text":": "},{"preciseIdentifier":"c:objc(cs)UIColor","text":"UIColor","kind":"typeIdentifier"}],"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/valueTextColor"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"title":"RangePickerView","kind":"symbol","url":"\/documentation\/rangepicker\/rangepickerview","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"role":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/js/highlight-js-java-js.4fe21e94.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[788],{8257:function(e){var n="[0-9](_*[0-9])*",a=`\\.(${n})`,s="[0-9a-fA-F](_*[0-9a-fA-F])*",t={className:"number",variants:[{begin:`(\\b(${n})((${a})|\\.)?|(${a}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${a})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${a})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${s})\\.?|(${s})?\\.(${s}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${s})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function i(e,n,a){return-1===a?"":e.replace(n,(s=>i(e,n,a-1)))}function r(e){e.regex;const n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+i("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),s=["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"],r=["super","this"],c=["false","true","null"],l=["char","boolean","long","float","int","byte","short","double"],b={keyword:s,literal:c,type:l,built_in:r},o={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},_={className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:b,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:[n,/\s+/,n,/\s+/,/=/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:b,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},t,o]}}e.exports=r}}]); -------------------------------------------------------------------------------- /.docs/js/highlight-js-llvm-js.26121771.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[133],{4972:function(e){function n(e){const n=e.regex,a=/([-a-zA-Z$._][\w$.-]*)/,t={className:"type",begin:/\bi\d+(?=\s|\b)/},i={className:"operator",relevance:0,begin:/=/},c={className:"punctuation",relevance:0,begin:/,/},l={className:"number",variants:[{begin:/0[xX][a-fA-F0-9]+/},{begin:/-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?/}],relevance:0},r={className:"symbol",variants:[{begin:/^\s*[a-z]+:/}],relevance:0},s={className:"variable",variants:[{begin:n.concat(/%/,a)},{begin:/%\d+/},{begin:/#\d+/}]},o={className:"title",variants:[{begin:n.concat(/@/,a)},{begin:/@\d+/},{begin:n.concat(/!/,a)},{begin:n.concat(/!\d+/,a)},{begin:/!\d+/}]};return{name:"LLVM IR",keywords:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",contains:[t,e.COMMENT(/;\s*$/,null,{relevance:0}),e.COMMENT(/;/,/$/),e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:/"/,end:/[^\\]"/}]},o,c,i,s,r,l]}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.enum/vertical.json: -------------------------------------------------------------------------------- 1 | {"schemaVersion":{"patch":0,"major":0,"minor":3},"sections":[],"primaryContentSections":[{"declarations":[{"platforms":["iOS"],"tokens":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"vertical","kind":"identifier"}],"languages":["swift"]}],"kind":"declarations"}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"]]},"metadata":{"symbolKind":"case","modules":[{"name":"RangePicker"}],"role":"symbol","externalID":"s:11RangePicker0aB4ViewC9AlignmentO8verticalyA2EmF","fragments":[{"text":"case","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"vertical"}],"roleHeading":"Case","title":"RangePickerView.Alignment.vertical"},"kind":"symbol","variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/vertical"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/vertical","interfaceLanguage":"swift"},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/vertical":{"url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/vertical","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/vertical","role":"symbol","fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"vertical"}],"abstract":[],"title":"RangePickerView.Alignment.vertical","kind":"symbol","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.enum/horizontal.json: -------------------------------------------------------------------------------- 1 | {"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"]]},"sections":[],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/horizontal","interfaceLanguage":"swift"},"schemaVersion":{"minor":3,"patch":0,"major":0},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"horizontal","kind":"identifier"}]}],"kind":"declarations"}],"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/horizontal"],"traits":[{"interfaceLanguage":"swift"}]}],"metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"text":"horizontal","kind":"identifier"}],"title":"RangePickerView.Alignment.horizontal","modules":[{"name":"RangePicker"}],"externalID":"s:11RangePicker0aB4ViewC9AlignmentO10horizontalyA2EmF","role":"symbol","roleHeading":"Case","symbolKind":"case"},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/horizontal":{"kind":"symbol","title":"RangePickerView.Alignment.horizontal","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/horizontal","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/horizontal","type":"topic","fragments":[{"text":"case","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"horizontal"}],"role":"symbol","abstract":[]}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/seperatorbackgroundcolor.json: -------------------------------------------------------------------------------- 1 | {"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/seperatorBackgroundColor","interfaceLanguage":"swift"},"schemaVersion":{"major":0,"patch":0,"minor":3},"metadata":{"modules":[{"name":"RangePicker"}],"roleHeading":"Instance Property","title":"seperatorBackgroundColor","externalID":"s:11RangePicker0aB4ViewC24seperatorBackgroundColorSo7UIColorCvp","symbolKind":"property","role":"symbol","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"seperatorBackgroundColor","kind":"identifier"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIColor","text":"UIColor"}]},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/seperatorbackgroundcolor"]}],"abstract":[{"text":"The background color of the separator view.","type":"text"}],"primaryContentSections":[{"kind":"declarations","declarations":[{"platforms":["iOS"],"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"text":"seperatorBackgroundColor","kind":"identifier"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","text":"UIColor","preciseIdentifier":"c:objc(cs)UIColor"},{"text":" { ","kind":"text"},{"text":"get","kind":"keyword"},{"text":" ","kind":"text"},{"text":"set","kind":"keyword"},{"kind":"text","text":" }"}],"languages":["swift"]}]}],"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"sections":[],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/seperatorBackgroundColor":{"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/seperatorbackgroundcolor","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/seperatorBackgroundColor","fragments":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"seperatorBackgroundColor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)UIColor","text":"UIColor"}],"abstract":[{"type":"text","text":"The background color of the separator view."}],"role":"symbol","kind":"symbol","title":"seperatorBackgroundColor"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.enum/equatable-implementations.json: -------------------------------------------------------------------------------- 1 | {"kind":"article","variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/equatable-implementations"]}],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/Equatable-Implementations"},"sections":[],"schemaVersion":{"patch":0,"major":0,"minor":3},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"]]},"metadata":{"title":"Equatable Implementations","role":"collectionGroup","modules":[{"name":"RangePicker"}],"roleHeading":"API Collection"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/!=(_:_:)"],"generated":true}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/!=(_:_:)":{"kind":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/!=(_:_:)","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"!=","kind":"identifier"},{"text":" ","kind":"text"},{"kind":"text","text":"("},{"text":"Self","kind":"typeIdentifier"},{"kind":"text","text":", "},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/!=(_:_:)","role":"symbol"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /Sample/Sample/Sample.xcodeproj/xcshareddata/xcschemes/Sample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 42 | 44 | 50 | 51 | 52 | 53 | 59 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-objectivec-js.74dea052.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[637],{2446:function(e){function n(e){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_=/[a-zA-Z@][a-zA-Z0-9_]*/,i=["int","float","while","char","export","sizeof","typedef","const","struct","for","union","unsigned","long","volatile","static","bool","mutable","if","do","return","goto","void","enum","else","break","extern","asm","case","short","default","double","register","explicit","signed","typename","this","switch","continue","wchar_t","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","super","unichar","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],t=["false","true","FALSE","TRUE","nil","YES","NO","NULL"],a=["BOOL","dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],r={$pattern:_,keyword:i,literal:t,built_in:a},s={$pattern:_,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:r,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+s.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:s,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}e.exports=n}}]); -------------------------------------------------------------------------------- /Sources/RangePicker/RangePickerViewDataSource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RangePickerViewDataSource.swift 3 | // RangePickerView 4 | // 5 | // Created by Rashid Ramazanov on 8/15/22. 6 | // Copyright © 2022 Mobven. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | 12 | protocol RangePickerViewInternalDelegate: AnyObject { 13 | func rangePickerView(didSelectRow row: Int) 14 | func rangePickerView(titleForRowAt row: Int) -> String? 15 | func rangePickerView(numberOfIndexs index: Int) -> Int? 16 | } 17 | 18 | extension RangePickerView { 19 | final class DataSource: NSObject { 20 | weak var delegate: RangePickerViewInternalDelegate? 21 | var visibilityRange: Int = 10 22 | var alignment: RangePickerView.Alignment = .vertical 23 | override init() { 24 | super.init() 25 | } 26 | } 27 | } 28 | 29 | extension RangePickerView.DataSource: UIPickerViewDataSource { 30 | func numberOfComponents(in pickerView: UIPickerView) -> Int { 31 | 1 32 | } 33 | 34 | func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 35 | delegate?.rangePickerView(numberOfIndexs: component) ?? 0 36 | } 37 | } 38 | 39 | extension RangePickerView.DataSource: UIPickerViewDelegate { 40 | func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat { 41 | 16 42 | } 43 | 44 | func pickerView( 45 | _ pickerView: UIPickerView, 46 | viewForRow row: Int, 47 | forComponent component: Int, 48 | reusing view: UIView? 49 | ) -> UIView { 50 | if row % visibilityRange == 0 { 51 | let view = UIView(frame: CGRect(x: 0, y: 0, width: 83, height: 10)) 52 | let lineView = UIView(frame: CGRect(x: 0, y: 4, width: 48, height: 2)) 53 | lineView.backgroundColor = .darkGray 54 | let valueLabel = UILabel(frame: CGRect(x: 56, y: 0, width: 27, height: 10)) 55 | if row == pickerView.selectedRow(inComponent: .zero) { 56 | valueLabel.text = "" 57 | } else { 58 | valueLabel.text = delegate?.rangePickerView(titleForRowAt: row) 59 | } 60 | 61 | valueLabel.textColor = .darkGray 62 | valueLabel.font = .systemFont(ofSize: 14) 63 | if alignment == .horizontal { 64 | valueLabel.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2) 65 | } 66 | valueLabel.sizeToFit() 67 | view.tag = row 68 | view.addSubview(lineView) 69 | view.addSubview(valueLabel) 70 | return view 71 | } else { 72 | let view = UIView(frame: CGRect(x: 0, y: 0, width: 83, height: 10)) 73 | let lineView = UIView(frame: CGRect(x: 0, y: 4, width: 36, height: 1)) 74 | lineView.backgroundColor = .darkGray 75 | view.tag = row 76 | view.addSubview(lineView) 77 | return view 78 | } 79 | } 80 | 81 | func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 82 | pickerView.reloadAllComponents() 83 | delegate?.rangePickerView(didSelectRow: row) 84 | pickerView.subviews[1].backgroundColor = .clear 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-bash-js.702f0c5c.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[393],{8780:function(e){function s(e){const s=e.regex,t={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={className:"",begin:/\\"/},r={className:"string",begin:/'/,end:/'/},l={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},d=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${d.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},u=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],h=["true","false"],b={match:/(\/[a-z._-]+)+/},f=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],g=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],w=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],k=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:u,literal:h,built_in:[...f,...g,"set","shopt",...w,...k]},contains:[p,e.SHEBANG(),m,l,e.HASH_COMMENT_MODE,i,b,c,o,r,t]}}e.exports=s}}]); -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/selectrow(_:animated:).json: -------------------------------------------------------------------------------- 1 | {"metadata":{"fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"selectRow"},{"text":"(","kind":"text"},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"},{"kind":"text","text":", "},{"kind":"externalParam","text":"animated"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","text":"Bool"},{"text":")","kind":"text"}],"title":"selectRow(_:animated:)","role":"symbol","externalID":"s:11RangePicker0aB4ViewC9selectRow_8animatedySi_SbtF","roleHeading":"Instance Method","modules":[{"name":"RangePicker"}],"symbolKind":"method"},"kind":"symbol","sections":[],"abstract":[{"type":"text","text":"Selected row of the picker view. Default values is 0."}],"primaryContentSections":[{"kind":"declarations","declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"selectRow","kind":"identifier"},{"kind":"text","text":"("},{"text":"_","kind":"externalParam"},{"kind":"text","text":" "},{"kind":"internalParam","text":"row"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"text":", ","kind":"text"},{"text":"animated","kind":"externalParam"},{"kind":"text","text":": "},{"preciseIdentifier":"s:Sb","kind":"typeIdentifier","text":"Bool"},{"kind":"text","text":")"}]}]}],"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/selectrow(_:animated:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/selectRow(_:animated:)","interfaceLanguage":"swift"},"schemaVersion":{"patch":0,"major":0,"minor":3},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"title":"RangePickerView","kind":"symbol","url":"\/documentation\/rangepicker\/rangepickerview","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"role":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"},"doc://RangePicker/documentation/RangePicker/RangePickerView/selectRow(_:animated:)":{"fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"text":"selectRow","kind":"identifier"},{"kind":"text","text":"("},{"preciseIdentifier":"s:Si","kind":"typeIdentifier","text":"Int"},{"text":", ","kind":"text"},{"kind":"externalParam","text":"animated"},{"text":": ","kind":"text"},{"text":"Bool","preciseIdentifier":"s:Sb","kind":"typeIdentifier"},{"text":")","kind":"text"}],"title":"selectRow(_:animated:)","role":"symbol","abstract":[{"text":"Selected row of the picker view. Default values is 0.","type":"text"}],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/selectrow(_:animated:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/selectRow(_:animated:)","kind":"symbol"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/delegate.json: -------------------------------------------------------------------------------- 1 | {"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"primaryContentSections":[{"kind":"declarations","declarations":[{"platforms":["iOS"],"tokens":[{"text":"weak","kind":"keyword"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"delegate","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","preciseIdentifier":"s:11RangePicker0aB12ViewDelegateP","text":"RangePickerViewDelegate"},{"kind":"text","text":"?"}],"languages":["swift"]}]}],"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/delegate"],"traits":[{"interfaceLanguage":"swift"}]}],"kind":"symbol","sections":[],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/delegate"},"schemaVersion":{"minor":3,"patch":0,"major":0},"metadata":{"role":"symbol","title":"delegate","symbolKind":"property","roleHeading":"Instance Property","externalID":"s:11RangePicker0aB4ViewC8delegateAA0abC8Delegate_pSgvp","modules":[{"name":"RangePicker"}],"fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"kind":"identifier","text":"delegate"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"s:11RangePicker0aB12ViewDelegateP","text":"RangePickerViewDelegate"},{"text":"?","kind":"text"}]},"abstract":[{"type":"text","text":"The object that acts as delegate of the range picker view."}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/delegate":{"abstract":[{"text":"The object that acts as delegate of the range picker view.","type":"text"}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/delegate","url":"\/documentation\/rangepicker\/rangepickerview\/delegate","kind":"symbol","type":"topic","title":"delegate","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"delegate"},{"kind":"text","text":": "},{"preciseIdentifier":"s:11RangePicker0aB12ViewDelegateP","text":"RangePickerViewDelegate","kind":"typeIdentifier"},{"text":"?","kind":"text"}]},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/js/highlight-js-custom-markdown.78c9f6ed.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | "use strict";(self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[642],{2003:function(e,n,a){function i(e){const n=e.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},t={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},g={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},r={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};g.contains.push(r),r.contains.push(g);let o=[a,l];g.contains=g.contains.concat(o),r.contains=r.contains.concat(o),o=o.concat(g,r);const b={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:o}]}]},u={className:"quote",begin:"^>\\s+",contains:o,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[b,a,c,g,r,u,s,i,l,t]}}a.r(n),a.d(n,{default:function(){return l}});const s={begin:"",returnBegin:!0,contains:[{className:"link",begin:"doc:",end:">",excludeEnd:!0}]},c={className:"link",begin:/`{2}(?!`)/,end:/`{2}(?!`)/,excludeBegin:!0,excludeEnd:!0},t={begin:"^>\\s+[Note:|Tip:|Important:|Experiment:|Warning:]",end:"$",returnBegin:!0,contains:[{className:"quote",begin:"^>",end:"\\s+"},{className:"type",begin:"Note|Tip|Important|Experiment|Warning",end:":"},{className:"quote",begin:".*",end:"$",endsParent:!0}]},d={begin:"@",end:"[{\\)\\s]",returnBegin:!0,contains:[{className:"title",begin:"@",end:"[\\s+(]",excludeEnd:!0},{begin:":",end:"[,\\)\n\t]",excludeBegin:!0,keywords:{literal:"true false null undefined"},contains:[{className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",endsWithParent:!0,excludeEnd:!0},{className:"string",variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}],endsParent:!0},{className:"link",begin:"http|https",endsWithParent:!0,excludeEnd:!0}]}]};function l(e){const n=i(e),a=n.contains.find((({className:e})=>"code"===e));a.variants=a.variants.filter((({begin:e})=>!e.includes("( {4}|\\t)")));const l=[...n.contains.filter((({className:e})=>"code"!==e)),a];return{...n,contains:[c,s,t,d,...l]}}}}]); -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.property.json: -------------------------------------------------------------------------------- 1 | {"sections":[],"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"primaryContentSections":[{"kind":"declarations","declarations":[{"languages":["swift"],"tokens":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"alignment"},{"kind":"text","text":": "},{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum","kind":"typeIdentifier","text":"Alignment","preciseIdentifier":"s:11RangePicker0aB4ViewC9AlignmentO"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"text":" ","kind":"text"},{"text":"set","kind":"keyword"},{"text":" }","kind":"text"}],"platforms":["iOS"]}]}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.property"]}],"abstract":[{"type":"text","text":"Rotating picker view to specified axis directions. Default values is .vertical."}],"schemaVersion":{"minor":3,"patch":0,"major":0},"metadata":{"role":"symbol","modules":[{"name":"RangePicker"}],"symbolKind":"property","roleHeading":"Instance Property","title":"alignment","fragments":[{"text":"var","kind":"keyword"},{"text":" ","kind":"text"},{"text":"alignment","kind":"identifier"},{"text":": ","kind":"text"},{"text":"Alignment","kind":"typeIdentifier","preciseIdentifier":"s:11RangePicker0aB4ViewC9AlignmentO"}],"externalID":"s:11RangePicker0aB4ViewC9alignmentAC9AlignmentOvp"},"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/alignment-swift.property","interfaceLanguage":"swift"},"references":{"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/alignment-swift.property":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alignment"},{"kind":"text","text":": "},{"preciseIdentifier":"s:11RangePicker0aB4ViewC9AlignmentO","text":"Alignment","kind":"typeIdentifier"}],"title":"alignment","role":"symbol","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.property","type":"topic","abstract":[{"text":"Rotating picker view to specified axis directions. Default values is .vertical.","type":"text"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/alignment-swift.property"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/js/highlight-js-python-js.60354774.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[435],{8245:function(e){function n(e){const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s=["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],t=["__debug__","Ellipsis","False","None","NotImplemented","True"],r=["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:s,literal:t,type:r},b={className:"meta",begin:/^(>>>|\.\.\.) /},o={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},c={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,b],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,b],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,b,c,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,b,c,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",_=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${_}))[eE][+-]?(${p})[jJ]?\\b`},{begin:`(${_})[jJ]?`},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${p})[jJ]\\b`}]},m={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",b,g,d,e.HASH_COMMENT_MODE]}]};return o.contains=[d,g,b],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|->|\?)|=>/,contains:[b,g,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},d,m,e.HASH_COMMENT_MODE,{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/class/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/class/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,f,d]}]}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/js/highlight-js-ruby-js.7272231f.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[623],{7905:function(e){function n(e){const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__",built_in:"proc lambda",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},b=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],r={className:"subst",begin:/#\{/,end:/\}/,keywords:i},d={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,r]})]}]},t="[1-9](_?[0-9])*|0",l="[0-9](_?[0-9])*",o={className:"number",relevance:0,variants:[{begin:`\\b(${t})(\\.(${l}))?([eE][+-]?(${l})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:i},_=[d,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE,relevance:0}]}].concat(b)},{className:"function",begin:n.concat(/def\s+/,n.lookahead(a+"\\s*(\\(|;|$)")),relevance:0,keywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:a}),g].concat(b)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},o,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,b),relevance:0}].concat(c,b);r.contains=_,g.contains=_;const E="[>?]>",w="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",N=[{begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta",begin:"^("+E+"|"+w+"|"+u+")(?=[ ])",starts:{end:"$",contains:_}}];return b.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(N).concat(b).concat(_)}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/index/index.json: -------------------------------------------------------------------------------- 1 | {"interfaceLanguages":{"swift":[{"children":[{"title":"Classes","type":"groupMarker"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerview\/init(coder:)","title":"init?(coder: NSCoder)","type":"init"},{"path":"\/documentation\/rangepicker\/rangepickerview\/init(frame:)","title":"init(frame: CGRect)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.property","title":"var alignment: Alignment","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/delegate","title":"var delegate: RangePickerViewDelegate?","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/selectedindex","title":"var selectedIndex: Int","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/seperatorbackgroundcolor","title":"var seperatorBackgroundColor: UIColor","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/unitfont","title":"var unitFont: UIFont","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/unittextcolor","title":"var unitTextColor: UIColor","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/valuefont","title":"var valueFont: UIFont","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/valuetextcolor","title":"var valueTextColor: UIColor","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/valuetype","title":"var valueType: String","type":"property"},{"path":"\/documentation\/rangepicker\/rangepickerview\/visibilityrange","title":"var visibilityRange: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerview\/selectrow(_:animated:)","title":"func selectRow(Int, animated: Bool)","type":"method"},{"title":"Enumerations","type":"groupMarker"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/horizontal","title":"case horizontal","type":"case"},{"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/vertical","title":"case vertical","type":"case"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/equatable-implementations","title":"Equatable Implementations","type":"symbol"}],"path":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","title":"RangePickerView.Alignment","type":"enum"}],"path":"\/documentation\/rangepicker\/rangepickerview","title":"RangePickerView","type":"class"},{"title":"Protocols","type":"groupMarker"},{"children":[{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:didselectrow:)","title":"func rangePickerView(RangePickerView, didSelectRow: Int)","type":"method"},{"path":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:headertitleindicesat:)","title":"func rangePickerView(RangePickerView, headerTitleIndicesAt: Int) -> String?","type":"method"},{"path":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:numberofindicesat:)","title":"func rangePickerView(RangePickerView, numberOfIndicesAt: Int) -> Int?","type":"method"},{"path":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:titleforrowatindex:)","title":"func rangePickerView(RangePickerView, titleForRowAtIndex: Int) -> String?","type":"method"}],"path":"\/documentation\/rangepicker\/rangepickerviewdelegate","title":"RangePickerViewDelegate","type":"protocol"}],"path":"\/documentation\/rangepicker","title":"RangePicker","type":"module"}]},"schemaVersion":{"major":0,"minor":1,"patch":1}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/) 2 | 3 | UI Component to display items in UIPickerView based on range selection. 4 | # RangePicker 5 | Enhance the user experience by using a RangePicker. 6 | 7 | [RangePicker Docs](https://mobven.github.io/RangePicker/) describe how to integrate the framework. 8 | 9 | ## Gifs 10 |
11 | 12 | iphone14pro 13 | 14 | 15 | iphone14pro 16 | 17 |
18 | 19 | ## Requirements 20 | * iOS 11.0+ 21 | * Xcode 14+ 22 | * Swift 5.8+ 23 | 24 | ## Installation 25 | RangePickerView is distributed via [Swift Package Manager](https://swift.org/package-manager/) which is the only official distribution tool by Apple. You can add RangePickerView to your project from Xcode's `File > Swift Packages > Add Package Dependency` menu with its github URL: 26 | ``` 27 | https://github.com/mobven/RangePicker.git 28 | ``` 29 | 30 | ## Usage 31 | ### UIStoryboard 32 | ```swift 33 | import RangePicker 34 | @IBOutlet var rangePickerView: RangePickerView! 35 | ``` 36 | 37 | ### Programmatically 38 | ```swift 39 | let rangePickerView = RangePickerView() 40 | rangePickerView.delegate = self 41 | rangePickerView.range = (minimum: 100, maximum: 200) 42 | self.view.addSubviews(rangePickerView) 43 | ``` 44 | 45 | #### Customization 46 | You can easily customize the `RangePicker` with editing `Configuration` properties. 47 | 48 | | Property | Type | Description | 49 | | -------------------------- | --------------------------- | ----------------------------------------------------------------------| 50 | | `alignment` | `RangePickerView.Alignment` | The value for vertical or horizontal. | 51 | | `range` | `Int` | The minimum and maximum value for selection. | 52 | | `valueType` | `String` | The type of value to select. (Kg, cm etc.) | 53 | | `visibilityRange` | `Int` | The range of elements to display. | 54 | | `selectedIndex` | `Int` | A zero-indexed number identifying selection of the range picker view. | 55 | | `selectRow` | `Int` | Select row of the picker view. | 56 | | `seperatorBackgroundColor` | `UIColor` | The background color of the separator view. | 57 | | `valueFont` | `UIFont` | The font for the value label's text. | 58 | | `valueTextColor` | `UIColor` | The text color for the value label's text. | 59 | | `unitFont` | `UIFont` | The font for the unit label's text. | 60 | | `unitTextColor` | `UIColor` | The text color for the unit label's text. | 61 | 62 | ##### Example 63 | You can customize properties like this, 64 | 65 | ```swift 66 | rangePickerView.alignment = .horizontal 67 | rangePickerView.valueType = "kg" 68 | ``` 69 | 70 | ## What's next 71 | - [] SwiftUI representable code example. 72 | - [] Unit Tests. 73 | - [] Update value and unit label during active scrolling gesture. 74 | 75 | --- 76 | Developed with 🖤 at [Mobven](https://mobven.com/) for [MAC+](https://apps.apple.com/tr/app/mac-online-fitness-deneyimi/id1573778936/) 77 | -------------------------------------------------------------------------------- /.docs/js/highlight-js-c-js.063069d3.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[546],{612:function(e){function n(e){const n=e.regex,s=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),t="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",r="<[^<>]+>",i="("+t+"|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional(r)+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",o={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{className:"string",begin:/<.*?>/},s,e.C_BLOCK_COMMENT_MODE]},_={className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0},g=n.optional(a)+e.IDENT_RE+"\\s*\\(",p=["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],m=["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],f={keyword:p,type:m,literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},b=[u,l,s,e.C_BLOCK_COMMENT_MODE,d,o],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:f,contains:b.concat([{begin:/\(/,end:/\)/,keywords:f,contains:b.concat(["self"]),relevance:0}]),relevance:0},y={begin:"("+i+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:f,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:t,keywords:f,relevance:0},{begin:g,returnBegin:!0,contains:[e.inherit(_,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[s,e.C_BLOCK_COMMENT_MODE,o,d,l,{begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:["self",s,e.C_BLOCK_COMMENT_MODE,o,d,l]}]},l,s,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C",aliases:["h"],keywords:f,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:u,strings:o,keywords:f}}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:didselectrow:).json: -------------------------------------------------------------------------------- 1 | {"metadata":{"role":"symbol","modules":[{"name":"RangePicker"}],"roleHeading":"Instance Method","externalID":"s:11RangePicker0aB12ViewDelegateP05rangebC0_12didSelectRowyAA0abC0C_SitF","required":true,"title":"rangePickerView(_:didSelectRow:)","symbolKind":"method","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"rangePickerView"},{"kind":"text","text":"("},{"text":"RangePickerView","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","kind":"typeIdentifier"},{"kind":"text","text":", "},{"text":"didSelectRow","kind":"externalParam"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}]},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"rangePickerView"},{"text":"(","kind":"text"},{"text":"_","kind":"externalParam"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"internalParam"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"kind":"text","text":", "},{"kind":"externalParam","text":"didSelectRow"},{"kind":"text","text":" "},{"text":"row","kind":"internalParam"},{"text":": ","kind":"text"},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"},{"kind":"text","text":")"}]}],"kind":"declarations"}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:didSelectRow:)","interfaceLanguage":"swift"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:didselectrow:)"]}],"schemaVersion":{"minor":3,"major":0,"patch":0},"kind":"symbol","hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate"]]},"sections":[],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"role":"symbol","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}],"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"kind":"symbol","title":"RangePickerViewDelegate","abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerviewdelegate"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"title":"RangePickerView","kind":"symbol","url":"\/documentation\/rangepicker\/rangepickerview","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"role":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:didSelectRow:)":{"type":"topic","abstract":[],"required":true,"role":"symbol","fragments":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"rangePickerView"},{"kind":"text","text":"("},{"preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"didSelectRow","kind":"externalParam"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","text":"Int"},{"kind":"text","text":")"}],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:didselectrow:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:didSelectRow:)","kind":"symbol","title":"rangePickerView(_:didSelectRow:)"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/js/highlight-js-php-js.c458ffa4.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[596],{2656:function(e){function r(e){const r={className:"variable",begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*(?![A-Za-z0-9])(?![$])"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'"}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},c={className:"number",variants:[{begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?"}],relevance:0},s={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{case_insensitive:!0,keywords:s,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,c]}]},{className:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";",contains:[e.UNDERSCORE_TITLE_MODE]},l,c]}}e.exports=r}}]); -------------------------------------------------------------------------------- /.docs/js/highlight-js-perl-js.da6eda82.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[645],{2482:function(e){function n(e){const n=e.regex,t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/,keyword:t.join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},a={begin:/->\{/,end:/\}/},c={variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},o=[e.BACKSLASH_ESCAPE,i,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,s="\\1")=>{const i="\\1"===s?s:n.concat(s,t);return n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,s,r)},d=(e,t,s)=>n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,s,r),p=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:o,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",n.either(...g,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...g,{capture:!0}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:s,contains:p}}e.exports=n}}]); -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.enum.json: -------------------------------------------------------------------------------- 1 | {"metadata":{"role":"symbol","title":"RangePickerView.Alignment","extendedModule":"RangePicker","symbolKind":"enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"roleHeading":"Enumeration","externalID":"s:11RangePicker0aB4ViewC9AlignmentO","modules":[{"name":"RangePicker"}],"fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Alignment"}]},"kind":"symbol","schemaVersion":{"patch":0,"major":0,"minor":3},"relationshipsSections":[{"identifiers":["doc:\/\/RangePicker\/SQ","doc:\/\/RangePicker\/SH"],"type":"conformsTo","title":"Conforms To","kind":"relationships"}],"sections":[],"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Alignment","kind":"identifier"}],"languages":["swift"],"platforms":["iOS"]}]}],"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/horizontal","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/vertical"]},{"title":"Default Implementations","identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/Equatable-Implementations"],"generated":true}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum"],"traits":[{"interfaceLanguage":"swift"}]}],"references":{"doc://RangePicker/SH":{"type":"unresolvable","identifier":"doc:\/\/RangePicker\/SH","title":"Swift.Hashable"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/Equatable-Implementations":{"type":"topic","abstract":[],"title":"Equatable Implementations","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/Equatable-Implementations","kind":"article","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/equatable-implementations","role":"collectionGroup"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/horizontal":{"kind":"symbol","title":"RangePickerView.Alignment.horizontal","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/horizontal","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/horizontal","type":"topic","fragments":[{"text":"case","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"horizontal"}],"role":"symbol","abstract":[]},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/vertical":{"url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/vertical","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/vertical","role":"symbol","fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"vertical"}],"abstract":[],"title":"RangePickerView.Alignment.vertical","kind":"symbol","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/SQ":{"type":"unresolvable","identifier":"doc:\/\/RangePicker\/SQ","title":"Swift.Equatable"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:numberofindicesat:).json: -------------------------------------------------------------------------------- 1 | {"schemaVersion":{"minor":3,"major":0,"patch":0},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:numberOfIndicesAt:)"},"metadata":{"modules":[{"name":"RangePicker"}],"roleHeading":"Instance Method","externalID":"s:11RangePicker0aB12ViewDelegateP05rangebC0_17numberOfIndicesAtSiSgAA0abC0C_SitF","required":true,"role":"symbol","symbolKind":"method","fragments":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"rangePickerView"},{"text":"(","kind":"text"},{"preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"kind":"externalParam","text":"numberOfIndicesAt"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"rangePickerView(_:numberOfIndicesAt:)"},"primaryContentSections":[{"declarations":[{"platforms":["iOS"],"tokens":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"text":"_","kind":"externalParam"},{"kind":"text","text":" "},{"kind":"internalParam","text":"rangePickerView"},{"kind":"text","text":": "},{"text":"RangePickerView","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"numberOfIndicesAt","kind":"externalParam"},{"kind":"text","text":" "},{"text":"row","kind":"internalParam"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"text":"Int","preciseIdentifier":"s:Si","kind":"typeIdentifier"},{"kind":"text","text":"?"}],"languages":["swift"]}],"kind":"declarations"}],"sections":[],"variants":[{"paths":["\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:numberofindicesat:)"],"traits":[{"interfaceLanguage":"swift"}]}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate"]]},"kind":"symbol","references":{"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:numberOfIndicesAt:)":{"required":true,"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"text":"RangePickerView","kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView"},{"kind":"text","text":", "},{"kind":"externalParam","text":"numberOfIndicesAt"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"text":"?","kind":"text"}],"role":"symbol","abstract":[],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:numberOfIndicesAt:)","title":"rangePickerView(_:numberOfIndicesAt:)","type":"topic","url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:numberofindicesat:)"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerview/alignment-swift.enum/!=(_:_:).json: -------------------------------------------------------------------------------- 1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"text":"static","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"keyword","text":"func"},{"text":" ","kind":"text"},{"text":"!=","kind":"identifier"},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"text":"Self","kind":"typeIdentifier"},{"kind":"text","text":", "},{"text":"rhs","kind":"internalParam"},{"text":": ","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"kind":"symbol","schemaVersion":{"major":0,"minor":3,"patch":0},"abstract":[{"text":"Inherited from ","type":"text"},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"text":".","type":"text"}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/!=(_:_:)","interfaceLanguage":"swift"},"sections":[],"metadata":{"symbolKind":"op","title":"!=(_:_:)","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:11RangePicker0aB4ViewC9AlignmentO","role":"symbol","extendedModule":"Swift","fragments":[{"text":"static","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"keyword","text":"func"},{"text":" ","kind":"text"},{"text":"!=","kind":"identifier"},{"text":" ","kind":"text"},{"text":"(","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"kind":"text","text":", "},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"text":"Bool","preciseIdentifier":"s:Sb","kind":"typeIdentifier"}],"roleHeading":"Operator","modules":[{"name":"RangePicker","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/Equatable-Implementations"]]},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/!=(_:_:)"]}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Alignment","kind":"identifier"}],"title":"RangePickerView.Alignment","role":"symbol","abstract":[],"type":"topic","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum","navigatorTitle":[{"text":"Alignment","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/Equatable-Implementations":{"type":"topic","abstract":[],"title":"Equatable Implementations","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/Equatable-Implementations","kind":"article","url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/equatable-implementations","role":"collectionGroup"},"doc://RangePicker/documentation/RangePicker/RangePickerView/Alignment-swift.enum/!=(_:_:)":{"kind":"symbol","type":"topic","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView\/Alignment-swift.enum\/!=(_:_:)","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"!=","kind":"identifier"},{"text":" ","kind":"text"},{"kind":"text","text":"("},{"text":"Self","kind":"typeIdentifier"},{"kind":"text","text":", "},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"url":"\/documentation\/rangepicker\/rangepickerview\/alignment-swift.enum\/!=(_:_:)","role":"symbol"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:titleforrowatindex:).json: -------------------------------------------------------------------------------- 1 | {"sections":[],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:titleForRowAtIndex:)","interfaceLanguage":"swift"},"metadata":{"symbolKind":"method","fragments":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","text":"RangePickerView","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView"},{"text":", ","kind":"text"},{"text":"titleForRowAtIndex","kind":"externalParam"},{"text":": ","kind":"text"},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"text":") -> ","kind":"text"},{"preciseIdentifier":"s:SS","text":"String","kind":"typeIdentifier"},{"kind":"text","text":"?"}],"roleHeading":"Instance Method","modules":[{"name":"RangePicker"}],"required":true,"role":"symbol","title":"rangePickerView(_:titleForRowAtIndex:)","externalID":"s:11RangePicker0aB12ViewDelegateP05rangebC0_18titleForRowAtIndexSSSgAA0abC0C_SitF"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:titleforrowatindex:)"]}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate"]]},"kind":"symbol","schemaVersion":{"major":0,"minor":3,"patch":0},"primaryContentSections":[{"declarations":[{"tokens":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"text":"_","kind":"externalParam"},{"text":" ","kind":"text"},{"kind":"internalParam","text":"rangePickerView"},{"kind":"text","text":": "},{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","text":"RangePickerView","kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView"},{"text":", ","kind":"text"},{"text":"titleForRowAtIndex","kind":"externalParam"},{"text":" ","kind":"text"},{"kind":"internalParam","text":"row"},{"kind":"text","text":": "},{"preciseIdentifier":"s:Si","text":"Int","kind":"typeIdentifier"},{"kind":"text","text":") -> "},{"preciseIdentifier":"s:SS","kind":"typeIdentifier","text":"String"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}],"kind":"declarations"}],"references":{"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:titleForRowAtIndex:)":{"title":"rangePickerView(_:titleForRowAtIndex:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:titleForRowAtIndex:)","role":"symbol","abstract":[],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:titleforrowatindex:)","required":true,"kind":"symbol","type":"topic","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"rangePickerView"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"text":", ","kind":"text"},{"text":"titleForRowAtIndex","kind":"externalParam"},{"text":": ","kind":"text"},{"preciseIdentifier":"s:Si","kind":"typeIdentifier","text":"Int"},{"text":") -> ","kind":"text"},{"text":"String","preciseIdentifier":"s:SS","kind":"typeIdentifier"},{"text":"?","kind":"text"}]},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"}}} -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerviewdelegate/rangepickerview(_:headertitleindicesat:).json: -------------------------------------------------------------------------------- 1 | {"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:headerTitleIndicesAt:)"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:headertitleindicesat:)"]}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate"]]},"primaryContentSections":[{"kind":"declarations","declarations":[{"languages":["swift"],"platforms":["iOS"],"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"internalParam"},{"text":": ","kind":"text"},{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"text":", ","kind":"text"},{"kind":"externalParam","text":"headerTitleIndicesAt"},{"text":" ","kind":"text"},{"text":"row","kind":"internalParam"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"preciseIdentifier":"s:SS","text":"String","kind":"typeIdentifier"},{"kind":"text","text":"?"}]}]}],"sections":[],"metadata":{"externalID":"s:11RangePicker0aB12ViewDelegateP05rangebC0_20headerTitleIndicesAtSSSgAA0abC0C_SitF","symbolKind":"method","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","text":"RangePickerView","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView"},{"text":", ","kind":"text"},{"text":"headerTitleIndicesAt","kind":"externalParam"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","text":"Int"},{"text":") -> ","kind":"text"},{"preciseIdentifier":"s:SS","text":"String","kind":"typeIdentifier"},{"kind":"text","text":"?"}],"modules":[{"name":"RangePicker"}],"roleHeading":"Instance Method","required":true,"role":"symbol","title":"rangePickerView(_:headerTitleIndicesAt:)"},"schemaVersion":{"patch":0,"major":0,"minor":3},"kind":"symbol","references":{"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:headerTitleIndicesAt:)":{"abstract":[],"title":"rangePickerView(_:headerTitleIndicesAt:)","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"kind":"text","text":", "},{"text":"headerTitleIndicesAt","kind":"externalParam"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"text":") -> ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:headertitleindicesat:)","role":"symbol","kind":"symbol","type":"topic","required":true,"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:headerTitleIndicesAt:)"},"doc://RangePicker/documentation/RangePicker/RangePickerView":{"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerView","type":"topic","kind":"symbol","role":"symbol","abstract":[{"text":"UI Component to display items in UIPickerView based on range selection.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerView"}],"title":"RangePickerView","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerView"}],"url":"\/documentation\/rangepicker\/rangepickerview"},"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"}}} -------------------------------------------------------------------------------- /.docs/css/675.40c3bcb2.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */.badge[data-v-8d6893ae]{--badge-color:var(--color-badge-default);--badge-dark-color:var(--color-badge-dark-default);font-size:.7058823529rem;line-height:1.3333333333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:inline-block;padding:2px 10px;white-space:nowrap;background:none;border-radius:var(--badge-border-radius,calc(var(--border-radius, 4px) - 1px));border-style:var(--badge-border-style,solid);border-width:var(--badge-border-width,1px);margin-left:10px;color:var(--badge-color)}.theme-dark .badge[data-v-8d6893ae]{--badge-color:var(--badge-dark-color)}.badge-deprecated[data-v-8d6893ae]{--badge-color:var(--color-badge-deprecated);--badge-dark-color:var(--color-badge-dark-deprecated)}.badge-beta[data-v-8d6893ae]{--badge-color:var(--color-badge-beta);--badge-dark-color:var(--color-badge-dark-beta)}[data-v-3a32ffd0] .code-listing{background:var(--background,var(--color-code-background));color:var(--text,var(--color-code-plain));border-color:var(--colors-grid,var(--color-grid));border-width:var(--code-border-width,1px);border-style:var(--code-border-style,solid)}[data-v-3a32ffd0] .code-listing pre{padding:var(--code-block-style-elements-padding)}[data-v-3a32ffd0] .code-listing pre>code{font-size:.8823529412rem;line-height:1.6666666667;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}[data-v-3a32ffd0] *+.code-listing,[data-v-3a32ffd0] *+.endpoint-example,[data-v-3a32ffd0] *+.inline-image-container,[data-v-3a32ffd0] *+aside,[data-v-3a32ffd0] *+figure,[data-v-3a32ffd0] .code-listing+*,[data-v-3a32ffd0] .endpoint-example+*,[data-v-3a32ffd0] .inline-image-container+*,[data-v-3a32ffd0] aside+*,[data-v-3a32ffd0] figure+*{margin-top:var(--spacing-stacked-margin-xlarge)}[data-v-3a32ffd0] *+dl,[data-v-3a32ffd0] dl+*{margin-top:var(--spacing-stacked-margin-large)}[data-v-3a32ffd0] img{display:block;margin:auto;max-width:100%}[data-v-3a32ffd0] ol,[data-v-3a32ffd0] ol li:not(:first-child),[data-v-3a32ffd0] ul,[data-v-3a32ffd0] ul li:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}@media only screen and (max-width:735px){[data-v-3a32ffd0] ol,[data-v-3a32ffd0] ul{margin-left:1.25rem}}[data-v-3a32ffd0] dt:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}[data-v-3a32ffd0] dd{margin-left:2em}.topic-icon-wrapper[data-v-44dade98]{display:flex;align-items:center;justify-content:center;height:1.4705882353rem;flex:0 0 1.294rem;width:1.294rem;margin-right:1rem}.topic-icon[data-v-44dade98]{height:.8823529412rem;transform:scale(1);-webkit-transform:scale(1);overflow:visible}.topic-icon[data-v-44dade98] img{margin:0;display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.topic-icon.curly-brackets-icon[data-v-44dade98]{height:1rem}.token-method[data-v-3fd63d6c]{font-weight:700}.token-keyword[data-v-3fd63d6c]{color:var(--syntax-keyword,var(--color-syntax-keywords))}.token-number[data-v-3fd63d6c]{color:var(--syntax-number,var(--color-syntax-numbers))}.token-string[data-v-3fd63d6c]{color:var(--syntax-string,var(--color-syntax-strings))}.attribute-link[data-v-3fd63d6c],.token-attribute[data-v-3fd63d6c]{color:var(--syntax-attribute,var(--color-syntax-keywords))}.token-internalParam[data-v-3fd63d6c]{color:var(--color-syntax-param-internal-name)}.type-identifier-link[data-v-3fd63d6c]{color:var(--syntax-type,var(--color-syntax-other-type-names))}.token-removed[data-v-3fd63d6c]{background-color:var(--color-highlight-red)}.token-added[data-v-3fd63d6c]{background-color:var(--color-highlight-green)}.decorator[data-v-06ec7395],.label[data-v-06ec7395]{color:var(--colors-secondary-label,var(--color-secondary-label))}.label[data-v-06ec7395]{font-size:1rem;line-height:1.4705882353;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.empty-token[data-v-06ec7395]{font-size:0}.empty-token[data-v-06ec7395]:after{content:" ";font-size:1rem}.conditional-constraints[data-v-4c6f3ed1] code{color:var(--colors-secondary-label,var(--color-secondary-label))}.abstract[data-v-63be6b46],.link-block[data-v-63be6b46] .badge{margin-left:2.294rem}.link-block .badge+.badge[data-v-63be6b46]{margin-left:1rem}.link[data-v-63be6b46]{display:flex}.link-block .badge[data-v-63be6b46]{margin-top:.5rem}.link-block.has-inline-element[data-v-63be6b46]{display:flex;align-items:flex-start;flex-flow:row wrap}.link-block.has-inline-element .badge[data-v-63be6b46]{margin-left:1rem;margin-top:0}.link-block .has-adjacent-elements[data-v-63be6b46]{padding-top:5px;padding-bottom:5px;display:inline-flex}.link-block[data-v-63be6b46],.link[data-v-63be6b46]{box-sizing:inherit}.link-block.changed[data-v-63be6b46],.link.changed[data-v-63be6b46]{padding-right:1rem;padding-left:2.1764705882rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.link-block.changed.changed[data-v-63be6b46],.link.changed.changed[data-v-63be6b46]{padding-right:1rem}@media only screen and (max-width:735px){.link-block.changed[data-v-63be6b46],.link.changed[data-v-63be6b46]{padding-left:0;padding-right:0}.link-block.changed.changed[data-v-63be6b46],.link.changed.changed[data-v-63be6b46]{padding-right:17px;padding-left:2.1764705882rem}.link-block.changed[data-v-63be6b46],.link.changed[data-v-63be6b46]{padding-left:0;padding-right:0}}.abstract .topic-required[data-v-63be6b46]:not(:first-child){margin-top:4px}.topic-required[data-v-63be6b46]{font-size:.8em}.deprecated[data-v-63be6b46]{text-decoration:line-through}.conditional-constraints[data-v-63be6b46]{font-size:.8235294118rem;margin-top:4px} -------------------------------------------------------------------------------- /.docs/js/highlight-js-cpp-js.458a9ae4.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[621],{6248:function(e){function t(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="<[^<>]+>",s="(?!struct)("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional(i)+")",c={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+o+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},_={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],f=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],g=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],h=["NULL","false","nullopt","nullptr","true"],w=["_Pragma"],y={type:f,keyword:m,literal:h,built_in:w,_type_hints:g},v={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},k=[v,u,c,n,e.C_BLOCK_COMMENT_MODE,d,l],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:k.concat([{begin:/\(/,end:/\)/,keywords:y,contains:k.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+s+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[_],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,d,c,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,d,c]}]},c,n,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"",keywords:y,contains:["self",c]},{begin:e.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}e.exports=t}}]); -------------------------------------------------------------------------------- /Sources/RangePicker/RangePickerView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RangePickerView.swift 3 | // RangePickerView 4 | // 5 | // Created by Rashid Ramazanov on 8/15/22. 6 | // Copyright © 2022 Mobven. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | /// Methods for managing selections in a range picker view. 12 | public protocol RangePickerViewDelegate: AnyObject { 13 | func rangePickerView(_ rangePickerView: RangePickerView, didSelectRow row: Int) 14 | func rangePickerView(_ rangePickerView: RangePickerView, titleForRowAtIndex row: Int) -> String? 15 | func rangePickerView(_ rangePickerView: RangePickerView, numberOfIndicesAt row: Int) -> Int? 16 | func rangePickerView(_ rangePickerView: RangePickerView, headerTitleIndicesAt row: Int) -> String? 17 | } 18 | 19 | /// UI Component to display items in UIPickerView based on range selection. 20 | public final class RangePickerView: UIView { 21 | @IBOutlet var pickerView: UIPickerView! 22 | @IBOutlet var valueLabel: UILabel! 23 | @IBOutlet var unitLabel: UILabel! 24 | @IBOutlet var valueView: UIView! 25 | @IBOutlet var seperatorView: UIView! 26 | 27 | var dataSource: DataSource = .init() 28 | 29 | /// Range of the values for the visible items. Default values is 10. 30 | public var visibilityRange: Int = 10 { 31 | didSet { 32 | dataSource.visibilityRange = visibilityRange 33 | pickerView.reloadAllComponents() 34 | } 35 | } 36 | 37 | /// The background color of the separator view. 38 | public var seperatorBackgroundColor: UIColor = .systemGreen { 39 | didSet { 40 | seperatorView.backgroundColor = seperatorBackgroundColor 41 | } 42 | } 43 | 44 | /// The font for the value label's text. 45 | public var valueFont: UIFont = .systemFont(ofSize: 38, weight: .semibold) { 46 | didSet { 47 | valueLabel.font = valueFont 48 | } 49 | } 50 | 51 | /// The text color for the value label's text. 52 | public var valueTextColor: UIColor = .black { 53 | didSet { 54 | valueLabel.textColor = valueTextColor 55 | } 56 | } 57 | 58 | /// The font for the unit label's text. 59 | public var unitFont: UIFont = .systemFont(ofSize: 18, weight: .regular) { 60 | didSet { 61 | unitLabel.font = unitFont 62 | } 63 | } 64 | 65 | /// The text color for the unit label's text. 66 | public var unitTextColor: UIColor = .gray { 67 | didSet { 68 | unitLabel.textColor = unitTextColor 69 | } 70 | } 71 | 72 | /// A zero-indexed number identifying selection of the range picker view. 73 | public var selectedIndex: Int { 74 | pickerView.selectedRow(inComponent: .zero) 75 | } 76 | 77 | /// Selected row of the picker view. Default values is 0. 78 | public func selectRow(_ row: Int, animated: Bool) { 79 | pickerView.selectRow(row, inComponent: .zero, animated: animated) 80 | let selectedValue = delegate?.rangePickerView(self, titleForRowAtIndex: row) ?? "" 81 | if !selectedValue.isEmpty { 82 | pickerView.view(forRow: row, forComponent: .zero)?.isHidden = true 83 | valueLabel.text = delegate?.rangePickerView(self, headerTitleIndicesAt: row) 84 | } 85 | pickerView.subviews[1].backgroundColor = .clear 86 | } 87 | 88 | var mAlignment: Alignment = .vertical 89 | /// Rotating picker view to specified axis directions. Default values is .vertical. 90 | public var alignment: Alignment { 91 | get { mAlignment } 92 | set { 93 | guard newValue != mAlignment else { return } 94 | transform = transform.rotated(by: newValue.angle) 95 | valueView.transform = CGAffineTransform(rotationAngle: newValue.rotationAngle) 96 | setRange() 97 | dataSource.alignment = newValue 98 | mAlignment = newValue 99 | } 100 | } 101 | 102 | /// Rotating picker view to horizontal directions if it's true. Default values is "cm". 103 | public var valueType: String = "cm" { 104 | didSet { 105 | if valueType != "cm" { 106 | unitLabel.text = valueType 107 | } else { 108 | return 109 | } 110 | } 111 | } 112 | 113 | /// The object that acts as delegate of the range picker view. 114 | public weak var delegate: RangePickerViewDelegate? 115 | 116 | override public init(frame: CGRect) { 117 | super.init(frame: frame) 118 | setup() 119 | } 120 | 121 | public required init?(coder: NSCoder) { 122 | super.init(coder: coder) 123 | setup() 124 | } 125 | 126 | func setup() { 127 | setupNib() 128 | pickerView.delegate = dataSource 129 | pickerView.dataSource = dataSource 130 | dataSource.delegate = self 131 | setRange() 132 | configurePickerView() 133 | } 134 | 135 | private func configurePickerView() { 136 | if #unavailable(iOS 14), pickerView.subviews.count > 2 { 137 | pickerView.subviews[1].isHidden = true 138 | pickerView.subviews[2].isHidden = true 139 | } 140 | } 141 | 142 | func setRange() { 143 | pickerView.reloadAllComponents() 144 | selectRow(.zero, animated: false) 145 | } 146 | } 147 | 148 | extension RangePickerView: RangePickerViewInternalDelegate { 149 | func rangePickerView(titleForRowAt row: Int) -> String? { 150 | delegate?.rangePickerView(self, titleForRowAtIndex: row) 151 | } 152 | 153 | func rangePickerView(didSelectRow row: Int) { 154 | delegate?.rangePickerView(self, didSelectRow: row) 155 | valueLabel.text = delegate?.rangePickerView(self, headerTitleIndicesAt: row) 156 | } 157 | 158 | func rangePickerView(numberOfIndexs index: Int) -> Int? { 159 | delegate?.rangePickerView(self, numberOfIndicesAt: index) 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /.docs/data/documentation/rangepicker/rangepickerviewdelegate.json: -------------------------------------------------------------------------------- 1 | {"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/rangepicker\/rangepickerviewdelegate"]}],"identifier":{"url":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","interfaceLanguage":"swift"},"abstract":[{"text":"Methods for managing selections in a range picker view.","type":"text"}],"hierarchy":{"paths":[["doc:\/\/RangePicker\/documentation\/RangePicker"]]},"topicSections":[{"title":"Instance Methods","identifiers":["doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:didSelectRow:)","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:headerTitleIndicesAt:)","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:numberOfIndicesAt:)","doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:titleForRowAtIndex:)"]}],"metadata":{"role":"symbol","roleHeading":"Protocol","modules":[{"name":"RangePicker"}],"title":"RangePickerViewDelegate","externalID":"s:11RangePicker0aB12ViewDelegateP","symbolKind":"protocol","fragments":[{"text":"protocol","kind":"keyword"},{"text":" ","kind":"text"},{"text":"RangePickerViewDelegate","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"RangePickerViewDelegate"}]},"schemaVersion":{"minor":3,"major":0,"patch":0},"sections":[],"kind":"symbol","primaryContentSections":[{"declarations":[{"tokens":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"text":"RangePickerViewDelegate","kind":"identifier"},{"kind":"text","text":" : AnyObject"}],"languages":["swift"],"platforms":["iOS"]}],"kind":"declarations"}],"references":{"doc://RangePicker/documentation/RangePicker":{"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker","role":"collection","abstract":[],"url":"\/documentation\/rangepicker","title":"RangePicker","type":"topic"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:titleForRowAtIndex:)":{"title":"rangePickerView(_:titleForRowAtIndex:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:titleForRowAtIndex:)","role":"symbol","abstract":[],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:titleforrowatindex:)","required":true,"kind":"symbol","type":"topic","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"rangePickerView"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"text":", ","kind":"text"},{"text":"titleForRowAtIndex","kind":"externalParam"},{"text":": ","kind":"text"},{"preciseIdentifier":"s:Si","kind":"typeIdentifier","text":"Int"},{"text":") -> ","kind":"text"},{"text":"String","preciseIdentifier":"s:SS","kind":"typeIdentifier"},{"text":"?","kind":"text"}]},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate":{"abstract":[{"type":"text","text":"Methods for managing selections in a range picker view."}],"role":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate","url":"\/documentation\/rangepicker\/rangepickerviewdelegate","kind":"symbol","type":"topic","navigatorTitle":[{"text":"RangePickerViewDelegate","kind":"identifier"}],"title":"RangePickerViewDelegate","fragments":[{"text":"protocol","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"RangePickerViewDelegate"}]},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:numberOfIndicesAt:)":{"required":true,"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"text":"RangePickerView","kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView"},{"kind":"text","text":", "},{"kind":"externalParam","text":"numberOfIndicesAt"},{"kind":"text","text":": "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"text":"Int","kind":"typeIdentifier","preciseIdentifier":"s:Si"},{"text":"?","kind":"text"}],"role":"symbol","abstract":[],"kind":"symbol","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:numberOfIndicesAt:)","title":"rangePickerView(_:numberOfIndicesAt:)","type":"topic","url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:numberofindicesat:)"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:didSelectRow:)":{"type":"topic","abstract":[],"required":true,"role":"symbol","fragments":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"rangePickerView"},{"kind":"text","text":"("},{"preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"didSelectRow","kind":"externalParam"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","text":"Int"},{"kind":"text","text":")"}],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:didselectrow:)","identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:didSelectRow:)","kind":"symbol","title":"rangePickerView(_:didSelectRow:)"},"doc://RangePicker/documentation/RangePicker/RangePickerViewDelegate/rangePickerView(_:headerTitleIndicesAt:)":{"abstract":[],"title":"rangePickerView(_:headerTitleIndicesAt:)","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"text":"rangePickerView","kind":"identifier"},{"text":"(","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"c:@M@RangePicker@objc(cs)RangePickerView","text":"RangePickerView"},{"kind":"text","text":", "},{"text":"headerTitleIndicesAt","kind":"externalParam"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"text":") -> ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"url":"\/documentation\/rangepicker\/rangepickerviewdelegate\/rangepickerview(_:headertitleindicesat:)","role":"symbol","kind":"symbol","type":"topic","required":true,"identifier":"doc:\/\/RangePicker\/documentation\/RangePicker\/RangePickerViewDelegate\/rangePickerView(_:headerTitleIndicesAt:)"}}} -------------------------------------------------------------------------------- /.docs/js/highlight-js-javascript-js.dfc9d16d.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * This source file is part of the Swift.org open source project 3 | * 4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors 5 | * Licensed under Apache License v2.0 with Runtime Library Exception 6 | * 7 | * See https://swift.org/LICENSE.txt for license information 8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors 9 | */ 10 | (self["webpackChunkswift_docc_render"]=self["webpackChunkswift_docc_render"]||[]).push([[814],{978:function(e){const n="[A-Za-z$_][0-9A-Za-z$_]*",a=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],t=["true","false","null","undefined","NaN","Infinity"],s=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],c=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],i=["arguments","this","super","console","window","document","localStorage","module","global"],o=[].concat(r,s,c);function l(e){const l=e.regex,b=(e,{after:n})=>{const a="",end:""},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,t=e.input[a];if("<"===t||","===t)return void n.ignoreMatch();let s;">"===t&&(b(e,{after:a})||n.ignoreMatch());const c=e.input.substr(a);(s=c.match(/^\s+extends\s+/))&&0===s.index&&n.ignoreMatch()}},E={$pattern:n,keyword:a,literal:t,built_in:o,"variable.language":i},A="[0-9](_?[0-9])*",f=`\\.(${A})`,_="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${_})((${f})|\\.)?|(${f}))[eE][+-]?(${A})\\b`},{begin:`\\b(${_})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},N={className:"subst",begin:"\\$\\{",end:"\\}",keywords:E,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,N],subLanguage:"xml"}},p={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,N],subLanguage:"css"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,N]},w=e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),S={className:"comment",variants:[w,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},R=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,v,y];N.contains=R.concat({begin:/\{/,end:/\}/,keywords:E,contains:["self"].concat(R)});const k=[].concat(S,N.contains),O=k.concat([{begin:/\(/,end:/\)/,keywords:E,contains:["self"].concat(k)}]),I={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O},x={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,l.concat(d,"(",l.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:l.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+/),className:"title.class",keywords:{_:[...s,...c]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[I],illegal:/%/},B={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(e){return l.concat("(?!",e.join("|"),")")}const D={match:l.concat(/\b/,$([...r,"super"]),d,l.lookahead(/\(/)),className:"title.function",relevance:0},U={begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},I]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,l.lookahead(z)],className:{1:"keyword",3:"title.function"},contains:[I]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:E,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,v,S,y,T,{className:"attr",begin:d+l.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:u},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:"xml",contains:[{begin:m.begin,end:m.end,skip:!0,contains:["self"]}]}]},M,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[I,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},U,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[I]},D,B,x,Z,{match:/\$[(.]/}]}}e.exports=l}}]); -------------------------------------------------------------------------------- /Sample/Sample/Sample/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | --------------------------------------------------------------------------------