diff --git a/CHANGELOG.md b/CHANGELOG.md index 5914b12c..c0601935 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Change Log +## [3.0.0](https://github.com/jjochen/JJFloatingActionButton/tree/3.0.0) (2024-01-10) +[Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/2.5.0...3.0.0) + +**Fixed bugs:** + +- Designable's Error [\#278](https://github.com/jjochen/JJFloatingActionButton/issues/278) +- Circular configuration is not customisable angles are hardcoded [\#276](https://github.com/jjochen/JJFloatingActionButton/issues/276) +- Action button items are not shown when added to custom button on center tab. [\#265](https://github.com/jjochen/JJFloatingActionButton/issues/265) + +**Merged pull requests:** + +- Fix linter issues in example [\#289](https://github.com/jjochen/JJFloatingActionButton/pull/289) +- Make angle configurable for circular style [\#288](https://github.com/jjochen/JJFloatingActionButton/pull/288) +- Add example for custom layout/animation [\#287](https://github.com/jjochen/JJFloatingActionButton/pull/287) +- Update dependencies/toolchain [\#286](https://github.com/jjochen/JJFloatingActionButton/pull/286) + ## [2.5.0](https://github.com/jjochen/JJFloatingActionButton/tree/2.5.0) (2020-04-21) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/2.4.0...2.5.0) @@ -14,12 +30,12 @@ **Merged pull requests:** +- Less restricted filter for release commit messages [\#253](https://github.com/jjochen/JJFloatingActionButton/pull/253) - Create issue templates [\#263](https://github.com/jjochen/JJFloatingActionButton/pull/263) -- Separate spacing between action button and first action item [\#262](https://github.com/jjochen/JJFloatingActionButton/pull/262) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Separate spacing between action button and first action item [\#262](https://github.com/jjochen/JJFloatingActionButton/pull/262) - Update dependencies [\#261](https://github.com/jjochen/JJFloatingActionButton/pull/261) - Use `bundle config` to set path for bundler [\#260](https://github.com/jjochen/JJFloatingActionButton/pull/260) -- Fix access to functions in AnimationConfiguration [\#259](https://github.com/jjochen/JJFloatingActionButton/pull/259) [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] -- Less restricted filter for release commit messages [\#253](https://github.com/jjochen/JJFloatingActionButton/pull/253) +- Fix access to functions in AnimationConfiguration [\#259](https://github.com/jjochen/JJFloatingActionButton/pull/259) ## [2.4.0](https://github.com/jjochen/JJFloatingActionButton/tree/2.4.0) (2020-03-20) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/2.3.0...2.4.0) @@ -50,8 +66,8 @@ **Merged pull requests:** - Improve deployment [\#241](https://github.com/jjochen/JJFloatingActionButton/pull/241) -- Add convenience methods to remove action items from the button [\#240](https://github.com/jjochen/JJFloatingActionButton/pull/240) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] -- Remove related views when button is removed from superview [\#238](https://github.com/jjochen/JJFloatingActionButton/pull/238) [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] +- Add convenience methods to remove action items from the button [\#240](https://github.com/jjochen/JJFloatingActionButton/pull/240) +- Remove related views when button is removed from superview [\#238](https://github.com/jjochen/JJFloatingActionButton/pull/238) ## [2.2.0](https://github.com/jjochen/JJFloatingActionButton/tree/2.2.0) (2020-03-01) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/2.1.0...2.2.0) @@ -67,10 +83,10 @@ **Merged pull requests:** - Fix changelog generation [\#235](https://github.com/jjochen/JJFloatingActionButton/pull/235) -- Prevent item selection during closing animation [\#234](https://github.com/jjochen/JJFloatingActionButton/pull/234) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] -- Allow item selection during opening animation [\#233](https://github.com/jjochen/JJFloatingActionButton/pull/233) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Prevent item selection during closing animation [\#234](https://github.com/jjochen/JJFloatingActionButton/pull/234) +- Allow item selection during opening animation [\#233](https://github.com/jjochen/JJFloatingActionButton/pull/233) - Fix typos [\#232](https://github.com/jjochen/JJFloatingActionButton/pull/232) -- Make automatic closing of action button configurable [\#231](https://github.com/jjochen/JJFloatingActionButton/pull/231) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Make automatic closing of action button configurable [\#231](https://github.com/jjochen/JJFloatingActionButton/pull/231) - Update dependencies [\#230](https://github.com/jjochen/JJFloatingActionButton/pull/230) - Some improvements to test suite [\#229](https://github.com/jjochen/JJFloatingActionButton/pull/229) - Support for Swift Package Manager [\#228](https://github.com/jjochen/JJFloatingActionButton/pull/228) @@ -86,8 +102,8 @@ - Support dark mode in example project [\#217](https://github.com/jjochen/JJFloatingActionButton/pull/217) - Update configuration example in README and example project [\#215](https://github.com/jjochen/JJFloatingActionButton/pull/215) -- Make image sizes configurable [\#213](https://github.com/jjochen/JJFloatingActionButton/pull/213) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] -- Fix an issue where special action item configuration would not work [\#212](https://github.com/jjochen/JJFloatingActionButton/pull/212) [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] +- Make image sizes configurable [\#213](https://github.com/jjochen/JJFloatingActionButton/pull/213) +- Fix an issue where special action item configuration would not work [\#212](https://github.com/jjochen/JJFloatingActionButton/pull/212) - Update dependencies [\#210](https://github.com/jjochen/JJFloatingActionButton/pull/210) - Get ready for Xcode 11/iOS 13 [\#209](https://github.com/jjochen/JJFloatingActionButton/pull/209) @@ -100,7 +116,7 @@ **Merged pull requests:** -- Migrate to Swift 5 [\#198](https://github.com/jjochen/JJFloatingActionButton/pull/198) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Migrate to Swift 5 [\#198](https://github.com/jjochen/JJFloatingActionButton/pull/198) ## [1.2.0](https://github.com/jjochen/JJFloatingActionButton/tree/1.2.0) (2019-02-08) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/1.1.0...1.2.0) @@ -116,9 +132,9 @@ **Merged pull requests:** - Add swiftformat configuration file [\#194](https://github.com/jjochen/JJFloatingActionButton/pull/194) -- Prevent images to change button/item size [\#193](https://github.com/jjochen/JJFloatingActionButton/pull/193) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] +- Prevent images to change button/item size [\#193](https://github.com/jjochen/JJFloatingActionButton/pull/193) - Update project dependencies [\#189](https://github.com/jjochen/JJFloatingActionButton/pull/189) -- Make default button size configurable [\#188](https://github.com/jjochen/JJFloatingActionButton/pull/188) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Make default button size configurable [\#188](https://github.com/jjochen/JJFloatingActionButton/pull/188) - Add license title to LICENSE file [\#187](https://github.com/jjochen/JJFloatingActionButton/pull/187) - Upgrade circleci config to version 2.1 [\#185](https://github.com/jjochen/JJFloatingActionButton/pull/185) @@ -131,7 +147,7 @@ **Merged pull requests:** -- Add convenience initializer for floating action button with single item [\#178](https://github.com/jjochen/JJFloatingActionButton/pull/178) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Add convenience initializer for floating action button with single item [\#178](https://github.com/jjochen/JJFloatingActionButton/pull/178) - Disable redundant\_objc\_attribute rule in swiftlint configuration [\#177](https://github.com/jjochen/JJFloatingActionButton/pull/177) ## [1.0.0](https://github.com/jjochen/JJFloatingActionButton/tree/1.0.0) (2018-11-29) @@ -149,10 +165,10 @@ - Update dependencies [\#173](https://github.com/jjochen/JJFloatingActionButton/pull/173) - Update README [\#172](https://github.com/jjochen/JJFloatingActionButton/pull/172) -- Fix item layout in circular pop up style [\#171](https://github.com/jjochen/JJFloatingActionButton/pull/171) [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] -- Add convenience method to action item that calls it's action [\#169](https://github.com/jjochen/JJFloatingActionButton/pull/169) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Fix item layout in circular pop up style [\#171](https://github.com/jjochen/JJFloatingActionButton/pull/171) +- Add convenience method to action item that calls it's action [\#169](https://github.com/jjochen/JJFloatingActionButton/pull/169) - Update tests for iOS 12.1 and new devices [\#163](https://github.com/jjochen/JJFloatingActionButton/pull/163) -- Migrate to swift 4.2 [\#161](https://github.com/jjochen/JJFloatingActionButton/pull/161) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Migrate to swift 4.2 [\#161](https://github.com/jjochen/JJFloatingActionButton/pull/161) ## [0.10.0](https://github.com/jjochen/JJFloatingActionButton/tree/0.10.0) (2018-09-17) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/0.9.2...0.10.0) @@ -164,7 +180,7 @@ **Merged pull requests:** - Update dependencies [\#156](https://github.com/jjochen/JJFloatingActionButton/pull/156) -- Make title spacing configurable [\#155](https://github.com/jjochen/JJFloatingActionButton/pull/155) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Make title spacing configurable [\#155](https://github.com/jjochen/JJFloatingActionButton/pull/155) - Add example for downward animation [\#153](https://github.com/jjochen/JJFloatingActionButton/pull/153) - Add example on how to change size of action button [\#152](https://github.com/jjochen/JJFloatingActionButton/pull/152) - Update dependencies and circleci configuration [\#148](https://github.com/jjochen/JJFloatingActionButton/pull/148) @@ -179,7 +195,7 @@ **Merged pull requests:** - Fix circle ci checks [\#146](https://github.com/jjochen/JJFloatingActionButton/pull/146) -- Separate bottom and trailing inset in layout category [\#145](https://github.com/jjochen/JJFloatingActionButton/pull/145) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Separate bottom and trailing inset in layout category [\#145](https://github.com/jjochen/JJFloatingActionButton/pull/145) ## [0.9.1](https://github.com/jjochen/JJFloatingActionButton/tree/0.9.1) (2018-03-01) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/0.9.0...0.9.1) @@ -199,12 +215,12 @@ **Merged pull requests:** - Add App Icon to example project [\#136](https://github.com/jjochen/JJFloatingActionButton/pull/136) -- Improve configurability of animations [\#134](https://github.com/jjochen/JJFloatingActionButton/pull/134) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Improve configurability of animations [\#134](https://github.com/jjochen/JJFloatingActionButton/pull/134) - Add codeclimate configuration [\#133](https://github.com/jjochen/JJFloatingActionButton/pull/133) - Configure swift version in pod spec [\#131](https://github.com/jjochen/JJFloatingActionButton/pull/131) -- Make position of action item title configurable [\#130](https://github.com/jjochen/JJFloatingActionButton/pull/130) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Make position of action item title configurable [\#130](https://github.com/jjochen/JJFloatingActionButton/pull/130) - Update dependencies [\#129](https://github.com/jjochen/JJFloatingActionButton/pull/129) -- Revert default color for item title and item circle to white [\#126](https://github.com/jjochen/JJFloatingActionButton/pull/126) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Revert default color for item title and item circle to white [\#126](https://github.com/jjochen/JJFloatingActionButton/pull/126) ## [0.8.0](https://github.com/jjochen/JJFloatingActionButton/tree/0.8.0) (2018-01-22) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/0.7.2...0.8.0) @@ -218,10 +234,10 @@ **Merged pull requests:** -- Define default item configuration on item directly [\#121](https://github.com/jjochen/JJFloatingActionButton/pull/121) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] [[removed](https://github.com/jjochen/JJFloatingActionButton/labels/removed)] +- Define default item configuration on item directly [\#121](https://github.com/jjochen/JJFloatingActionButton/pull/121) - Split preview gif and update readme [\#120](https://github.com/jjochen/JJFloatingActionButton/pull/120) -- Add circular opening style [\#119](https://github.com/jjochen/JJFloatingActionButton/pull/119) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] [[removed](https://github.com/jjochen/JJFloatingActionButton/labels/removed)] -- Improve image drawing [\#116](https://github.com/jjochen/JJFloatingActionButton/pull/116) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Add circular opening style [\#119](https://github.com/jjochen/JJFloatingActionButton/pull/119) +- Improve image drawing [\#116](https://github.com/jjochen/JJFloatingActionButton/pull/116) - Update dependencies \(jazzy, xcpretty\) [\#115](https://github.com/jjochen/JJFloatingActionButton/pull/115) ## [0.7.2](https://github.com/jjochen/JJFloatingActionButton/tree/0.7.2) (2018-01-11) @@ -233,7 +249,7 @@ **Merged pull requests:** -- Rename placement methods to fix objc issues [\#112](https://github.com/jjochen/JJFloatingActionButton/pull/112) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Rename placement methods to fix objc issues [\#112](https://github.com/jjochen/JJFloatingActionButton/pull/112) - Create release pull requests with octokit.rb [\#110](https://github.com/jjochen/JJFloatingActionButton/pull/110) ## [0.7.1](https://github.com/jjochen/JJFloatingActionButton/tree/0.7.1) (2018-01-09) @@ -245,7 +261,7 @@ **Merged pull requests:** -- Rename methods for placing button in view or view controller [\#107](https://github.com/jjochen/JJFloatingActionButton/pull/107) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Rename methods for placing button in view or view controller [\#107](https://github.com/jjochen/JJFloatingActionButton/pull/107) - Improve example [\#106](https://github.com/jjochen/JJFloatingActionButton/pull/106) - Add task for updating releases on GitHub [\#104](https://github.com/jjochen/JJFloatingActionButton/pull/104) - Add rake task for creating releases on GitHub [\#103](https://github.com/jjochen/JJFloatingActionButton/pull/103) @@ -273,12 +289,12 @@ - Add documentation and improve tests for button placement [\#97](https://github.com/jjochen/JJFloatingActionButton/pull/97) - User Xcode 9.1 on CircleCI [\#96](https://github.com/jjochen/JJFloatingActionButton/pull/96) - Improve labels in change log [\#93](https://github.com/jjochen/JJFloatingActionButton/pull/93) -- Extension for placing action button in view or view controller [\#92](https://github.com/jjochen/JJFloatingActionButton/pull/92) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Extension for placing action button in view or view controller [\#92](https://github.com/jjochen/JJFloatingActionButton/pull/92) - Use xcpretty in CI builds [\#91](https://github.com/jjochen/JJFloatingActionButton/pull/91) -- Better support for UIAppearance [\#90](https://github.com/jjochen/JJFloatingActionButton/pull/90) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Better support for UIAppearance [\#90](https://github.com/jjochen/JJFloatingActionButton/pull/90) - Add delegate calls to example [\#89](https://github.com/jjochen/JJFloatingActionButton/pull/89) - Handle tasks with rake [\#88](https://github.com/jjochen/JJFloatingActionButton/pull/88) -- Handle action directly when item is tapped [\#86](https://github.com/jjochen/JJFloatingActionButton/pull/86) [[changed](https://github.com/jjochen/JJFloatingActionButton/labels/changed)] +- Handle action directly when item is tapped [\#86](https://github.com/jjochen/JJFloatingActionButton/pull/86) - Add tests for delegate calls [\#85](https://github.com/jjochen/JJFloatingActionButton/pull/85) ## [0.6.4](https://github.com/jjochen/JJFloatingActionButton/tree/0.6.4) (2018-01-03) @@ -336,13 +352,13 @@ - Improve Readme [\#68](https://github.com/jjochen/JJFloatingActionButton/pull/68) - Improve documentation [\#67](https://github.com/jjochen/JJFloatingActionButton/pull/67) - Investigate swift package manager support [\#66](https://github.com/jjochen/JJFloatingActionButton/pull/66) -- Draw assets \(remove assets bundle\) [\#65](https://github.com/jjochen/JJFloatingActionButton/pull/65) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] -- Expose overlay view as read only property [\#64](https://github.com/jjochen/JJFloatingActionButton/pull/64) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] -- RTL language support [\#58](https://github.com/jjochen/JJFloatingActionButton/pull/58) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Draw assets \(remove assets bundle\) [\#65](https://github.com/jjochen/JJFloatingActionButton/pull/65) +- Expose overlay view as read only property [\#64](https://github.com/jjochen/JJFloatingActionButton/pull/64) +- RTL language support [\#58](https://github.com/jjochen/JJFloatingActionButton/pull/58) - Add documentation for github pages [\#54](https://github.com/jjochen/JJFloatingActionButton/pull/54) - Improve release script [\#53](https://github.com/jjochen/JJFloatingActionButton/pull/53) -- Handle hidden items [\#52](https://github.com/jjochen/JJFloatingActionButton/pull/52) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] -- Handle open/close animations in separate classes [\#51](https://github.com/jjochen/JJFloatingActionButton/pull/51) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Handle hidden items [\#52](https://github.com/jjochen/JJFloatingActionButton/pull/52) +- Handle open/close animations in separate classes [\#51](https://github.com/jjochen/JJFloatingActionButton/pull/51) - Continuous integration improvements [\#50](https://github.com/jjochen/JJFloatingActionButton/pull/50) ## [0.5.0](https://github.com/jjochen/JJFloatingActionButton/tree/0.5.0) (2017-12-15) @@ -357,8 +373,8 @@ **Merged pull requests:** - Add documentation [\#47](https://github.com/jjochen/JJFloatingActionButton/pull/47) -- Add image transition when button opens/closes [\#46](https://github.com/jjochen/JJFloatingActionButton/pull/46) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] -- Make single action handling configurable [\#44](https://github.com/jjochen/JJFloatingActionButton/pull/44) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Add image transition when button opens/closes [\#46](https://github.com/jjochen/JJFloatingActionButton/pull/46) +- Make single action handling configurable [\#44](https://github.com/jjochen/JJFloatingActionButton/pull/44) - Add swiftlint to CircleCi workflow [\#43](https://github.com/jjochen/JJFloatingActionButton/pull/43) ## [0.4.0](https://github.com/jjochen/JJFloatingActionButton/tree/0.4.0) (2017-12-08) @@ -373,11 +389,11 @@ **Merged pull requests:** - Move tests to CircleCi [\#40](https://github.com/jjochen/JJFloatingActionButton/pull/40) -- Animate open image changes [\#37](https://github.com/jjochen/JJFloatingActionButton/pull/37) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Animate open image changes [\#37](https://github.com/jjochen/JJFloatingActionButton/pull/37) - Add swiftlint configuration [\#34](https://github.com/jjochen/JJFloatingActionButton/pull/34) -- Make IBDesignable [\#32](https://github.com/jjochen/JJFloatingActionButton/pull/32) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Make IBDesignable [\#32](https://github.com/jjochen/JJFloatingActionButton/pull/32) - Test improvements [\#31](https://github.com/jjochen/JJFloatingActionButton/pull/31) -- Refactoring [\#29](https://github.com/jjochen/JJFloatingActionButton/pull/29) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Refactoring [\#29](https://github.com/jjochen/JJFloatingActionButton/pull/29) - Remove UITests [\#26](https://github.com/jjochen/JJFloatingActionButton/pull/26) ## [0.3.1](https://github.com/jjochen/JJFloatingActionButton/tree/0.3.1) (2017-11-30) @@ -389,7 +405,7 @@ **Merged pull requests:** -- Hotfix: wrong item position during first opening animation [\#24](https://github.com/jjochen/JJFloatingActionButton/pull/24) [[fixed](https://github.com/jjochen/JJFloatingActionButton/labels/fixed)] +- Hotfix: wrong item position during first opening animation [\#24](https://github.com/jjochen/JJFloatingActionButton/pull/24) ## [0.3.0](https://github.com/jjochen/JJFloatingActionButton/tree/0.3.0) (2017-11-26) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/0.2.1...0.3.0) @@ -400,9 +416,9 @@ **Merged pull requests:** -- Add optional open button image [\#21](https://github.com/jjochen/JJFloatingActionButton/pull/21) [[added](https://github.com/jjochen/JJFloatingActionButton/labels/added)] +- Add optional open button image [\#21](https://github.com/jjochen/JJFloatingActionButton/pull/21) - Improve preview in readme [\#20](https://github.com/jjochen/JJFloatingActionButton/pull/20) -- Handle touches with UIControl [\#19](https://github.com/jjochen/JJFloatingActionButton/pull/19) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] +- Handle touches with UIControl [\#19](https://github.com/jjochen/JJFloatingActionButton/pull/19) - Improve test coverage [\#16](https://github.com/jjochen/JJFloatingActionButton/pull/16) ## [0.2.1](https://github.com/jjochen/JJFloatingActionButton/tree/0.2.1) (2017-11-25) @@ -438,8 +454,8 @@ **Merged pull requests:** -- Cleanup [\#6](https://github.com/jjochen/JJFloatingActionButton/pull/6) [[updated](https://github.com/jjochen/JJFloatingActionButton/labels/updated)] -- Remove SnapKit dependency [\#5](https://github.com/jjochen/JJFloatingActionButton/pull/5) [[removed](https://github.com/jjochen/JJFloatingActionButton/labels/removed)] +- Cleanup [\#6](https://github.com/jjochen/JJFloatingActionButton/pull/6) +- Remove SnapKit dependency [\#5](https://github.com/jjochen/JJFloatingActionButton/pull/5) ## [0.1.1](https://github.com/jjochen/JJFloatingActionButton/tree/0.1.1) (2017-11-06) [Full Changelog](https://github.com/jjochen/JJFloatingActionButton/compare/0.1.0...0.1.1) diff --git a/Example/JJFloatingActionButton/Info.plist b/Example/JJFloatingActionButton/Info.plist index bcffc675..eaf09ac8 100644 --- a/Example/JJFloatingActionButton/Info.plist +++ b/Example/JJFloatingActionButton/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.5.0 + 3.0.0 CFBundleVersion 1 LSRequiresIPhoneOS @@ -32,8 +32,6 @@ UIStatusBarStyle UIStatusBarStyleLightContent - UIViewControllerBasedStatusBarAppearance - UIStatusBarTintParameters UINavigationBar @@ -57,5 +55,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIViewControllerBasedStatusBarAppearance + diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 03599537..4ca19665 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -4,7 +4,7 @@ PODS: - iOSSnapshotTestCase/Core (8.0.0) - iOSSnapshotTestCase/SwiftSupport (8.0.0): - iOSSnapshotTestCase/Core - - JJFloatingActionButton (2.5.0) + - JJFloatingActionButton (3.0.0) - Nimble (12.3.0) - Nimble-Snapshots (9.6.1): - Nimble-Snapshots/Core (= 9.6.1) @@ -32,7 +32,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: iOSSnapshotTestCase: a670511f9ee3829c2b9c23e6e68f315fd7b6790f - JJFloatingActionButton: c65b1208dee78ae5a2eac788e7fed813b8c20899 + JJFloatingActionButton: 42d4a142b856cd202976cc085d449b2ec55f4d3a Nimble: f8a8219d16f176429b951e8f7e72df5c23ceddc0 Nimble-Snapshots: 4988d1cf2fe062f13bd2eb87c4279770785e682b Quick: d32871931c05547cb4e0bc9009d66a18b50d8558 diff --git a/JJFloatingActionButton.podspec b/JJFloatingActionButton.podspec index bb4f9afa..9916be4b 100644 --- a/JJFloatingActionButton.podspec +++ b/JJFloatingActionButton.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'JJFloatingActionButton' - spec.version = '2.5.0' + spec.version = '3.0.0' spec.swift_version = '5.0' spec.author = { 'Jochen Pfeiffer' => 'pod@jochen-pfeiffer.com' } spec.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/docs/Classes.html b/docs/Classes.html index 0710cdfc..1c31a3ab 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -121,7 +129,7 @@

Classes

-

JJAnimationSettings

+

JJAnimationSettings

@@ -163,7 +171,7 @@

Declaration

-

JJButtonAnimationConfiguration

+

JJButtonAnimationConfiguration

@@ -205,7 +213,7 @@

Declaration

-

JJItemAnimationConfiguration

+

JJItemAnimationConfiguration

@@ -247,7 +255,7 @@

Declaration

-

JJItemLayout

+

JJItemLayout

@@ -289,7 +297,7 @@

Declaration

-

JJItemPreparation

+

JJItemPreparation

@@ -433,9 +441,8 @@

Declaration

- diff --git a/docs/Classes/JJActionItem.html b/docs/Classes/JJActionItem.html index c09ee1b5..1a22c4ab 100644 --- a/docs/Classes/JJActionItem.html +++ b/docs/Classes/JJActionItem.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJActionItem

+
@objc
 @IBDesignable
 open class JJActionItem : UIControl
@@ -227,8 +236,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonColor: UIColor { get set }
@@ -262,8 +270,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var highlightedButtonColor: UIColor? { get set }
@@ -297,8 +304,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonImage: UIImage? { get set }
@@ -336,8 +342,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonImageColor: UIColor { get set }
@@ -598,7 +603,7 @@

Return Value

-

UIView

+

UIView

@@ -623,7 +628,7 @@

UIView

Declaration

Swift

-
open override func didMoveToSuperview()
+
override open func didMoveToSuperview()
@@ -650,7 +655,7 @@

Declaration

Declaration

Swift

-
open override func updateConstraints()
+
override open func updateConstraints()
@@ -665,7 +670,7 @@

Declaration

-

UIControl

+

UIControl

@@ -690,7 +695,7 @@

UIControl

Declaration

Swift

-
open override var isHighlighted: Bool { get set }
+
override open var isHighlighted: Bool { get set }
@@ -705,9 +710,8 @@

Declaration

- diff --git a/docs/Classes/JJAnimationSettings.html b/docs/Classes/JJAnimationSettings.html index 4b1b8631..79317520 100644 --- a/docs/Classes/JJAnimationSettings.html +++ b/docs/Classes/JJAnimationSettings.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJAnimationSettings

+
@objc
 public class JJAnimationSettings : NSObject
@@ -353,9 +362,8 @@

Return Value

- diff --git a/docs/Classes/JJButtonAnimationConfiguration.html b/docs/Classes/JJButtonAnimationConfiguration.html index 6ae0a3be..f924be73 100644 --- a/docs/Classes/JJButtonAnimationConfiguration.html +++ b/docs/Classes/JJButtonAnimationConfiguration.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJButtonAnimationConfiguration

+
@objc
 public class JJButtonAnimationConfiguration : NSObject
@@ -382,7 +391,7 @@

Declaration

-

JJButtonAnimationConfiguration

+

JJButtonAnimationConfiguration

@@ -407,8 +416,7 @@

JJButtonAnimationConfiguration

Declaration

Swift

-
@objc
-static func rotation(toAngle angle: CGFloat = -.pi / 4) -> JJButtonAnimationConfiguration
+
static func rotation(toAngle angle: CGFloat = -.pi / 4) -> JJButtonAnimationConfiguration
@@ -458,8 +466,7 @@

Return Value

Declaration

Swift

-
@objc
-static func transition(toImage image: UIImage) -> JJButtonAnimationConfiguration
+
static func transition(toImage image: UIImage) -> JJButtonAnimationConfiguration
@@ -497,9 +504,8 @@

Return Value

- diff --git a/docs/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html b/docs/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html index 42a8cbde..4debd1b3 100644 --- a/docs/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html +++ b/docs/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJButtonAnimationStyle

+
@objc
 public enum JJButtonAnimationStyle : Int
@@ -186,9 +195,8 @@

Declaration

- diff --git a/docs/Classes/JJCircleView.html b/docs/Classes/JJCircleView.html index e92d2e98..fe16d29b 100644 --- a/docs/Classes/JJCircleView.html +++ b/docs/Classes/JJCircleView.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJCircleView

+
@objc
 @IBDesignable
 public class JJCircleView : UIView
@@ -145,8 +154,7 @@

JJCircleView

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var color: UIColor { get set }
@@ -174,8 +182,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var highlightedColor: UIColor? { get set }
@@ -283,7 +290,7 @@

Return Value

Declaration

Swift

-
public override func draw(_: CGRect)
+
override public func draw(_: CGRect)
@@ -298,9 +305,8 @@

Declaration

- diff --git a/docs/Classes/JJFloatingActionButton.html b/docs/Classes/JJFloatingActionButton.html index ff1b2993..0bd87adf 100644 --- a/docs/Classes/JJFloatingActionButton.html +++ b/docs/Classes/JJFloatingActionButton.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJFloatingActionButton

+
@objc
 @IBDesignable
 public class JJFloatingActionButton : UIControl
@@ -225,8 +234,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonColor: UIColor { get set }
@@ -260,8 +268,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var highlightedButtonColor: UIColor? { get set }
@@ -298,8 +305,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonImage: UIImage? { get set }
@@ -372,8 +378,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonImageColor: UIColor { get set }
@@ -403,8 +408,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var buttonDiameter: CGFloat { get set }
@@ -433,8 +437,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public dynamic var itemSizeRatio: CGFloat
@@ -540,8 +543,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public var handleSingleActionDirectly: Bool { get set }
@@ -577,8 +579,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 public var closeAutomatically: Bool
@@ -615,7 +616,7 @@

Declaration

Swift

@objc
-public internal(set) var buttonState: JJFloatingActionButtonState
+public internal(set) var buttonState: JJFloatingActionButtonState { get }
@@ -758,7 +759,7 @@

Declaration

Declaration

Swift

-
public override init(frame: CGRect)
+
override public init(frame: CGRect)
@@ -1240,7 +1241,7 @@

Parameters

-

Public Methods

+

Public Methods

@@ -1569,7 +1570,7 @@

Declaration

-

UIControl

+

UIControl

@@ -1594,7 +1595,7 @@

UIControl

Declaration

Swift

-
open override var isHighlighted: Bool { get set }
+
override open var isHighlighted: Bool { get set }
@@ -1609,7 +1610,7 @@

Declaration

-

UIView

+

UIView

@@ -1634,7 +1635,7 @@

UIView

Declaration

Swift

-
open override var intrinsicContentSize: CGSize { get }
+
override open var intrinsicContentSize: CGSize { get }
@@ -1661,7 +1662,7 @@

Declaration

Declaration

Swift

-
open override func updateConstraints()
+
override open func updateConstraints()
@@ -1688,7 +1689,7 @@

Declaration

Declaration

Swift

-
public override func didMoveToSuperview()
+
override public func didMoveToSuperview()
@@ -1716,8 +1717,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 dynamic var shadowColor: UIColor? { get set }
@@ -1746,8 +1746,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 dynamic var shadowOffset: CGSize { get set }
@@ -1776,8 +1775,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 dynamic var shadowOpacity: Float { get set }
@@ -1806,8 +1804,7 @@

Declaration

Declaration

Swift

-
@objc
-@IBInspectable
+                          
@IBInspectable
 dynamic var shadowRadius: CGFloat { get set }
@@ -1823,9 +1820,8 @@

Declaration

- diff --git a/docs/Classes/JJItemAnimationConfiguration.html b/docs/Classes/JJItemAnimationConfiguration.html index 4650bb76..7fe706f9 100644 --- a/docs/Classes/JJItemAnimationConfiguration.html +++ b/docs/Classes/JJItemAnimationConfiguration.html @@ -21,21 +21,21 @@

- JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

-

+

-

+

- - + + Dash Install in Dash

@@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
@@ -110,6 +118,7 @@

JJItemAnimationConfiguration

+
@objc
 public class JJItemAnimationConfiguration : NSObject
@@ -291,7 +300,7 @@

Declaration

-

JJItemAnimationConfiguration

+

JJItemAnimationConfiguration

@@ -321,8 +330,7 @@

JJItemAnimationConfiguration

Declaration

Swift

-
@objc
-static func popUp(withInterItemSpacing interItemSpacing: CGFloat = 12,
+                          
static func popUp(withInterItemSpacing interItemSpacing: CGFloat = 12,
                   firstItemSpacing: CGFloat = 0) -> JJItemAnimationConfiguration
@@ -392,8 +400,7 @@

Return Value

Declaration

Swift

-
@objc
-static func slideIn(withInterItemSpacing interItemSpacing: CGFloat = 12,
+                          
static func slideIn(withInterItemSpacing interItemSpacing: CGFloat = 12,
                     firstItemSpacing: CGFloat = 0) -> JJItemAnimationConfiguration
@@ -441,9 +448,9 @@

Return Value

  • @@ -463,8 +470,9 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func circularPopUp(withRadius radius: CGFloat = 100) -> JJItemAnimationConfiguration
    +
    static func circularPopUp(withRadius radius: CGFloat = 100,
    +                          angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem)
    +    -> JJItemAnimationConfiguration
    @@ -484,6 +492,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + + @@ -497,9 +518,9 @@

    Return Value

  • @@ -519,8 +540,9 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func circularSlideIn(withRadius radius: CGFloat = 100) -> JJItemAnimationConfiguration
    +
    static func circularSlideIn(withRadius radius: CGFloat = 100,
    +                            angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem)
    +    -> JJItemAnimationConfiguration
    @@ -540,6 +562,19 @@

    Parameters

    + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + + @@ -552,15 +587,102 @@

    Return Value

  • +
    +
    + + +
    + +

    Helper +

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Calculates the angle for the item at the specified index in the floating action button.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @objc
      +static func angleForItem(at index: Int, numberOfItems: Int, actionButton: JJFloatingActionButton) -> CGFloat
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + index + + +
      +

      The index of the item.

      +
      +
      + + numberOfItems + + +
      +

      The total number of items in the floating action button.

      +
      +
      + + actionButton + + +
      +

      The floating action button.

      +
      +
      +
      +
      +

      Return Value

      +

      The angle in radians for the item at the specified index.

      +
      +
      +
      +
    • +
    +
    - diff --git a/docs/Classes/JJItemLayout.html b/docs/Classes/JJItemLayout.html index 682082cf..ecc992b5 100644 --- a/docs/Classes/JJItemLayout.html +++ b/docs/Classes/JJItemLayout.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJItemLayout

    +
    @objc
     public class JJItemLayout : NSObject
    @@ -272,9 +281,9 @@

    Return Value

  • @@ -290,7 +299,9 @@

    Declaration

    Swift

    @objc
    -public static func circular(withRadius radius: CGFloat = 100) -> JJItemLayout
    +public static func circular(withRadius radius: CGFloat = 100, + angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem) + -> JJItemLayout
    @@ -310,6 +321,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + +
    @@ -328,9 +352,8 @@

    Return Value

    - diff --git a/docs/Classes/JJItemPreparation.html b/docs/Classes/JJItemPreparation.html index 0f253e29..2829ed6e 100644 --- a/docs/Classes/JJItemPreparation.html +++ b/docs/Classes/JJItemPreparation.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJItemPreparation

    +
    @objc
     public class JJItemPreparation : NSObject
    @@ -457,9 +466,9 @@

    Return Value

  • @@ -485,7 +494,10 @@

    Declaration

    Swift

    @objc
    -public static func circularOffset(distance: CGFloat = 50, scale: CGFloat = 0.4) -> JJItemPreparation
    +public static func circularOffset(distance: CGFloat = 50, + scale: CGFloat = 0.4, + angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem) + -> JJItemPreparation
    @@ -518,6 +530,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + +
    @@ -536,9 +561,8 @@

    Return Value

    - diff --git a/docs/Enums.html b/docs/Enums.html index 40d5b2b9..485dfcca 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -183,9 +191,8 @@

    Declaration

    - diff --git a/docs/Enums/JJActionItemTitlePosition.html b/docs/Enums/JJActionItemTitlePosition.html index 62efd1aa..5c79dae4 100644 --- a/docs/Enums/JJActionItemTitlePosition.html +++ b/docs/Enums/JJActionItemTitlePosition.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJActionItemTitlePosition

    +
    @objc
     public enum JJActionItemTitlePosition : Int
    @@ -321,9 +330,8 @@

    Declaration

    - diff --git a/docs/Enums/JJFloatingActionButtonState.html b/docs/Enums/JJFloatingActionButtonState.html index 95446255..1714f06a 100644 --- a/docs/Enums/JJFloatingActionButtonState.html +++ b/docs/Enums/JJFloatingActionButtonState.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJFloatingActionButtonState

    +
    @objc
     public enum JJFloatingActionButtonState : Int
    @@ -240,9 +249,8 @@

    Declaration

    - diff --git a/docs/Protocols.html b/docs/Protocols.html index 9a3222a5..dd374944 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -154,9 +162,8 @@

    Declaration

    - diff --git a/docs/Protocols/JJFloatingActionButtonDelegate.html b/docs/Protocols/JJFloatingActionButtonDelegate.html index 97cd942f..204685c4 100644 --- a/docs/Protocols/JJFloatingActionButtonDelegate.html +++ b/docs/Protocols/JJFloatingActionButtonDelegate.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJFloatingActionButtonDelegate

    +
    @objc
     public protocol JJFloatingActionButtonDelegate
    @@ -244,9 +253,8 @@

    Declaration

    - diff --git a/docs/Typealiases.html b/docs/Typealiases.html new file mode 100644 index 00000000..e9e0ed17 --- /dev/null +++ b/docs/Typealiases.html @@ -0,0 +1,223 @@ + + + + Type Aliases Reference + + + + + + + + + + + + + + + + +
    +

    + + JJFloatingActionButton 3.0.0 Docs + + (100% documented) +

    + +
    +
    + +
    +
    + + +

    + + Dash + Install in Dash + +

    +
    + + + +
    + +
    + +
    +
    +

    Type Aliases

    +

    The following type aliases are available globally.

    + +
    +
    + +
    +
    +
    +
    + + +
    + +

    JJButtonAnimationConfiguration +

    +
    +
    +
      +
    • +
      + + + + JJItemAngle + +
      +
      +
      +
      +
      +
      +

      A typealias representing a closure that calculates the angle for each item in a floating action button.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias JJItemAngle = (_ index: Int, _ numberOfItems: Int, _ actionButton: JJFloatingActionButton) -> CGFloat
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + index + + +
      +

      The index of the item.

      +
      +
      + + numberOfItems + + +
      +

      The total number of items.

      +
      +
      + + actionButton + + +
      +

      The floating action button.

      +
      +
      +
      +
      +

      Return Value

      +

      The angle in radians for the specified item.

      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/docs/css/highlight.css b/docs/css/highlight.css index d0db0e13..c170357c 100644 --- a/docs/css/highlight.css +++ b/docs/css/highlight.css @@ -1,200 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ /* Credit to https://gist.github.com/wataru420/2048287 */ -.highlight { - /* Comment */ - /* Error */ - /* Keyword */ - /* Operator */ - /* Comment.Multiline */ - /* Comment.Preproc */ - /* Comment.Single */ - /* Comment.Special */ - /* Generic.Deleted */ - /* Generic.Deleted.Specific */ - /* Generic.Emph */ - /* Generic.Error */ - /* Generic.Heading */ - /* Generic.Inserted */ - /* Generic.Inserted.Specific */ - /* Generic.Output */ - /* Generic.Prompt */ - /* Generic.Strong */ - /* Generic.Subheading */ - /* Generic.Traceback */ - /* Keyword.Constant */ - /* Keyword.Declaration */ - /* Keyword.Pseudo */ - /* Keyword.Reserved */ - /* Keyword.Type */ - /* Literal.Number */ - /* Literal.String */ - /* Name.Attribute */ - /* Name.Builtin */ - /* Name.Class */ - /* Name.Constant */ - /* Name.Entity */ - /* Name.Exception */ - /* Name.Function */ - /* Name.Namespace */ - /* Name.Tag */ - /* Name.Variable */ - /* Operator.Word */ - /* Text.Whitespace */ - /* Literal.Number.Float */ - /* Literal.Number.Hex */ - /* Literal.Number.Integer */ - /* Literal.Number.Oct */ - /* Literal.String.Backtick */ - /* Literal.String.Char */ - /* Literal.String.Doc */ - /* Literal.String.Double */ - /* Literal.String.Escape */ - /* Literal.String.Heredoc */ - /* Literal.String.Interpol */ - /* Literal.String.Other */ - /* Literal.String.Regex */ - /* Literal.String.Single */ - /* Literal.String.Symbol */ - /* Name.Builtin.Pseudo */ - /* Name.Variable.Class */ - /* Name.Variable.Global */ - /* Name.Variable.Instance */ - /* Literal.Number.Integer.Long */ } - .highlight .c { - color: #999988; - font-style: italic; } - .highlight .err { - color: #a61717; - background-color: #e3d2d2; } - .highlight .k { - color: #000000; - font-weight: bold; } - .highlight .o { - color: #000000; - font-weight: bold; } - .highlight .cm { - color: #999988; - font-style: italic; } - .highlight .cp { - color: #999999; - font-weight: bold; } - .highlight .c1 { - color: #999988; - font-style: italic; } - .highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; } - .highlight .gd { - color: #000000; - background-color: #ffdddd; } - .highlight .gd .x { - color: #000000; - background-color: #ffaaaa; } - .highlight .ge { - color: #000000; - font-style: italic; } - .highlight .gr { - color: #aa0000; } - .highlight .gh { - color: #999999; } - .highlight .gi { - color: #000000; - background-color: #ddffdd; } - .highlight .gi .x { - color: #000000; - background-color: #aaffaa; } - .highlight .go { - color: #888888; } - .highlight .gp { - color: #555555; } - .highlight .gs { - font-weight: bold; } - .highlight .gu { - color: #aaaaaa; } - .highlight .gt { - color: #aa0000; } - .highlight .kc { - color: #000000; - font-weight: bold; } - .highlight .kd { - color: #000000; - font-weight: bold; } - .highlight .kp { - color: #000000; - font-weight: bold; } - .highlight .kr { - color: #000000; - font-weight: bold; } - .highlight .kt { - color: #445588; } - .highlight .m { - color: #009999; } - .highlight .s { - color: #d14; } - .highlight .na { - color: #008080; } - .highlight .nb { - color: #0086B3; } - .highlight .nc { - color: #445588; - font-weight: bold; } - .highlight .no { - color: #008080; } - .highlight .ni { - color: #800080; } - .highlight .ne { - color: #990000; - font-weight: bold; } - .highlight .nf { - color: #990000; } - .highlight .nn { - color: #555555; } - .highlight .nt { - color: #000080; } - .highlight .nv { - color: #008080; } - .highlight .ow { - color: #000000; - font-weight: bold; } - .highlight .w { - color: #bbbbbb; } - .highlight .mf { - color: #009999; } - .highlight .mh { - color: #009999; } - .highlight .mi { - color: #009999; } - .highlight .mo { - color: #009999; } - .highlight .sb { - color: #d14; } - .highlight .sc { - color: #d14; } - .highlight .sd { - color: #d14; } - .highlight .s2 { - color: #d14; } - .highlight .se { - color: #d14; } - .highlight .sh { - color: #d14; } - .highlight .si { - color: #d14; } - .highlight .sx { - color: #d14; } - .highlight .sr { - color: #009926; } - .highlight .s1 { - color: #d14; } - .highlight .ss { - color: #990073; } - .highlight .bp { - color: #999999; } - .highlight .vc { - color: #008080; } - .highlight .vg { - color: #008080; } - .highlight .vi { - color: #008080; } - .highlight .il { - color: #009999; } +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/css/jazzy.css b/docs/css/jazzy.css index ff59f5f8..c7bb9fe2 100644 --- a/docs/css/jazzy.css +++ b/docs/css/jazzy.css @@ -1,3 +1,7 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ *, *:before, *:after { box-sizing: inherit; } @@ -83,6 +87,11 @@ th, td { padding: 6px 13px; border: 1px solid #ddd; } +hr { + height: 1px; + border: none; + background-color: #ddd; } + pre { margin: 0 0 1.275em; padding: .85em 1em; @@ -129,8 +138,8 @@ pre code { color: #fff; } .header-icon { - padding-right: 6px; - vertical-align: -4px; + padding-right: 2px; + vertical-align: -3px; height: 16px; } .breadcrumbs { diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Info.plist b/docs/docsets/JJFloatingActionButton.docset/Contents/Info.plist index 1a65f3a2..b7b3dad8 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Info.plist +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Info.plist @@ -16,5 +16,7 @@ DashDocSetFamily dashtoc + DashDocSetFallbackURL + https://jjochen.github.io/JJFloatingActionButton/ diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes.html index 0710cdfc..1c31a3ab 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -121,7 +129,7 @@

    Classes

    -

    JJAnimationSettings

    +

    JJAnimationSettings

    @@ -163,7 +171,7 @@

    Declaration

    -

    JJButtonAnimationConfiguration

    +

    JJButtonAnimationConfiguration

    @@ -205,7 +213,7 @@

    Declaration

    -

    JJItemAnimationConfiguration

    +

    JJItemAnimationConfiguration

    @@ -247,7 +255,7 @@

    Declaration

    -

    JJItemLayout

    +

    JJItemLayout

    @@ -289,7 +297,7 @@

    Declaration

    -

    JJItemPreparation

    +

    JJItemPreparation

    @@ -433,9 +441,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJActionItem.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJActionItem.html index c09ee1b5..1a22c4ab 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJActionItem.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJActionItem.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJActionItem

    +
    @objc
     @IBDesignable
     open class JJActionItem : UIControl
    @@ -227,8 +236,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonColor: UIColor { get set }
    @@ -262,8 +270,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var highlightedButtonColor: UIColor? { get set }
    @@ -297,8 +304,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonImage: UIImage? { get set }
    @@ -336,8 +342,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonImageColor: UIColor { get set }
    @@ -598,7 +603,7 @@

    Return Value

    -

    UIView

    +

    UIView

    @@ -623,7 +628,7 @@

    UIView

    Declaration

    Swift

    -
    open override func didMoveToSuperview()
    +
    override open func didMoveToSuperview()
    @@ -650,7 +655,7 @@

    Declaration

    Declaration

    Swift

    -
    open override func updateConstraints()
    +
    override open func updateConstraints()
    @@ -665,7 +670,7 @@

    Declaration

    -

    UIControl

    +

    UIControl

    @@ -690,7 +695,7 @@

    UIControl

    Declaration

    Swift

    -
    open override var isHighlighted: Bool { get set }
    +
    override open var isHighlighted: Bool { get set }
    @@ -705,9 +710,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJAnimationSettings.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJAnimationSettings.html index 4b1b8631..79317520 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJAnimationSettings.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJAnimationSettings.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJAnimationSettings

    +
    @objc
     public class JJAnimationSettings : NSObject
    @@ -353,9 +362,8 @@

    Return Value

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration.html index 6ae0a3be..f924be73 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJButtonAnimationConfiguration

    +
    @objc
     public class JJButtonAnimationConfiguration : NSObject
    @@ -382,7 +391,7 @@

    Declaration

    -

    JJButtonAnimationConfiguration

    +

    JJButtonAnimationConfiguration

    @@ -407,8 +416,7 @@

    JJButtonAnimationConfiguration

    Declaration

    Swift

    -
    @objc
    -static func rotation(toAngle angle: CGFloat = -.pi / 4) -> JJButtonAnimationConfiguration
    +
    static func rotation(toAngle angle: CGFloat = -.pi / 4) -> JJButtonAnimationConfiguration
    @@ -458,8 +466,7 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func transition(toImage image: UIImage) -> JJButtonAnimationConfiguration
    +
    static func transition(toImage image: UIImage) -> JJButtonAnimationConfiguration
    @@ -497,9 +504,8 @@

    Return Value

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html index 42a8cbde..4debd1b3 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJButtonAnimationStyle

    +
    @objc
     public enum JJButtonAnimationStyle : Int
    @@ -186,9 +195,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJCircleView.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJCircleView.html index e92d2e98..fe16d29b 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJCircleView.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJCircleView.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJCircleView

    +
    @objc
     @IBDesignable
     public class JJCircleView : UIView
    @@ -145,8 +154,7 @@

    JJCircleView

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var color: UIColor { get set }
    @@ -174,8 +182,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var highlightedColor: UIColor? { get set }
    @@ -283,7 +290,7 @@

    Return Value

    Declaration

    Swift

    -
    public override func draw(_: CGRect)
    +
    override public func draw(_: CGRect)
    @@ -298,9 +305,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJFloatingActionButton.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJFloatingActionButton.html index ff1b2993..0bd87adf 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJFloatingActionButton.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJFloatingActionButton.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJFloatingActionButton

    +
    @objc
     @IBDesignable
     public class JJFloatingActionButton : UIControl
    @@ -225,8 +234,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonColor: UIColor { get set }
    @@ -260,8 +268,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var highlightedButtonColor: UIColor? { get set }
    @@ -298,8 +305,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonImage: UIImage? { get set }
    @@ -372,8 +378,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonImageColor: UIColor { get set }
    @@ -403,8 +408,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var buttonDiameter: CGFloat { get set }
    @@ -433,8 +437,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public dynamic var itemSizeRatio: CGFloat
    @@ -540,8 +543,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public var handleSingleActionDirectly: Bool { get set }
    @@ -577,8 +579,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     public var closeAutomatically: Bool
    @@ -615,7 +616,7 @@

    Declaration

    Swift

    @objc
    -public internal(set) var buttonState: JJFloatingActionButtonState
    +public internal(set) var buttonState: JJFloatingActionButtonState { get }
    @@ -758,7 +759,7 @@

    Declaration

    Declaration

    Swift

    -
    public override init(frame: CGRect)
    +
    override public init(frame: CGRect)
    @@ -1240,7 +1241,7 @@

    Parameters

    -

    Public Methods

    +

    Public Methods

    @@ -1569,7 +1570,7 @@

    Declaration

    -

    UIControl

    +

    UIControl

    @@ -1594,7 +1595,7 @@

    UIControl

    Declaration

    Swift

    -
    open override var isHighlighted: Bool { get set }
    +
    override open var isHighlighted: Bool { get set }
    @@ -1609,7 +1610,7 @@

    Declaration

    -

    UIView

    +

    UIView

    @@ -1634,7 +1635,7 @@

    UIView

    Declaration

    Swift

    -
    open override var intrinsicContentSize: CGSize { get }
    +
    override open var intrinsicContentSize: CGSize { get }
    @@ -1661,7 +1662,7 @@

    Declaration

    Declaration

    Swift

    -
    open override func updateConstraints()
    +
    override open func updateConstraints()
    @@ -1688,7 +1689,7 @@

    Declaration

    Declaration

    Swift

    -
    public override func didMoveToSuperview()
    +
    override public func didMoveToSuperview()
    @@ -1716,8 +1717,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     dynamic var shadowColor: UIColor? { get set }
    @@ -1746,8 +1746,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     dynamic var shadowOffset: CGSize { get set }
    @@ -1776,8 +1775,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     dynamic var shadowOpacity: Float { get set }
    @@ -1806,8 +1804,7 @@

    Declaration

    Declaration

    Swift

    -
    @objc
    -@IBInspectable
    +                          
    @IBInspectable
     dynamic var shadowRadius: CGFloat { get set }
    @@ -1823,9 +1820,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemAnimationConfiguration.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemAnimationConfiguration.html index 4650bb76..7fe706f9 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemAnimationConfiguration.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemAnimationConfiguration.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJItemAnimationConfiguration

    +
    @objc
     public class JJItemAnimationConfiguration : NSObject
    @@ -291,7 +300,7 @@

    Declaration

    -

    JJItemAnimationConfiguration

    +

    JJItemAnimationConfiguration

    @@ -321,8 +330,7 @@

    JJItemAnimationConfiguration

    Declaration

    Swift

    -
    @objc
    -static func popUp(withInterItemSpacing interItemSpacing: CGFloat = 12,
    +                          
    static func popUp(withInterItemSpacing interItemSpacing: CGFloat = 12,
                       firstItemSpacing: CGFloat = 0) -> JJItemAnimationConfiguration
    @@ -392,8 +400,7 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func slideIn(withInterItemSpacing interItemSpacing: CGFloat = 12,
    +                          
    static func slideIn(withInterItemSpacing interItemSpacing: CGFloat = 12,
                         firstItemSpacing: CGFloat = 0) -> JJItemAnimationConfiguration
    @@ -441,9 +448,9 @@

    Return Value

  • @@ -463,8 +470,9 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func circularPopUp(withRadius radius: CGFloat = 100) -> JJItemAnimationConfiguration
    +
    static func circularPopUp(withRadius radius: CGFloat = 100,
    +                          angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem)
    +    -> JJItemAnimationConfiguration
    @@ -484,6 +492,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + + @@ -497,9 +518,9 @@

    Return Value

  • @@ -519,8 +540,9 @@

    Return Value

    Declaration

    Swift

    -
    @objc
    -static func circularSlideIn(withRadius radius: CGFloat = 100) -> JJItemAnimationConfiguration
    +
    static func circularSlideIn(withRadius radius: CGFloat = 100,
    +                            angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem)
    +    -> JJItemAnimationConfiguration
    @@ -540,6 +562,19 @@

    Parameters

    + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + + @@ -552,15 +587,102 @@

    Return Value

  • +
    +
    + + +
    + +

    Helper +

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Calculates the angle for the item at the specified index in the floating action button.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @objc
      +static func angleForItem(at index: Int, numberOfItems: Int, actionButton: JJFloatingActionButton) -> CGFloat
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + index + + +
      +

      The index of the item.

      +
      +
      + + numberOfItems + + +
      +

      The total number of items in the floating action button.

      +
      +
      + + actionButton + + +
      +

      The floating action button.

      +
      +
      +
      +
      +

      Return Value

      +

      The angle in radians for the item at the specified index.

      +
      +
      +
      +
    • +
    +
    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemLayout.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemLayout.html index 682082cf..ecc992b5 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemLayout.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemLayout.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJItemLayout

    +
    @objc
     public class JJItemLayout : NSObject
    @@ -272,9 +281,9 @@

    Return Value

  • @@ -290,7 +299,9 @@

    Declaration

    Swift

    @objc
    -public static func circular(withRadius radius: CGFloat = 100) -> JJItemLayout
    +public static func circular(withRadius radius: CGFloat = 100, + angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem) + -> JJItemLayout
    @@ -310,6 +321,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + +
    @@ -328,9 +352,8 @@

    Return Value

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemPreparation.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemPreparation.html index 0f253e29..2829ed6e 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemPreparation.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Classes/JJItemPreparation.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJItemPreparation

    +
    @objc
     public class JJItemPreparation : NSObject
    @@ -457,9 +466,9 @@

    Return Value

  • @@ -485,7 +494,10 @@

    Declaration

    Swift

    @objc
    -public static func circularOffset(distance: CGFloat = 50, scale: CGFloat = 0.4) -> JJItemPreparation
    +public static func circularOffset(distance: CGFloat = 50, + scale: CGFloat = 0.4, + angleForItem: @escaping JJItemAngle = JJItemAnimationConfiguration.angleForItem) + -> JJItemPreparation
    @@ -518,6 +530,19 @@

    Parameters

  • + + + + angleForItem + + + +
    +

    A closure that calculates the angle for each item in a floating action button. + Default is JJItemAnimationConfiguration.angleForItem.

    +
    + +
    @@ -536,9 +561,8 @@

    Return Value

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums.html index 40d5b2b9..485dfcca 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -183,9 +191,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJActionItemTitlePosition.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJActionItemTitlePosition.html index 62efd1aa..5c79dae4 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJActionItemTitlePosition.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJActionItemTitlePosition.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJActionItemTitlePosition

    +
    @objc
     public enum JJActionItemTitlePosition : Int
    @@ -321,9 +330,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJFloatingActionButtonState.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJFloatingActionButtonState.html index 95446255..1714f06a 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJFloatingActionButtonState.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Enums/JJFloatingActionButtonState.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJFloatingActionButtonState

    +
    @objc
     public enum JJFloatingActionButtonState : Int
    @@ -240,9 +249,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols.html index 9a3222a5..dd374944 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -154,9 +162,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols/JJFloatingActionButtonDelegate.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols/JJFloatingActionButtonDelegate.html index 97cd942f..204685c4 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols/JJFloatingActionButtonDelegate.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Protocols/JJFloatingActionButtonDelegate.html @@ -21,21 +21,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -43,7 +43,7 @@ @@ -101,6 +101,14 @@ +
    @@ -110,6 +118,7 @@

    JJFloatingActionButtonDelegate

    +
    @objc
     public protocol JJFloatingActionButtonDelegate
    @@ -244,9 +253,8 @@

    Declaration

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Typealiases.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Typealiases.html new file mode 100644 index 00000000..e9e0ed17 --- /dev/null +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/Typealiases.html @@ -0,0 +1,223 @@ + + + + Type Aliases Reference + + + + + + + + + + + + + + + + +
    +

    + + JJFloatingActionButton 3.0.0 Docs + + (100% documented) +

    + +
    +
    + +
    +
    + + +

    + + Dash + Install in Dash + +

    +
    + + + +
    + +
    + +
    +
    +

    Type Aliases

    +

    The following type aliases are available globally.

    + +
    +
    + +
    +
    +
    +
    + + +
    + +

    JJButtonAnimationConfiguration +

    +
    +
    +
      +
    • +
      + + + + JJItemAngle + +
      +
      +
      +
      +
      +
      +

      A typealias representing a closure that calculates the angle for each item in a floating action button.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias JJItemAngle = (_ index: Int, _ numberOfItems: Int, _ actionButton: JJFloatingActionButton) -> CGFloat
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + index + + +
      +

      The index of the item.

      +
      +
      + + numberOfItems + + +
      +

      The total number of items.

      +
      +
      + + actionButton + + +
      +

      The floating action button.

      +
      +
      +
      +
      +

      Return Value

      +

      The angle in radians for the specified item.

      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/highlight.css b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/highlight.css index d0db0e13..c170357c 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/highlight.css +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/highlight.css @@ -1,200 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ /* Credit to https://gist.github.com/wataru420/2048287 */ -.highlight { - /* Comment */ - /* Error */ - /* Keyword */ - /* Operator */ - /* Comment.Multiline */ - /* Comment.Preproc */ - /* Comment.Single */ - /* Comment.Special */ - /* Generic.Deleted */ - /* Generic.Deleted.Specific */ - /* Generic.Emph */ - /* Generic.Error */ - /* Generic.Heading */ - /* Generic.Inserted */ - /* Generic.Inserted.Specific */ - /* Generic.Output */ - /* Generic.Prompt */ - /* Generic.Strong */ - /* Generic.Subheading */ - /* Generic.Traceback */ - /* Keyword.Constant */ - /* Keyword.Declaration */ - /* Keyword.Pseudo */ - /* Keyword.Reserved */ - /* Keyword.Type */ - /* Literal.Number */ - /* Literal.String */ - /* Name.Attribute */ - /* Name.Builtin */ - /* Name.Class */ - /* Name.Constant */ - /* Name.Entity */ - /* Name.Exception */ - /* Name.Function */ - /* Name.Namespace */ - /* Name.Tag */ - /* Name.Variable */ - /* Operator.Word */ - /* Text.Whitespace */ - /* Literal.Number.Float */ - /* Literal.Number.Hex */ - /* Literal.Number.Integer */ - /* Literal.Number.Oct */ - /* Literal.String.Backtick */ - /* Literal.String.Char */ - /* Literal.String.Doc */ - /* Literal.String.Double */ - /* Literal.String.Escape */ - /* Literal.String.Heredoc */ - /* Literal.String.Interpol */ - /* Literal.String.Other */ - /* Literal.String.Regex */ - /* Literal.String.Single */ - /* Literal.String.Symbol */ - /* Name.Builtin.Pseudo */ - /* Name.Variable.Class */ - /* Name.Variable.Global */ - /* Name.Variable.Instance */ - /* Literal.Number.Integer.Long */ } - .highlight .c { - color: #999988; - font-style: italic; } - .highlight .err { - color: #a61717; - background-color: #e3d2d2; } - .highlight .k { - color: #000000; - font-weight: bold; } - .highlight .o { - color: #000000; - font-weight: bold; } - .highlight .cm { - color: #999988; - font-style: italic; } - .highlight .cp { - color: #999999; - font-weight: bold; } - .highlight .c1 { - color: #999988; - font-style: italic; } - .highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; } - .highlight .gd { - color: #000000; - background-color: #ffdddd; } - .highlight .gd .x { - color: #000000; - background-color: #ffaaaa; } - .highlight .ge { - color: #000000; - font-style: italic; } - .highlight .gr { - color: #aa0000; } - .highlight .gh { - color: #999999; } - .highlight .gi { - color: #000000; - background-color: #ddffdd; } - .highlight .gi .x { - color: #000000; - background-color: #aaffaa; } - .highlight .go { - color: #888888; } - .highlight .gp { - color: #555555; } - .highlight .gs { - font-weight: bold; } - .highlight .gu { - color: #aaaaaa; } - .highlight .gt { - color: #aa0000; } - .highlight .kc { - color: #000000; - font-weight: bold; } - .highlight .kd { - color: #000000; - font-weight: bold; } - .highlight .kp { - color: #000000; - font-weight: bold; } - .highlight .kr { - color: #000000; - font-weight: bold; } - .highlight .kt { - color: #445588; } - .highlight .m { - color: #009999; } - .highlight .s { - color: #d14; } - .highlight .na { - color: #008080; } - .highlight .nb { - color: #0086B3; } - .highlight .nc { - color: #445588; - font-weight: bold; } - .highlight .no { - color: #008080; } - .highlight .ni { - color: #800080; } - .highlight .ne { - color: #990000; - font-weight: bold; } - .highlight .nf { - color: #990000; } - .highlight .nn { - color: #555555; } - .highlight .nt { - color: #000080; } - .highlight .nv { - color: #008080; } - .highlight .ow { - color: #000000; - font-weight: bold; } - .highlight .w { - color: #bbbbbb; } - .highlight .mf { - color: #009999; } - .highlight .mh { - color: #009999; } - .highlight .mi { - color: #009999; } - .highlight .mo { - color: #009999; } - .highlight .sb { - color: #d14; } - .highlight .sc { - color: #d14; } - .highlight .sd { - color: #d14; } - .highlight .s2 { - color: #d14; } - .highlight .se { - color: #d14; } - .highlight .sh { - color: #d14; } - .highlight .si { - color: #d14; } - .highlight .sx { - color: #d14; } - .highlight .sr { - color: #009926; } - .highlight .s1 { - color: #d14; } - .highlight .ss { - color: #990073; } - .highlight .bp { - color: #999999; } - .highlight .vc { - color: #008080; } - .highlight .vg { - color: #008080; } - .highlight .vi { - color: #008080; } - .highlight .il { - color: #009999; } +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/jazzy.css index ff59f5f8..c7bb9fe2 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/jazzy.css +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/css/jazzy.css @@ -1,3 +1,7 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ *, *:before, *:after { box-sizing: inherit; } @@ -83,6 +87,11 @@ th, td { padding: 6px 13px; border: 1px solid #ddd; } +hr { + height: 1px; + border: none; + background-color: #ddd; } + pre { margin: 0 0 1.275em; padding: .85em 1em; @@ -129,8 +138,8 @@ pre code { color: #fff; } .header-icon { - padding-right: 6px; - vertical-align: -4px; + padding-right: 2px; + vertical-align: -3px; height: 16px; } .breadcrumbs { diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/img/gh.png b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/img/gh.png deleted file mode 100755 index 628da97c..00000000 Binary files a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/img/gh.png and /dev/null differ diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/index.html b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/index.html index 52c88502..17248439 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/index.html @@ -20,21 +20,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -42,7 +42,7 @@ @@ -100,6 +100,14 @@ +
    @@ -107,21 +115,22 @@
    -

    JJFloatingActionButton

    + +

    JJFloatingActionButton

    Floating Action Button for iOS


    - Swift 5.0 - Version - License - Platform - Build Status - codecov - Code Climate - Documentation + Swift 5.0 + Version + License + Platform + Build Status + codecov + Code Climate + Documentation Contributions Welcome

    @@ -144,31 +153,31 @@

    Featu

    Preview

    - Preview Basics - Preview Configuration + Preview Basics + Preview Configuration

    - Preview Circular + Preview Circular Preview Single Item

    Requirements

      -
    • iOS 9.0+
    • -
    • Xcode 10.2+
    • +
    • iOS 13.0+
    • +
    • Xcode 14+
    • Swift 5.0

    Installation

    CocoaPods

    CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

    -
    $ gem install cocoapods
    +
    gem install cocoapods
     

    To integrate JJFloatingActionButton into your Xcode project using CocoaPods, specify it in your Podfile:

    -
    source 'https://github.com/CocoaPods/Specs.git'
    -platform :ios, '9.0'
    +
    source 'https://cdn.cocoapods.org/'
    +platform :ios, '13.0'
     use_frameworks!
     
     target '<Your Target Name>' do
    @@ -177,7 +186,7 @@ 

    CocoaPods

    Then, run the following command:

    -
    $ pod install
    +
    pod install
     

    Manually

    @@ -263,7 +272,7 @@

    Delegate

    Example

    To run the example project, just run the following command:

    -
    $ pod try JJFloatingActionButton
    +
    pod try JJFloatingActionButton
     

    Resources

    @@ -284,9 +293,8 @@

    License<

    - diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.js b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.js index 1e55d6ef..19844166 100755 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.js +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.js @@ -1,3 +1,7 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + window.jazzy = {'docset': false} if (typeof window.dash != 'undefined') { document.documentElement.className += ' dash' diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.search.js index e3d1ab90..359cdbb8 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.search.js +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -1,3 +1,7 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + $(function(){ var $typeahead = $('[data-typeahead]'); var $form = $typeahead.parents('form'); diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jquery.min.js index a1c07fd8..7f37b5d9 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jquery.min.js +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){this.pos-=1},z.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/typeahead.jquery.js index f80bb192..3a2d2ab0 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/typeahead.jquery.js +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/js/typeahead.jquery.js @@ -1,15 +1,16 @@ /*! - * typeahead.js 1.2.0 - * https://github.com/twitter/typeahead.js - * Copyright 2013-2017 Twitter, Inc. and other contributors; Licensed MIT + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT */ + (function(root, factory) { if (typeof define === "function" && define.amd) { define([ "jquery" ], function(a0) { return factory(a0); }); - } else if (typeof exports === "object") { + } else if (typeof module === "object" && module.exports) { module.exports = factory(require("jquery")); } else { factory(root["jQuery"]); @@ -482,6 +483,7 @@ 40: "down" }; function Input(o, www) { + var id; o = o || {}; if (!o.input) { $.error("input is missing"); @@ -489,14 +491,18 @@ www.mixin(this); this.$hint = $(o.hint); this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); this.$input.attr({ - "aria-activedescendant": "", - "aria-owns": this.$input.attr("id") + "_listbox", + "aria-owns": id + "_listbox", role: "combobox", - "aria-readonly": "true", - "aria-autocomplete": "list" + "aria-autocomplete": "list", + "aria-expanded": false }); - $(www.menu).attr("id", this.$input.attr("id") + "_listbox"); this.query = this.$input.val(); this.queryWhenFocused = this.hasFocus() ? this.query : null; this.$overflowHelper = buildOverflowHelper(this.$input); @@ -669,6 +675,9 @@ this.$input.off(".tt"); this.$overflowHelper.remove(); this.$hint = this.$input = this.$overflowHelper = $("
    "); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); } }); return Input; @@ -896,8 +905,12 @@ pending: templates.pending && _.templatify(templates.pending), header: templates.header && _.templatify(templates.header), footer: templates.footer && _.templatify(templates.footer), - suggestion: templates.suggestion || suggestionTemplate + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } function suggestionTemplate(context) { return $('
    ').attr("id", _.guid()).text(displayFn(context)); } @@ -1256,8 +1269,10 @@ var $selectable; if ($selectable = this.menu.getActiveSelectable()) { this.select($selectable) && $e.preventDefault(); - } else if ($selectable = this.menu.getTopSelectable()) { - this.autocomplete($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } } }, _onEscKeyed: function onEscKeyed() { @@ -1353,6 +1368,7 @@ }, open: function open() { if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); this.menu.open(); this._updateHint(); this.eventBus.trigger("open"); @@ -1361,6 +1377,7 @@ }, close: function close() { if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); this.menu.close(); this.input.clearHint(); this.input.resetInputValue(); @@ -1409,7 +1426,9 @@ if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { this.menu.setCursor($candidate); if (data) { - this.input.setInputValue(data.val); + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } } else { this.input.resetInputValue(); this._updateHint(); @@ -1477,7 +1496,8 @@ }); input = new Input({ hint: $hint, - input: $input + input: $input, + menu: $menu }, www); menu = new MenuConstructor({ node: $menu, diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/search.json b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/search.json index 36af7f14..938b35cb 100644 --- a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillOpen:":{"name":"floatingActionButtonWillOpen(_:)","abstract":"

    Is called before opening animation. Button state is .opening.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidOpen:":{"name":"floatingActionButtonDidOpen(_:)","abstract":"

    Is called after opening animation. Button state is .opened.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillClose:":{"name":"floatingActionButtonWillClose(_:)","abstract":"

    Is called before closing animation. Button state is .closing.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidClose:":{"name":"floatingActionButtonDidClose(_:)","abstract":"

    Is called after closing animation. Button state is .closed.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html":{"name":"JJFloatingActionButtonDelegate","abstract":"

    Floating action button delegate protocol

    "},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosed":{"name":"closed","abstract":"

    No items are visible

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpen":{"name":"open","abstract":"

    Items are fully visible

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpening":{"name":"opening","abstract":"

    During opening animation

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosing":{"name":"closing","abstract":"

    During closing animation

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeading":{"name":"leading","abstract":"

    Place the title at the leading edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTrailing":{"name":"trailing","abstract":"

    Place the title at the trailing edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeft":{"name":"left","abstract":"

    Place the title at the left edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionRight":{"name":"right","abstract":"

    Place the title at the right edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTop":{"name":"top","abstract":"

    Place the title at the top edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionBottom":{"name":"bottom","abstract":"

    Place the title at the bottom edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionHidden":{"name":"hidden","abstract":"

    Hide the title all together.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html":{"name":"JJActionItemTitlePosition","abstract":"

    Action item title position.

    "},"Enums/JJFloatingActionButtonState.html":{"name":"JJFloatingActionButtonState","abstract":"

    Button state.

    "},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)delegate":{"name":"delegate","abstract":"

    The delegate object for the floating action button.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)items":{"name":"items","abstract":"

    The list of action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonColor":{"name":"buttonColor","abstract":"

    The background color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"

    The background color of the floating action button with highlighted state.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImage":{"name":"buttonImage","abstract":"

    The image displayed on the button by default.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageSize":{"name":"buttonImageSize","abstract":"

    The size of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageColor":{"name":"buttonImageColor","abstract":"

    The tint color of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonDiameter":{"name":"buttonDiameter","abstract":"

    The default diameter of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)itemSizeRatio":{"name":"itemSizeRatio","abstract":"

    The size of an action item in relation to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC28buttonAnimationConfigurationAA08JJButtoneF0Cvp":{"name":"buttonAnimationConfiguration","abstract":"

    The opening style of the floating action button itself.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC26itemAnimationConfigurationAA06JJItemeF0Cvp":{"name":"itemAnimationConfiguration","abstract":"

    The opening style of the action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)handleSingleActionDirectly":{"name":"handleSingleActionDirectly","abstract":"

    When enabled and only one action item is added, the floating action button will not open,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)closeAutomatically":{"name":"closeAutomatically","abstract":"

    When enabled, the floating action button will close after an action item was tapped,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonState":{"name":"buttonState","abstract":"

    The current state of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)circleView":{"name":"circleView","abstract":"

    The round background view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)imageView":{"name":"imageView","abstract":"

    The image view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)overlayView":{"name":"overlayView","abstract":"

    The overlay view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithFrame:":{"name":"init(frame:)","abstract":"

    Initializes and returns a newly allocated floating action button object with the specified frame rectangle.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithImage:action:":{"name":"init(image:action:)","abstract":"

    Initializes and returns a newly allocated floating action button object with the specified image and action.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)openWithAnimated:completion:":{"name":"open(animated:completion:)","abstract":"

    Open the floating action button and show all action items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)closeWithAnimated:completion:":{"name":"close(animated:completion:)","abstract":"

    Close the floating action button and hide all action items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInView:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inView:bottomInset:trailingInset:safeAreaInset:)","abstract":"

    Add floating action button to a given superview and place in trailing bottom corner.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInViewController:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inViewController:bottomInset:trailingInset:safeAreaInset:)","abstract":"

    Add floating action button to a view of a given view controller and place in trailing bottom corner.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItemWithTitle:image:action:":{"name":"addItem(title:image:action:)","abstract":"

    Add an action item with title, image and action to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItem:":{"name":"addItem(_:)","abstract":"

    Add an action item to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItem:":{"name":"removeItem(_:)","abstract":"

    Remove an action item from the list of items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItemAt:":{"name":"removeItem(at:)","abstract":"

    Remove and returns the action item at the specified position in the list of items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)configureDefaultItem:":{"name":"configureDefaultItem(_:)","abstract":"

    Calls the given closure on each item that is or was added to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)enabledItems":{"name":"enabledItems","abstract":"

    All items that will be shown when floating action button is opened.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the action button draws a highlight.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the floating action button.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)updateConstraints":{"name":"updateConstraints()","abstract":"

    Updates constraints for the view.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Tells the view that its superview changed.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowColor":{"name":"shadowColor","abstract":"

    The shadow color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOffset":{"name":"shadowOffset","abstract":"

    The shadow offset of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOpacity":{"name":"shadowOpacity","abstract":"

    The shadow opacity of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowRadius":{"name":"shadowRadius","abstract":"

    The shadow radius of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)color":{"name":"color","abstract":"

    The color of the circle.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)highlightedColor":{"name":"highlightedColor","abstract":"

    The color of the circle when highlighted. Default is nil.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)isHighlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the circle view draws a highlight.","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)drawRect:":{"name":"draw(_:)","abstract":"

    Draws the receiver’s image within the passed-in rectangle","parent_name":"JJCircleView"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)action":{"name":"action","abstract":"

    The action that is executed when the item is tapped.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)callAction":{"name":"callAction()","abstract":"

    Calls the action on the action item.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonColor":{"name":"buttonColor","abstract":"

    The color of action item circle view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"

    The color of action item circle view with highlighted state.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImage":{"name":"buttonImage","abstract":"

    The image displayed by the item.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImageColor":{"name":"buttonImageColor","abstract":"

    The tint color of the image view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleLabel":{"name":"titleLabel","abstract":"

    The title label of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageView":{"name":"imageView","abstract":"

    The image view of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)circleView":{"name":"circleView","abstract":"

    The background circle of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titlePosition":{"name":"titlePosition","abstract":"

    The position of the title label. Default is .leading.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleSpacing":{"name":"titleSpacing","abstract":"

    The position of the title label. Default is -1.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageSize":{"name":"imageSize","abstract":"

    The size of the image view. Default is (0, 0).","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Tells the view that its superview changed.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)updateConstraints":{"name":"updateConstraints()","abstract":"

    Updates constraints for the view.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(py)highlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the action item draws a highlight.

    ","parent_name":"JJActionItem"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(py)prepare":{"name":"prepare","abstract":"

    A closure that prepares a given action item for animation.

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(im)initWithPrepare:":{"name":"init(prepare:)","abstract":"

    Initializes and returns a newly allocated item preparation object with given prepare closure.

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)identity":{"name":"identity()","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)scaleBy:":{"name":"scale(by:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)offsetWithTranslationX:translationY:scale:":{"name":"offset(translationX:translationY:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)horizontalOffsetWithDistance:scale:":{"name":"horizontalOffset(distance:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)circularOffsetWithDistance:scale:":{"name":"circularOffset(distance:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(py)layout":{"name":"layout","abstract":"

    A closure that defines the layout of given action items relative to an action button.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(im)initWithLayout:":{"name":"init(layout:)","abstract":"

    Initializes and returns a newly allocated item layout object with given layout closure.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)verticalLineWithInterItemSpacing:firstItemSpacing:":{"name":"verticalLine(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item layout object that places the items in a vertical line with given inter item spacing.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)circularWithRadius:":{"name":"circular(withRadius:)","abstract":"

    Returns an item layout object that places the items in a circle around the action button with given radius.

    ","parent_name":"JJItemLayout"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)opening":{"name":"opening","abstract":"

    Animation settings for opening animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closing":{"name":"closing","abstract":"

    Animation settings for closing animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)itemLayout":{"name":"itemLayout","abstract":"

    Defines the layout of the acton items when opened.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closedState":{"name":"closedState","abstract":"

    Configures the items before opening. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)openState":{"name":"openState","abstract":"

    Configures the items for open state. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)popUpWithInterItemSpacing:firstItemSpacing:":{"name":"popUp(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)slideInWithInterItemSpacing:firstItemSpacing:":{"name":"slideIn(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularPopUpWithRadius:":{"name":"circularPopUp(withRadius:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularSlideInWithRadius:":{"name":"circularSlideIn(withRadius:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO8rotationyA2EmF":{"name":"rotation","abstract":"

    Rotate button image to given angle.

    ","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO10transitionyA2EmF":{"name":"transition","abstract":"

    Transition to given image.

    ","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(im)initWithStyle:":{"name":"init(withStyle:)","abstract":"

    Initializes and returns a newly allocated button animation configuration object with the specified style.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html":{"name":"JJButtonAnimationStyle","abstract":"

    Button animation style

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)style":{"name":"style","abstract":"

    Button animation style","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)angle":{"name":"angle","abstract":"

    The angle in radian the button will rotate to when opening.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)image":{"name":"image","abstract":"

    The image button will transition to when opening.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)opening":{"name":"opening","abstract":"

    Animation settings for opening animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)closing":{"name":"closing","abstract":"

    Animation settings for closing animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)rotationToAngle:":{"name":"rotation(toAngle:)","abstract":"

    Returns a button animation configuration that rotates the button image by given angle.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)transitionToImage:":{"name":"transition(toImage:)","abstract":"

    Returns a button animation configuration that transitions to a given image.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)duration":{"name":"duration","abstract":"

    Duration of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)dampingRatio":{"name":"dampingRatio","abstract":"

    Damping ratio of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)initialVelocity":{"name":"initialVelocity","abstract":"

    Initial velocity of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)interItemDelay":{"name":"interItemDelay","abstract":"

    Delay in between two item animations.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(im)initWithDuration:dampingRatio:initialVelocity:interItemDelay:":{"name":"init(duration:dampingRatio:initialVelocity:interItemDelay:)","abstract":"

    Initializes and returns a newly allocated animation settings object with specified parameters.

    ","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html":{"name":"JJAnimationSettings","abstract":"

    General animation configuration settings

    "},"Classes/JJButtonAnimationConfiguration.html":{"name":"JJButtonAnimationConfiguration","abstract":"

    Button animation configuration

    "},"Classes/JJItemAnimationConfiguration.html":{"name":"JJItemAnimationConfiguration","abstract":"

    Item animation configuration

    "},"Classes/JJItemLayout.html":{"name":"JJItemLayout","abstract":"

    Item layout

    "},"Classes/JJItemPreparation.html":{"name":"JJItemPreparation","abstract":"

    Item preparation

    "},"Classes/JJActionItem.html":{"name":"JJActionItem","abstract":"

    The item view representing an action.

    "},"Classes/JJCircleView.html":{"name":"JJCircleView","abstract":"

    A colored circle with an highlighted state

    "},"Classes/JJFloatingActionButton.html":{"name":"JJFloatingActionButton","abstract":"

    A floating action button.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:22JJFloatingActionButton11JJItemAnglea":{"name":"JJItemAngle","abstract":"\u003cp\u003eA typealias representing a closure that calculates the angle for each item in a floating action button.\u003c/p\u003e"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillOpen:":{"name":"floatingActionButtonWillOpen(_:)","abstract":"\u003cp\u003eIs called before opening animation. Button state is .opening.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidOpen:":{"name":"floatingActionButtonDidOpen(_:)","abstract":"\u003cp\u003eIs called after opening animation. Button state is .opened.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillClose:":{"name":"floatingActionButtonWillClose(_:)","abstract":"\u003cp\u003eIs called before closing animation. Button state is .closing.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidClose:":{"name":"floatingActionButtonDidClose(_:)","abstract":"\u003cp\u003eIs called after closing animation. Button state is .closed.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html":{"name":"JJFloatingActionButtonDelegate","abstract":"\u003cp\u003eFloating action button delegate protocol\u003c/p\u003e"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosed":{"name":"closed","abstract":"\u003cp\u003eNo items are visible\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpen":{"name":"open","abstract":"\u003cp\u003eItems are fully visible\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpening":{"name":"opening","abstract":"\u003cp\u003eDuring opening animation\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosing":{"name":"closing","abstract":"\u003cp\u003eDuring closing animation\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeading":{"name":"leading","abstract":"\u003cp\u003ePlace the title at the leading edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTrailing":{"name":"trailing","abstract":"\u003cp\u003ePlace the title at the trailing edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeft":{"name":"left","abstract":"\u003cp\u003ePlace the title at the left edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionRight":{"name":"right","abstract":"\u003cp\u003ePlace the title at the right edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTop":{"name":"top","abstract":"\u003cp\u003ePlace the title at the top edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionBottom":{"name":"bottom","abstract":"\u003cp\u003ePlace the title at the bottom edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionHidden":{"name":"hidden","abstract":"\u003cp\u003eHide the title all together.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html":{"name":"JJActionItemTitlePosition","abstract":"\u003cp\u003eAction item title position.\u003c/p\u003e"},"Enums/JJFloatingActionButtonState.html":{"name":"JJFloatingActionButtonState","abstract":"\u003cp\u003eButton state.\u003c/p\u003e"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)delegate":{"name":"delegate","abstract":"\u003cp\u003eThe delegate object for the floating action button.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)items":{"name":"items","abstract":"\u003cp\u003eThe list of action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonColor":{"name":"buttonColor","abstract":"\u003cp\u003eThe background color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"\u003cp\u003eThe background color of the floating action button with highlighted state.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImage":{"name":"buttonImage","abstract":"\u003cp\u003eThe image displayed on the button by default.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageSize":{"name":"buttonImageSize","abstract":"\u003cp\u003eThe size of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageColor":{"name":"buttonImageColor","abstract":"\u003cp\u003eThe tint color of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonDiameter":{"name":"buttonDiameter","abstract":"\u003cp\u003eThe default diameter of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)itemSizeRatio":{"name":"itemSizeRatio","abstract":"\u003cp\u003eThe size of an action item in relation to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC28buttonAnimationConfigurationAA08JJButtoneF0Cvp":{"name":"buttonAnimationConfiguration","abstract":"\u003cp\u003eThe opening style of the floating action button itself.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC26itemAnimationConfigurationAA06JJItemeF0Cvp":{"name":"itemAnimationConfiguration","abstract":"\u003cp\u003eThe opening style of the action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)handleSingleActionDirectly":{"name":"handleSingleActionDirectly","abstract":"\u003cp\u003eWhen enabled and only one action item is added, the floating action button will not open,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)closeAutomatically":{"name":"closeAutomatically","abstract":"\u003cp\u003eWhen enabled, the floating action button will close after an action item was tapped,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonState":{"name":"buttonState","abstract":"\u003cp\u003eThe current state of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)circleView":{"name":"circleView","abstract":"\u003cp\u003eThe round background view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)imageView":{"name":"imageView","abstract":"\u003cp\u003eThe image view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)overlayView":{"name":"overlayView","abstract":"\u003cp\u003eThe overlay view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithFrame:":{"name":"init(frame:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated floating action button object with the specified frame rectangle.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithImage:action:":{"name":"init(image:action:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated floating action button object with the specified image and action.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)openWithAnimated:completion:":{"name":"open(animated:completion:)","abstract":"\u003cp\u003eOpen the floating action button and show all action items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)closeWithAnimated:completion:":{"name":"close(animated:completion:)","abstract":"\u003cp\u003eClose the floating action button and hide all action items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInView:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inView:bottomInset:trailingInset:safeAreaInset:)","abstract":"\u003cp\u003eAdd floating action button to a given superview and place in trailing bottom corner.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInViewController:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inViewController:bottomInset:trailingInset:safeAreaInset:)","abstract":"\u003cp\u003eAdd floating action button to a view of a given view controller and place in trailing bottom corner.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItemWithTitle:image:action:":{"name":"addItem(title:image:action:)","abstract":"\u003cp\u003eAdd an action item with title, image and action to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItem:":{"name":"addItem(_:)","abstract":"\u003cp\u003eAdd an action item to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItem:":{"name":"removeItem(_:)","abstract":"\u003cp\u003eRemove an action item from the list of items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItemAt:":{"name":"removeItem(at:)","abstract":"\u003cp\u003eRemove and returns the action item at the specified position in the list of items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)configureDefaultItem:":{"name":"configureDefaultItem(_:)","abstract":"\u003cp\u003eCalls the given closure on each item that is or was added to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)enabledItems":{"name":"enabledItems","abstract":"\u003cp\u003eAll items that will be shown when floating action button is opened.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the action button draws a highlight.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"\u003cp\u003eThe natural size for the floating action button.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)updateConstraints":{"name":"updateConstraints()","abstract":"\u003cp\u003eUpdates constraints for the view.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"\u003cp\u003eTells the view that its superview changed.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowColor":{"name":"shadowColor","abstract":"\u003cp\u003eThe shadow color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOffset":{"name":"shadowOffset","abstract":"\u003cp\u003eThe shadow offset of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOpacity":{"name":"shadowOpacity","abstract":"\u003cp\u003eThe shadow opacity of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowRadius":{"name":"shadowRadius","abstract":"\u003cp\u003eThe shadow radius of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)color":{"name":"color","abstract":"\u003cp\u003eThe color of the circle.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)highlightedColor":{"name":"highlightedColor","abstract":"\u003cp\u003eThe color of the circle when highlighted. Default is \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)isHighlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the circle view draws a highlight.","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)drawRect:":{"name":"draw(_:)","abstract":"\u003cp\u003eDraws the receiver’s image within the passed-in rectangle","parent_name":"JJCircleView"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)action":{"name":"action","abstract":"\u003cp\u003eThe action that is executed when the item is tapped.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)callAction":{"name":"callAction()","abstract":"\u003cp\u003eCalls the action on the action item.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonColor":{"name":"buttonColor","abstract":"\u003cp\u003eThe color of action item circle view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"\u003cp\u003eThe color of action item circle view with highlighted state.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImage":{"name":"buttonImage","abstract":"\u003cp\u003eThe image displayed by the item.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImageColor":{"name":"buttonImageColor","abstract":"\u003cp\u003eThe tint color of the image view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleLabel":{"name":"titleLabel","abstract":"\u003cp\u003eThe title label of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageView":{"name":"imageView","abstract":"\u003cp\u003eThe image view of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)circleView":{"name":"circleView","abstract":"\u003cp\u003eThe background circle of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titlePosition":{"name":"titlePosition","abstract":"\u003cp\u003eThe position of the title label. Default is \u003ccode\u003e.leading\u003c/code\u003e.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleSpacing":{"name":"titleSpacing","abstract":"\u003cp\u003eThe position of the title label. Default is \u003ccode\u003e-1\u003c/code\u003e.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageSize":{"name":"imageSize","abstract":"\u003cp\u003eThe size of the image view. Default is \u003ccode\u003e(0, 0)\u003c/code\u003e.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"\u003cp\u003eTells the view that its superview changed.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)updateConstraints":{"name":"updateConstraints()","abstract":"\u003cp\u003eUpdates constraints for the view.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(py)highlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the action item draws a highlight.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(py)prepare":{"name":"prepare","abstract":"\u003cp\u003eA closure that prepares a given action item for animation.\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(im)initWithPrepare:":{"name":"init(prepare:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated item preparation object with given prepare closure.\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)identity":{"name":"identity()","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)scaleBy:":{"name":"scale(by:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)offsetWithTranslationX:translationY:scale:":{"name":"offset(translationX:translationY:scale:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)horizontalOffsetWithDistance:scale:":{"name":"horizontalOffset(distance:scale:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)circularOffsetWithDistance:scale:angleForItem:":{"name":"circularOffset(distance:scale:angleForItem:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(py)layout":{"name":"layout","abstract":"\u003cp\u003eA closure that defines the layout of given action items relative to an action button.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(im)initWithLayout:":{"name":"init(layout:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated item layout object with given layout closure.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)verticalLineWithInterItemSpacing:firstItemSpacing:":{"name":"verticalLine(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item layout object that places the items in a vertical line with given inter item spacing.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)circularWithRadius:angleForItem:":{"name":"circular(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item layout object that places the items in a circle around the action button with given radius.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)opening":{"name":"opening","abstract":"\u003cp\u003eAnimation settings for opening animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closing":{"name":"closing","abstract":"\u003cp\u003eAnimation settings for closing animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)itemLayout":{"name":"itemLayout","abstract":"\u003cp\u003eDefines the layout of the acton items when opened.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closedState":{"name":"closedState","abstract":"\u003cp\u003eConfigures the items before opening. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)openState":{"name":"openState","abstract":"\u003cp\u003eConfigures the items for open state. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)popUpWithInterItemSpacing:firstItemSpacing:":{"name":"popUp(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)slideInWithInterItemSpacing:firstItemSpacing:":{"name":"slideIn(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularPopUpWithRadius:angleForItem:":{"name":"circularPopUp(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularSlideInWithRadius:angleForItem:":{"name":"circularSlideIn(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)angleForItemAt:numberOfItems:actionButton:":{"name":"angleForItem(at:numberOfItems:actionButton:)","abstract":"\u003cp\u003eCalculates the angle for the item at the specified index in the floating action button.\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO8rotationyA2EmF":{"name":"rotation","abstract":"\u003cp\u003eRotate button image to given angle.\u003c/p\u003e","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO10transitionyA2EmF":{"name":"transition","abstract":"\u003cp\u003eTransition to given image.\u003c/p\u003e","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(im)initWithStyle:":{"name":"init(withStyle:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated button animation configuration object with the specified style.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html":{"name":"JJButtonAnimationStyle","abstract":"\u003cp\u003eButton animation style\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)style":{"name":"style","abstract":"\u003cp\u003eButton animation style","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)angle":{"name":"angle","abstract":"\u003cp\u003eThe angle in radian the button will rotate to when opening.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)image":{"name":"image","abstract":"\u003cp\u003eThe image button will transition to when opening.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)opening":{"name":"opening","abstract":"\u003cp\u003eAnimation settings for opening animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)closing":{"name":"closing","abstract":"\u003cp\u003eAnimation settings for closing animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)rotationToAngle:":{"name":"rotation(toAngle:)","abstract":"\u003cp\u003eReturns a button animation configuration that rotates the button image by given angle.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)transitionToImage:":{"name":"transition(toImage:)","abstract":"\u003cp\u003eReturns a button animation configuration that transitions to a given image.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)duration":{"name":"duration","abstract":"\u003cp\u003eDuration of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)dampingRatio":{"name":"dampingRatio","abstract":"\u003cp\u003eDamping ratio of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)initialVelocity":{"name":"initialVelocity","abstract":"\u003cp\u003eInitial velocity of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)interItemDelay":{"name":"interItemDelay","abstract":"\u003cp\u003eDelay in between two item animations.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(im)initWithDuration:dampingRatio:initialVelocity:interItemDelay:":{"name":"init(duration:dampingRatio:initialVelocity:interItemDelay:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated animation settings object with specified parameters.\u003c/p\u003e","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html":{"name":"JJAnimationSettings","abstract":"\u003cp\u003eGeneral animation configuration settings\u003c/p\u003e"},"Classes/JJButtonAnimationConfiguration.html":{"name":"JJButtonAnimationConfiguration","abstract":"\u003cp\u003eButton animation configuration\u003c/p\u003e"},"Classes/JJItemAnimationConfiguration.html":{"name":"JJItemAnimationConfiguration","abstract":"\u003cp\u003eItem animation configuration\u003c/p\u003e"},"Classes/JJItemLayout.html":{"name":"JJItemLayout","abstract":"\u003cp\u003eItem layout\u003c/p\u003e"},"Classes/JJItemPreparation.html":{"name":"JJItemPreparation","abstract":"\u003cp\u003eItem preparation\u003c/p\u003e"},"Classes/JJActionItem.html":{"name":"JJActionItem","abstract":"\u003cp\u003eThe item view representing an action.\u003c/p\u003e"},"Classes/JJCircleView.html":{"name":"JJCircleView","abstract":"\u003cp\u003eA colored circle with an highlighted state\u003c/p\u003e"},"Classes/JJFloatingActionButton.html":{"name":"JJFloatingActionButton","abstract":"\u003cp\u003eA floating action button.\u003c/p\u003e"},"Classes.html":{"name":"Classes","abstract":"\u003cp\u003eThe following classes are available globally.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"},"Typealiases.html":{"name":"Type Aliases","abstract":"\u003cp\u003eThe following type aliases are available globally.\u003c/p\u003e"}} \ No newline at end of file diff --git a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/docSet.dsidx b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/docSet.dsidx index 612f37ef..9f36cc3e 100644 Binary files a/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/JJFloatingActionButton.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/JJFloatingActionButton.tgz b/docs/docsets/JJFloatingActionButton.tgz index 3fd8ef76..50bda614 100644 Binary files a/docs/docsets/JJFloatingActionButton.tgz and b/docs/docsets/JJFloatingActionButton.tgz differ diff --git a/docs/docsets/JJFloatingActionButton.xml b/docs/docsets/JJFloatingActionButton.xml index 6504b60e..38f8adcc 100644 --- a/docs/docsets/JJFloatingActionButton.xml +++ b/docs/docsets/JJFloatingActionButton.xml @@ -1 +1 @@ -2.5.0https://jjochen.github.io/JJFloatingActionButton/docsets/JJFloatingActionButton.tgz +3.0.0https://jjochen.github.io/JJFloatingActionButton/docsets/JJFloatingActionButton.tgz diff --git a/docs/img/gh.png b/docs/img/gh.png deleted file mode 100755 index 628da97c..00000000 Binary files a/docs/img/gh.png and /dev/null differ diff --git a/docs/index.html b/docs/index.html index 52c88502..17248439 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,21 +20,21 @@

    - JJFloatingActionButton Docs + JJFloatingActionButton 3.0.0 Docs (100% documented)

    -

    +

    -

    +

    - - + + Dash Install in Dash

    @@ -42,7 +42,7 @@ @@ -100,6 +100,14 @@ +
    @@ -107,21 +115,22 @@
    -

    JJFloatingActionButton

    + +

    JJFloatingActionButton

    Floating Action Button for iOS


    - Swift 5.0 - Version - License - Platform - Build Status - codecov - Code Climate - Documentation + Swift 5.0 + Version + License + Platform + Build Status + codecov + Code Climate + Documentation Contributions Welcome

    @@ -144,31 +153,31 @@

    Featu

    Preview

    - Preview Basics - Preview Configuration + Preview Basics + Preview Configuration

    - Preview Circular + Preview Circular Preview Single Item

    Requirements

      -
    • iOS 9.0+
    • -
    • Xcode 10.2+
    • +
    • iOS 13.0+
    • +
    • Xcode 14+
    • Swift 5.0

    Installation

    CocoaPods

    CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

    -
    $ gem install cocoapods
    +
    gem install cocoapods
     

    To integrate JJFloatingActionButton into your Xcode project using CocoaPods, specify it in your Podfile:

    -
    source 'https://github.com/CocoaPods/Specs.git'
    -platform :ios, '9.0'
    +
    source 'https://cdn.cocoapods.org/'
    +platform :ios, '13.0'
     use_frameworks!
     
     target '<Your Target Name>' do
    @@ -177,7 +186,7 @@ 

    CocoaPods

    Then, run the following command:

    -
    $ pod install
    +
    pod install
     

    Manually

    @@ -263,7 +272,7 @@

    Delegate

    Example

    To run the example project, just run the following command:

    -
    $ pod try JJFloatingActionButton
    +
    pod try JJFloatingActionButton
     

    Resources

    @@ -284,9 +293,8 @@

    License<

    -
    diff --git a/docs/js/jazzy.js b/docs/js/jazzy.js index 1e55d6ef..19844166 100755 --- a/docs/js/jazzy.js +++ b/docs/js/jazzy.js @@ -1,3 +1,7 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + window.jazzy = {'docset': false} if (typeof window.dash != 'undefined') { document.documentElement.className += ' dash' diff --git a/docs/js/jazzy.search.js b/docs/js/jazzy.search.js index e3d1ab90..359cdbb8 100644 --- a/docs/js/jazzy.search.js +++ b/docs/js/jazzy.search.js @@ -1,3 +1,7 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + $(function(){ var $typeahead = $('[data-typeahead]'); var $form = $typeahead.parents('form'); diff --git a/docs/js/jquery.min.js b/docs/js/jquery.min.js index a1c07fd8..7f37b5d9 100644 --- a/docs/js/jquery.min.js +++ b/docs/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){this.pos-=1},z.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/js/typeahead.jquery.js b/docs/js/typeahead.jquery.js index f80bb192..3a2d2ab0 100644 --- a/docs/js/typeahead.jquery.js +++ b/docs/js/typeahead.jquery.js @@ -1,15 +1,16 @@ /*! - * typeahead.js 1.2.0 - * https://github.com/twitter/typeahead.js - * Copyright 2013-2017 Twitter, Inc. and other contributors; Licensed MIT + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT */ + (function(root, factory) { if (typeof define === "function" && define.amd) { define([ "jquery" ], function(a0) { return factory(a0); }); - } else if (typeof exports === "object") { + } else if (typeof module === "object" && module.exports) { module.exports = factory(require("jquery")); } else { factory(root["jQuery"]); @@ -482,6 +483,7 @@ 40: "down" }; function Input(o, www) { + var id; o = o || {}; if (!o.input) { $.error("input is missing"); @@ -489,14 +491,18 @@ www.mixin(this); this.$hint = $(o.hint); this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); this.$input.attr({ - "aria-activedescendant": "", - "aria-owns": this.$input.attr("id") + "_listbox", + "aria-owns": id + "_listbox", role: "combobox", - "aria-readonly": "true", - "aria-autocomplete": "list" + "aria-autocomplete": "list", + "aria-expanded": false }); - $(www.menu).attr("id", this.$input.attr("id") + "_listbox"); this.query = this.$input.val(); this.queryWhenFocused = this.hasFocus() ? this.query : null; this.$overflowHelper = buildOverflowHelper(this.$input); @@ -669,6 +675,9 @@ this.$input.off(".tt"); this.$overflowHelper.remove(); this.$hint = this.$input = this.$overflowHelper = $("
    "); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); } }); return Input; @@ -896,8 +905,12 @@ pending: templates.pending && _.templatify(templates.pending), header: templates.header && _.templatify(templates.header), footer: templates.footer && _.templatify(templates.footer), - suggestion: templates.suggestion || suggestionTemplate + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } function suggestionTemplate(context) { return $('
    ').attr("id", _.guid()).text(displayFn(context)); } @@ -1256,8 +1269,10 @@ var $selectable; if ($selectable = this.menu.getActiveSelectable()) { this.select($selectable) && $e.preventDefault(); - } else if ($selectable = this.menu.getTopSelectable()) { - this.autocomplete($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } } }, _onEscKeyed: function onEscKeyed() { @@ -1353,6 +1368,7 @@ }, open: function open() { if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); this.menu.open(); this._updateHint(); this.eventBus.trigger("open"); @@ -1361,6 +1377,7 @@ }, close: function close() { if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); this.menu.close(); this.input.clearHint(); this.input.resetInputValue(); @@ -1409,7 +1426,9 @@ if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { this.menu.setCursor($candidate); if (data) { - this.input.setInputValue(data.val); + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } } else { this.input.resetInputValue(); this._updateHint(); @@ -1477,7 +1496,8 @@ }); input = new Input({ hint: $hint, - input: $input + input: $input, + menu: $menu }, www); menu = new MenuConstructor({ node: $menu, diff --git a/docs/search.json b/docs/search.json index 36af7f14..938b35cb 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillOpen:":{"name":"floatingActionButtonWillOpen(_:)","abstract":"

    Is called before opening animation. Button state is .opening.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidOpen:":{"name":"floatingActionButtonDidOpen(_:)","abstract":"

    Is called after opening animation. Button state is .opened.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillClose:":{"name":"floatingActionButtonWillClose(_:)","abstract":"

    Is called before closing animation. Button state is .closing.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidClose:":{"name":"floatingActionButtonDidClose(_:)","abstract":"

    Is called after closing animation. Button state is .closed.

    ","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html":{"name":"JJFloatingActionButtonDelegate","abstract":"

    Floating action button delegate protocol

    "},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosed":{"name":"closed","abstract":"

    No items are visible

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpen":{"name":"open","abstract":"

    Items are fully visible

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpening":{"name":"opening","abstract":"

    During opening animation

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosing":{"name":"closing","abstract":"

    During closing animation

    ","parent_name":"JJFloatingActionButtonState"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeading":{"name":"leading","abstract":"

    Place the title at the leading edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTrailing":{"name":"trailing","abstract":"

    Place the title at the trailing edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeft":{"name":"left","abstract":"

    Place the title at the left edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionRight":{"name":"right","abstract":"

    Place the title at the right edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTop":{"name":"top","abstract":"

    Place the title at the top edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionBottom":{"name":"bottom","abstract":"

    Place the title at the bottom edge of the circle view.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionHidden":{"name":"hidden","abstract":"

    Hide the title all together.

    ","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html":{"name":"JJActionItemTitlePosition","abstract":"

    Action item title position.

    "},"Enums/JJFloatingActionButtonState.html":{"name":"JJFloatingActionButtonState","abstract":"

    Button state.

    "},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)delegate":{"name":"delegate","abstract":"

    The delegate object for the floating action button.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)items":{"name":"items","abstract":"

    The list of action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonColor":{"name":"buttonColor","abstract":"

    The background color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"

    The background color of the floating action button with highlighted state.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImage":{"name":"buttonImage","abstract":"

    The image displayed on the button by default.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageSize":{"name":"buttonImageSize","abstract":"

    The size of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageColor":{"name":"buttonImageColor","abstract":"

    The tint color of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonDiameter":{"name":"buttonDiameter","abstract":"

    The default diameter of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)itemSizeRatio":{"name":"itemSizeRatio","abstract":"

    The size of an action item in relation to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC28buttonAnimationConfigurationAA08JJButtoneF0Cvp":{"name":"buttonAnimationConfiguration","abstract":"

    The opening style of the floating action button itself.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC26itemAnimationConfigurationAA06JJItemeF0Cvp":{"name":"itemAnimationConfiguration","abstract":"

    The opening style of the action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)handleSingleActionDirectly":{"name":"handleSingleActionDirectly","abstract":"

    When enabled and only one action item is added, the floating action button will not open,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)closeAutomatically":{"name":"closeAutomatically","abstract":"

    When enabled, the floating action button will close after an action item was tapped,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonState":{"name":"buttonState","abstract":"

    The current state of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)circleView":{"name":"circleView","abstract":"

    The round background view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)imageView":{"name":"imageView","abstract":"

    The image view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)overlayView":{"name":"overlayView","abstract":"

    The overlay view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithFrame:":{"name":"init(frame:)","abstract":"

    Initializes and returns a newly allocated floating action button object with the specified frame rectangle.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithImage:action:":{"name":"init(image:action:)","abstract":"

    Initializes and returns a newly allocated floating action button object with the specified image and action.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)openWithAnimated:completion:":{"name":"open(animated:completion:)","abstract":"

    Open the floating action button and show all action items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)closeWithAnimated:completion:":{"name":"close(animated:completion:)","abstract":"

    Close the floating action button and hide all action items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInView:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inView:bottomInset:trailingInset:safeAreaInset:)","abstract":"

    Add floating action button to a given superview and place in trailing bottom corner.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInViewController:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inViewController:bottomInset:trailingInset:safeAreaInset:)","abstract":"

    Add floating action button to a view of a given view controller and place in trailing bottom corner.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItemWithTitle:image:action:":{"name":"addItem(title:image:action:)","abstract":"

    Add an action item with title, image and action to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItem:":{"name":"addItem(_:)","abstract":"

    Add an action item to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItem:":{"name":"removeItem(_:)","abstract":"

    Remove an action item from the list of items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItemAt:":{"name":"removeItem(at:)","abstract":"

    Remove and returns the action item at the specified position in the list of items.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)configureDefaultItem:":{"name":"configureDefaultItem(_:)","abstract":"

    Calls the given closure on each item that is or was added to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)enabledItems":{"name":"enabledItems","abstract":"

    All items that will be shown when floating action button is opened.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the action button draws a highlight.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the floating action button.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)updateConstraints":{"name":"updateConstraints()","abstract":"

    Updates constraints for the view.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Tells the view that its superview changed.

    ","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowColor":{"name":"shadowColor","abstract":"

    The shadow color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOffset":{"name":"shadowOffset","abstract":"

    The shadow offset of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOpacity":{"name":"shadowOpacity","abstract":"

    The shadow opacity of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowRadius":{"name":"shadowRadius","abstract":"

    The shadow radius of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)color":{"name":"color","abstract":"

    The color of the circle.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)highlightedColor":{"name":"highlightedColor","abstract":"

    The color of the circle when highlighted. Default is nil.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)isHighlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the circle view draws a highlight.","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)drawRect:":{"name":"draw(_:)","abstract":"

    Draws the receiver’s image within the passed-in rectangle","parent_name":"JJCircleView"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)action":{"name":"action","abstract":"

    The action that is executed when the item is tapped.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)callAction":{"name":"callAction()","abstract":"

    Calls the action on the action item.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonColor":{"name":"buttonColor","abstract":"

    The color of action item circle view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"

    The color of action item circle view with highlighted state.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImage":{"name":"buttonImage","abstract":"

    The image displayed by the item.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImageColor":{"name":"buttonImageColor","abstract":"

    The tint color of the image view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleLabel":{"name":"titleLabel","abstract":"

    The title label of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageView":{"name":"imageView","abstract":"

    The image view of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)circleView":{"name":"circleView","abstract":"

    The background circle of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titlePosition":{"name":"titlePosition","abstract":"

    The position of the title label. Default is .leading.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleSpacing":{"name":"titleSpacing","abstract":"

    The position of the title label. Default is -1.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageSize":{"name":"imageSize","abstract":"

    The size of the image view. Default is (0, 0).","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    Returns an object initialized from data in a given unarchiver.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Tells the view that its superview changed.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)updateConstraints":{"name":"updateConstraints()","abstract":"

    Updates constraints for the view.

    ","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(py)highlighted":{"name":"isHighlighted","abstract":"

    A Boolean value indicating whether the action item draws a highlight.

    ","parent_name":"JJActionItem"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(py)prepare":{"name":"prepare","abstract":"

    A closure that prepares a given action item for animation.

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(im)initWithPrepare:":{"name":"init(prepare:)","abstract":"

    Initializes and returns a newly allocated item preparation object with given prepare closure.

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)identity":{"name":"identity()","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)scaleBy:":{"name":"scale(by:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)offsetWithTranslationX:translationY:scale:":{"name":"offset(translationX:translationY:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)horizontalOffsetWithDistance:scale:":{"name":"horizontalOffset(distance:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)circularOffsetWithDistance:scale:":{"name":"circularOffset(distance:scale:)","abstract":"

    Returns an item preparation object that

    ","parent_name":"JJItemPreparation"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(py)layout":{"name":"layout","abstract":"

    A closure that defines the layout of given action items relative to an action button.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(im)initWithLayout:":{"name":"init(layout:)","abstract":"

    Initializes and returns a newly allocated item layout object with given layout closure.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)verticalLineWithInterItemSpacing:firstItemSpacing:":{"name":"verticalLine(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item layout object that places the items in a vertical line with given inter item spacing.

    ","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)circularWithRadius:":{"name":"circular(withRadius:)","abstract":"

    Returns an item layout object that places the items in a circle around the action button with given radius.

    ","parent_name":"JJItemLayout"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)opening":{"name":"opening","abstract":"

    Animation settings for opening animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closing":{"name":"closing","abstract":"

    Animation settings for closing animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)itemLayout":{"name":"itemLayout","abstract":"

    Defines the layout of the acton items when opened.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closedState":{"name":"closedState","abstract":"

    Configures the items before opening. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)openState":{"name":"openState","abstract":"

    Configures the items for open state. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)popUpWithInterItemSpacing:firstItemSpacing:":{"name":"popUp(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)slideInWithInterItemSpacing:firstItemSpacing:":{"name":"slideIn(withInterItemSpacing:firstItemSpacing:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularPopUpWithRadius:":{"name":"circularPopUp(withRadius:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularSlideInWithRadius:":{"name":"circularSlideIn(withRadius:)","abstract":"

    Returns an item animation configuration with

    ","parent_name":"JJItemAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO8rotationyA2EmF":{"name":"rotation","abstract":"

    Rotate button image to given angle.

    ","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO10transitionyA2EmF":{"name":"transition","abstract":"

    Transition to given image.

    ","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(im)initWithStyle:":{"name":"init(withStyle:)","abstract":"

    Initializes and returns a newly allocated button animation configuration object with the specified style.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html":{"name":"JJButtonAnimationStyle","abstract":"

    Button animation style

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)style":{"name":"style","abstract":"

    Button animation style","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)angle":{"name":"angle","abstract":"

    The angle in radian the button will rotate to when opening.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)image":{"name":"image","abstract":"

    The image button will transition to when opening.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)opening":{"name":"opening","abstract":"

    Animation settings for opening animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)closing":{"name":"closing","abstract":"

    Animation settings for closing animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)rotationToAngle:":{"name":"rotation(toAngle:)","abstract":"

    Returns a button animation configuration that rotates the button image by given angle.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)transitionToImage:":{"name":"transition(toImage:)","abstract":"

    Returns a button animation configuration that transitions to a given image.

    ","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)duration":{"name":"duration","abstract":"

    Duration of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)dampingRatio":{"name":"dampingRatio","abstract":"

    Damping ratio of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)initialVelocity":{"name":"initialVelocity","abstract":"

    Initial velocity of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)interItemDelay":{"name":"interItemDelay","abstract":"

    Delay in between two item animations.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(im)initWithDuration:dampingRatio:initialVelocity:interItemDelay:":{"name":"init(duration:dampingRatio:initialVelocity:interItemDelay:)","abstract":"

    Initializes and returns a newly allocated animation settings object with specified parameters.

    ","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html":{"name":"JJAnimationSettings","abstract":"

    General animation configuration settings

    "},"Classes/JJButtonAnimationConfiguration.html":{"name":"JJButtonAnimationConfiguration","abstract":"

    Button animation configuration

    "},"Classes/JJItemAnimationConfiguration.html":{"name":"JJItemAnimationConfiguration","abstract":"

    Item animation configuration

    "},"Classes/JJItemLayout.html":{"name":"JJItemLayout","abstract":"

    Item layout

    "},"Classes/JJItemPreparation.html":{"name":"JJItemPreparation","abstract":"

    Item preparation

    "},"Classes/JJActionItem.html":{"name":"JJActionItem","abstract":"

    The item view representing an action.

    "},"Classes/JJCircleView.html":{"name":"JJCircleView","abstract":"

    A colored circle with an highlighted state

    "},"Classes/JJFloatingActionButton.html":{"name":"JJFloatingActionButton","abstract":"

    A floating action button.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:22JJFloatingActionButton11JJItemAnglea":{"name":"JJItemAngle","abstract":"\u003cp\u003eA typealias representing a closure that calculates the angle for each item in a floating action button.\u003c/p\u003e"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillOpen:":{"name":"floatingActionButtonWillOpen(_:)","abstract":"\u003cp\u003eIs called before opening animation. Button state is .opening.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidOpen:":{"name":"floatingActionButtonDidOpen(_:)","abstract":"\u003cp\u003eIs called after opening animation. Button state is .opened.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonWillClose:":{"name":"floatingActionButtonWillClose(_:)","abstract":"\u003cp\u003eIs called before closing animation. Button state is .closing.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html#/c:@M@JJFloatingActionButton@objc(pl)JJFloatingActionButtonDelegate(im)floatingActionButtonDidClose:":{"name":"floatingActionButtonDidClose(_:)","abstract":"\u003cp\u003eIs called after closing animation. Button state is .closed.\u003c/p\u003e","parent_name":"JJFloatingActionButtonDelegate"},"Protocols/JJFloatingActionButtonDelegate.html":{"name":"JJFloatingActionButtonDelegate","abstract":"\u003cp\u003eFloating action button delegate protocol\u003c/p\u003e"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosed":{"name":"closed","abstract":"\u003cp\u003eNo items are visible\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpen":{"name":"open","abstract":"\u003cp\u003eItems are fully visible\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateOpening":{"name":"opening","abstract":"\u003cp\u003eDuring opening animation\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJFloatingActionButtonState.html#/c:@M@JJFloatingActionButton@E@JJFloatingActionButtonState@JJFloatingActionButtonStateClosing":{"name":"closing","abstract":"\u003cp\u003eDuring closing animation\u003c/p\u003e","parent_name":"JJFloatingActionButtonState"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeading":{"name":"leading","abstract":"\u003cp\u003ePlace the title at the leading edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTrailing":{"name":"trailing","abstract":"\u003cp\u003ePlace the title at the trailing edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionLeft":{"name":"left","abstract":"\u003cp\u003ePlace the title at the left edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionRight":{"name":"right","abstract":"\u003cp\u003ePlace the title at the right edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionTop":{"name":"top","abstract":"\u003cp\u003ePlace the title at the top edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionBottom":{"name":"bottom","abstract":"\u003cp\u003ePlace the title at the bottom edge of the circle view.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html#/c:@M@JJFloatingActionButton@E@JJActionItemTitlePosition@JJActionItemTitlePositionHidden":{"name":"hidden","abstract":"\u003cp\u003eHide the title all together.\u003c/p\u003e","parent_name":"JJActionItemTitlePosition"},"Enums/JJActionItemTitlePosition.html":{"name":"JJActionItemTitlePosition","abstract":"\u003cp\u003eAction item title position.\u003c/p\u003e"},"Enums/JJFloatingActionButtonState.html":{"name":"JJFloatingActionButtonState","abstract":"\u003cp\u003eButton state.\u003c/p\u003e"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)delegate":{"name":"delegate","abstract":"\u003cp\u003eThe delegate object for the floating action button.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)items":{"name":"items","abstract":"\u003cp\u003eThe list of action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonColor":{"name":"buttonColor","abstract":"\u003cp\u003eThe background color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"\u003cp\u003eThe background color of the floating action button with highlighted state.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImage":{"name":"buttonImage","abstract":"\u003cp\u003eThe image displayed on the button by default.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageSize":{"name":"buttonImageSize","abstract":"\u003cp\u003eThe size of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonImageColor":{"name":"buttonImageColor","abstract":"\u003cp\u003eThe tint color of the image view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonDiameter":{"name":"buttonDiameter","abstract":"\u003cp\u003eThe default diameter of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)itemSizeRatio":{"name":"itemSizeRatio","abstract":"\u003cp\u003eThe size of an action item in relation to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC28buttonAnimationConfigurationAA08JJButtoneF0Cvp":{"name":"buttonAnimationConfiguration","abstract":"\u003cp\u003eThe opening style of the floating action button itself.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/s:22JJFloatingActionButtonAAC26itemAnimationConfigurationAA06JJItemeF0Cvp":{"name":"itemAnimationConfiguration","abstract":"\u003cp\u003eThe opening style of the action items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)handleSingleActionDirectly":{"name":"handleSingleActionDirectly","abstract":"\u003cp\u003eWhen enabled and only one action item is added, the floating action button will not open,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)closeAutomatically":{"name":"closeAutomatically","abstract":"\u003cp\u003eWhen enabled, the floating action button will close after an action item was tapped,","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)buttonState":{"name":"buttonState","abstract":"\u003cp\u003eThe current state of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)circleView":{"name":"circleView","abstract":"\u003cp\u003eThe round background view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)imageView":{"name":"imageView","abstract":"\u003cp\u003eThe image view of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)overlayView":{"name":"overlayView","abstract":"\u003cp\u003eThe overlay view.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithFrame:":{"name":"init(frame:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated floating action button object with the specified frame rectangle.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@M@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)initWithImage:action:":{"name":"init(image:action:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated floating action button object with the specified image and action.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)openWithAnimated:completion:":{"name":"open(animated:completion:)","abstract":"\u003cp\u003eOpen the floating action button and show all action items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)closeWithAnimated:completion:":{"name":"close(animated:completion:)","abstract":"\u003cp\u003eClose the floating action button and hide all action items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInView:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inView:bottomInset:trailingInset:safeAreaInset:)","abstract":"\u003cp\u003eAdd floating action button to a given superview and place in trailing bottom corner.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)displayInViewController:bottomInset:trailingInset:safeAreaInset:":{"name":"display(inViewController:bottomInset:trailingInset:safeAreaInset:)","abstract":"\u003cp\u003eAdd floating action button to a view of a given view controller and place in trailing bottom corner.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItemWithTitle:image:action:":{"name":"addItem(title:image:action:)","abstract":"\u003cp\u003eAdd an action item with title, image and action to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)addItem:":{"name":"addItem(_:)","abstract":"\u003cp\u003eAdd an action item to the list of items.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItem:":{"name":"removeItem(_:)","abstract":"\u003cp\u003eRemove an action item from the list of items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)removeItemAt:":{"name":"removeItem(at:)","abstract":"\u003cp\u003eRemove and returns the action item at the specified position in the list of items.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)configureDefaultItem:":{"name":"configureDefaultItem(_:)","abstract":"\u003cp\u003eCalls the given closure on each item that is or was added to the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)enabledItems":{"name":"enabledItems","abstract":"\u003cp\u003eAll items that will be shown when floating action button is opened.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)highlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the action button draws a highlight.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"\u003cp\u003eThe natural size for the floating action button.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)updateConstraints":{"name":"updateConstraints()","abstract":"\u003cp\u003eUpdates constraints for the view.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"\u003cp\u003eTells the view that its superview changed.\u003c/p\u003e","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowColor":{"name":"shadowColor","abstract":"\u003cp\u003eThe shadow color of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOffset":{"name":"shadowOffset","abstract":"\u003cp\u003eThe shadow offset of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowOpacity":{"name":"shadowOpacity","abstract":"\u003cp\u003eThe shadow opacity of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJFloatingActionButton.html#/c:@CM@JJFloatingActionButton@objc(cs)JJFloatingActionButton(py)shadowRadius":{"name":"shadowRadius","abstract":"\u003cp\u003eThe shadow radius of the floating action button.","parent_name":"JJFloatingActionButton"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)color":{"name":"color","abstract":"\u003cp\u003eThe color of the circle.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)highlightedColor":{"name":"highlightedColor","abstract":"\u003cp\u003eThe color of the circle when highlighted. Default is \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(py)isHighlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the circle view draws a highlight.","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJCircleView"},"Classes/JJCircleView.html#/c:@M@JJFloatingActionButton@objc(cs)JJCircleView(im)drawRect:":{"name":"draw(_:)","abstract":"\u003cp\u003eDraws the receiver’s image within the passed-in rectangle","parent_name":"JJCircleView"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)action":{"name":"action","abstract":"\u003cp\u003eThe action that is executed when the item is tapped.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)callAction":{"name":"callAction()","abstract":"\u003cp\u003eCalls the action on the action item.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonColor":{"name":"buttonColor","abstract":"\u003cp\u003eThe color of action item circle view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)highlightedButtonColor":{"name":"highlightedButtonColor","abstract":"\u003cp\u003eThe color of action item circle view with highlighted state.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImage":{"name":"buttonImage","abstract":"\u003cp\u003eThe image displayed by the item.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)buttonImageColor":{"name":"buttonImageColor","abstract":"\u003cp\u003eThe tint color of the image view.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleLabel":{"name":"titleLabel","abstract":"\u003cp\u003eThe title label of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageView":{"name":"imageView","abstract":"\u003cp\u003eThe image view of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)circleView":{"name":"circleView","abstract":"\u003cp\u003eThe background circle of the item. Can be configured as needed.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titlePosition":{"name":"titlePosition","abstract":"\u003cp\u003eThe position of the title label. Default is \u003ccode\u003e.leading\u003c/code\u003e.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)titleSpacing":{"name":"titleSpacing","abstract":"\u003cp\u003eThe position of the title label. Default is \u003ccode\u003e-1\u003c/code\u003e.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(py)imageSize":{"name":"imageSize","abstract":"\u003cp\u003eThe size of the image view. Default is \u003ccode\u003e(0, 0)\u003c/code\u003e.","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@M@JJFloatingActionButton@objc(cs)JJActionItem(im)initWithCoder:":{"name":"init(coder:)","abstract":"\u003cp\u003eReturns an object initialized from data in a given unarchiver.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"\u003cp\u003eTells the view that its superview changed.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(im)updateConstraints":{"name":"updateConstraints()","abstract":"\u003cp\u003eUpdates constraints for the view.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJActionItem.html#/c:@CM@JJFloatingActionButton@objc(cs)JJActionItem(py)highlighted":{"name":"isHighlighted","abstract":"\u003cp\u003eA Boolean value indicating whether the action item draws a highlight.\u003c/p\u003e","parent_name":"JJActionItem"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(py)prepare":{"name":"prepare","abstract":"\u003cp\u003eA closure that prepares a given action item for animation.\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(im)initWithPrepare:":{"name":"init(prepare:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated item preparation object with given prepare closure.\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)identity":{"name":"identity()","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)scaleBy:":{"name":"scale(by:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)offsetWithTranslationX:translationY:scale:":{"name":"offset(translationX:translationY:scale:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)horizontalOffsetWithDistance:scale:":{"name":"horizontalOffset(distance:scale:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemPreparation.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemPreparation(cm)circularOffsetWithDistance:scale:angleForItem:":{"name":"circularOffset(distance:scale:angleForItem:)","abstract":"\u003cp\u003eReturns an item preparation object that\u003c/p\u003e","parent_name":"JJItemPreparation"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(py)layout":{"name":"layout","abstract":"\u003cp\u003eA closure that defines the layout of given action items relative to an action button.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(im)initWithLayout:":{"name":"init(layout:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated item layout object with given layout closure.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)verticalLineWithInterItemSpacing:firstItemSpacing:":{"name":"verticalLine(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item layout object that places the items in a vertical line with given inter item spacing.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemLayout.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemLayout(cm)circularWithRadius:angleForItem:":{"name":"circular(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item layout object that places the items in a circle around the action button with given radius.\u003c/p\u003e","parent_name":"JJItemLayout"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)opening":{"name":"opening","abstract":"\u003cp\u003eAnimation settings for opening animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closing":{"name":"closing","abstract":"\u003cp\u003eAnimation settings for closing animation.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)itemLayout":{"name":"itemLayout","abstract":"\u003cp\u003eDefines the layout of the acton items when opened.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)closedState":{"name":"closedState","abstract":"\u003cp\u003eConfigures the items before opening. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(py)openState":{"name":"openState","abstract":"\u003cp\u003eConfigures the items for open state. The change from open to closed state is animated.","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)popUpWithInterItemSpacing:firstItemSpacing:":{"name":"popUp(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)slideInWithInterItemSpacing:firstItemSpacing:":{"name":"slideIn(withInterItemSpacing:firstItemSpacing:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularPopUpWithRadius:angleForItem:":{"name":"circularPopUp(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)circularSlideInWithRadius:angleForItem:":{"name":"circularSlideIn(withRadius:angleForItem:)","abstract":"\u003cp\u003eReturns an item animation configuration with\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJItemAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJItemAnimationConfiguration(cm)angleForItemAt:numberOfItems:actionButton:":{"name":"angleForItem(at:numberOfItems:actionButton:)","abstract":"\u003cp\u003eCalculates the angle for the item at the specified index in the floating action button.\u003c/p\u003e","parent_name":"JJItemAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO8rotationyA2EmF":{"name":"rotation","abstract":"\u003cp\u003eRotate button image to given angle.\u003c/p\u003e","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html#/s:22JJFloatingActionButton30JJButtonAnimationConfigurationC0dE5StyleO10transitionyA2EmF":{"name":"transition","abstract":"\u003cp\u003eTransition to given image.\u003c/p\u003e","parent_name":"JJButtonAnimationStyle"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(im)initWithStyle:":{"name":"init(withStyle:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated button animation configuration object with the specified style.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration/JJButtonAnimationStyle.html":{"name":"JJButtonAnimationStyle","abstract":"\u003cp\u003eButton animation style\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)style":{"name":"style","abstract":"\u003cp\u003eButton animation style","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)angle":{"name":"angle","abstract":"\u003cp\u003eThe angle in radian the button will rotate to when opening.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)image":{"name":"image","abstract":"\u003cp\u003eThe image button will transition to when opening.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)opening":{"name":"opening","abstract":"\u003cp\u003eAnimation settings for opening animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@M@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(py)closing":{"name":"closing","abstract":"\u003cp\u003eAnimation settings for closing animation.","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)rotationToAngle:":{"name":"rotation(toAngle:)","abstract":"\u003cp\u003eReturns a button animation configuration that rotates the button image by given angle.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJButtonAnimationConfiguration.html#/c:@CM@JJFloatingActionButton@objc(cs)JJButtonAnimationConfiguration(cm)transitionToImage:":{"name":"transition(toImage:)","abstract":"\u003cp\u003eReturns a button animation configuration that transitions to a given image.\u003c/p\u003e","parent_name":"JJButtonAnimationConfiguration"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)duration":{"name":"duration","abstract":"\u003cp\u003eDuration of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)dampingRatio":{"name":"dampingRatio","abstract":"\u003cp\u003eDamping ratio of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)initialVelocity":{"name":"initialVelocity","abstract":"\u003cp\u003eInitial velocity of the animation.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(py)interItemDelay":{"name":"interItemDelay","abstract":"\u003cp\u003eDelay in between two item animations.","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html#/c:@M@JJFloatingActionButton@objc(cs)JJAnimationSettings(im)initWithDuration:dampingRatio:initialVelocity:interItemDelay:":{"name":"init(duration:dampingRatio:initialVelocity:interItemDelay:)","abstract":"\u003cp\u003eInitializes and returns a newly allocated animation settings object with specified parameters.\u003c/p\u003e","parent_name":"JJAnimationSettings"},"Classes/JJAnimationSettings.html":{"name":"JJAnimationSettings","abstract":"\u003cp\u003eGeneral animation configuration settings\u003c/p\u003e"},"Classes/JJButtonAnimationConfiguration.html":{"name":"JJButtonAnimationConfiguration","abstract":"\u003cp\u003eButton animation configuration\u003c/p\u003e"},"Classes/JJItemAnimationConfiguration.html":{"name":"JJItemAnimationConfiguration","abstract":"\u003cp\u003eItem animation configuration\u003c/p\u003e"},"Classes/JJItemLayout.html":{"name":"JJItemLayout","abstract":"\u003cp\u003eItem layout\u003c/p\u003e"},"Classes/JJItemPreparation.html":{"name":"JJItemPreparation","abstract":"\u003cp\u003eItem preparation\u003c/p\u003e"},"Classes/JJActionItem.html":{"name":"JJActionItem","abstract":"\u003cp\u003eThe item view representing an action.\u003c/p\u003e"},"Classes/JJCircleView.html":{"name":"JJCircleView","abstract":"\u003cp\u003eA colored circle with an highlighted state\u003c/p\u003e"},"Classes/JJFloatingActionButton.html":{"name":"JJFloatingActionButton","abstract":"\u003cp\u003eA floating action button.\u003c/p\u003e"},"Classes.html":{"name":"Classes","abstract":"\u003cp\u003eThe following classes are available globally.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"},"Typealiases.html":{"name":"Type Aliases","abstract":"\u003cp\u003eThe following type aliases are available globally.\u003c/p\u003e"}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index fc2e5b20..4c0150d2 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -2,5 +2,5 @@ "warnings": [ ], - "source_directory": "/Users/distiller/project" + "source_directory": "/Users/jochen/Developer/esanum/JJFloatingActionButton" } \ No newline at end of file