├── .github
├── ISSUE_TEMPLATE
│ ├── bug-report.md
│ └── feature-request.md
└── workflows
│ └── swift.yml
├── .gitignore
├── Assets
├── CarouselStack-Demo.gif
├── Previews
│ ├── CarouselStack-Preview.gif
│ ├── ShuffleDeck-Preview.gif
│ └── ShuffleStack-Preview.gif
├── ShuffleDeck-Demo.gif
├── ShuffleIt.png
└── ShuffleStack-Demo.gif
├── Demo
├── Demo.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Demo
│ ├── App
│ ├── DemoApp.swift
│ └── MainView.swift
│ ├── Components
│ ├── LandmarkCard.swift
│ ├── SneakerCard.swift
│ └── SneakerItemRow.swift
│ ├── Demos
│ ├── CarouselStack
│ │ └── Scenes
│ │ │ └── CarouselStackDemoView.swift
│ ├── ShuffleDeck
│ │ └── Scenes
│ │ │ └── ShuffleDeckDemoView.swift
│ └── ShuffleStack
│ │ └── Scenes
│ │ ├── ShuffleStackDemoView.swift
│ │ └── TimingShuffleStackDemoView.swift
│ ├── Extensions
│ └── Color+Extension.swift
│ ├── Models
│ ├── Landmark.swift
│ └── Sneaker.swift
│ ├── Resources
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 128.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 16.png
│ │ │ ├── 167.png
│ │ │ ├── 172.png
│ │ │ ├── 180.png
│ │ │ ├── 196.png
│ │ │ ├── 20.png
│ │ │ ├── 216.png
│ │ │ ├── 256.png
│ │ │ ├── 29.png
│ │ │ ├── 32.png
│ │ │ ├── 40.png
│ │ │ ├── 48.png
│ │ │ ├── 50.png
│ │ │ ├── 512.png
│ │ │ ├── 55.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 64.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ ├── 88.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── landmarks
│ │ │ ├── Contents.json
│ │ │ ├── christ_the_redeemer.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── christ_the_redeemer.svg
│ │ │ ├── eiffel_tower.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── eiffel_tower.svg
│ │ │ ├── great_wall_of_china.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── great_wall_of_china.svg
│ │ │ ├── merlion_statue.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── merlion_statue.svg
│ │ │ ├── niagara_falls.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── niagara_falls.svg
│ │ │ ├── petronas_towers.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── petronas_towers.svg
│ │ │ ├── shwedagon_pagoda.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── shwedagon_pagoda.svg
│ │ │ ├── sphinx_statue.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── sphinx.svg
│ │ │ └── statue_of_liberty.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── statue_of_liberty.svg
│ │ ├── shuffle-it-logo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── swift-theming-logo-with-text 1.png
│ │ │ ├── swift-theming-logo-with-text 1@2x.png
│ │ │ └── swift-theming-logo-with-text 1@3x.png
│ │ └── sneakers
│ │ │ ├── Contents.json
│ │ │ ├── air-force-1-mid.imageset
│ │ │ ├── Contents.json
│ │ │ └── air-force-1-mid.png
│ │ │ ├── air-forces
│ │ │ ├── Contents.json
│ │ │ ├── air-force1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-force1.svg
│ │ │ ├── air-force2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-force2.svg
│ │ │ ├── air-force3.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-force3.svg
│ │ │ ├── air-force4.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-force4.svg
│ │ │ └── air-force5.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-force5.svg
│ │ │ ├── air-jordan-1.imageset
│ │ │ ├── Contents.json
│ │ │ └── air-jordan-1.png
│ │ │ ├── air-jordans
│ │ │ ├── Contents.json
│ │ │ ├── air-jordan1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-jorden1.svg
│ │ │ ├── air-jordan2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-jorden2.svg
│ │ │ └── air-jordan3.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-jorden3.svg
│ │ │ ├── air-trainer-sc-high.imageset
│ │ │ ├── Contents.json
│ │ │ └── air-trainer-sc-high.png
│ │ │ ├── air-trainers
│ │ │ ├── Contents.json
│ │ │ ├── air-trainer1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-trainer1.svg
│ │ │ └── air-trainer2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── air-trainer2.svg
│ │ │ ├── dunk-high-retro-premium.imageset
│ │ │ ├── Contents.json
│ │ │ └── dunk-high-retro-premium.png
│ │ │ ├── dunk-high-vintage.imageset
│ │ │ ├── Contents.json
│ │ │ └── dunk-high-vintage.png
│ │ │ ├── kyrie-infinity.imageset
│ │ │ ├── Contents.json
│ │ │ └── kyrie-infinity.png
│ │ │ ├── kyrie-infiniy
│ │ │ ├── Contents.json
│ │ │ ├── kyrie-infinity1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── kyrie-infinity1.svg
│ │ │ └── kyrie-infinity2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── kyrie-infinity2.svg
│ │ │ ├── nike-air-presto.imageset
│ │ │ ├── Contents.json
│ │ │ └── nike-air-presto.png
│ │ │ ├── prestos
│ │ │ ├── Contents.json
│ │ │ ├── presto1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── presto1.svg
│ │ │ └── presto2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── presto2.svg
│ │ │ ├── retros
│ │ │ ├── Contents.json
│ │ │ ├── retro1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── retro1.svg
│ │ │ └── retro2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── retro2.svg
│ │ │ └── vintages
│ │ │ ├── Contents.json
│ │ │ ├── vintage1.imageset
│ │ │ ├── Contents.json
│ │ │ └── vintage1.svg
│ │ │ ├── vintage2.imageset
│ │ │ ├── Contents.json
│ │ │ └── vintage2.svg
│ │ │ ├── vintage3.imageset
│ │ │ ├── Contents.json
│ │ │ └── vintage3.svg
│ │ │ └── vintage4.imageset
│ │ │ ├── Contents.json
│ │ │ └── retro2.svg
│ ├── Json
│ │ ├── Landmarks.json
│ │ └── Sneakers.json
│ └── Launch Screen.storyboard
│ └── ViewModifier
│ └── DragGestureViewModifier.swift
├── LICENSE
├── Package.swift
├── README.md
├── Sources
├── CarouselStack
│ ├── EnvironmentValues
│ │ ├── CarouselAnimation.swift
│ │ ├── CarouselContext.swift
│ │ ├── CarouselDisabled.swift
│ │ ├── CarouselPadding.swift
│ │ ├── CarouselScale.swift
│ │ ├── CarouselSpacing.swift
│ │ ├── CarouselStyle.swift
│ │ ├── CarouselTranslation.swift
│ │ └── CarouselTrigger.swift
│ ├── Extensions
│ │ └── CarouselStack+View.swift
│ └── View
│ │ ├── CarouselStack+Content.swift
│ │ ├── CarouselStack+Data.swift
│ │ ├── CarouselStack+Gesture.swift
│ │ ├── CarouselStack+Sliding.swift
│ │ └── CarouselStack.swift
├── ShuffleDeck
│ ├── EnvironmentValues
│ │ ├── ShuffleDeckAnimation.swift
│ │ ├── ShuffleDeckContext.swift
│ │ ├── ShuffleDeckDisabled.swift
│ │ ├── ShuffleDeckScale.swift
│ │ ├── ShuffleDeckStyle.swift
│ │ ├── ShuffleDeckTranslation.swift
│ │ └── ShuffleDeckTrigger.swift
│ ├── Extensions
│ │ └── ShuffleDeck+View.swift
│ └── View
│ │ ├── ShuffleDeck+Content.swift
│ │ ├── ShuffleDeck+Data.swift
│ │ ├── ShuffleDeck+Gesture.swift
│ │ ├── ShuffleDeck+Shuffling.swift
│ │ └── ShuffleDeck.swift
├── ShuffleIt
│ ├── CarouselStack
│ ├── ShuffleDeck
│ ├── ShuffleIt.docc
│ │ ├── Resources
│ │ │ └── ShuffleIt.png
│ │ └── ShuffleIt.md
│ └── ShuffleStack
├── ShuffleItForTest
│ ├── CarouselStack
│ ├── ShuffleDeck
│ └── ShuffleStack
├── ShuffleStack
│ ├── EnvironmentValues
│ │ ├── ShuffleAnimation.swift
│ │ ├── ShuffleContext.swift
│ │ ├── ShuffleDiabled.swift
│ │ ├── ShuffleOffset.swift
│ │ ├── ShufflePadding.swift
│ │ ├── ShuffleScale.swift
│ │ ├── ShuffleStyle.swift
│ │ ├── ShuffleTranslation.swift
│ │ └── ShuffleTrigger.swift
│ ├── Extensions
│ │ └── ShuffleStack+View.swift
│ └── View
│ │ ├── ShuffleStack+Content.swift
│ │ ├── ShuffleStack+Data.swift
│ │ ├── ShuffleStack+Gesture.swift
│ │ ├── ShuffleStack+Shuffling.swift
│ │ └── ShuffleStack.swift
├── Utils
│ ├── Extensions
│ │ └── RandomAccessCollection+Extension.swift
│ └── PreferenceKeys
│ │ └── SizePreferenceKey.swift
└── UtilsForTest
│ └── Inspection.swift
├── Tests
└── ShuffleItTests
│ ├── CarouselStack
│ ├── CarouselStackGestureTests.swift
│ ├── CarouselStackShufflingTests.swift
│ └── CarouselStackTests.swift
│ ├── ShuffleDeck
│ ├── ShuffleDeckGestureTests.swift
│ ├── ShuffleDeckSlidingTests.swift
│ └── ShuffleDeckTests.swift
│ ├── ShuffleStack
│ ├── ShuffleStackGestureTests.swift
│ ├── ShuffleStackShufflingTests.swift
│ └── ShuffleStackTests.swift
│ └── Utils
│ ├── BaseTestCase.swift
│ ├── ColorView.swift
│ └── ValueSpy.swift
├── codecov.yaml
└── docs
├── css
├── documentation-topic.3bca6578.css
├── documentation-topic~topic~tutorials-overview.82acfe22.css
├── index.12bb178a.css
├── topic.ee15af52.css
└── tutorials-overview.06e8bcf7.css
├── data
└── documentation
│ ├── shuffleit.json
│ └── shuffleit
│ ├── carouselanimation.json
│ ├── carouselanimation
│ ├── !=(_:_:).json
│ ├── easein.json
│ ├── easeinout.json
│ ├── easeout.json
│ ├── equatable-implementations.json
│ └── linear.json
│ ├── carouselcontext.json
│ ├── carouselcontext
│ ├── direction.json
│ ├── index.json
│ └── previousindex.json
│ ├── carouseldirection.json
│ ├── carouseldirection
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── left.json
│ └── right.json
│ ├── carouselstack.json
│ ├── carouselstack
│ ├── accentcolor(_:).json
│ ├── accessibility(activationpoint:)-4y62.json
│ ├── accessibility(activationpoint:)-695kx.json
│ ├── accessibility(addtraits:).json
│ ├── accessibility(hidden:).json
│ ├── accessibility(hint:).json
│ ├── accessibility(identifier:).json
│ ├── accessibility(inputlabels:).json
│ ├── accessibility(label:).json
│ ├── accessibility(removetraits:).json
│ ├── accessibility(selectionidentifier:).json
│ ├── accessibility(sortpriority:).json
│ ├── accessibility(value:).json
│ ├── accessibilityaction(_:_:).json
│ ├── accessibilityaction(action:label:).json
│ ├── accessibilityaction(named:_:)-3lqsr.json
│ ├── accessibilityaction(named:_:)-69c69.json
│ ├── accessibilityaction(named:_:)-rgyh.json
│ ├── accessibilityactivationpoint(_:)-5bbv5.json
│ ├── accessibilityactivationpoint(_:)-8dokx.json
│ ├── accessibilityaddtraits(_:).json
│ ├── accessibilityadjustableaction(_:).json
│ ├── accessibilitychartdescriptor(_:).json
│ ├── accessibilitychildren(children:).json
│ ├── accessibilitycustomcontent(_:_:importance:)-1586n.json
│ ├── accessibilitycustomcontent(_:_:importance:)-1u9b5.json
│ ├── accessibilitycustomcontent(_:_:importance:)-3t2kq.json
│ ├── accessibilitycustomcontent(_:_:importance:)-46frq.json
│ ├── accessibilitycustomcontent(_:_:importance:)-47g1f.json
│ ├── accessibilitycustomcontent(_:_:importance:)-5xqqc.json
│ ├── accessibilitycustomcontent(_:_:importance:)-8rfm7.json
│ ├── accessibilitycustomcontent(_:_:importance:)-9cou3.json
│ ├── accessibilityelement(children:).json
│ ├── accessibilityfocused(_:).json
│ ├── accessibilityfocused(_:equals:).json
│ ├── accessibilityheading(_:).json
│ ├── accessibilityhidden(_:).json
│ ├── accessibilityhint(_:)-2j7te.json
│ ├── accessibilityhint(_:)-37ope.json
│ ├── accessibilityhint(_:)-7yi0h.json
│ ├── accessibilityidentifier(_:).json
│ ├── accessibilityignoresinvertcolors(_:).json
│ ├── accessibilityinputlabels(_:)-3feba.json
│ ├── accessibilityinputlabels(_:)-3p703.json
│ ├── accessibilityinputlabels(_:)-95tn0.json
│ ├── accessibilitylabel(_:)-2tohn.json
│ ├── accessibilitylabel(_:)-755g2.json
│ ├── accessibilitylabel(_:)-8bin6.json
│ ├── accessibilitylabeledpair(role:id:in:).json
│ ├── accessibilitylinkedgroup(id:in:).json
│ ├── accessibilityremovetraits(_:).json
│ ├── accessibilityrepresentation(representation:).json
│ ├── accessibilityrespondstouserinteraction(_:).json
│ ├── accessibilityrotor(_:entries:)-1c2au.json
│ ├── accessibilityrotor(_:entries:)-4pacb.json
│ ├── accessibilityrotor(_:entries:)-4w7j0.json
│ ├── accessibilityrotor(_:entries:)-825mo.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1w44t.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-4vvcg.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-5gz2c.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-utor.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-25t4x.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-3evdd.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-4e9vu.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-59b0s.json
│ ├── accessibilityrotor(_:textranges:)-25npe.json
│ ├── accessibilityrotor(_:textranges:)-3d2p8.json
│ ├── accessibilityrotor(_:textranges:)-4jxor.json
│ ├── accessibilityrotor(_:textranges:)-9sgga.json
│ ├── accessibilityrotorentry(id:in:).json
│ ├── accessibilityscrollaction(_:).json
│ ├── accessibilityshowslargecontentviewer().json
│ ├── accessibilityshowslargecontentviewer(_:).json
│ ├── accessibilitysortpriority(_:).json
│ ├── accessibilitytextcontenttype(_:).json
│ ├── accessibilityvalue(_:)-5fw6g.json
│ ├── accessibilityvalue(_:)-5y8gy.json
│ ├── accessibilityvalue(_:)-8ihs6.json
│ ├── alert(_:ispresented:actions:)-1q2gb.json
│ ├── alert(_:ispresented:actions:)-76wk8.json
│ ├── alert(_:ispresented:actions:)-7wghk.json
│ ├── alert(_:ispresented:actions:message:)-5s7hn.json
│ ├── alert(_:ispresented:actions:message:)-9a4q7.json
│ ├── alert(_:ispresented:actions:message:)-f5o2.json
│ ├── alert(_:ispresented:presenting:actions:)-4edmo.json
│ ├── alert(_:ispresented:presenting:actions:)-4uw7u.json
│ ├── alert(_:ispresented:presenting:actions:)-8axxo.json
│ ├── alert(_:ispresented:presenting:actions:message:)-226oe.json
│ ├── alert(_:ispresented:presenting:actions:message:)-4tvm3.json
│ ├── alert(_:ispresented:presenting:actions:message:)-7b0gl.json
│ ├── alert(ispresented:content:).json
│ ├── alert(ispresented:error:actions:).json
│ ├── alert(ispresented:error:actions:message:).json
│ ├── alert(item:content:).json
│ ├── alignmentguide(_:computevalue:)-4r6p.json
│ ├── alignmentguide(_:computevalue:)-8e6vc.json
│ ├── allowshittesting(_:).json
│ ├── allowstightening(_:).json
│ ├── anchorpreference(key:value:transform:).json
│ ├── animation(_:).json
│ ├── animation(_:value:).json
│ ├── aspectratio(_:contentmode:)-72t0z.json
│ ├── aspectratio(_:contentmode:)-8gir9.json
│ ├── background(_:alignment:).json
│ ├── background(_:ignoressafeareaedges:).json
│ ├── background(_:in:fillstyle:)-4hb5h.json
│ ├── background(_:in:fillstyle:)-5xuxn.json
│ ├── background(alignment:content:).json
│ ├── background(ignoressafeareaedges:).json
│ ├── background(in:fillstyle:)-2lcq8.json
│ ├── background(in:fillstyle:)-6gtsb.json
│ ├── backgroundpreferencevalue(_:_:).json
│ ├── badge(_:)-10ceg.json
│ ├── badge(_:)-6ah2.json
│ ├── badge(_:)-7kz0m.json
│ ├── badge(_:)-8lj4d.json
│ ├── blendmode(_:).json
│ ├── blur(radius:opaque:).json
│ ├── body.json
│ ├── border(_:width:).json
│ ├── brightness(_:).json
│ ├── buttonbordershape(_:).json
│ ├── buttonstyle(_:)-6awhx.json
│ ├── buttonstyle(_:)-8ljh4.json
│ ├── carouselanimation(_:).json
│ ├── carouseldisabled(_:).json
│ ├── carouselpadding(_:).json
│ ├── carouselscale(_:).json
│ ├── carouselspacing(_:).json
│ ├── carouselstyle(_:).json
│ ├── carouseltrigger(on:).json
│ ├── clipped(antialiased:).json
│ ├── clipshape(_:style:).json
│ ├── colorinvert().json
│ ├── colormultiply(_:).json
│ ├── colorscheme(_:).json
│ ├── compositinggroup().json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-1uzrt.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-5d29j.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-718e5.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-65zoh.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-951t3.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-9yu7k.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-1ji6h.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-4fi9z.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-51cln.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-2m470.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-9o8j.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-g5bx.json
│ ├── containershape(_:).json
│ ├── contentshape(_:_:eofill:).json
│ ├── contentshape(_:eofill:).json
│ ├── contextmenu(_:).json
│ ├── contextmenu(menuitems:).json
│ ├── contrast(_:).json
│ ├── controlgroupstyle(_:).json
│ ├── controlsize(_:).json
│ ├── coordinatespace(name:).json
│ ├── cornerradius(_:antialiased:).json
│ ├── datepickerstyle(_:).json
│ ├── defaultappstorage(_:).json
│ ├── deletedisabled(_:).json
│ ├── disableautocorrection(_:).json
│ ├── disabled(_:).json
│ ├── drawinggroup(opaque:colormode:).json
│ ├── dynamictypesize(_:).json
│ ├── edgesignoringsafearea(_:).json
│ ├── environment(_:_:).json
│ ├── environmentobject(_:).json
│ ├── exportsitemproviders(_:onexport:).json
│ ├── exportsitemproviders(_:onexport:onedit:).json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-2xo1j.json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-5w70m.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-9dfyf.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-vkdb.json
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:).json
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:).json
│ ├── filemover(ispresented:file:oncompletion:).json
│ ├── filemover(ispresented:files:oncompletion:).json
│ ├── fixedsize().json
│ ├── fixedsize(horizontal:vertical:).json
│ ├── flipsforrighttoleftlayoutdirection(_:).json
│ ├── focusable(_:).json
│ ├── focusable(_:onfocuschange:).json
│ ├── focused(_:).json
│ ├── focused(_:equals:).json
│ ├── focusedscenevalue(_:_:).json
│ ├── focusedvalue(_:_:).json
│ ├── focusscope(_:).json
│ ├── font(_:).json
│ ├── foregroundcolor(_:).json
│ ├── foregroundstyle(_:).json
│ ├── foregroundstyle(_:_:).json
│ ├── foregroundstyle(_:_:_:).json
│ ├── frame().json
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:).json
│ ├── frame(width:height:alignment:).json
│ ├── gesture(_:including:).json
│ ├── grayscale(_:).json
│ ├── groupboxstyle(_:).json
│ ├── handlesexternalevents(preferring:allowing:).json
│ ├── headerprominence(_:).json
│ ├── help(_:)-1f2w4.json
│ ├── help(_:)-1g6m4.json
│ ├── help(_:)-9mw1c.json
│ ├── hidden().json
│ ├── highprioritygesture(_:including:).json
│ ├── horizontalradiogrouplayout().json
│ ├── huerotation(_:).json
│ ├── id(_:).json
│ ├── ignoressafearea(_:edges:).json
│ ├── imagescale(_:).json
│ ├── importsitemproviders(_:onimport:).json
│ ├── init(_:initialindex:content:)-70npt.json
│ ├── init(_:initialindex:content:)-7edjn.json
│ ├── interactivedismissdisabled(_:).json
│ ├── itemprovider(_:).json
│ ├── keyboardshortcut(_:)-2vfia.json
│ ├── keyboardshortcut(_:)-6bxt2.json
│ ├── keyboardshortcut(_:modifiers:).json
│ ├── keyboardshortcut(_:modifiers:localization:).json
│ ├── labelshidden().json
│ ├── labelstyle(_:).json
│ ├── layoutpriority(_:).json
│ ├── linelimit(_:).json
│ ├── linespacing(_:).json
│ ├── listitemtint(_:)-9yojl.json
│ ├── listitemtint(_:)-w4ry.json
│ ├── listrowbackground(_:).json
│ ├── listrowinsets(_:).json
│ ├── liststyle(_:).json
│ ├── luminancetoalpha().json
│ ├── mask(_:).json
│ ├── mask(alignment:_:).json
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:).json
│ ├── menubuttonstyle(_:).json
│ ├── menuindicator(_:).json
│ ├── menustyle(_:).json
│ ├── minimumscalefactor(_:).json
│ ├── modifier(_:).json
│ ├── monospaceddigit().json
│ ├── movedisabled(_:).json
│ ├── multilinetextalignment(_:).json
│ ├── navigationsubtitle(_:)-10991.json
│ ├── navigationsubtitle(_:)-7xq4j.json
│ ├── navigationsubtitle(_:)-8lv93.json
│ ├── navigationtitle(_:)-544cp.json
│ ├── navigationtitle(_:)-5xkgg.json
│ ├── navigationtitle(_:)-7209e.json
│ ├── navigationtitle(_:)-8mmxy.json
│ ├── navigationviewstyle(_:).json
│ ├── offset(_:).json
│ ├── offset(x:y:).json
│ ├── onappear(perform:).json
│ ├── oncarousel(_:).json
│ ├── oncarouseltranslation(_:).json
│ ├── onchange(of:perform:).json
│ ├── oncommand(_:perform:).json
│ ├── oncontinueuseractivity(_:perform:).json
│ ├── oncopycommand(perform:).json
│ ├── oncutcommand(perform:).json
│ ├── ondeletecommand(perform:).json
│ ├── ondisappear(perform:).json
│ ├── ondrag(_:).json
│ ├── ondrag(_:preview:).json
│ ├── ondrop(of:delegate:)-2phlc.json
│ ├── ondrop(of:delegate:)-5rv2.json
│ ├── ondrop(of:istargeted:perform:)-1ne0m.json
│ ├── ondrop(of:istargeted:perform:)-2dbsa.json
│ ├── ondrop(of:istargeted:perform:)-3z0u6.json
│ ├── ondrop(of:istargeted:perform:)-7mvpm.json
│ ├── onexitcommand(perform:).json
│ ├── onhover(perform:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:).json
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:pressing:perform:).json
│ ├── onmovecommand(perform:).json
│ ├── onopenurl(perform:).json
│ ├── onpastecommand(of:perform:)-27ier.json
│ ├── onpastecommand(of:perform:)-2cj5d.json
│ ├── onpastecommand(of:validator:perform:)-18sg7.json
│ ├── onpastecommand(of:validator:perform:)-1ws2h.json
│ ├── onplaypausecommand(perform:).json
│ ├── onpreferencechange(_:perform:).json
│ ├── onreceive(_:perform:).json
│ ├── onshuffle(_:).json
│ ├── onshuffledeck(_:).json
│ ├── onshuffledecktranslation(_:).json
│ ├── onshuffletranslation(_:).json
│ ├── onsubmit(of:_:).json
│ ├── ontapgesture(count:perform:).json
│ ├── opacity(_:).json
│ ├── overlay(_:alignment:).json
│ ├── overlay(_:ignoressafeareaedges:).json
│ ├── overlay(_:in:fillstyle:).json
│ ├── overlay(alignment:content:).json
│ ├── overlaypreferencevalue(_:_:).json
│ ├── padding(_:)-254fg.json
│ ├── padding(_:)-h9m6.json
│ ├── padding(_:_:).json
│ ├── pagecommand(value:in:step:).json
│ ├── pickerstyle(_:).json
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:).json
│ ├── popover(item:attachmentanchor:arrowedge:content:).json
│ ├── position(_:).json
│ ├── position(x:y:).json
│ ├── preference(key:value:).json
│ ├── preferredcolorscheme(_:).json
│ ├── prefersdefaultfocus(_:in:).json
│ ├── presentedwindowstyle(_:).json
│ ├── presentedwindowtoolbarstyle(_:).json
│ ├── previewcontext(_:).json
│ ├── previewdevice(_:).json
│ ├── previewdisplayname(_:).json
│ ├── previewinterfaceorientation(_:).json
│ ├── previewlayout(_:).json
│ ├── privacysensitive(_:).json
│ ├── progressviewstyle(_:).json
│ ├── projectioneffect(_:).json
│ ├── redacted(reason:).json
│ ├── refreshable(action:).json
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:).json
│ ├── rotationeffect(_:anchor:).json
│ ├── safeareainset(edge:alignment:spacing:content:)-5p4xh.json
│ ├── safeareainset(edge:alignment:spacing:content:)-8nq8e.json
│ ├── saturation(_:).json
│ ├── scaledtofill().json
│ ├── scaledtofit().json
│ ├── scaleeffect(_:anchor:)-7oq71.json
│ ├── scaleeffect(_:anchor:)-9chpl.json
│ ├── scaleeffect(x:y:anchor:).json
│ ├── scenepadding(_:).json
│ ├── searchable(text:placement:prompt:)-31g2u.json
│ ├── searchable(text:placement:prompt:)-5dpdp.json
│ ├── searchable(text:placement:prompt:)-9859.json
│ ├── searchable(text:placement:prompt:suggestions:)-2uz54.json
│ ├── searchable(text:placement:prompt:suggestions:)-7bvn6.json
│ ├── searchable(text:placement:prompt:suggestions:)-8bmqj.json
│ ├── searchcompletion(_:).json
│ ├── shadow(color:radius:x:y:).json
│ ├── sheet(ispresented:ondismiss:content:).json
│ ├── sheet(item:ondismiss:content:).json
│ ├── shuffleanimation(_:).json
│ ├── shuffledeckanimation(_:).json
│ ├── shuffledeckdisabled(_:).json
│ ├── shuffledeckscale(_:).json
│ ├── shuffledeckstyle(_:).json
│ ├── shuffledecktrigger(on:).json
│ ├── shuffledisabled(_:).json
│ ├── shuffleoffset(_:).json
│ ├── shufflepadding(_:).json
│ ├── shufflescale(_:).json
│ ├── shufflestyle(_:).json
│ ├── shuffletrigger(on:).json
│ ├── simultaneousgesture(_:including:).json
│ ├── speechadjustedpitch(_:).json
│ ├── speechalwaysincludespunctuation(_:).json
│ ├── speechannouncementsqueued(_:).json
│ ├── speechspellsoutcharacters(_:).json
│ ├── submitlabel(_:).json
│ ├── submitscope(_:).json
│ ├── swipeactions(edge:allowsfullswipe:content:).json
│ ├── symbolrenderingmode(_:).json
│ ├── symbolvariant(_:).json
│ ├── tabitem(_:).json
│ ├── tablestyle(_:).json
│ ├── tabviewstyle(_:).json
│ ├── tag(_:).json
│ ├── task(id:priority:_:).json
│ ├── task(priority:_:).json
│ ├── textcase(_:).json
│ ├── textcontenttype(_:).json
│ ├── textfieldstyle(_:).json
│ ├── textselection(_:).json
│ ├── tint(_:).json
│ ├── togglestyle(_:).json
│ ├── toolbar(content:)-6zmlc.json
│ ├── toolbar(content:)-7j09e.json
│ ├── toolbar(id:content:).json
│ ├── touchbar(_:).json
│ ├── touchbar(content:).json
│ ├── touchbarcustomizationlabel(_:).json
│ ├── touchbaritempresence(_:).json
│ ├── touchbaritemprincipal(_:).json
│ ├── transaction(_:).json
│ ├── transformanchorpreference(key:value:transform:).json
│ ├── transformeffect(_:).json
│ ├── transformenvironment(_:transform:).json
│ ├── transformpreference(_:_:).json
│ ├── transition(_:).json
│ ├── truncationmode(_:).json
│ ├── unredacted().json
│ ├── useractivity(_:element:_:).json
│ ├── useractivity(_:isactive:_:).json
│ ├── view-implementations.json
│ └── zindex(_:).json
│ ├── carouselstyle.json
│ ├── carouselstyle
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── finitescroll.json
│ └── infinitescroll.json
│ ├── shuffleanimation.json
│ ├── shuffleanimation
│ ├── !=(_:_:).json
│ ├── easein.json
│ ├── easeinout.json
│ ├── easeout.json
│ ├── equatable-implementations.json
│ └── linear.json
│ ├── shufflecontext.json
│ ├── shufflecontext
│ ├── direction.json
│ ├── index.json
│ └── previousindex.json
│ ├── shuffledeck.json
│ ├── shuffledeck
│ ├── accentcolor(_:).json
│ ├── accessibility(activationpoint:)-5yxv.json
│ ├── accessibility(activationpoint:)-6f80.json
│ ├── accessibility(addtraits:).json
│ ├── accessibility(hidden:).json
│ ├── accessibility(hint:).json
│ ├── accessibility(identifier:).json
│ ├── accessibility(inputlabels:).json
│ ├── accessibility(label:).json
│ ├── accessibility(removetraits:).json
│ ├── accessibility(selectionidentifier:).json
│ ├── accessibility(sortpriority:).json
│ ├── accessibility(value:).json
│ ├── accessibilityaction(_:_:).json
│ ├── accessibilityaction(action:label:).json
│ ├── accessibilityaction(named:_:)-5vajk.json
│ ├── accessibilityaction(named:_:)-7cvr0.json
│ ├── accessibilityaction(named:_:)-7d1bz.json
│ ├── accessibilityactivationpoint(_:)-4i64i.json
│ ├── accessibilityactivationpoint(_:)-8rijn.json
│ ├── accessibilityaddtraits(_:).json
│ ├── accessibilityadjustableaction(_:).json
│ ├── accessibilitychartdescriptor(_:).json
│ ├── accessibilitychildren(children:).json
│ ├── accessibilitycustomcontent(_:_:importance:)-1dnrk.json
│ ├── accessibilitycustomcontent(_:_:importance:)-1ucuw.json
│ ├── accessibilitycustomcontent(_:_:importance:)-2nazk.json
│ ├── accessibilitycustomcontent(_:_:importance:)-3pllm.json
│ ├── accessibilitycustomcontent(_:_:importance:)-3pod7.json
│ ├── accessibilitycustomcontent(_:_:importance:)-4xdb3.json
│ ├── accessibilitycustomcontent(_:_:importance:)-5vxjo.json
│ ├── accessibilitycustomcontent(_:_:importance:)-qwm7.json
│ ├── accessibilityelement(children:).json
│ ├── accessibilityfocused(_:).json
│ ├── accessibilityfocused(_:equals:).json
│ ├── accessibilityheading(_:).json
│ ├── accessibilityhidden(_:).json
│ ├── accessibilityhint(_:)-1rrl0.json
│ ├── accessibilityhint(_:)-5nt5z.json
│ ├── accessibilityhint(_:)-v4ao.json
│ ├── accessibilityidentifier(_:).json
│ ├── accessibilityignoresinvertcolors(_:).json
│ ├── accessibilityinputlabels(_:)-3x55a.json
│ ├── accessibilityinputlabels(_:)-6n0d7.json
│ ├── accessibilityinputlabels(_:)-8jm4t.json
│ ├── accessibilitylabel(_:)-3ly3t.json
│ ├── accessibilitylabel(_:)-4h91y.json
│ ├── accessibilitylabel(_:)-6a6no.json
│ ├── accessibilitylabeledpair(role:id:in:).json
│ ├── accessibilitylinkedgroup(id:in:).json
│ ├── accessibilityremovetraits(_:).json
│ ├── accessibilityrepresentation(representation:).json
│ ├── accessibilityrespondstouserinteraction(_:).json
│ ├── accessibilityrotor(_:entries:)-1orax.json
│ ├── accessibilityrotor(_:entries:)-2p5bh.json
│ ├── accessibilityrotor(_:entries:)-5mxjh.json
│ ├── accessibilityrotor(_:entries:)-7dolw.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-10oqf.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-25d98.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-51dnw.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-6jn71.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-3f3j9.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-3lh2p.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-6wf02.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-7t24j.json
│ ├── accessibilityrotor(_:textranges:)-6nczq.json
│ ├── accessibilityrotor(_:textranges:)-8d4es.json
│ ├── accessibilityrotor(_:textranges:)-8l6zm.json
│ ├── accessibilityrotor(_:textranges:)-964n8.json
│ ├── accessibilityrotorentry(id:in:).json
│ ├── accessibilityscrollaction(_:).json
│ ├── accessibilityshowslargecontentviewer().json
│ ├── accessibilityshowslargecontentviewer(_:).json
│ ├── accessibilitysortpriority(_:).json
│ ├── accessibilitytextcontenttype(_:).json
│ ├── accessibilityvalue(_:)-3kff4.json
│ ├── accessibilityvalue(_:)-7dd6l.json
│ ├── accessibilityvalue(_:)-7tnqf.json
│ ├── alert(_:ispresented:actions:)-2i24c.json
│ ├── alert(_:ispresented:actions:)-6i5wg.json
│ ├── alert(_:ispresented:actions:)-6mdoc.json
│ ├── alert(_:ispresented:actions:message:)-5j65x.json
│ ├── alert(_:ispresented:actions:message:)-6iohl.json
│ ├── alert(_:ispresented:actions:message:)-8x9o0.json
│ ├── alert(_:ispresented:presenting:actions:)-43fim.json
│ ├── alert(_:ispresented:presenting:actions:)-6dwv5.json
│ ├── alert(_:ispresented:presenting:actions:)-77clm.json
│ ├── alert(_:ispresented:presenting:actions:message:)-7p8yz.json
│ ├── alert(_:ispresented:presenting:actions:message:)-7ptxx.json
│ ├── alert(_:ispresented:presenting:actions:message:)-88es2.json
│ ├── alert(ispresented:content:).json
│ ├── alert(ispresented:error:actions:).json
│ ├── alert(ispresented:error:actions:message:).json
│ ├── alert(item:content:).json
│ ├── alignmentguide(_:computevalue:)-5dc06.json
│ ├── alignmentguide(_:computevalue:)-98bnf.json
│ ├── allowshittesting(_:).json
│ ├── allowstightening(_:).json
│ ├── anchorpreference(key:value:transform:).json
│ ├── animation(_:).json
│ ├── animation(_:value:).json
│ ├── aspectratio(_:contentmode:)-7qpsf.json
│ ├── aspectratio(_:contentmode:)-98csp.json
│ ├── background(_:alignment:).json
│ ├── background(_:ignoressafeareaedges:).json
│ ├── background(_:in:fillstyle:)-16mk7.json
│ ├── background(_:in:fillstyle:)-3xtjy.json
│ ├── background(alignment:content:).json
│ ├── background(ignoressafeareaedges:).json
│ ├── background(in:fillstyle:)-22zkr.json
│ ├── background(in:fillstyle:)-pkki.json
│ ├── backgroundpreferencevalue(_:_:).json
│ ├── badge(_:)-23vvh.json
│ ├── badge(_:)-3b7a5.json
│ ├── badge(_:)-4eyh0.json
│ ├── badge(_:)-5yfrj.json
│ ├── blendmode(_:).json
│ ├── blur(radius:opaque:).json
│ ├── body.json
│ ├── border(_:width:).json
│ ├── brightness(_:).json
│ ├── buttonbordershape(_:).json
│ ├── buttonstyle(_:)-1hkio.json
│ ├── buttonstyle(_:)-1mobg.json
│ ├── carouselanimation(_:).json
│ ├── carouseldisabled(_:).json
│ ├── carouselpadding(_:).json
│ ├── carouselscale(_:).json
│ ├── carouselspacing(_:).json
│ ├── carouselstyle(_:).json
│ ├── carouseltrigger(on:).json
│ ├── clipped(antialiased:).json
│ ├── clipshape(_:style:).json
│ ├── colorinvert().json
│ ├── colormultiply(_:).json
│ ├── colorscheme(_:).json
│ ├── compositinggroup().json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7c2i9.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7p1mg.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-9t8f5.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-592a8.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-6sq5i.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-8ffij.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-455gp.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-7pvn4.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-8fhv.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-4bg57.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-4pxpc.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-50r8e.json
│ ├── containershape(_:).json
│ ├── contentshape(_:_:eofill:).json
│ ├── contentshape(_:eofill:).json
│ ├── contextmenu(_:).json
│ ├── contextmenu(menuitems:).json
│ ├── contrast(_:).json
│ ├── controlgroupstyle(_:).json
│ ├── controlsize(_:).json
│ ├── coordinatespace(name:).json
│ ├── cornerradius(_:antialiased:).json
│ ├── datepickerstyle(_:).json
│ ├── defaultappstorage(_:).json
│ ├── deletedisabled(_:).json
│ ├── disableautocorrection(_:).json
│ ├── disabled(_:).json
│ ├── drawinggroup(opaque:colormode:).json
│ ├── dynamictypesize(_:).json
│ ├── edgesignoringsafearea(_:).json
│ ├── environment(_:_:).json
│ ├── environmentobject(_:).json
│ ├── exportsitemproviders(_:onexport:).json
│ ├── exportsitemproviders(_:onexport:onedit:).json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-54p9i.json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-z1af.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-4ixib.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-72o0w.json
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:).json
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:).json
│ ├── filemover(ispresented:file:oncompletion:).json
│ ├── filemover(ispresented:files:oncompletion:).json
│ ├── fixedsize().json
│ ├── fixedsize(horizontal:vertical:).json
│ ├── flipsforrighttoleftlayoutdirection(_:).json
│ ├── focusable(_:).json
│ ├── focusable(_:onfocuschange:).json
│ ├── focused(_:).json
│ ├── focused(_:equals:).json
│ ├── focusedscenevalue(_:_:).json
│ ├── focusedvalue(_:_:).json
│ ├── focusscope(_:).json
│ ├── font(_:).json
│ ├── foregroundcolor(_:).json
│ ├── foregroundstyle(_:).json
│ ├── foregroundstyle(_:_:).json
│ ├── foregroundstyle(_:_:_:).json
│ ├── frame().json
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:).json
│ ├── frame(width:height:alignment:).json
│ ├── gesture(_:including:).json
│ ├── grayscale(_:).json
│ ├── groupboxstyle(_:).json
│ ├── handlesexternalevents(preferring:allowing:).json
│ ├── headerprominence(_:).json
│ ├── help(_:)-4gfc1.json
│ ├── help(_:)-57kg7.json
│ ├── help(_:)-5c7gg.json
│ ├── hidden().json
│ ├── highprioritygesture(_:including:).json
│ ├── horizontalradiogrouplayout().json
│ ├── huerotation(_:).json
│ ├── id(_:).json
│ ├── ignoressafearea(_:edges:).json
│ ├── imagescale(_:).json
│ ├── importsitemproviders(_:onimport:).json
│ ├── init(_:initialindex:content:)-6ou47.json
│ ├── init(_:initialindex:content:)-9osfg.json
│ ├── interactivedismissdisabled(_:).json
│ ├── itemprovider(_:).json
│ ├── keyboardshortcut(_:)-8kg9p.json
│ ├── keyboardshortcut(_:)-92las.json
│ ├── keyboardshortcut(_:modifiers:).json
│ ├── keyboardshortcut(_:modifiers:localization:).json
│ ├── labelshidden().json
│ ├── labelstyle(_:).json
│ ├── layoutpriority(_:).json
│ ├── linelimit(_:).json
│ ├── linespacing(_:).json
│ ├── listitemtint(_:)-4okc6.json
│ ├── listitemtint(_:)-8uys6.json
│ ├── listrowbackground(_:).json
│ ├── listrowinsets(_:).json
│ ├── liststyle(_:).json
│ ├── luminancetoalpha().json
│ ├── mask(_:).json
│ ├── mask(alignment:_:).json
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:).json
│ ├── menubuttonstyle(_:).json
│ ├── menuindicator(_:).json
│ ├── menustyle(_:).json
│ ├── minimumscalefactor(_:).json
│ ├── modifier(_:).json
│ ├── monospaceddigit().json
│ ├── movedisabled(_:).json
│ ├── multilinetextalignment(_:).json
│ ├── navigationsubtitle(_:)-4xcr1.json
│ ├── navigationsubtitle(_:)-62wq4.json
│ ├── navigationsubtitle(_:)-89wf8.json
│ ├── navigationtitle(_:)-15ycd.json
│ ├── navigationtitle(_:)-3gz4j.json
│ ├── navigationtitle(_:)-6t67o.json
│ ├── navigationtitle(_:)-8moj6.json
│ ├── navigationviewstyle(_:).json
│ ├── offset(_:).json
│ ├── offset(x:y:).json
│ ├── onappear(perform:).json
│ ├── oncarousel(_:).json
│ ├── oncarouseltranslation(_:).json
│ ├── onchange(of:perform:).json
│ ├── oncommand(_:perform:).json
│ ├── oncontinueuseractivity(_:perform:).json
│ ├── oncopycommand(perform:).json
│ ├── oncutcommand(perform:).json
│ ├── ondeletecommand(perform:).json
│ ├── ondisappear(perform:).json
│ ├── ondrag(_:).json
│ ├── ondrag(_:preview:).json
│ ├── ondrop(of:delegate:)-55jbd.json
│ ├── ondrop(of:delegate:)-9xy3o.json
│ ├── ondrop(of:istargeted:perform:)-2wosm.json
│ ├── ondrop(of:istargeted:perform:)-4zd72.json
│ ├── ondrop(of:istargeted:perform:)-6o6wo.json
│ ├── ondrop(of:istargeted:perform:)-btgb.json
│ ├── onexitcommand(perform:).json
│ ├── onhover(perform:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:).json
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:pressing:perform:).json
│ ├── onmovecommand(perform:).json
│ ├── onopenurl(perform:).json
│ ├── onpastecommand(of:perform:)-3phpt.json
│ ├── onpastecommand(of:perform:)-7nzf4.json
│ ├── onpastecommand(of:validator:perform:)-5h2lv.json
│ ├── onpastecommand(of:validator:perform:)-7k6qm.json
│ ├── onplaypausecommand(perform:).json
│ ├── onpreferencechange(_:perform:).json
│ ├── onreceive(_:perform:).json
│ ├── onshuffle(_:).json
│ ├── onshuffledeck(_:).json
│ ├── onshuffledecktranslation(_:).json
│ ├── onshuffletranslation(_:).json
│ ├── onsubmit(of:_:).json
│ ├── ontapgesture(count:perform:).json
│ ├── opacity(_:).json
│ ├── overlay(_:alignment:).json
│ ├── overlay(_:ignoressafeareaedges:).json
│ ├── overlay(_:in:fillstyle:).json
│ ├── overlay(alignment:content:).json
│ ├── overlaypreferencevalue(_:_:).json
│ ├── padding(_:)-5f3wf.json
│ ├── padding(_:)-7cp9q.json
│ ├── padding(_:_:).json
│ ├── pagecommand(value:in:step:).json
│ ├── pickerstyle(_:).json
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:).json
│ ├── popover(item:attachmentanchor:arrowedge:content:).json
│ ├── position(_:).json
│ ├── position(x:y:).json
│ ├── preference(key:value:).json
│ ├── preferredcolorscheme(_:).json
│ ├── prefersdefaultfocus(_:in:).json
│ ├── presentedwindowstyle(_:).json
│ ├── presentedwindowtoolbarstyle(_:).json
│ ├── previewcontext(_:).json
│ ├── previewdevice(_:).json
│ ├── previewdisplayname(_:).json
│ ├── previewinterfaceorientation(_:).json
│ ├── previewlayout(_:).json
│ ├── privacysensitive(_:).json
│ ├── progressviewstyle(_:).json
│ ├── projectioneffect(_:).json
│ ├── redacted(reason:).json
│ ├── refreshable(action:).json
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:).json
│ ├── rotationeffect(_:anchor:).json
│ ├── safeareainset(edge:alignment:spacing:content:)-4gojk.json
│ ├── safeareainset(edge:alignment:spacing:content:)-9bx6p.json
│ ├── saturation(_:).json
│ ├── scaledtofill().json
│ ├── scaledtofit().json
│ ├── scaleeffect(_:anchor:)-4byje.json
│ ├── scaleeffect(_:anchor:)-6bduh.json
│ ├── scaleeffect(x:y:anchor:).json
│ ├── scenepadding(_:).json
│ ├── searchable(text:placement:prompt:)-2i9jl.json
│ ├── searchable(text:placement:prompt:)-50j7i.json
│ ├── searchable(text:placement:prompt:)-75a6t.json
│ ├── searchable(text:placement:prompt:suggestions:)-5bsg8.json
│ ├── searchable(text:placement:prompt:suggestions:)-5ib9a.json
│ ├── searchable(text:placement:prompt:suggestions:)-8fyqc.json
│ ├── searchcompletion(_:).json
│ ├── shadow(color:radius:x:y:).json
│ ├── sheet(ispresented:ondismiss:content:).json
│ ├── sheet(item:ondismiss:content:).json
│ ├── shuffleanimation(_:).json
│ ├── shuffledeckanimation(_:).json
│ ├── shuffledeckdisabled(_:).json
│ ├── shuffledeckscale(_:).json
│ ├── shuffledeckstyle(_:).json
│ ├── shuffledecktrigger(on:).json
│ ├── shuffledisabled(_:).json
│ ├── shuffleoffset(_:).json
│ ├── shufflepadding(_:).json
│ ├── shufflescale(_:).json
│ ├── shufflestyle(_:).json
│ ├── shuffletrigger(on:).json
│ ├── simultaneousgesture(_:including:).json
│ ├── speechadjustedpitch(_:).json
│ ├── speechalwaysincludespunctuation(_:).json
│ ├── speechannouncementsqueued(_:).json
│ ├── speechspellsoutcharacters(_:).json
│ ├── submitlabel(_:).json
│ ├── submitscope(_:).json
│ ├── swipeactions(edge:allowsfullswipe:content:).json
│ ├── symbolrenderingmode(_:).json
│ ├── symbolvariant(_:).json
│ ├── tabitem(_:).json
│ ├── tablestyle(_:).json
│ ├── tabviewstyle(_:).json
│ ├── tag(_:).json
│ ├── task(id:priority:_:).json
│ ├── task(priority:_:).json
│ ├── textcase(_:).json
│ ├── textcontenttype(_:).json
│ ├── textfieldstyle(_:).json
│ ├── textselection(_:).json
│ ├── tint(_:).json
│ ├── togglestyle(_:).json
│ ├── toolbar(content:)-2k0pt.json
│ ├── toolbar(content:)-4sm5t.json
│ ├── toolbar(id:content:).json
│ ├── touchbar(_:).json
│ ├── touchbar(content:).json
│ ├── touchbarcustomizationlabel(_:).json
│ ├── touchbaritempresence(_:).json
│ ├── touchbaritemprincipal(_:).json
│ ├── transaction(_:).json
│ ├── transformanchorpreference(key:value:transform:).json
│ ├── transformeffect(_:).json
│ ├── transformenvironment(_:transform:).json
│ ├── transformpreference(_:_:).json
│ ├── transition(_:).json
│ ├── truncationmode(_:).json
│ ├── unredacted().json
│ ├── useractivity(_:element:_:).json
│ ├── useractivity(_:isactive:_:).json
│ ├── view-implementations.json
│ └── zindex(_:).json
│ ├── shuffledeckanimation.json
│ ├── shuffledeckanimation
│ ├── !=(_:_:).json
│ ├── easein.json
│ ├── easeinout.json
│ ├── easeout.json
│ ├── equatable-implementations.json
│ └── linear.json
│ ├── shuffledeckcontext.json
│ ├── shuffledeckcontext
│ ├── direction.json
│ ├── index.json
│ └── previousindex.json
│ ├── shuffledeckdirection.json
│ ├── shuffledeckdirection
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── left.json
│ └── right.json
│ ├── shuffledeckstyle.json
│ ├── shuffledeckstyle
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── finiteshuffle.json
│ └── infiniteshuffle.json
│ ├── shuffledirection.json
│ ├── shuffledirection
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── left.json
│ └── right.json
│ ├── shufflestack.json
│ ├── shufflestack
│ ├── accentcolor(_:).json
│ ├── accessibility(activationpoint:)-1nikr.json
│ ├── accessibility(activationpoint:)-9o1ut.json
│ ├── accessibility(addtraits:).json
│ ├── accessibility(hidden:).json
│ ├── accessibility(hint:).json
│ ├── accessibility(identifier:).json
│ ├── accessibility(inputlabels:).json
│ ├── accessibility(label:).json
│ ├── accessibility(removetraits:).json
│ ├── accessibility(selectionidentifier:).json
│ ├── accessibility(sortpriority:).json
│ ├── accessibility(value:).json
│ ├── accessibilityaction(_:_:).json
│ ├── accessibilityaction(action:label:).json
│ ├── accessibilityaction(named:_:)-5nf29.json
│ ├── accessibilityaction(named:_:)-7rxae.json
│ ├── accessibilityaction(named:_:)-7tk0c.json
│ ├── accessibilityactivationpoint(_:)-57vfb.json
│ ├── accessibilityactivationpoint(_:)-9osvr.json
│ ├── accessibilityaddtraits(_:).json
│ ├── accessibilityadjustableaction(_:).json
│ ├── accessibilitychartdescriptor(_:).json
│ ├── accessibilitychildren(children:).json
│ ├── accessibilitycustomcontent(_:_:importance:)-1gi9v.json
│ ├── accessibilitycustomcontent(_:_:importance:)-375xz.json
│ ├── accessibilitycustomcontent(_:_:importance:)-571fc.json
│ ├── accessibilitycustomcontent(_:_:importance:)-72sim.json
│ ├── accessibilitycustomcontent(_:_:importance:)-7h1pz.json
│ ├── accessibilitycustomcontent(_:_:importance:)-8sma2.json
│ ├── accessibilitycustomcontent(_:_:importance:)-956rk.json
│ ├── accessibilitycustomcontent(_:_:importance:)-96ur4.json
│ ├── accessibilityelement(children:).json
│ ├── accessibilityfocused(_:).json
│ ├── accessibilityfocused(_:equals:).json
│ ├── accessibilityheading(_:).json
│ ├── accessibilityhidden(_:).json
│ ├── accessibilityhint(_:)-45b9m.json
│ ├── accessibilityhint(_:)-6451d.json
│ ├── accessibilityhint(_:)-6m2eb.json
│ ├── accessibilityidentifier(_:).json
│ ├── accessibilityignoresinvertcolors(_:).json
│ ├── accessibilityinputlabels(_:)-3mfon.json
│ ├── accessibilityinputlabels(_:)-7hs3b.json
│ ├── accessibilityinputlabels(_:)-7kg3p.json
│ ├── accessibilitylabel(_:)-3has0.json
│ ├── accessibilitylabel(_:)-6dv6y.json
│ ├── accessibilitylabel(_:)-e66p.json
│ ├── accessibilitylabeledpair(role:id:in:).json
│ ├── accessibilitylinkedgroup(id:in:).json
│ ├── accessibilityremovetraits(_:).json
│ ├── accessibilityrepresentation(representation:).json
│ ├── accessibilityrespondstouserinteraction(_:).json
│ ├── accessibilityrotor(_:entries:)-3a01s.json
│ ├── accessibilityrotor(_:entries:)-661b4.json
│ ├── accessibilityrotor(_:entries:)-7kbeo.json
│ ├── accessibilityrotor(_:entries:)-f4c5.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1kufn.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1o7jk.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-2ng74.json
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-6akr8.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-6o30j.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-8e6r9.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-bva6.json
│ ├── accessibilityrotor(_:entries:entrylabel:)-cxx7.json
│ ├── accessibilityrotor(_:textranges:)-1v5os.json
│ ├── accessibilityrotor(_:textranges:)-5mce6.json
│ ├── accessibilityrotor(_:textranges:)-7fpc1.json
│ ├── accessibilityrotor(_:textranges:)-91on2.json
│ ├── accessibilityrotorentry(id:in:).json
│ ├── accessibilityscrollaction(_:).json
│ ├── accessibilityshowslargecontentviewer().json
│ ├── accessibilityshowslargecontentviewer(_:).json
│ ├── accessibilitysortpriority(_:).json
│ ├── accessibilitytextcontenttype(_:).json
│ ├── accessibilityvalue(_:)-6kh76.json
│ ├── accessibilityvalue(_:)-6x5in.json
│ ├── accessibilityvalue(_:)-tcbi.json
│ ├── alert(_:ispresented:actions:)-13ppe.json
│ ├── alert(_:ispresented:actions:)-31fv4.json
│ ├── alert(_:ispresented:actions:)-svpk.json
│ ├── alert(_:ispresented:actions:message:)-1lplz.json
│ ├── alert(_:ispresented:actions:message:)-42hzu.json
│ ├── alert(_:ispresented:actions:message:)-8jr1q.json
│ ├── alert(_:ispresented:presenting:actions:)-135kk.json
│ ├── alert(_:ispresented:presenting:actions:)-7je0d.json
│ ├── alert(_:ispresented:presenting:actions:)-7zzve.json
│ ├── alert(_:ispresented:presenting:actions:message:)-17uu0.json
│ ├── alert(_:ispresented:presenting:actions:message:)-36zvz.json
│ ├── alert(_:ispresented:presenting:actions:message:)-7caah.json
│ ├── alert(ispresented:content:).json
│ ├── alert(ispresented:error:actions:).json
│ ├── alert(ispresented:error:actions:message:).json
│ ├── alert(item:content:).json
│ ├── alignmentguide(_:computevalue:)-23g26.json
│ ├── alignmentguide(_:computevalue:)-4kcej.json
│ ├── allowshittesting(_:).json
│ ├── allowstightening(_:).json
│ ├── anchorpreference(key:value:transform:).json
│ ├── animation(_:).json
│ ├── animation(_:value:).json
│ ├── aspectratio(_:contentmode:)-9iav9.json
│ ├── aspectratio(_:contentmode:)-ggdx.json
│ ├── background(_:alignment:).json
│ ├── background(_:ignoressafeareaedges:).json
│ ├── background(_:in:fillstyle:)-1a2bf.json
│ ├── background(_:in:fillstyle:)-8qwr1.json
│ ├── background(alignment:content:).json
│ ├── background(ignoressafeareaedges:).json
│ ├── background(in:fillstyle:)-58j5e.json
│ ├── background(in:fillstyle:)-8w09p.json
│ ├── backgroundpreferencevalue(_:_:).json
│ ├── badge(_:)-26gjx.json
│ ├── badge(_:)-2cz64.json
│ ├── badge(_:)-31kbp.json
│ ├── badge(_:)-4i0v1.json
│ ├── blendmode(_:).json
│ ├── blur(radius:opaque:).json
│ ├── body.json
│ ├── border(_:width:).json
│ ├── brightness(_:).json
│ ├── buttonbordershape(_:).json
│ ├── buttonstyle(_:)-42cf.json
│ ├── buttonstyle(_:)-4hs9e.json
│ ├── carouselanimation(_:).json
│ ├── carouseldisabled(_:).json
│ ├── carouselpadding(_:).json
│ ├── carouselscale(_:).json
│ ├── carouselspacing(_:).json
│ ├── carouselstyle(_:).json
│ ├── carouseltrigger(on:).json
│ ├── clipped(antialiased:).json
│ ├── clipshape(_:style:).json
│ ├── colorinvert().json
│ ├── colormultiply(_:).json
│ ├── colorscheme(_:).json
│ ├── compositinggroup().json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-41ud8.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-4ywhx.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7ipnf.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-1kurz.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-5vmyl.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-9sue3.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-1tkx.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-5diu1.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-7pkdq.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-296mh.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-5uj0y.json
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-7cjsq.json
│ ├── containershape(_:).json
│ ├── contentshape(_:_:eofill:).json
│ ├── contentshape(_:eofill:).json
│ ├── contextmenu(_:).json
│ ├── contextmenu(menuitems:).json
│ ├── contrast(_:).json
│ ├── controlgroupstyle(_:).json
│ ├── controlsize(_:).json
│ ├── coordinatespace(name:).json
│ ├── cornerradius(_:antialiased:).json
│ ├── datepickerstyle(_:).json
│ ├── defaultappstorage(_:).json
│ ├── deletedisabled(_:).json
│ ├── disableautocorrection(_:).json
│ ├── disabled(_:).json
│ ├── drawinggroup(opaque:colormode:).json
│ ├── dynamictypesize(_:).json
│ ├── edgesignoringsafearea(_:).json
│ ├── environment(_:_:).json
│ ├── environmentobject(_:).json
│ ├── exportsitemproviders(_:onexport:).json
│ ├── exportsitemproviders(_:onexport:onedit:).json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-6evgr.json
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-8iv2y.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-233kd.json
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-7map2.json
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:).json
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:).json
│ ├── filemover(ispresented:file:oncompletion:).json
│ ├── filemover(ispresented:files:oncompletion:).json
│ ├── fixedsize().json
│ ├── fixedsize(horizontal:vertical:).json
│ ├── flipsforrighttoleftlayoutdirection(_:).json
│ ├── focusable(_:).json
│ ├── focusable(_:onfocuschange:).json
│ ├── focused(_:).json
│ ├── focused(_:equals:).json
│ ├── focusedscenevalue(_:_:).json
│ ├── focusedvalue(_:_:).json
│ ├── focusscope(_:).json
│ ├── font(_:).json
│ ├── foregroundcolor(_:).json
│ ├── foregroundstyle(_:).json
│ ├── foregroundstyle(_:_:).json
│ ├── foregroundstyle(_:_:_:).json
│ ├── frame().json
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:).json
│ ├── frame(width:height:alignment:).json
│ ├── gesture(_:including:).json
│ ├── grayscale(_:).json
│ ├── groupboxstyle(_:).json
│ ├── handlesexternalevents(preferring:allowing:).json
│ ├── headerprominence(_:).json
│ ├── help(_:)-296.json
│ ├── help(_:)-2u744.json
│ ├── help(_:)-4q5ms.json
│ ├── hidden().json
│ ├── highprioritygesture(_:including:).json
│ ├── horizontalradiogrouplayout().json
│ ├── huerotation(_:).json
│ ├── id(_:).json
│ ├── ignoressafearea(_:edges:).json
│ ├── imagescale(_:).json
│ ├── importsitemproviders(_:onimport:).json
│ ├── init(_:initialindex:stackcontent:)-4x5f3.json
│ ├── init(_:initialindex:stackcontent:)-8ktnr.json
│ ├── interactivedismissdisabled(_:).json
│ ├── itemprovider(_:).json
│ ├── keyboardshortcut(_:)-30f12.json
│ ├── keyboardshortcut(_:)-38k96.json
│ ├── keyboardshortcut(_:modifiers:).json
│ ├── keyboardshortcut(_:modifiers:localization:).json
│ ├── labelshidden().json
│ ├── labelstyle(_:).json
│ ├── layoutpriority(_:).json
│ ├── linelimit(_:).json
│ ├── linespacing(_:).json
│ ├── listitemtint(_:)-66j6h.json
│ ├── listitemtint(_:)-6zn9q.json
│ ├── listrowbackground(_:).json
│ ├── listrowinsets(_:).json
│ ├── liststyle(_:).json
│ ├── luminancetoalpha().json
│ ├── mask(_:).json
│ ├── mask(alignment:_:).json
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:).json
│ ├── menubuttonstyle(_:).json
│ ├── menuindicator(_:).json
│ ├── menustyle(_:).json
│ ├── minimumscalefactor(_:).json
│ ├── modifier(_:).json
│ ├── monospaceddigit().json
│ ├── movedisabled(_:).json
│ ├── multilinetextalignment(_:).json
│ ├── navigationsubtitle(_:)-16d52.json
│ ├── navigationsubtitle(_:)-206md.json
│ ├── navigationsubtitle(_:)-7em2i.json
│ ├── navigationtitle(_:)-7aj99.json
│ ├── navigationtitle(_:)-7jd07.json
│ ├── navigationtitle(_:)-7twkm.json
│ ├── navigationtitle(_:)-7w547.json
│ ├── navigationviewstyle(_:).json
│ ├── offset(_:).json
│ ├── offset(x:y:).json
│ ├── onappear(perform:).json
│ ├── oncarousel(_:).json
│ ├── oncarouseltranslation(_:).json
│ ├── onchange(of:perform:).json
│ ├── oncommand(_:perform:).json
│ ├── oncontinueuseractivity(_:perform:).json
│ ├── oncopycommand(perform:).json
│ ├── oncutcommand(perform:).json
│ ├── ondeletecommand(perform:).json
│ ├── ondisappear(perform:).json
│ ├── ondrag(_:).json
│ ├── ondrag(_:preview:).json
│ ├── ondrop(of:delegate:)-1ea27.json
│ ├── ondrop(of:delegate:)-8thdr.json
│ ├── ondrop(of:istargeted:perform:)-363wn.json
│ ├── ondrop(of:istargeted:perform:)-3bmbv.json
│ ├── ondrop(of:istargeted:perform:)-82gpe.json
│ ├── ondrop(of:istargeted:perform:)-84ef9.json
│ ├── onexitcommand(perform:).json
│ ├── onhover(perform:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:).json
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:).json
│ ├── onlongpressgesture(minimumduration:pressing:perform:).json
│ ├── onmovecommand(perform:).json
│ ├── onopenurl(perform:).json
│ ├── onpastecommand(of:perform:)-4k6ie.json
│ ├── onpastecommand(of:perform:)-wliz.json
│ ├── onpastecommand(of:validator:perform:)-7tcqn.json
│ ├── onpastecommand(of:validator:perform:)-9ddq9.json
│ ├── onplaypausecommand(perform:).json
│ ├── onpreferencechange(_:perform:).json
│ ├── onreceive(_:perform:).json
│ ├── onshuffle(_:).json
│ ├── onshuffledeck(_:).json
│ ├── onshuffledecktranslation(_:).json
│ ├── onshuffletranslation(_:).json
│ ├── onsubmit(of:_:).json
│ ├── ontapgesture(count:perform:).json
│ ├── opacity(_:).json
│ ├── overlay(_:alignment:).json
│ ├── overlay(_:ignoressafeareaedges:).json
│ ├── overlay(_:in:fillstyle:).json
│ ├── overlay(alignment:content:).json
│ ├── overlaypreferencevalue(_:_:).json
│ ├── padding(_:)-7zetw.json
│ ├── padding(_:)-9obs7.json
│ ├── padding(_:_:).json
│ ├── pagecommand(value:in:step:).json
│ ├── pickerstyle(_:).json
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:).json
│ ├── popover(item:attachmentanchor:arrowedge:content:).json
│ ├── position(_:).json
│ ├── position(x:y:).json
│ ├── preference(key:value:).json
│ ├── preferredcolorscheme(_:).json
│ ├── prefersdefaultfocus(_:in:).json
│ ├── presentedwindowstyle(_:).json
│ ├── presentedwindowtoolbarstyle(_:).json
│ ├── previewcontext(_:).json
│ ├── previewdevice(_:).json
│ ├── previewdisplayname(_:).json
│ ├── previewinterfaceorientation(_:).json
│ ├── previewlayout(_:).json
│ ├── privacysensitive(_:).json
│ ├── progressviewstyle(_:).json
│ ├── projectioneffect(_:).json
│ ├── redacted(reason:).json
│ ├── refreshable(action:).json
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:).json
│ ├── rotationeffect(_:anchor:).json
│ ├── safeareainset(edge:alignment:spacing:content:)-9cc9j.json
│ ├── safeareainset(edge:alignment:spacing:content:)-9ojua.json
│ ├── saturation(_:).json
│ ├── scaledtofill().json
│ ├── scaledtofit().json
│ ├── scaleeffect(_:anchor:)-2caa5.json
│ ├── scaleeffect(_:anchor:)-718iu.json
│ ├── scaleeffect(x:y:anchor:).json
│ ├── scenepadding(_:).json
│ ├── searchable(text:placement:prompt:)-2vm7x.json
│ ├── searchable(text:placement:prompt:)-8rgzb.json
│ ├── searchable(text:placement:prompt:)-988ga.json
│ ├── searchable(text:placement:prompt:suggestions:)-3zci7.json
│ ├── searchable(text:placement:prompt:suggestions:)-5taln.json
│ ├── searchable(text:placement:prompt:suggestions:)-8jhzt.json
│ ├── searchcompletion(_:).json
│ ├── shadow(color:radius:x:y:).json
│ ├── sheet(ispresented:ondismiss:content:).json
│ ├── sheet(item:ondismiss:content:).json
│ ├── shuffleanimation(_:).json
│ ├── shuffledeckanimation(_:).json
│ ├── shuffledeckdisabled(_:).json
│ ├── shuffledeckscale(_:).json
│ ├── shuffledeckstyle(_:).json
│ ├── shuffledecktrigger(on:).json
│ ├── shuffledisabled(_:).json
│ ├── shuffleoffset(_:).json
│ ├── shufflepadding(_:).json
│ ├── shufflescale(_:).json
│ ├── shufflestyle(_:).json
│ ├── shuffletrigger(on:).json
│ ├── simultaneousgesture(_:including:).json
│ ├── speechadjustedpitch(_:).json
│ ├── speechalwaysincludespunctuation(_:).json
│ ├── speechannouncementsqueued(_:).json
│ ├── speechspellsoutcharacters(_:).json
│ ├── submitlabel(_:).json
│ ├── submitscope(_:).json
│ ├── swipeactions(edge:allowsfullswipe:content:).json
│ ├── symbolrenderingmode(_:).json
│ ├── symbolvariant(_:).json
│ ├── tabitem(_:).json
│ ├── tablestyle(_:).json
│ ├── tabviewstyle(_:).json
│ ├── tag(_:).json
│ ├── task(id:priority:_:).json
│ ├── task(priority:_:).json
│ ├── textcase(_:).json
│ ├── textcontenttype(_:).json
│ ├── textfieldstyle(_:).json
│ ├── textselection(_:).json
│ ├── tint(_:).json
│ ├── togglestyle(_:).json
│ ├── toolbar(content:)-2fsde.json
│ ├── toolbar(content:)-9838r.json
│ ├── toolbar(id:content:).json
│ ├── touchbar(_:).json
│ ├── touchbar(content:).json
│ ├── touchbarcustomizationlabel(_:).json
│ ├── touchbaritempresence(_:).json
│ ├── touchbaritemprincipal(_:).json
│ ├── transaction(_:).json
│ ├── transformanchorpreference(key:value:transform:).json
│ ├── transformeffect(_:).json
│ ├── transformenvironment(_:transform:).json
│ ├── transformpreference(_:_:).json
│ ├── transition(_:).json
│ ├── truncationmode(_:).json
│ ├── unredacted().json
│ ├── useractivity(_:element:_:).json
│ ├── useractivity(_:isactive:_:).json
│ ├── view-implementations.json
│ └── zindex(_:).json
│ ├── shufflestyle.json
│ └── shufflestyle
│ ├── !=(_:_:).json
│ ├── equatable-implementations.json
│ ├── rotatein.json
│ ├── rotateout.json
│ └── slide.json
├── developer-og-twitter.jpg
├── developer-og.jpg
├── documentation
└── shuffleit
│ ├── carouselanimation
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── easein
│ │ └── index.html
│ ├── easeinout
│ │ └── index.html
│ ├── easeout
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ └── linear
│ │ └── index.html
│ ├── carouselcontext
│ ├── direction
│ │ └── index.html
│ ├── index.html
│ ├── index
│ │ └── index.html
│ └── previousindex
│ │ └── index.html
│ ├── carouseldirection
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ ├── left
│ │ └── index.html
│ └── right
│ │ └── index.html
│ ├── carouselstack
│ ├── accentcolor(_:)
│ │ └── index.html
│ ├── accessibility(activationpoint:)-4y62
│ │ └── index.html
│ ├── accessibility(activationpoint:)-695kx
│ │ └── index.html
│ ├── accessibility(addtraits:)
│ │ └── index.html
│ ├── accessibility(hidden:)
│ │ └── index.html
│ ├── accessibility(hint:)
│ │ └── index.html
│ ├── accessibility(identifier:)
│ │ └── index.html
│ ├── accessibility(inputlabels:)
│ │ └── index.html
│ ├── accessibility(label:)
│ │ └── index.html
│ ├── accessibility(removetraits:)
│ │ └── index.html
│ ├── accessibility(selectionidentifier:)
│ │ └── index.html
│ ├── accessibility(sortpriority:)
│ │ └── index.html
│ ├── accessibility(value:)
│ │ └── index.html
│ ├── accessibilityaction(_:_:)
│ │ └── index.html
│ ├── accessibilityaction(action:label:)
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-3lqsr
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-69c69
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-rgyh
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-5bbv5
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-8dokx
│ │ └── index.html
│ ├── accessibilityaddtraits(_:)
│ │ └── index.html
│ ├── accessibilityadjustableaction(_:)
│ │ └── index.html
│ ├── accessibilitychartdescriptor(_:)
│ │ └── index.html
│ ├── accessibilitychildren(children:)
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-1586n
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-1u9b5
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-3t2kq
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-46frq
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-47g1f
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-5xqqc
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-8rfm7
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-9cou3
│ │ └── index.html
│ ├── accessibilityelement(children:)
│ │ └── index.html
│ ├── accessibilityfocused(_:)
│ │ └── index.html
│ ├── accessibilityfocused(_:equals:)
│ │ └── index.html
│ ├── accessibilityheading(_:)
│ │ └── index.html
│ ├── accessibilityhidden(_:)
│ │ └── index.html
│ ├── accessibilityhint(_:)-2j7te
│ │ └── index.html
│ ├── accessibilityhint(_:)-37ope
│ │ └── index.html
│ ├── accessibilityhint(_:)-7yi0h
│ │ └── index.html
│ ├── accessibilityidentifier(_:)
│ │ └── index.html
│ ├── accessibilityignoresinvertcolors(_:)
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-3feba
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-3p703
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-95tn0
│ │ └── index.html
│ ├── accessibilitylabel(_:)-2tohn
│ │ └── index.html
│ ├── accessibilitylabel(_:)-755g2
│ │ └── index.html
│ ├── accessibilitylabel(_:)-8bin6
│ │ └── index.html
│ ├── accessibilitylabeledpair(role:id:in:)
│ │ └── index.html
│ ├── accessibilitylinkedgroup(id:in:)
│ │ └── index.html
│ ├── accessibilityremovetraits(_:)
│ │ └── index.html
│ ├── accessibilityrepresentation(representation:)
│ │ └── index.html
│ ├── accessibilityrespondstouserinteraction(_:)
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-1c2au
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-4pacb
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-4w7j0
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-825mo
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1w44t
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-4vvcg
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-5gz2c
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-utor
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-25t4x
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-3evdd
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-4e9vu
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-59b0s
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-25npe
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-3d2p8
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-4jxor
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-9sgga
│ │ └── index.html
│ ├── accessibilityrotorentry(id:in:)
│ │ └── index.html
│ ├── accessibilityscrollaction(_:)
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer()
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer(_:)
│ │ └── index.html
│ ├── accessibilitysortpriority(_:)
│ │ └── index.html
│ ├── accessibilitytextcontenttype(_:)
│ │ └── index.html
│ ├── accessibilityvalue(_:)-5fw6g
│ │ └── index.html
│ ├── accessibilityvalue(_:)-5y8gy
│ │ └── index.html
│ ├── accessibilityvalue(_:)-8ihs6
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-1q2gb
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-76wk8
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-7wghk
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-5s7hn
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-9a4q7
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-f5o2
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-4edmo
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-4uw7u
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-8axxo
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-226oe
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-4tvm3
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-7b0gl
│ │ └── index.html
│ ├── alert(ispresented:content:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:message:)
│ │ └── index.html
│ ├── alert(item:content:)
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-4r6p
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-8e6vc
│ │ └── index.html
│ ├── allowshittesting(_:)
│ │ └── index.html
│ ├── allowstightening(_:)
│ │ └── index.html
│ ├── anchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── animation(_:)
│ │ └── index.html
│ ├── animation(_:value:)
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-72t0z
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-8gir9
│ │ └── index.html
│ ├── background(_:alignment:)
│ │ └── index.html
│ ├── background(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-4hb5h
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-5xuxn
│ │ └── index.html
│ ├── background(alignment:content:)
│ │ └── index.html
│ ├── background(ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(in:fillstyle:)-2lcq8
│ │ └── index.html
│ ├── background(in:fillstyle:)-6gtsb
│ │ └── index.html
│ ├── backgroundpreferencevalue(_:_:)
│ │ └── index.html
│ ├── badge(_:)-10ceg
│ │ └── index.html
│ ├── badge(_:)-6ah2
│ │ └── index.html
│ ├── badge(_:)-7kz0m
│ │ └── index.html
│ ├── badge(_:)-8lj4d
│ │ └── index.html
│ ├── blendmode(_:)
│ │ └── index.html
│ ├── blur(radius:opaque:)
│ │ └── index.html
│ ├── body
│ │ └── index.html
│ ├── border(_:width:)
│ │ └── index.html
│ ├── brightness(_:)
│ │ └── index.html
│ ├── buttonbordershape(_:)
│ │ └── index.html
│ ├── buttonstyle(_:)-6awhx
│ │ └── index.html
│ ├── buttonstyle(_:)-8ljh4
│ │ └── index.html
│ ├── carouselanimation(_:)
│ │ └── index.html
│ ├── carouseldisabled(_:)
│ │ └── index.html
│ ├── carouselpadding(_:)
│ │ └── index.html
│ ├── carouselscale(_:)
│ │ └── index.html
│ ├── carouselspacing(_:)
│ │ └── index.html
│ ├── carouselstyle(_:)
│ │ └── index.html
│ ├── carouseltrigger(on:)
│ │ └── index.html
│ ├── clipped(antialiased:)
│ │ └── index.html
│ ├── clipshape(_:style:)
│ │ └── index.html
│ ├── colorinvert()
│ │ └── index.html
│ ├── colormultiply(_:)
│ │ └── index.html
│ ├── colorscheme(_:)
│ │ └── index.html
│ ├── compositinggroup()
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-1uzrt
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-5d29j
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-718e5
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-65zoh
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-951t3
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-9yu7k
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-1ji6h
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-4fi9z
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-51cln
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-2m470
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-9o8j
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-g5bx
│ │ └── index.html
│ ├── containershape(_:)
│ │ └── index.html
│ ├── contentshape(_:_:eofill:)
│ │ └── index.html
│ ├── contentshape(_:eofill:)
│ │ └── index.html
│ ├── contextmenu(_:)
│ │ └── index.html
│ ├── contextmenu(menuitems:)
│ │ └── index.html
│ ├── contrast(_:)
│ │ └── index.html
│ ├── controlgroupstyle(_:)
│ │ └── index.html
│ ├── controlsize(_:)
│ │ └── index.html
│ ├── coordinatespace(name:)
│ │ └── index.html
│ ├── cornerradius(_:antialiased:)
│ │ └── index.html
│ ├── datepickerstyle(_:)
│ │ └── index.html
│ ├── defaultappstorage(_:)
│ │ └── index.html
│ ├── deletedisabled(_:)
│ │ └── index.html
│ ├── disableautocorrection(_:)
│ │ └── index.html
│ ├── disabled(_:)
│ │ └── index.html
│ ├── drawinggroup(opaque:colormode:)
│ │ └── index.html
│ ├── dynamictypesize(_:)
│ │ └── index.html
│ ├── edgesignoringsafearea(_:)
│ │ └── index.html
│ ├── environment(_:_:)
│ │ └── index.html
│ ├── environmentobject(_:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:onedit:)
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-2xo1j
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-5w70m
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-9dfyf
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-vkdb
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:)
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:file:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:files:oncompletion:)
│ │ └── index.html
│ ├── fixedsize()
│ │ └── index.html
│ ├── fixedsize(horizontal:vertical:)
│ │ └── index.html
│ ├── flipsforrighttoleftlayoutdirection(_:)
│ │ └── index.html
│ ├── focusable(_:)
│ │ └── index.html
│ ├── focusable(_:onfocuschange:)
│ │ └── index.html
│ ├── focused(_:)
│ │ └── index.html
│ ├── focused(_:equals:)
│ │ └── index.html
│ ├── focusedscenevalue(_:_:)
│ │ └── index.html
│ ├── focusedvalue(_:_:)
│ │ └── index.html
│ ├── focusscope(_:)
│ │ └── index.html
│ ├── font(_:)
│ │ └── index.html
│ ├── foregroundcolor(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:_:)
│ │ └── index.html
│ ├── frame()
│ │ └── index.html
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:)
│ │ └── index.html
│ ├── frame(width:height:alignment:)
│ │ └── index.html
│ ├── gesture(_:including:)
│ │ └── index.html
│ ├── grayscale(_:)
│ │ └── index.html
│ ├── groupboxstyle(_:)
│ │ └── index.html
│ ├── handlesexternalevents(preferring:allowing:)
│ │ └── index.html
│ ├── headerprominence(_:)
│ │ └── index.html
│ ├── help(_:)-1f2w4
│ │ └── index.html
│ ├── help(_:)-1g6m4
│ │ └── index.html
│ ├── help(_:)-9mw1c
│ │ └── index.html
│ ├── hidden()
│ │ └── index.html
│ ├── highprioritygesture(_:including:)
│ │ └── index.html
│ ├── horizontalradiogrouplayout()
│ │ └── index.html
│ ├── huerotation(_:)
│ │ └── index.html
│ ├── id(_:)
│ │ └── index.html
│ ├── ignoressafearea(_:edges:)
│ │ └── index.html
│ ├── imagescale(_:)
│ │ └── index.html
│ ├── importsitemproviders(_:onimport:)
│ │ └── index.html
│ ├── index.html
│ ├── init(_:initialindex:content:)-70npt
│ │ └── index.html
│ ├── init(_:initialindex:content:)-7edjn
│ │ └── index.html
│ ├── interactivedismissdisabled(_:)
│ │ └── index.html
│ ├── itemprovider(_:)
│ │ └── index.html
│ ├── keyboardshortcut(_:)-2vfia
│ │ └── index.html
│ ├── keyboardshortcut(_:)-6bxt2
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:)
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:localization:)
│ │ └── index.html
│ ├── labelshidden()
│ │ └── index.html
│ ├── labelstyle(_:)
│ │ └── index.html
│ ├── layoutpriority(_:)
│ │ └── index.html
│ ├── linelimit(_:)
│ │ └── index.html
│ ├── linespacing(_:)
│ │ └── index.html
│ ├── listitemtint(_:)-9yojl
│ │ └── index.html
│ ├── listitemtint(_:)-w4ry
│ │ └── index.html
│ ├── listrowbackground(_:)
│ │ └── index.html
│ ├── listrowinsets(_:)
│ │ └── index.html
│ ├── liststyle(_:)
│ │ └── index.html
│ ├── luminancetoalpha()
│ │ └── index.html
│ ├── mask(_:)
│ │ └── index.html
│ ├── mask(alignment:_:)
│ │ └── index.html
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:)
│ │ └── index.html
│ ├── menubuttonstyle(_:)
│ │ └── index.html
│ ├── menuindicator(_:)
│ │ └── index.html
│ ├── menustyle(_:)
│ │ └── index.html
│ ├── minimumscalefactor(_:)
│ │ └── index.html
│ ├── modifier(_:)
│ │ └── index.html
│ ├── monospaceddigit()
│ │ └── index.html
│ ├── movedisabled(_:)
│ │ └── index.html
│ ├── multilinetextalignment(_:)
│ │ └── index.html
│ ├── navigationsubtitle(_:)-10991
│ │ └── index.html
│ ├── navigationsubtitle(_:)-7xq4j
│ │ └── index.html
│ ├── navigationsubtitle(_:)-8lv93
│ │ └── index.html
│ ├── navigationtitle(_:)-544cp
│ │ └── index.html
│ ├── navigationtitle(_:)-5xkgg
│ │ └── index.html
│ ├── navigationtitle(_:)-7209e
│ │ └── index.html
│ ├── navigationtitle(_:)-8mmxy
│ │ └── index.html
│ ├── navigationviewstyle(_:)
│ │ └── index.html
│ ├── offset(_:)
│ │ └── index.html
│ ├── offset(x:y:)
│ │ └── index.html
│ ├── onappear(perform:)
│ │ └── index.html
│ ├── oncarousel(_:)
│ │ └── index.html
│ ├── oncarouseltranslation(_:)
│ │ └── index.html
│ ├── onchange(of:perform:)
│ │ └── index.html
│ ├── oncommand(_:perform:)
│ │ └── index.html
│ ├── oncontinueuseractivity(_:perform:)
│ │ └── index.html
│ ├── oncopycommand(perform:)
│ │ └── index.html
│ ├── oncutcommand(perform:)
│ │ └── index.html
│ ├── ondeletecommand(perform:)
│ │ └── index.html
│ ├── ondisappear(perform:)
│ │ └── index.html
│ ├── ondrag(_:)
│ │ └── index.html
│ ├── ondrag(_:preview:)
│ │ └── index.html
│ ├── ondrop(of:delegate:)-2phlc
│ │ └── index.html
│ ├── ondrop(of:delegate:)-5rv2
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-1ne0m
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-2dbsa
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-3z0u6
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-7mvpm
│ │ └── index.html
│ ├── onexitcommand(perform:)
│ │ └── index.html
│ ├── onhover(perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:pressing:perform:)
│ │ └── index.html
│ ├── onmovecommand(perform:)
│ │ └── index.html
│ ├── onopenurl(perform:)
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-27ier
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-2cj5d
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-18sg7
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-1ws2h
│ │ └── index.html
│ ├── onplaypausecommand(perform:)
│ │ └── index.html
│ ├── onpreferencechange(_:perform:)
│ │ └── index.html
│ ├── onreceive(_:perform:)
│ │ └── index.html
│ ├── onshuffle(_:)
│ │ └── index.html
│ ├── onshuffledeck(_:)
│ │ └── index.html
│ ├── onshuffledecktranslation(_:)
│ │ └── index.html
│ ├── onshuffletranslation(_:)
│ │ └── index.html
│ ├── onsubmit(of:_:)
│ │ └── index.html
│ ├── ontapgesture(count:perform:)
│ │ └── index.html
│ ├── opacity(_:)
│ │ └── index.html
│ ├── overlay(_:alignment:)
│ │ └── index.html
│ ├── overlay(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── overlay(_:in:fillstyle:)
│ │ └── index.html
│ ├── overlay(alignment:content:)
│ │ └── index.html
│ ├── overlaypreferencevalue(_:_:)
│ │ └── index.html
│ ├── padding(_:)-254fg
│ │ └── index.html
│ ├── padding(_:)-h9m6
│ │ └── index.html
│ ├── padding(_:_:)
│ │ └── index.html
│ ├── pagecommand(value:in:step:)
│ │ └── index.html
│ ├── pickerstyle(_:)
│ │ └── index.html
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── popover(item:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── position(_:)
│ │ └── index.html
│ ├── position(x:y:)
│ │ └── index.html
│ ├── preference(key:value:)
│ │ └── index.html
│ ├── preferredcolorscheme(_:)
│ │ └── index.html
│ ├── prefersdefaultfocus(_:in:)
│ │ └── index.html
│ ├── presentedwindowstyle(_:)
│ │ └── index.html
│ ├── presentedwindowtoolbarstyle(_:)
│ │ └── index.html
│ ├── previewcontext(_:)
│ │ └── index.html
│ ├── previewdevice(_:)
│ │ └── index.html
│ ├── previewdisplayname(_:)
│ │ └── index.html
│ ├── previewinterfaceorientation(_:)
│ │ └── index.html
│ ├── previewlayout(_:)
│ │ └── index.html
│ ├── privacysensitive(_:)
│ │ └── index.html
│ ├── progressviewstyle(_:)
│ │ └── index.html
│ ├── projectioneffect(_:)
│ │ └── index.html
│ ├── redacted(reason:)
│ │ └── index.html
│ ├── refreshable(action:)
│ │ └── index.html
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:)
│ │ └── index.html
│ ├── rotationeffect(_:anchor:)
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-5p4xh
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-8nq8e
│ │ └── index.html
│ ├── saturation(_:)
│ │ └── index.html
│ ├── scaledtofill()
│ │ └── index.html
│ ├── scaledtofit()
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-7oq71
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-9chpl
│ │ └── index.html
│ ├── scaleeffect(x:y:anchor:)
│ │ └── index.html
│ ├── scenepadding(_:)
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-31g2u
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-5dpdp
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-9859
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-2uz54
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-7bvn6
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-8bmqj
│ │ └── index.html
│ ├── searchcompletion(_:)
│ │ └── index.html
│ ├── shadow(color:radius:x:y:)
│ │ └── index.html
│ ├── sheet(ispresented:ondismiss:content:)
│ │ └── index.html
│ ├── sheet(item:ondismiss:content:)
│ │ └── index.html
│ ├── shuffleanimation(_:)
│ │ └── index.html
│ ├── shuffledeckanimation(_:)
│ │ └── index.html
│ ├── shuffledeckdisabled(_:)
│ │ └── index.html
│ ├── shuffledeckscale(_:)
│ │ └── index.html
│ ├── shuffledeckstyle(_:)
│ │ └── index.html
│ ├── shuffledecktrigger(on:)
│ │ └── index.html
│ ├── shuffledisabled(_:)
│ │ └── index.html
│ ├── shuffleoffset(_:)
│ │ └── index.html
│ ├── shufflepadding(_:)
│ │ └── index.html
│ ├── shufflescale(_:)
│ │ └── index.html
│ ├── shufflestyle(_:)
│ │ └── index.html
│ ├── shuffletrigger(on:)
│ │ └── index.html
│ ├── simultaneousgesture(_:including:)
│ │ └── index.html
│ ├── speechadjustedpitch(_:)
│ │ └── index.html
│ ├── speechalwaysincludespunctuation(_:)
│ │ └── index.html
│ ├── speechannouncementsqueued(_:)
│ │ └── index.html
│ ├── speechspellsoutcharacters(_:)
│ │ └── index.html
│ ├── submitlabel(_:)
│ │ └── index.html
│ ├── submitscope(_:)
│ │ └── index.html
│ ├── swipeactions(edge:allowsfullswipe:content:)
│ │ └── index.html
│ ├── symbolrenderingmode(_:)
│ │ └── index.html
│ ├── symbolvariant(_:)
│ │ └── index.html
│ ├── tabitem(_:)
│ │ └── index.html
│ ├── tablestyle(_:)
│ │ └── index.html
│ ├── tabviewstyle(_:)
│ │ └── index.html
│ ├── tag(_:)
│ │ └── index.html
│ ├── task(id:priority:_:)
│ │ └── index.html
│ ├── task(priority:_:)
│ │ └── index.html
│ ├── textcase(_:)
│ │ └── index.html
│ ├── textcontenttype(_:)
│ │ └── index.html
│ ├── textfieldstyle(_:)
│ │ └── index.html
│ ├── textselection(_:)
│ │ └── index.html
│ ├── tint(_:)
│ │ └── index.html
│ ├── togglestyle(_:)
│ │ └── index.html
│ ├── toolbar(content:)-6zmlc
│ │ └── index.html
│ ├── toolbar(content:)-7j09e
│ │ └── index.html
│ ├── toolbar(id:content:)
│ │ └── index.html
│ ├── touchbar(_:)
│ │ └── index.html
│ ├── touchbar(content:)
│ │ └── index.html
│ ├── touchbarcustomizationlabel(_:)
│ │ └── index.html
│ ├── touchbaritempresence(_:)
│ │ └── index.html
│ ├── touchbaritemprincipal(_:)
│ │ └── index.html
│ ├── transaction(_:)
│ │ └── index.html
│ ├── transformanchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── transformeffect(_:)
│ │ └── index.html
│ ├── transformenvironment(_:transform:)
│ │ └── index.html
│ ├── transformpreference(_:_:)
│ │ └── index.html
│ ├── transition(_:)
│ │ └── index.html
│ ├── truncationmode(_:)
│ │ └── index.html
│ ├── unredacted()
│ │ └── index.html
│ ├── useractivity(_:element:_:)
│ │ └── index.html
│ ├── useractivity(_:isactive:_:)
│ │ └── index.html
│ ├── view-implementations
│ │ └── index.html
│ └── zindex(_:)
│ │ └── index.html
│ ├── carouselstyle
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── finitescroll
│ │ └── index.html
│ ├── index.html
│ └── infinitescroll
│ │ └── index.html
│ ├── index.html
│ ├── shuffleanimation
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── easein
│ │ └── index.html
│ ├── easeinout
│ │ └── index.html
│ ├── easeout
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ └── linear
│ │ └── index.html
│ ├── shufflecontext
│ ├── direction
│ │ └── index.html
│ ├── index.html
│ ├── index
│ │ └── index.html
│ └── previousindex
│ │ └── index.html
│ ├── shuffledeck
│ ├── accentcolor(_:)
│ │ └── index.html
│ ├── accessibility(activationpoint:)-5yxv
│ │ └── index.html
│ ├── accessibility(activationpoint:)-6f80
│ │ └── index.html
│ ├── accessibility(addtraits:)
│ │ └── index.html
│ ├── accessibility(hidden:)
│ │ └── index.html
│ ├── accessibility(hint:)
│ │ └── index.html
│ ├── accessibility(identifier:)
│ │ └── index.html
│ ├── accessibility(inputlabels:)
│ │ └── index.html
│ ├── accessibility(label:)
│ │ └── index.html
│ ├── accessibility(removetraits:)
│ │ └── index.html
│ ├── accessibility(selectionidentifier:)
│ │ └── index.html
│ ├── accessibility(sortpriority:)
│ │ └── index.html
│ ├── accessibility(value:)
│ │ └── index.html
│ ├── accessibilityaction(_:_:)
│ │ └── index.html
│ ├── accessibilityaction(action:label:)
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-5vajk
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-7cvr0
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-7d1bz
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-4i64i
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-8rijn
│ │ └── index.html
│ ├── accessibilityaddtraits(_:)
│ │ └── index.html
│ ├── accessibilityadjustableaction(_:)
│ │ └── index.html
│ ├── accessibilitychartdescriptor(_:)
│ │ └── index.html
│ ├── accessibilitychildren(children:)
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-1dnrk
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-1ucuw
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-2nazk
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-3pllm
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-3pod7
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-4xdb3
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-5vxjo
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-qwm7
│ │ └── index.html
│ ├── accessibilityelement(children:)
│ │ └── index.html
│ ├── accessibilityfocused(_:)
│ │ └── index.html
│ ├── accessibilityfocused(_:equals:)
│ │ └── index.html
│ ├── accessibilityheading(_:)
│ │ └── index.html
│ ├── accessibilityhidden(_:)
│ │ └── index.html
│ ├── accessibilityhint(_:)-1rrl0
│ │ └── index.html
│ ├── accessibilityhint(_:)-5nt5z
│ │ └── index.html
│ ├── accessibilityhint(_:)-v4ao
│ │ └── index.html
│ ├── accessibilityidentifier(_:)
│ │ └── index.html
│ ├── accessibilityignoresinvertcolors(_:)
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-3x55a
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-6n0d7
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-8jm4t
│ │ └── index.html
│ ├── accessibilitylabel(_:)-3ly3t
│ │ └── index.html
│ ├── accessibilitylabel(_:)-4h91y
│ │ └── index.html
│ ├── accessibilitylabel(_:)-6a6no
│ │ └── index.html
│ ├── accessibilitylabeledpair(role:id:in:)
│ │ └── index.html
│ ├── accessibilitylinkedgroup(id:in:)
│ │ └── index.html
│ ├── accessibilityremovetraits(_:)
│ │ └── index.html
│ ├── accessibilityrepresentation(representation:)
│ │ └── index.html
│ ├── accessibilityrespondstouserinteraction(_:)
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-1orax
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-2p5bh
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-5mxjh
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-7dolw
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-10oqf
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-25d98
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-51dnw
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-6jn71
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-3f3j9
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-3lh2p
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-6wf02
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-7t24j
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-6nczq
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-8d4es
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-8l6zm
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-964n8
│ │ └── index.html
│ ├── accessibilityrotorentry(id:in:)
│ │ └── index.html
│ ├── accessibilityscrollaction(_:)
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer()
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer(_:)
│ │ └── index.html
│ ├── accessibilitysortpriority(_:)
│ │ └── index.html
│ ├── accessibilitytextcontenttype(_:)
│ │ └── index.html
│ ├── accessibilityvalue(_:)-3kff4
│ │ └── index.html
│ ├── accessibilityvalue(_:)-7dd6l
│ │ └── index.html
│ ├── accessibilityvalue(_:)-7tnqf
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-2i24c
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-6i5wg
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-6mdoc
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-5j65x
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-6iohl
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-8x9o0
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-43fim
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-6dwv5
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-77clm
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-7p8yz
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-7ptxx
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-88es2
│ │ └── index.html
│ ├── alert(ispresented:content:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:message:)
│ │ └── index.html
│ ├── alert(item:content:)
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-5dc06
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-98bnf
│ │ └── index.html
│ ├── allowshittesting(_:)
│ │ └── index.html
│ ├── allowstightening(_:)
│ │ └── index.html
│ ├── anchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── animation(_:)
│ │ └── index.html
│ ├── animation(_:value:)
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-7qpsf
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-98csp
│ │ └── index.html
│ ├── background(_:alignment:)
│ │ └── index.html
│ ├── background(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-16mk7
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-3xtjy
│ │ └── index.html
│ ├── background(alignment:content:)
│ │ └── index.html
│ ├── background(ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(in:fillstyle:)-22zkr
│ │ └── index.html
│ ├── background(in:fillstyle:)-pkki
│ │ └── index.html
│ ├── backgroundpreferencevalue(_:_:)
│ │ └── index.html
│ ├── badge(_:)-23vvh
│ │ └── index.html
│ ├── badge(_:)-3b7a5
│ │ └── index.html
│ ├── badge(_:)-4eyh0
│ │ └── index.html
│ ├── badge(_:)-5yfrj
│ │ └── index.html
│ ├── blendmode(_:)
│ │ └── index.html
│ ├── blur(radius:opaque:)
│ │ └── index.html
│ ├── body
│ │ └── index.html
│ ├── border(_:width:)
│ │ └── index.html
│ ├── brightness(_:)
│ │ └── index.html
│ ├── buttonbordershape(_:)
│ │ └── index.html
│ ├── buttonstyle(_:)-1hkio
│ │ └── index.html
│ ├── buttonstyle(_:)-1mobg
│ │ └── index.html
│ ├── carouselanimation(_:)
│ │ └── index.html
│ ├── carouseldisabled(_:)
│ │ └── index.html
│ ├── carouselpadding(_:)
│ │ └── index.html
│ ├── carouselscale(_:)
│ │ └── index.html
│ ├── carouselspacing(_:)
│ │ └── index.html
│ ├── carouselstyle(_:)
│ │ └── index.html
│ ├── carouseltrigger(on:)
│ │ └── index.html
│ ├── clipped(antialiased:)
│ │ └── index.html
│ ├── clipshape(_:style:)
│ │ └── index.html
│ ├── colorinvert()
│ │ └── index.html
│ ├── colormultiply(_:)
│ │ └── index.html
│ ├── colorscheme(_:)
│ │ └── index.html
│ ├── compositinggroup()
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7c2i9
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7p1mg
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-9t8f5
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-592a8
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-6sq5i
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-8ffij
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-455gp
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-7pvn4
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-8fhv
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-4bg57
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-4pxpc
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-50r8e
│ │ └── index.html
│ ├── containershape(_:)
│ │ └── index.html
│ ├── contentshape(_:_:eofill:)
│ │ └── index.html
│ ├── contentshape(_:eofill:)
│ │ └── index.html
│ ├── contextmenu(_:)
│ │ └── index.html
│ ├── contextmenu(menuitems:)
│ │ └── index.html
│ ├── contrast(_:)
│ │ └── index.html
│ ├── controlgroupstyle(_:)
│ │ └── index.html
│ ├── controlsize(_:)
│ │ └── index.html
│ ├── coordinatespace(name:)
│ │ └── index.html
│ ├── cornerradius(_:antialiased:)
│ │ └── index.html
│ ├── datepickerstyle(_:)
│ │ └── index.html
│ ├── defaultappstorage(_:)
│ │ └── index.html
│ ├── deletedisabled(_:)
│ │ └── index.html
│ ├── disableautocorrection(_:)
│ │ └── index.html
│ ├── disabled(_:)
│ │ └── index.html
│ ├── drawinggroup(opaque:colormode:)
│ │ └── index.html
│ ├── dynamictypesize(_:)
│ │ └── index.html
│ ├── edgesignoringsafearea(_:)
│ │ └── index.html
│ ├── environment(_:_:)
│ │ └── index.html
│ ├── environmentobject(_:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:onedit:)
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-54p9i
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-z1af
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-4ixib
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-72o0w
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:)
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:file:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:files:oncompletion:)
│ │ └── index.html
│ ├── fixedsize()
│ │ └── index.html
│ ├── fixedsize(horizontal:vertical:)
│ │ └── index.html
│ ├── flipsforrighttoleftlayoutdirection(_:)
│ │ └── index.html
│ ├── focusable(_:)
│ │ └── index.html
│ ├── focusable(_:onfocuschange:)
│ │ └── index.html
│ ├── focused(_:)
│ │ └── index.html
│ ├── focused(_:equals:)
│ │ └── index.html
│ ├── focusedscenevalue(_:_:)
│ │ └── index.html
│ ├── focusedvalue(_:_:)
│ │ └── index.html
│ ├── focusscope(_:)
│ │ └── index.html
│ ├── font(_:)
│ │ └── index.html
│ ├── foregroundcolor(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:_:)
│ │ └── index.html
│ ├── frame()
│ │ └── index.html
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:)
│ │ └── index.html
│ ├── frame(width:height:alignment:)
│ │ └── index.html
│ ├── gesture(_:including:)
│ │ └── index.html
│ ├── grayscale(_:)
│ │ └── index.html
│ ├── groupboxstyle(_:)
│ │ └── index.html
│ ├── handlesexternalevents(preferring:allowing:)
│ │ └── index.html
│ ├── headerprominence(_:)
│ │ └── index.html
│ ├── help(_:)-4gfc1
│ │ └── index.html
│ ├── help(_:)-57kg7
│ │ └── index.html
│ ├── help(_:)-5c7gg
│ │ └── index.html
│ ├── hidden()
│ │ └── index.html
│ ├── highprioritygesture(_:including:)
│ │ └── index.html
│ ├── horizontalradiogrouplayout()
│ │ └── index.html
│ ├── huerotation(_:)
│ │ └── index.html
│ ├── id(_:)
│ │ └── index.html
│ ├── ignoressafearea(_:edges:)
│ │ └── index.html
│ ├── imagescale(_:)
│ │ └── index.html
│ ├── importsitemproviders(_:onimport:)
│ │ └── index.html
│ ├── index.html
│ ├── init(_:initialindex:content:)-6ou47
│ │ └── index.html
│ ├── init(_:initialindex:content:)-9osfg
│ │ └── index.html
│ ├── interactivedismissdisabled(_:)
│ │ └── index.html
│ ├── itemprovider(_:)
│ │ └── index.html
│ ├── keyboardshortcut(_:)-8kg9p
│ │ └── index.html
│ ├── keyboardshortcut(_:)-92las
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:)
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:localization:)
│ │ └── index.html
│ ├── labelshidden()
│ │ └── index.html
│ ├── labelstyle(_:)
│ │ └── index.html
│ ├── layoutpriority(_:)
│ │ └── index.html
│ ├── linelimit(_:)
│ │ └── index.html
│ ├── linespacing(_:)
│ │ └── index.html
│ ├── listitemtint(_:)-4okc6
│ │ └── index.html
│ ├── listitemtint(_:)-8uys6
│ │ └── index.html
│ ├── listrowbackground(_:)
│ │ └── index.html
│ ├── listrowinsets(_:)
│ │ └── index.html
│ ├── liststyle(_:)
│ │ └── index.html
│ ├── luminancetoalpha()
│ │ └── index.html
│ ├── mask(_:)
│ │ └── index.html
│ ├── mask(alignment:_:)
│ │ └── index.html
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:)
│ │ └── index.html
│ ├── menubuttonstyle(_:)
│ │ └── index.html
│ ├── menuindicator(_:)
│ │ └── index.html
│ ├── menustyle(_:)
│ │ └── index.html
│ ├── minimumscalefactor(_:)
│ │ └── index.html
│ ├── modifier(_:)
│ │ └── index.html
│ ├── monospaceddigit()
│ │ └── index.html
│ ├── movedisabled(_:)
│ │ └── index.html
│ ├── multilinetextalignment(_:)
│ │ └── index.html
│ ├── navigationsubtitle(_:)-4xcr1
│ │ └── index.html
│ ├── navigationsubtitle(_:)-62wq4
│ │ └── index.html
│ ├── navigationsubtitle(_:)-89wf8
│ │ └── index.html
│ ├── navigationtitle(_:)-15ycd
│ │ └── index.html
│ ├── navigationtitle(_:)-3gz4j
│ │ └── index.html
│ ├── navigationtitle(_:)-6t67o
│ │ └── index.html
│ ├── navigationtitle(_:)-8moj6
│ │ └── index.html
│ ├── navigationviewstyle(_:)
│ │ └── index.html
│ ├── offset(_:)
│ │ └── index.html
│ ├── offset(x:y:)
│ │ └── index.html
│ ├── onappear(perform:)
│ │ └── index.html
│ ├── oncarousel(_:)
│ │ └── index.html
│ ├── oncarouseltranslation(_:)
│ │ └── index.html
│ ├── onchange(of:perform:)
│ │ └── index.html
│ ├── oncommand(_:perform:)
│ │ └── index.html
│ ├── oncontinueuseractivity(_:perform:)
│ │ └── index.html
│ ├── oncopycommand(perform:)
│ │ └── index.html
│ ├── oncutcommand(perform:)
│ │ └── index.html
│ ├── ondeletecommand(perform:)
│ │ └── index.html
│ ├── ondisappear(perform:)
│ │ └── index.html
│ ├── ondrag(_:)
│ │ └── index.html
│ ├── ondrag(_:preview:)
│ │ └── index.html
│ ├── ondrop(of:delegate:)-55jbd
│ │ └── index.html
│ ├── ondrop(of:delegate:)-9xy3o
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-2wosm
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-4zd72
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-6o6wo
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-btgb
│ │ └── index.html
│ ├── onexitcommand(perform:)
│ │ └── index.html
│ ├── onhover(perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:pressing:perform:)
│ │ └── index.html
│ ├── onmovecommand(perform:)
│ │ └── index.html
│ ├── onopenurl(perform:)
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-3phpt
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-7nzf4
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-5h2lv
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-7k6qm
│ │ └── index.html
│ ├── onplaypausecommand(perform:)
│ │ └── index.html
│ ├── onpreferencechange(_:perform:)
│ │ └── index.html
│ ├── onreceive(_:perform:)
│ │ └── index.html
│ ├── onshuffle(_:)
│ │ └── index.html
│ ├── onshuffledeck(_:)
│ │ └── index.html
│ ├── onshuffledecktranslation(_:)
│ │ └── index.html
│ ├── onshuffletranslation(_:)
│ │ └── index.html
│ ├── onsubmit(of:_:)
│ │ └── index.html
│ ├── ontapgesture(count:perform:)
│ │ └── index.html
│ ├── opacity(_:)
│ │ └── index.html
│ ├── overlay(_:alignment:)
│ │ └── index.html
│ ├── overlay(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── overlay(_:in:fillstyle:)
│ │ └── index.html
│ ├── overlay(alignment:content:)
│ │ └── index.html
│ ├── overlaypreferencevalue(_:_:)
│ │ └── index.html
│ ├── padding(_:)-5f3wf
│ │ └── index.html
│ ├── padding(_:)-7cp9q
│ │ └── index.html
│ ├── padding(_:_:)
│ │ └── index.html
│ ├── pagecommand(value:in:step:)
│ │ └── index.html
│ ├── pickerstyle(_:)
│ │ └── index.html
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── popover(item:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── position(_:)
│ │ └── index.html
│ ├── position(x:y:)
│ │ └── index.html
│ ├── preference(key:value:)
│ │ └── index.html
│ ├── preferredcolorscheme(_:)
│ │ └── index.html
│ ├── prefersdefaultfocus(_:in:)
│ │ └── index.html
│ ├── presentedwindowstyle(_:)
│ │ └── index.html
│ ├── presentedwindowtoolbarstyle(_:)
│ │ └── index.html
│ ├── previewcontext(_:)
│ │ └── index.html
│ ├── previewdevice(_:)
│ │ └── index.html
│ ├── previewdisplayname(_:)
│ │ └── index.html
│ ├── previewinterfaceorientation(_:)
│ │ └── index.html
│ ├── previewlayout(_:)
│ │ └── index.html
│ ├── privacysensitive(_:)
│ │ └── index.html
│ ├── progressviewstyle(_:)
│ │ └── index.html
│ ├── projectioneffect(_:)
│ │ └── index.html
│ ├── redacted(reason:)
│ │ └── index.html
│ ├── refreshable(action:)
│ │ └── index.html
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:)
│ │ └── index.html
│ ├── rotationeffect(_:anchor:)
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-4gojk
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-9bx6p
│ │ └── index.html
│ ├── saturation(_:)
│ │ └── index.html
│ ├── scaledtofill()
│ │ └── index.html
│ ├── scaledtofit()
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-4byje
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-6bduh
│ │ └── index.html
│ ├── scaleeffect(x:y:anchor:)
│ │ └── index.html
│ ├── scenepadding(_:)
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-2i9jl
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-50j7i
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-75a6t
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-5bsg8
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-5ib9a
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-8fyqc
│ │ └── index.html
│ ├── searchcompletion(_:)
│ │ └── index.html
│ ├── shadow(color:radius:x:y:)
│ │ └── index.html
│ ├── sheet(ispresented:ondismiss:content:)
│ │ └── index.html
│ ├── sheet(item:ondismiss:content:)
│ │ └── index.html
│ ├── shuffleanimation(_:)
│ │ └── index.html
│ ├── shuffledeckanimation(_:)
│ │ └── index.html
│ ├── shuffledeckdisabled(_:)
│ │ └── index.html
│ ├── shuffledeckscale(_:)
│ │ └── index.html
│ ├── shuffledeckstyle(_:)
│ │ └── index.html
│ ├── shuffledecktrigger(on:)
│ │ └── index.html
│ ├── shuffledisabled(_:)
│ │ └── index.html
│ ├── shuffleoffset(_:)
│ │ └── index.html
│ ├── shufflepadding(_:)
│ │ └── index.html
│ ├── shufflescale(_:)
│ │ └── index.html
│ ├── shufflestyle(_:)
│ │ └── index.html
│ ├── shuffletrigger(on:)
│ │ └── index.html
│ ├── simultaneousgesture(_:including:)
│ │ └── index.html
│ ├── speechadjustedpitch(_:)
│ │ └── index.html
│ ├── speechalwaysincludespunctuation(_:)
│ │ └── index.html
│ ├── speechannouncementsqueued(_:)
│ │ └── index.html
│ ├── speechspellsoutcharacters(_:)
│ │ └── index.html
│ ├── submitlabel(_:)
│ │ └── index.html
│ ├── submitscope(_:)
│ │ └── index.html
│ ├── swipeactions(edge:allowsfullswipe:content:)
│ │ └── index.html
│ ├── symbolrenderingmode(_:)
│ │ └── index.html
│ ├── symbolvariant(_:)
│ │ └── index.html
│ ├── tabitem(_:)
│ │ └── index.html
│ ├── tablestyle(_:)
│ │ └── index.html
│ ├── tabviewstyle(_:)
│ │ └── index.html
│ ├── tag(_:)
│ │ └── index.html
│ ├── task(id:priority:_:)
│ │ └── index.html
│ ├── task(priority:_:)
│ │ └── index.html
│ ├── textcase(_:)
│ │ └── index.html
│ ├── textcontenttype(_:)
│ │ └── index.html
│ ├── textfieldstyle(_:)
│ │ └── index.html
│ ├── textselection(_:)
│ │ └── index.html
│ ├── tint(_:)
│ │ └── index.html
│ ├── togglestyle(_:)
│ │ └── index.html
│ ├── toolbar(content:)-2k0pt
│ │ └── index.html
│ ├── toolbar(content:)-4sm5t
│ │ └── index.html
│ ├── toolbar(id:content:)
│ │ └── index.html
│ ├── touchbar(_:)
│ │ └── index.html
│ ├── touchbar(content:)
│ │ └── index.html
│ ├── touchbarcustomizationlabel(_:)
│ │ └── index.html
│ ├── touchbaritempresence(_:)
│ │ └── index.html
│ ├── touchbaritemprincipal(_:)
│ │ └── index.html
│ ├── transaction(_:)
│ │ └── index.html
│ ├── transformanchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── transformeffect(_:)
│ │ └── index.html
│ ├── transformenvironment(_:transform:)
│ │ └── index.html
│ ├── transformpreference(_:_:)
│ │ └── index.html
│ ├── transition(_:)
│ │ └── index.html
│ ├── truncationmode(_:)
│ │ └── index.html
│ ├── unredacted()
│ │ └── index.html
│ ├── useractivity(_:element:_:)
│ │ └── index.html
│ ├── useractivity(_:isactive:_:)
│ │ └── index.html
│ ├── view-implementations
│ │ └── index.html
│ └── zindex(_:)
│ │ └── index.html
│ ├── shuffledeckanimation
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── easein
│ │ └── index.html
│ ├── easeinout
│ │ └── index.html
│ ├── easeout
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ └── linear
│ │ └── index.html
│ ├── shuffledeckcontext
│ ├── direction
│ │ └── index.html
│ ├── index.html
│ ├── index
│ │ └── index.html
│ └── previousindex
│ │ └── index.html
│ ├── shuffledeckdirection
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ ├── left
│ │ └── index.html
│ └── right
│ │ └── index.html
│ ├── shuffledeckstyle
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── finiteshuffle
│ │ └── index.html
│ ├── index.html
│ └── infiniteshuffle
│ │ └── index.html
│ ├── shuffledirection
│ ├── !=(_:_:)
│ │ └── index.html
│ ├── equatable-implementations
│ │ └── index.html
│ ├── index.html
│ ├── left
│ │ └── index.html
│ └── right
│ │ └── index.html
│ ├── shufflestack
│ ├── accentcolor(_:)
│ │ └── index.html
│ ├── accessibility(activationpoint:)-1nikr
│ │ └── index.html
│ ├── accessibility(activationpoint:)-9o1ut
│ │ └── index.html
│ ├── accessibility(addtraits:)
│ │ └── index.html
│ ├── accessibility(hidden:)
│ │ └── index.html
│ ├── accessibility(hint:)
│ │ └── index.html
│ ├── accessibility(identifier:)
│ │ └── index.html
│ ├── accessibility(inputlabels:)
│ │ └── index.html
│ ├── accessibility(label:)
│ │ └── index.html
│ ├── accessibility(removetraits:)
│ │ └── index.html
│ ├── accessibility(selectionidentifier:)
│ │ └── index.html
│ ├── accessibility(sortpriority:)
│ │ └── index.html
│ ├── accessibility(value:)
│ │ └── index.html
│ ├── accessibilityaction(_:_:)
│ │ └── index.html
│ ├── accessibilityaction(action:label:)
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-5nf29
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-7rxae
│ │ └── index.html
│ ├── accessibilityaction(named:_:)-7tk0c
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-57vfb
│ │ └── index.html
│ ├── accessibilityactivationpoint(_:)-9osvr
│ │ └── index.html
│ ├── accessibilityaddtraits(_:)
│ │ └── index.html
│ ├── accessibilityadjustableaction(_:)
│ │ └── index.html
│ ├── accessibilitychartdescriptor(_:)
│ │ └── index.html
│ ├── accessibilitychildren(children:)
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-1gi9v
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-375xz
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-571fc
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-72sim
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-7h1pz
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-8sma2
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-956rk
│ │ └── index.html
│ ├── accessibilitycustomcontent(_:_:importance:)-96ur4
│ │ └── index.html
│ ├── accessibilityelement(children:)
│ │ └── index.html
│ ├── accessibilityfocused(_:)
│ │ └── index.html
│ ├── accessibilityfocused(_:equals:)
│ │ └── index.html
│ ├── accessibilityheading(_:)
│ │ └── index.html
│ ├── accessibilityhidden(_:)
│ │ └── index.html
│ ├── accessibilityhint(_:)-45b9m
│ │ └── index.html
│ ├── accessibilityhint(_:)-6451d
│ │ └── index.html
│ ├── accessibilityhint(_:)-6m2eb
│ │ └── index.html
│ ├── accessibilityidentifier(_:)
│ │ └── index.html
│ ├── accessibilityignoresinvertcolors(_:)
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-3mfon
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-7hs3b
│ │ └── index.html
│ ├── accessibilityinputlabels(_:)-7kg3p
│ │ └── index.html
│ ├── accessibilitylabel(_:)-3has0
│ │ └── index.html
│ ├── accessibilitylabel(_:)-6dv6y
│ │ └── index.html
│ ├── accessibilitylabel(_:)-e66p
│ │ └── index.html
│ ├── accessibilitylabeledpair(role:id:in:)
│ │ └── index.html
│ ├── accessibilitylinkedgroup(id:in:)
│ │ └── index.html
│ ├── accessibilityremovetraits(_:)
│ │ └── index.html
│ ├── accessibilityrepresentation(representation:)
│ │ └── index.html
│ ├── accessibilityrespondstouserinteraction(_:)
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-3a01s
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-661b4
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-7kbeo
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:)-f4c5
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1kufn
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-1o7jk
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-2ng74
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entryid:entrylabel:)-6akr8
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-6o30j
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-8e6r9
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-bva6
│ │ └── index.html
│ ├── accessibilityrotor(_:entries:entrylabel:)-cxx7
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-1v5os
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-5mce6
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-7fpc1
│ │ └── index.html
│ ├── accessibilityrotor(_:textranges:)-91on2
│ │ └── index.html
│ ├── accessibilityrotorentry(id:in:)
│ │ └── index.html
│ ├── accessibilityscrollaction(_:)
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer()
│ │ └── index.html
│ ├── accessibilityshowslargecontentviewer(_:)
│ │ └── index.html
│ ├── accessibilitysortpriority(_:)
│ │ └── index.html
│ ├── accessibilitytextcontenttype(_:)
│ │ └── index.html
│ ├── accessibilityvalue(_:)-6kh76
│ │ └── index.html
│ ├── accessibilityvalue(_:)-6x5in
│ │ └── index.html
│ ├── accessibilityvalue(_:)-tcbi
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-13ppe
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-31fv4
│ │ └── index.html
│ ├── alert(_:ispresented:actions:)-svpk
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-1lplz
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-42hzu
│ │ └── index.html
│ ├── alert(_:ispresented:actions:message:)-8jr1q
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-135kk
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-7je0d
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:)-7zzve
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-17uu0
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-36zvz
│ │ └── index.html
│ ├── alert(_:ispresented:presenting:actions:message:)-7caah
│ │ └── index.html
│ ├── alert(ispresented:content:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:)
│ │ └── index.html
│ ├── alert(ispresented:error:actions:message:)
│ │ └── index.html
│ ├── alert(item:content:)
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-23g26
│ │ └── index.html
│ ├── alignmentguide(_:computevalue:)-4kcej
│ │ └── index.html
│ ├── allowshittesting(_:)
│ │ └── index.html
│ ├── allowstightening(_:)
│ │ └── index.html
│ ├── anchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── animation(_:)
│ │ └── index.html
│ ├── animation(_:value:)
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-9iav9
│ │ └── index.html
│ ├── aspectratio(_:contentmode:)-ggdx
│ │ └── index.html
│ ├── background(_:alignment:)
│ │ └── index.html
│ ├── background(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-1a2bf
│ │ └── index.html
│ ├── background(_:in:fillstyle:)-8qwr1
│ │ └── index.html
│ ├── background(alignment:content:)
│ │ └── index.html
│ ├── background(ignoressafeareaedges:)
│ │ └── index.html
│ ├── background(in:fillstyle:)-58j5e
│ │ └── index.html
│ ├── background(in:fillstyle:)-8w09p
│ │ └── index.html
│ ├── backgroundpreferencevalue(_:_:)
│ │ └── index.html
│ ├── badge(_:)-26gjx
│ │ └── index.html
│ ├── badge(_:)-2cz64
│ │ └── index.html
│ ├── badge(_:)-31kbp
│ │ └── index.html
│ ├── badge(_:)-4i0v1
│ │ └── index.html
│ ├── blendmode(_:)
│ │ └── index.html
│ ├── blur(radius:opaque:)
│ │ └── index.html
│ ├── body
│ │ └── index.html
│ ├── border(_:width:)
│ │ └── index.html
│ ├── brightness(_:)
│ │ └── index.html
│ ├── buttonbordershape(_:)
│ │ └── index.html
│ ├── buttonstyle(_:)-42cf
│ │ └── index.html
│ ├── buttonstyle(_:)-4hs9e
│ │ └── index.html
│ ├── carouselanimation(_:)
│ │ └── index.html
│ ├── carouseldisabled(_:)
│ │ └── index.html
│ ├── carouselpadding(_:)
│ │ └── index.html
│ ├── carouselscale(_:)
│ │ └── index.html
│ ├── carouselspacing(_:)
│ │ └── index.html
│ ├── carouselstyle(_:)
│ │ └── index.html
│ ├── carouseltrigger(on:)
│ │ └── index.html
│ ├── clipped(antialiased:)
│ │ └── index.html
│ ├── clipshape(_:style:)
│ │ └── index.html
│ ├── colorinvert()
│ │ └── index.html
│ ├── colormultiply(_:)
│ │ └── index.html
│ ├── colorscheme(_:)
│ │ └── index.html
│ ├── compositinggroup()
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-41ud8
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-4ywhx
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:)-7ipnf
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-1kurz
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-5vmyl
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:actions:message:)-9sue3
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-1tkx
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-5diu1
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:)-7pkdq
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-296mh
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-5uj0y
│ │ └── index.html
│ ├── confirmationdialog(_:ispresented:titlevisibility:presenting:actions:message:)-7cjsq
│ │ └── index.html
│ ├── containershape(_:)
│ │ └── index.html
│ ├── contentshape(_:_:eofill:)
│ │ └── index.html
│ ├── contentshape(_:eofill:)
│ │ └── index.html
│ ├── contextmenu(_:)
│ │ └── index.html
│ ├── contextmenu(menuitems:)
│ │ └── index.html
│ ├── contrast(_:)
│ │ └── index.html
│ ├── controlgroupstyle(_:)
│ │ └── index.html
│ ├── controlsize(_:)
│ │ └── index.html
│ ├── coordinatespace(name:)
│ │ └── index.html
│ ├── cornerradius(_:antialiased:)
│ │ └── index.html
│ ├── datepickerstyle(_:)
│ │ └── index.html
│ ├── defaultappstorage(_:)
│ │ └── index.html
│ ├── deletedisabled(_:)
│ │ └── index.html
│ ├── disableautocorrection(_:)
│ │ └── index.html
│ ├── disabled(_:)
│ │ └── index.html
│ ├── drawinggroup(opaque:colormode:)
│ │ └── index.html
│ ├── dynamictypesize(_:)
│ │ └── index.html
│ ├── edgesignoringsafearea(_:)
│ │ └── index.html
│ ├── environment(_:_:)
│ │ └── index.html
│ ├── environmentobject(_:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:)
│ │ └── index.html
│ ├── exportsitemproviders(_:onexport:onedit:)
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-6evgr
│ │ └── index.html
│ ├── fileexporter(ispresented:document:contenttype:defaultfilename:oncompletion:)-8iv2y
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-233kd
│ │ └── index.html
│ ├── fileexporter(ispresented:documents:contenttype:oncompletion:)-7map2
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:allowsmultipleselection:oncompletion:)
│ │ └── index.html
│ ├── fileimporter(ispresented:allowedcontenttypes:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:file:oncompletion:)
│ │ └── index.html
│ ├── filemover(ispresented:files:oncompletion:)
│ │ └── index.html
│ ├── fixedsize()
│ │ └── index.html
│ ├── fixedsize(horizontal:vertical:)
│ │ └── index.html
│ ├── flipsforrighttoleftlayoutdirection(_:)
│ │ └── index.html
│ ├── focusable(_:)
│ │ └── index.html
│ ├── focusable(_:onfocuschange:)
│ │ └── index.html
│ ├── focused(_:)
│ │ └── index.html
│ ├── focused(_:equals:)
│ │ └── index.html
│ ├── focusedscenevalue(_:_:)
│ │ └── index.html
│ ├── focusedvalue(_:_:)
│ │ └── index.html
│ ├── focusscope(_:)
│ │ └── index.html
│ ├── font(_:)
│ │ └── index.html
│ ├── foregroundcolor(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:)
│ │ └── index.html
│ ├── foregroundstyle(_:_:_:)
│ │ └── index.html
│ ├── frame()
│ │ └── index.html
│ ├── frame(minwidth:idealwidth:maxwidth:minheight:idealheight:maxheight:alignment:)
│ │ └── index.html
│ ├── frame(width:height:alignment:)
│ │ └── index.html
│ ├── gesture(_:including:)
│ │ └── index.html
│ ├── grayscale(_:)
│ │ └── index.html
│ ├── groupboxstyle(_:)
│ │ └── index.html
│ ├── handlesexternalevents(preferring:allowing:)
│ │ └── index.html
│ ├── headerprominence(_:)
│ │ └── index.html
│ ├── help(_:)-296
│ │ └── index.html
│ ├── help(_:)-2u744
│ │ └── index.html
│ ├── help(_:)-4q5ms
│ │ └── index.html
│ ├── hidden()
│ │ └── index.html
│ ├── highprioritygesture(_:including:)
│ │ └── index.html
│ ├── horizontalradiogrouplayout()
│ │ └── index.html
│ ├── huerotation(_:)
│ │ └── index.html
│ ├── id(_:)
│ │ └── index.html
│ ├── ignoressafearea(_:edges:)
│ │ └── index.html
│ ├── imagescale(_:)
│ │ └── index.html
│ ├── importsitemproviders(_:onimport:)
│ │ └── index.html
│ ├── index.html
│ ├── init(_:initialindex:stackcontent:)-4x5f3
│ │ └── index.html
│ ├── init(_:initialindex:stackcontent:)-8ktnr
│ │ └── index.html
│ ├── interactivedismissdisabled(_:)
│ │ └── index.html
│ ├── itemprovider(_:)
│ │ └── index.html
│ ├── keyboardshortcut(_:)-30f12
│ │ └── index.html
│ ├── keyboardshortcut(_:)-38k96
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:)
│ │ └── index.html
│ ├── keyboardshortcut(_:modifiers:localization:)
│ │ └── index.html
│ ├── labelshidden()
│ │ └── index.html
│ ├── labelstyle(_:)
│ │ └── index.html
│ ├── layoutpriority(_:)
│ │ └── index.html
│ ├── linelimit(_:)
│ │ └── index.html
│ ├── linespacing(_:)
│ │ └── index.html
│ ├── listitemtint(_:)-66j6h
│ │ └── index.html
│ ├── listitemtint(_:)-6zn9q
│ │ └── index.html
│ ├── listrowbackground(_:)
│ │ └── index.html
│ ├── listrowinsets(_:)
│ │ └── index.html
│ ├── liststyle(_:)
│ │ └── index.html
│ ├── luminancetoalpha()
│ │ └── index.html
│ ├── mask(_:)
│ │ └── index.html
│ ├── mask(alignment:_:)
│ │ └── index.html
│ ├── matchedgeometryeffect(id:in:properties:anchor:issource:)
│ │ └── index.html
│ ├── menubuttonstyle(_:)
│ │ └── index.html
│ ├── menuindicator(_:)
│ │ └── index.html
│ ├── menustyle(_:)
│ │ └── index.html
│ ├── minimumscalefactor(_:)
│ │ └── index.html
│ ├── modifier(_:)
│ │ └── index.html
│ ├── monospaceddigit()
│ │ └── index.html
│ ├── movedisabled(_:)
│ │ └── index.html
│ ├── multilinetextalignment(_:)
│ │ └── index.html
│ ├── navigationsubtitle(_:)-16d52
│ │ └── index.html
│ ├── navigationsubtitle(_:)-206md
│ │ └── index.html
│ ├── navigationsubtitle(_:)-7em2i
│ │ └── index.html
│ ├── navigationtitle(_:)-7aj99
│ │ └── index.html
│ ├── navigationtitle(_:)-7jd07
│ │ └── index.html
│ ├── navigationtitle(_:)-7twkm
│ │ └── index.html
│ ├── navigationtitle(_:)-7w547
│ │ └── index.html
│ ├── navigationviewstyle(_:)
│ │ └── index.html
│ ├── offset(_:)
│ │ └── index.html
│ ├── offset(x:y:)
│ │ └── index.html
│ ├── onappear(perform:)
│ │ └── index.html
│ ├── oncarousel(_:)
│ │ └── index.html
│ ├── oncarouseltranslation(_:)
│ │ └── index.html
│ ├── onchange(of:perform:)
│ │ └── index.html
│ ├── oncommand(_:perform:)
│ │ └── index.html
│ ├── oncontinueuseractivity(_:perform:)
│ │ └── index.html
│ ├── oncopycommand(perform:)
│ │ └── index.html
│ ├── oncutcommand(perform:)
│ │ └── index.html
│ ├── ondeletecommand(perform:)
│ │ └── index.html
│ ├── ondisappear(perform:)
│ │ └── index.html
│ ├── ondrag(_:)
│ │ └── index.html
│ ├── ondrag(_:preview:)
│ │ └── index.html
│ ├── ondrop(of:delegate:)-1ea27
│ │ └── index.html
│ ├── ondrop(of:delegate:)-8thdr
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-363wn
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-3bmbv
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-82gpe
│ │ └── index.html
│ ├── ondrop(of:istargeted:perform:)-84ef9
│ │ └── index.html
│ ├── onexitcommand(perform:)
│ │ └── index.html
│ ├── onhover(perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:maximumdistance:pressing:perform:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:perform:onpressingchanged:)
│ │ └── index.html
│ ├── onlongpressgesture(minimumduration:pressing:perform:)
│ │ └── index.html
│ ├── onmovecommand(perform:)
│ │ └── index.html
│ ├── onopenurl(perform:)
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-4k6ie
│ │ └── index.html
│ ├── onpastecommand(of:perform:)-wliz
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-7tcqn
│ │ └── index.html
│ ├── onpastecommand(of:validator:perform:)-9ddq9
│ │ └── index.html
│ ├── onplaypausecommand(perform:)
│ │ └── index.html
│ ├── onpreferencechange(_:perform:)
│ │ └── index.html
│ ├── onreceive(_:perform:)
│ │ └── index.html
│ ├── onshuffle(_:)
│ │ └── index.html
│ ├── onshuffledeck(_:)
│ │ └── index.html
│ ├── onshuffledecktranslation(_:)
│ │ └── index.html
│ ├── onshuffletranslation(_:)
│ │ └── index.html
│ ├── onsubmit(of:_:)
│ │ └── index.html
│ ├── ontapgesture(count:perform:)
│ │ └── index.html
│ ├── opacity(_:)
│ │ └── index.html
│ ├── overlay(_:alignment:)
│ │ └── index.html
│ ├── overlay(_:ignoressafeareaedges:)
│ │ └── index.html
│ ├── overlay(_:in:fillstyle:)
│ │ └── index.html
│ ├── overlay(alignment:content:)
│ │ └── index.html
│ ├── overlaypreferencevalue(_:_:)
│ │ └── index.html
│ ├── padding(_:)-7zetw
│ │ └── index.html
│ ├── padding(_:)-9obs7
│ │ └── index.html
│ ├── padding(_:_:)
│ │ └── index.html
│ ├── pagecommand(value:in:step:)
│ │ └── index.html
│ ├── pickerstyle(_:)
│ │ └── index.html
│ ├── popover(ispresented:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── popover(item:attachmentanchor:arrowedge:content:)
│ │ └── index.html
│ ├── position(_:)
│ │ └── index.html
│ ├── position(x:y:)
│ │ └── index.html
│ ├── preference(key:value:)
│ │ └── index.html
│ ├── preferredcolorscheme(_:)
│ │ └── index.html
│ ├── prefersdefaultfocus(_:in:)
│ │ └── index.html
│ ├── presentedwindowstyle(_:)
│ │ └── index.html
│ ├── presentedwindowtoolbarstyle(_:)
│ │ └── index.html
│ ├── previewcontext(_:)
│ │ └── index.html
│ ├── previewdevice(_:)
│ │ └── index.html
│ ├── previewdisplayname(_:)
│ │ └── index.html
│ ├── previewinterfaceorientation(_:)
│ │ └── index.html
│ ├── previewlayout(_:)
│ │ └── index.html
│ ├── privacysensitive(_:)
│ │ └── index.html
│ ├── progressviewstyle(_:)
│ │ └── index.html
│ ├── projectioneffect(_:)
│ │ └── index.html
│ ├── redacted(reason:)
│ │ └── index.html
│ ├── refreshable(action:)
│ │ └── index.html
│ ├── rotation3deffect(_:axis:anchor:anchorz:perspective:)
│ │ └── index.html
│ ├── rotationeffect(_:anchor:)
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-9cc9j
│ │ └── index.html
│ ├── safeareainset(edge:alignment:spacing:content:)-9ojua
│ │ └── index.html
│ ├── saturation(_:)
│ │ └── index.html
│ ├── scaledtofill()
│ │ └── index.html
│ ├── scaledtofit()
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-2caa5
│ │ └── index.html
│ ├── scaleeffect(_:anchor:)-718iu
│ │ └── index.html
│ ├── scaleeffect(x:y:anchor:)
│ │ └── index.html
│ ├── scenepadding(_:)
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-2vm7x
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-8rgzb
│ │ └── index.html
│ ├── searchable(text:placement:prompt:)-988ga
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-3zci7
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-5taln
│ │ └── index.html
│ ├── searchable(text:placement:prompt:suggestions:)-8jhzt
│ │ └── index.html
│ ├── searchcompletion(_:)
│ │ └── index.html
│ ├── shadow(color:radius:x:y:)
│ │ └── index.html
│ ├── sheet(ispresented:ondismiss:content:)
│ │ └── index.html
│ ├── sheet(item:ondismiss:content:)
│ │ └── index.html
│ ├── shuffleanimation(_:)
│ │ └── index.html
│ ├── shuffledeckanimation(_:)
│ │ └── index.html
│ ├── shuffledeckdisabled(_:)
│ │ └── index.html
│ ├── shuffledeckscale(_:)
│ │ └── index.html
│ ├── shuffledeckstyle(_:)
│ │ └── index.html
│ ├── shuffledecktrigger(on:)
│ │ └── index.html
│ ├── shuffledisabled(_:)
│ │ └── index.html
│ ├── shuffleoffset(_:)
│ │ └── index.html
│ ├── shufflepadding(_:)
│ │ └── index.html
│ ├── shufflescale(_:)
│ │ └── index.html
│ ├── shufflestyle(_:)
│ │ └── index.html
│ ├── shuffletrigger(on:)
│ │ └── index.html
│ ├── simultaneousgesture(_:including:)
│ │ └── index.html
│ ├── speechadjustedpitch(_:)
│ │ └── index.html
│ ├── speechalwaysincludespunctuation(_:)
│ │ └── index.html
│ ├── speechannouncementsqueued(_:)
│ │ └── index.html
│ ├── speechspellsoutcharacters(_:)
│ │ └── index.html
│ ├── submitlabel(_:)
│ │ └── index.html
│ ├── submitscope(_:)
│ │ └── index.html
│ ├── swipeactions(edge:allowsfullswipe:content:)
│ │ └── index.html
│ ├── symbolrenderingmode(_:)
│ │ └── index.html
│ ├── symbolvariant(_:)
│ │ └── index.html
│ ├── tabitem(_:)
│ │ └── index.html
│ ├── tablestyle(_:)
│ │ └── index.html
│ ├── tabviewstyle(_:)
│ │ └── index.html
│ ├── tag(_:)
│ │ └── index.html
│ ├── task(id:priority:_:)
│ │ └── index.html
│ ├── task(priority:_:)
│ │ └── index.html
│ ├── textcase(_:)
│ │ └── index.html
│ ├── textcontenttype(_:)
│ │ └── index.html
│ ├── textfieldstyle(_:)
│ │ └── index.html
│ ├── textselection(_:)
│ │ └── index.html
│ ├── tint(_:)
│ │ └── index.html
│ ├── togglestyle(_:)
│ │ └── index.html
│ ├── toolbar(content:)-2fsde
│ │ └── index.html
│ ├── toolbar(content:)-9838r
│ │ └── index.html
│ ├── toolbar(id:content:)
│ │ └── index.html
│ ├── touchbar(_:)
│ │ └── index.html
│ ├── touchbar(content:)
│ │ └── index.html
│ ├── touchbarcustomizationlabel(_:)
│ │ └── index.html
│ ├── touchbaritempresence(_:)
│ │ └── index.html
│ ├── touchbaritemprincipal(_:)
│ │ └── index.html
│ ├── transaction(_:)
│ │ └── index.html
│ ├── transformanchorpreference(key:value:transform:)
│ │ └── index.html
│ ├── transformeffect(_:)
│ │ └── index.html
│ ├── transformenvironment(_:transform:)
│ │ └── index.html
│ ├── transformpreference(_:_:)
│ │ └── index.html
│ ├── transition(_:)
│ │ └── index.html
│ ├── truncationmode(_:)
│ │ └── index.html
│ ├── unredacted()
│ │ └── index.html
│ ├── useractivity(_:element:_:)
│ │ └── index.html
│ ├── useractivity(_:isactive:_:)
│ │ └── index.html
│ ├── view-implementations
│ │ └── index.html
│ └── zindex(_:)
│ │ └── index.html
│ └── shufflestyle
│ ├── !=(_:_:)
│ └── index.html
│ ├── equatable-implementations
│ └── index.html
│ ├── index.html
│ ├── rotatein
│ └── index.html
│ ├── rotateout
│ └── index.html
│ └── slide
│ └── index.html
├── favicon.ico
├── favicon.svg
├── images
└── ShuffleIt.png
├── img
├── added-icon.d6f7e47d.svg
├── deprecated-icon.015b4f17.svg
├── modified-icon.f496e73d.svg
└── no-image@2x.df2a0a50.png
├── index.html
├── index
└── index.json
├── js
├── chunk-2d0d3105.cd72cc8e.js
├── chunk-vendors.b24b7aaa.js
├── documentation-topic.f62098b6.js
├── documentation-topic~topic~tutorials-overview.8e36e44f.js
├── highlight-js-bash.1b52852f.js
├── highlight-js-c.d1db3f17.js
├── highlight-js-cpp.eaddddbe.js
├── highlight-js-css.75eab1fe.js
├── highlight-js-custom-markdown.7cffc4b3.js
├── highlight-js-custom-swift.5cda5c20.js
├── highlight-js-diff.62d66733.js
├── highlight-js-http.163e45b6.js
├── highlight-js-java.8326d9d8.js
├── highlight-js-javascript.acb8a8eb.js
├── highlight-js-json.471128d2.js
├── highlight-js-llvm.6100b125.js
├── highlight-js-markdown.90077643.js
├── highlight-js-objectivec.bcdf5156.js
├── highlight-js-perl.757d7b6f.js
├── highlight-js-php.cc8d6c27.js
├── highlight-js-python.c214ed92.js
├── highlight-js-ruby.f889d392.js
├── highlight-js-scss.62ee18da.js
├── highlight-js-shell.dd7f411f.js
├── highlight-js-swift.84f3e88c.js
├── highlight-js-xml.9c3688c7.js
├── index.58e30ec4.js
├── topic.6a1c7b7f.js
└── tutorials-overview.c8178b83.js
├── metadata.json
└── theme-settings.json
/.github/ISSUE_TEMPLATE/bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: bug
6 | assignees: dscyrescotti
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Minimum amount of code to reproduce:
15 | ```
16 | /* add it here */
17 | ```
18 | Steps to reproduce the behavior:
19 | 1. Go to '...'
20 | 2. Click on '....'
21 | 3. Scroll down to '....'
22 | 4. See error
23 |
24 | **Expected behavior**
25 | A clear and concise description of what you expected to happen.
26 |
27 | **Screenshots**
28 | If applicable, add screenshots to help explain your problem.
29 |
30 | **Device information (please complete the following information):**
31 | - Device: [e.g. iPhone/Simulator]
32 | - OS: [e.g. iOS8.1]
33 | - Xcode version: [e.g. Xcode 13]
34 |
35 | **Additional context**
36 | Add any other context about the problem here.
37 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: dscyrescotti
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/workflows/swift.yml:
--------------------------------------------------------------------------------
1 | name: Swift
2 |
3 | on:
4 | push:
5 | branches: [ main ]
6 | pull_request:
7 | branches: [ main ]
8 |
9 | jobs:
10 | build:
11 | runs-on: macos-12
12 | steps:
13 | - uses: actions/checkout@v2
14 | - uses: maxim-lobanov/setup-xcode@v1
15 | with:
16 | xcode-version: '14.2'
17 | - name: Build
18 | run: swift build -v
19 | # - name: Build (iOS)
20 | # run: xcrun xcodebuild -derivedDataPath "../.derivedData" clean build -scheme "ShuffleIt" -destination "generic/platform=ios"
21 | # - name: Build (macOS)
22 | # run: xcrun xcodebuild -derivedDataPath "../.derivedData" clean build -scheme "ShuffleIt" -destination "generic/platform=macos"
23 | # - name: Build (tvOS)
24 | # run: xcrun xcodebuild -derivedDataPath "../.derivedData" clean build -scheme "ShuffleIt" -destination "generic/platform=tvos"
25 | # - name: Build (watchOS)
26 | # run: xcrun xcodebuild -derivedDataPath "../.derivedData" clean build -scheme "ShuffleIt" -destination "generic/platform=watchos"
27 | - name: Run tests
28 | run: swift test --enable-code-coverage
29 | - name: Convert code coverage
30 | run: xcrun llvm-cov export -format="lcov" -instr-profile=$(find .build -name default.profdata) $(find .build -name ShuffleItPackageTests) > info.lcov
31 | - name: Codecov
32 | uses: codecov/codecov-action@v3.1.1
33 | with:
34 | file: info.lcov
35 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## User settings
6 | xcuserdata/
7 |
8 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
9 | *.xcscmblueprint
10 | *.xccheckout
11 |
12 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
13 | build/
14 | DerivedData/
15 | *.moved-aside
16 | *.pbxuser
17 | !default.pbxuser
18 | *.mode1v3
19 | !default.mode1v3
20 | *.mode2v3
21 | !default.mode2v3
22 | *.perspectivev3
23 | !default.perspectivev3
24 |
25 | ## Obj-C/Swift specific
26 | *.hmap
27 |
28 | ## App packaging
29 | *.ipa
30 | *.dSYM.zip
31 | *.dSYM
32 |
33 | ## Playgrounds
34 | timeline.xctimeline
35 | playground.xcworkspace
36 |
37 | # Swift Package Manager
38 | #
39 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
40 | Packages/
41 | Package.pins
42 | Package.resolved
43 | # *.xcodeproj
44 | #
45 | # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
46 | # hence it is not needed unless you have added a package configuration file to your project
47 | .swiftpm
48 |
49 | .build/
50 |
51 | # CocoaPods
52 | #
53 | # We recommend against adding the Pods directory to your .gitignore. However
54 | # you should judge for yourself, the pros and cons are mentioned at:
55 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
56 | #
57 | # Pods/
58 | #
59 | # Add this line if you want to avoid checking in source code from the Xcode workspace
60 | # *.xcworkspace
61 |
62 | # Carthage
63 | #
64 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
65 | # Carthage/Checkouts
66 |
67 | Carthage/Build/
68 |
69 | # Accio dependency management
70 | Dependencies/
71 | .accio/
72 |
73 | # fastlane
74 | #
75 | # It is recommended to not store the screenshots in the git repo.
76 | # Instead, use fastlane to re-generate the screenshots whenever they are needed.
77 | # For more information about the recommended setup visit:
78 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
79 |
80 | fastlane/report.xml
81 | fastlane/Preview.html
82 | fastlane/screenshots/**/*.png
83 | fastlane/test_output
84 |
85 | # Code Injection
86 | #
87 | # After new code Injection tools there's a generated folder /iOSInjectionProject
88 | # https://github.com/johnno1962/injectionforxcode
89 |
90 | iOSInjectionProject/
--------------------------------------------------------------------------------
/Assets/CarouselStack-Demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/CarouselStack-Demo.gif
--------------------------------------------------------------------------------
/Assets/Previews/CarouselStack-Preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/Previews/CarouselStack-Preview.gif
--------------------------------------------------------------------------------
/Assets/Previews/ShuffleDeck-Preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/Previews/ShuffleDeck-Preview.gif
--------------------------------------------------------------------------------
/Assets/Previews/ShuffleStack-Preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/Previews/ShuffleStack-Preview.gif
--------------------------------------------------------------------------------
/Assets/ShuffleDeck-Demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/ShuffleDeck-Demo.gif
--------------------------------------------------------------------------------
/Assets/ShuffleIt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/ShuffleIt.png
--------------------------------------------------------------------------------
/Assets/ShuffleStack-Demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Assets/ShuffleStack-Demo.gif
--------------------------------------------------------------------------------
/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Demo/Demo/App/DemoApp.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | @main
4 | struct DemoApp: App {
5 | var body: some Scene {
6 | WindowGroup {
7 | MainView()
8 | .preferredColorScheme(.light)
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Demo/Demo/App/MainView.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | struct MainView: View {
4 | @State private var route: Route? = nil
5 | var body: some View {
6 | NavigationView {
7 | List {
8 | Section {
9 | Button(action: {
10 | route = .shuffleStack
11 | }) {
12 | Label("ShuffleStack (Simple)", systemImage: "square.stack.3d.down.forward.fill")
13 | }
14 | Button(action: {
15 | route = .timingShuffleStack
16 | }) {
17 | Label("ShuffleStack (with Timer)", systemImage: "deskclock.fill")
18 | }
19 | Button(action: {
20 | route = .carouselStack
21 | }) {
22 | Label("CarouselStack", systemImage: "sparkles.rectangle.stack.fill")
23 | }
24 | Button(action: {
25 | route = .shuffleDeck
26 | }) {
27 | Label("ShuffleDeck", systemImage: "photo.on.rectangle.angled")
28 | }
29 | } header: {
30 | Text("ShuffleStack")
31 | }
32 |
33 | }
34 | .listStyle(.insetGrouped)
35 | .foregroundColor(.black)
36 | .navigationTitle("ShuffleIt ✌️")
37 | .fullScreenCover(item: $route) { route in
38 | switch route {
39 | case .shuffleStack:
40 | ShuffleStackDemoView()
41 | case .timingShuffleStack:
42 | TimingShuffleStackDemoView()
43 | case .carouselStack:
44 | CarouselStackDemoView()
45 | case .shuffleDeck:
46 | ShuffleDeckDemoView()
47 | }
48 | }
49 | }
50 | }
51 | }
52 |
53 | struct ContentView_Previews: PreviewProvider {
54 | static var previews: some View {
55 | MainView()
56 | }
57 | }
58 |
59 | enum Route: Identifiable {
60 | case shuffleStack
61 | case timingShuffleStack
62 | case carouselStack
63 | case shuffleDeck
64 |
65 | var id: String {
66 | switch self {
67 | case .shuffleStack: return "shuffle-stack"
68 | case .timingShuffleStack: return "timing-shuffle-stack"
69 | case .carouselStack: return "carousel-stack"
70 | case .shuffleDeck: return "shuffle-deck"
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/Demo/Demo/Components/LandmarkCard.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | struct LandmarkCard: View {
4 | let landmark: Landmark
5 |
6 | var body: some View {
7 | ZStack(alignment: .bottomLeading) {
8 | Image(landmark.image)
9 | .resizable()
10 | LinearGradient(
11 | colors: [
12 | .clear,
13 | .clear,
14 | .black.opacity(0.7)
15 | ],
16 | startPoint: .top,
17 | endPoint: .bottom
18 | )
19 | VStack(alignment: .leading) {
20 | Text(landmark.name)
21 | .font(.title.bold())
22 | Text(landmark.location)
23 | .font(.title3.bold())
24 | }
25 | .foregroundColor(.white)
26 | .padding()
27 | }
28 | .frame(width: 300, height: 400)
29 | .cornerRadius(20)
30 | .shadow(radius: 10)
31 | }
32 | }
33 |
34 | struct LandmarkCard_Previews: PreviewProvider {
35 | static var previews: some View {
36 | LandmarkCard(
37 | landmark: Landmark(
38 | id: "shwedagon_pagoda",
39 | image: "shwedagon_pagoda",
40 | name: "Shwedagon Pagoda",
41 | location: "Yangon, Myanmar",
42 | lat: 0,
43 | long: 0,
44 | background: ""
45 | )
46 | )
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Demo/Demo/Components/SneakerItemRow.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | struct SneakerItemRow: View {
4 | let item: SneakerItem
5 | var body: some View {
6 | HStack(alignment: .top, spacing: 16) {
7 | Image(item.imageName)
8 | .resizable()
9 | .frame(width: 100, height: 100)
10 | .cornerRadius(16)
11 | VStack(alignment: .leading, spacing: 5) {
12 | Text(item.title)
13 | .font(.headline)
14 | .lineLimit(2)
15 | HStack(spacing: 5) {
16 | Group {
17 | Text(item.type)
18 | Text(item.colorVariants)
19 | }
20 | .padding(.horizontal, 10)
21 | .padding(.vertical, 5)
22 | .background(.gray.opacity(0.2))
23 | .cornerRadius(10)
24 | }
25 | .font(.caption.bold())
26 | Text(item.price)
27 | .font(.subheadline.bold())
28 | }
29 | .frame(maxWidth: .infinity, alignment: .leading)
30 | }
31 | .padding(16)
32 | .background(.ultraThinMaterial)
33 | .cornerRadius(16)
34 | }
35 | }
36 |
37 | struct SneakerItemRow_Previews: PreviewProvider {
38 | static var previews: some View {
39 | SneakerItemRow(
40 | item: SneakerItem(
41 | id: "air-force4",
42 | imageName: "air-force4",
43 | title: "Nike Air Force 1 Mid '07 LV8 Next Nature",
44 | type: "Men's Shoes",
45 | colorVariants: "1 Color",
46 | price: "$130"
47 | )
48 | )
49 | .padding()
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Demo/Demo/Demos/ShuffleDeck/Scenes/ShuffleDeckDemoView.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import Combine
3 | import ShuffleIt
4 | import MapKit
5 |
6 | struct ShuffleDeckDemoView: View {
7 | @Environment(\.dismiss) var dismiss
8 | @State private var landmark: Landmark?
9 |
10 | let landmarks: [Landmark] = .landmarks()
11 |
12 | var body: some View {
13 | VStack(alignment: .leading, spacing: 0) {
14 | VStack(alignment: .leading) {
15 | Text("Captivating Landmarks")
16 | .font(.title.bold())
17 | Text("For Your Next Adventure")
18 | .font(.title2.bold())
19 | }
20 | .padding()
21 | Spacer()
22 | ShuffleDeck(
23 | landmarks,
24 | initialIndex: 0
25 | ) { landmark in
26 | LandmarkCard(landmark: landmark)
27 | }
28 | .shuffleDeckAnimation(.easeInOut)
29 | .shuffleDeckScale(0.5)
30 | .onShuffleDeck { context in
31 | landmark = landmarks[context.index]
32 | }
33 | .padding(.vertical)
34 | Spacer()
35 | Spacer()
36 | }
37 | .overlay(alignment: .topTrailing) {
38 | Button(action: {
39 | dismiss()
40 | }) {
41 | Image(systemName: "xmark.circle.fill")
42 | .font(.largeTitle)
43 | .foregroundStyle(.white)
44 | .background {
45 | Circle()
46 | .foregroundColor(.black.opacity(0.4))
47 | .padding(4)
48 | }
49 | }
50 | .buttonStyle(.plain)
51 | .padding([.top, .horizontal])
52 | }
53 | .background {
54 | if let landmark = landmark {
55 | GeometryReader { proxy in
56 | ZStack {
57 | Circle()
58 | .scale(1.1, anchor: .bottomTrailing)
59 | .position(x: proxy.size.width, y: proxy.size.height / 2.5)
60 | .foregroundColor(Color(hex: landmark.background).opacity(0.3))
61 | Circle()
62 | .scale(0.7, anchor: .bottomTrailing)
63 | .position(x: 0, y: proxy.size.height / 1.5)
64 | .foregroundColor(Color(hex: landmark.background).opacity(0.2))
65 | }
66 | .blur(radius: 40)
67 | .background(.white)
68 | .ignoresSafeArea()
69 | }
70 | }
71 | }
72 | .onAppear {
73 | landmark = landmarks.first
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/Demo/Demo/Extensions/Color+Extension.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | #if os(macOS)
4 | typealias _Color = NSColor
5 | #else
6 | typealias _Color = UIColor
7 | #endif
8 |
9 | extension Color {
10 | public init(hex: String) {
11 | self.init(_Color(hex: hex) ?? _Color())
12 | }
13 | }
14 |
15 | extension _Color {
16 | public convenience init?(hex: String) {
17 | let r, g, b, a: CGFloat
18 |
19 | if hex.hasPrefix("#") {
20 | let start = hex.index(hex.startIndex, offsetBy: 1)
21 | let hexColor = String(hex[start...])
22 |
23 | if hexColor.count == 8 {
24 | let scanner = Scanner(string: hexColor)
25 | var hexNumber: UInt64 = 0
26 |
27 | if scanner.scanHexInt64(&hexNumber) {
28 | r = CGFloat((hexNumber & 0xff000000) >> 24) / 255
29 | g = CGFloat((hexNumber & 0x00ff0000) >> 16) / 255
30 | b = CGFloat((hexNumber & 0x0000ff00) >> 8) / 255
31 | a = CGFloat(hexNumber & 0x000000ff) / 255
32 |
33 | self.init(red: r, green: g, blue: b, alpha: a)
34 | return
35 | }
36 | }
37 | }
38 |
39 | return nil
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Demo/Demo/Models/Landmark.swift:
--------------------------------------------------------------------------------
1 | import MapKit
2 | import Foundation
3 |
4 | struct Landmark: Decodable, Identifiable {
5 | let id: String
6 | let image: String
7 | let name: String
8 | let location: String
9 | let lat: Double
10 | let long: Double
11 | let background: String
12 |
13 | var coordinate: CLLocationCoordinate2D {
14 | CLLocationCoordinate2D(latitude: lat, longitude: long)
15 | }
16 | }
17 |
18 | extension Array where Element == Landmark {
19 | static func landmarks() -> Self {
20 | guard let path = Bundle.main.url(forResource: "Landmarks", withExtension: "json"), let data = try? Data(contentsOf: path), let landmarks = try? JSONDecoder().decode([Landmark].self, from: data) else { return [] }
21 | return landmarks
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Demo/Demo/Models/Sneaker.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | struct Sneaker: Decodable {
4 | let id: String
5 | let title: String
6 | let slogan: String
7 | let imageName: String
8 | let theme: SneakerTheme
9 | let items: [SneakerItem]
10 | }
11 |
12 | struct SneakerTheme: Decodable {
13 | let primary: String
14 | let secondary: String
15 | let tertiary: String
16 | let background: String
17 | let foreground: String
18 | }
19 |
20 | struct SneakerItem: Decodable, Identifiable {
21 | let id: String
22 | let imageName: String
23 | let title: String
24 | let type: String
25 | let colorVariants: String
26 | let price: String
27 | }
28 |
29 | extension Array where Element == Sneaker {
30 | static func sneakers() -> [Sneaker] {
31 | guard let path = Bundle.main.url(forResource: "Sneakers", withExtension: "json"), let data = try? Data(contentsOf: path), let sneakers = try? JSONDecoder().decode([Sneaker].self, from: data) else { return [] }
32 | return sneakers
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/100.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/128.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/144.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/152.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/16.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/167.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/172.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/196.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/216.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/256.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/32.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/48.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/50.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/512.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/55.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/64.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/72.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/AppIcon.appiconset/88.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/christ_the_redeemer.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "christ_the_redeemer.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/eiffel_tower.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "eiffel_tower.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/great_wall_of_china.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "great_wall_of_china.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/merlion_statue.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "merlion_statue.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/niagara_falls.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "niagara_falls.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/petronas_towers.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "petronas_towers.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/shwedagon_pagoda.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "shwedagon_pagoda.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/sphinx_statue.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "sphinx.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/landmarks/statue_of_liberty.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "statue_of_liberty.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "original"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "swift-theming-logo-with-text 1.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "swift-theming-logo-with-text 1@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "swift-theming-logo-with-text 1@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1@2x.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/shuffle-it-logo.imageset/swift-theming-logo-with-text 1@3x.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-force-1-mid.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force-1-mid.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-force-1-mid.imageset/air-force-1-mid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/air-force-1-mid.imageset/air-force-1-mid.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/air-force1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/air-force2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/air-force3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force3.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/air-force4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force4.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-forces/air-force5.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-force5.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordan-1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-jordan-1.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordan-1.imageset/air-jordan-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordan-1.imageset/air-jordan-1.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordans/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordans/air-jordan1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-jorden1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordans/air-jordan2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-jorden2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-jordans/air-jordan3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-jorden3.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainer-sc-high.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-trainer-sc-high.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainer-sc-high.imageset/air-trainer-sc-high.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainer-sc-high.imageset/air-trainer-sc-high.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainers/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainers/air-trainer1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-trainer1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/air-trainers/air-trainer2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "air-trainer2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-retro-premium.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "dunk-high-retro-premium.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-retro-premium.imageset/dunk-high-retro-premium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-retro-premium.imageset/dunk-high-retro-premium.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-vintage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "dunk-high-vintage.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-vintage.imageset/dunk-high-vintage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/dunk-high-vintage.imageset/dunk-high-vintage.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infinity.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "kyrie-infinity.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infinity.imageset/kyrie-infinity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infinity.imageset/kyrie-infinity.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infiniy/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infiniy/kyrie-infinity1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "kyrie-infinity1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/kyrie-infiniy/kyrie-infinity2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "kyrie-infinity2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/nike-air-presto.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "nike-air-presto.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/nike-air-presto.imageset/nike-air-presto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Demo/Demo/Resources/Assets.xcassets/sneakers/nike-air-presto.imageset/nike-air-presto.png
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/prestos/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/prestos/presto1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "presto1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/prestos/presto2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "presto2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/retros/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/retros/retro1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "retro1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/retros/retro2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "retro2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/vintages/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/vintages/vintage1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "vintage1.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/vintages/vintage2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "vintage2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/vintages/vintage3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "vintage3.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Assets.xcassets/sneakers/vintages/vintage4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "retro2.svg",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Demo/Demo/Resources/Json/Landmarks.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "christ_the_redeemer",
4 | "image": "christ_the_redeemer",
5 | "name": "Christ the Redeemer",
6 | "location": "Rio de Janeiro, Brazil",
7 | "lat": -22.9519,
8 | "long": -43.2105,
9 | "background": "#FFBF85FF"
10 | },
11 | {
12 | "id": "eiffel_tower",
13 | "image": "eiffel_tower",
14 | "name": "Eiffel Tower",
15 | "location": "Paris, France",
16 | "lat": 48.8584,
17 | "long": 2.2945,
18 | "background": "#FFA490FF"
19 | },
20 | {
21 | "id": "great_wall_of_china",
22 | "image": "great_wall_of_china",
23 | "name": "Great Wall of China",
24 | "location": "Huairou, China",
25 | "lat": 40.4319,
26 | "long": 116.5704,
27 | "background": "#FFDC62FF"
28 | },
29 | {
30 | "id": "merlion_statue",
31 | "image": "merlion_statue",
32 | "name": "Merlion Statue",
33 | "location": "Singapore, Singapore",
34 | "lat": 1.2868,
35 | "long": 103.8545,
36 | "background": "#7451FFFF"
37 | },
38 | {
39 | "id": "niagara_falls",
40 | "image": "niagara_falls",
41 | "name": "Niagara Falls",
42 | "location": "Ontario, Canada",
43 | "lat": 43.0962,
44 | "long": -79.0377,
45 | "background": "#FF4D00FF"
46 | },
47 | {
48 | "id": "petronas_towers",
49 | "image": "petronas_towers",
50 | "name": "Petronas Towers",
51 | "location": "Kuala Lumpur, Malaysia",
52 | "lat": 3.1575,
53 | "long": 101.7116,
54 | "background": "#FF4B4BFF"
55 | },
56 | {
57 | "id": "shwedagon_pagoda",
58 | "image": "shwedagon_pagoda",
59 | "name": "Shwedagon Pagoda",
60 | "location": "Yangon, Myanmar",
61 | "lat": 16.7985,
62 | "long": 96.1497,
63 | "background": "#2B10CFFF"
64 | },
65 | {
66 | "id": "sphinx_statue",
67 | "image": "sphinx_statue",
68 | "name": "Great Sphinx of Giza",
69 | "location": "Giza, Egypt",
70 | "lat": 29.9753,
71 | "long": 31.1376,
72 | "background": "#993700FF"
73 | },
74 | {
75 | "id": "statue_of_liberty",
76 | "image": "statue_of_liberty",
77 | "name": "Statue of Liberty",
78 | "location": "New York, US",
79 | "lat": 40.6892,
80 | "long": -74.0445,
81 | "background": "#7A320AFF"
82 | }
83 | ]
--------------------------------------------------------------------------------
/Demo/Demo/ViewModifier/DragGestureViewModifier.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | // MARK: - https://developer.apple.com/forums/thread/123034
4 | struct DragGestureViewModifier: ViewModifier {
5 | @GestureState private var isDragging: Bool = false
6 | @State var gestureState: GestureStatus = .idle
7 |
8 | var onStart: (() -> Void)?
9 | var onUpdate: ((DragGesture.Value) -> Void)?
10 | var onEnd: ((DragGesture.Value) -> Void)?
11 | var onCancel: (() -> Void)?
12 |
13 | func body(content: Content) -> some View {
14 | content
15 | .gesture(
16 | DragGesture()
17 | .updating($isDragging) { _, isDragging, _ in
18 | isDragging = true
19 | }
20 | .onChanged(onDragChange(_:))
21 | .onEnded(onDragEnded(_:))
22 | )
23 | .onChange(of: gestureState) { state in
24 | guard state == .started else { return }
25 | gestureState = .active
26 | }
27 | .onChange(of: isDragging) { value in
28 | if value, gestureState != .started {
29 | gestureState = .started
30 | onStart?()
31 | } else if !value, gestureState != .ended {
32 | gestureState = .cancelled
33 | onCancel?()
34 | }
35 | }
36 | }
37 |
38 | func onDragChange(_ value: DragGesture.Value) {
39 | guard gestureState == .started || gestureState == .active else { return }
40 | onUpdate?(value)
41 | }
42 |
43 | func onDragEnded(_ value: DragGesture.Value) {
44 | gestureState = .ended
45 | onEnd?(value)
46 | }
47 |
48 | enum GestureStatus: Equatable {
49 | case idle
50 | case started
51 | case active
52 | case ended
53 | case cancelled
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Dscyre Scotti
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version: 5.6
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "ShuffleIt",
8 | platforms: [
9 | .iOS(.v15),
10 | .macOS(.v12),
11 | .tvOS(.v15),
12 | .watchOS(.v8)
13 | ],
14 | products: [
15 | .library(
16 | name: "ShuffleIt",
17 | targets: ["ShuffleIt"]
18 | ),
19 | .library(
20 | name: "ShuffleStack",
21 | targets: ["ShuffleStack"]
22 | ),
23 | .library(
24 | name: "CarouselStack",
25 | targets: ["CarouselStack"]
26 | ),
27 | .library(
28 | name: "ShuffleDeck",
29 | targets: ["ShuffleDeck"]
30 | )
31 | ],
32 | dependencies: [
33 | .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
34 | .package(url: "https://github.com/nalexn/ViewInspector.git", from: "0.9.7"),
35 | ],
36 | targets: [
37 | .target(
38 | name: "ShuffleIt",
39 | dependencies: ["Utils"]
40 | ),
41 | .target(
42 | name: "ShuffleStack",
43 | dependencies: ["Utils"]
44 | ),
45 | .target(
46 | name: "CarouselStack",
47 | dependencies: ["Utils"]
48 | ),
49 | .target(
50 | name: "ShuffleDeck",
51 | dependencies: ["Utils"]
52 | ),
53 | .target(
54 | name: "Utils",
55 | dependencies: []
56 | ),
57 | .target(
58 | name: "UtilsForTest",
59 | dependencies: ["ViewInspector"]
60 | ),
61 | .target(
62 | name: "ShuffleItForTest",
63 | dependencies: ["ViewInspector", "UtilsForTest"]
64 | ),
65 | .testTarget(
66 | name: "ShuffleItTests",
67 | dependencies: ["ShuffleItForTest", "Utils", "ViewInspector"]
68 | ),
69 | ],
70 | swiftLanguageVersions: [.v5]
71 | )
72 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselAnimation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of carousel animation that maps to `SwiftUI` animation.
4 | public enum CarouselAnimation {
5 | /// A linear animation.
6 | case linear
7 | /// An ease-in animation.
8 | case easeIn
9 | /// An ease-out animation.
10 | case easeOut
11 | /// An ease-in-out animation.
12 | case easeInOut
13 |
14 | func timing(duration: Double) -> Animation {
15 | switch self {
16 | case .linear:
17 | return .linear(duration: duration)
18 | case .easeIn:
19 | return .easeIn(duration: duration)
20 | case .easeOut:
21 | return .easeOut(duration: duration)
22 | case .easeInOut:
23 | return .easeInOut(duration: duration)
24 | }
25 | }
26 | }
27 |
28 | /// An environment key for carousel animation.
29 | struct CarouselAnimationKey: EnvironmentKey {
30 | static var defaultValue: CarouselAnimation = .linear
31 | }
32 |
33 | extension EnvironmentValues {
34 | var carouselAnimation: CarouselAnimation {
35 | get { self[CarouselAnimationKey.self] }
36 | set { self[CarouselAnimationKey.self] = newValue }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselContext.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// A structure that provides information about sliding.
4 | public struct CarouselContext {
5 | /// A property of current index of carousel stack view.
6 | public let index: Int
7 | /// A property of pervious index of carousel stack view.
8 | public let previousIndex: Int
9 | /// A property of carousel direction to which content view was slided.
10 | public let direction: CarouselDirection
11 | }
12 |
13 | /// An environment key for carousel context.
14 | struct CarouselContextKey: EnvironmentKey {
15 | static var defaultValue: ((CarouselContext) -> Void)? = nil
16 | }
17 |
18 | extension EnvironmentValues {
19 | var carouselContext: ((CarouselContext) -> Void)? {
20 | get { self[CarouselContextKey.self] }
21 | set { self[CarouselContextKey.self] = newValue }
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselDisabled.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for a flag to decide on whether sliding is disabled or not.
4 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
5 | @available(tvOS, unavailable)
6 | struct CarouselDisabledKey: EnvironmentKey {
7 | static var defaultValue: Bool = false
8 | }
9 |
10 | extension EnvironmentValues {
11 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
12 | @available(tvOS, unavailable)
13 | var carouselDisabled: Bool {
14 | get { self[CarouselDisabledKey.self] }
15 | set { self[CarouselDisabledKey.self] = newValue }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselPadding.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for carousel padding.
4 | struct CarouselPaddingKey: EnvironmentKey {
5 | static var defaultValue: CGFloat = 20
6 | }
7 |
8 | extension EnvironmentValues {
9 | var carouselPadding: CGFloat {
10 | get { self[CarouselPaddingKey.self] }
11 | set { self[CarouselPaddingKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselScale.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for carousel scale.
4 | struct CarouselScaleKey: EnvironmentKey {
5 | static let defaultValue: CGFloat = 1
6 | }
7 |
8 | extension EnvironmentValues {
9 | var carouselScale: CGFloat {
10 | get { self[CarouselScaleKey.self] }
11 | set { self[CarouselScaleKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselSpacing.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for carousel spacing.
4 | struct CarouselSpacingKey: EnvironmentKey {
5 | static var defaultValue: CGFloat = 10
6 | }
7 |
8 | extension EnvironmentValues {
9 | var carouselSpacing: CGFloat {
10 | get { self[CarouselSpacingKey.self] }
11 | set { self[CarouselSpacingKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselStyle.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of carousel style that is used to change sliding behaviour of the carousel stack view.
4 | public enum CarouselStyle {
5 | /// A carousel style which makes content views scroll in the loop without ending.
6 | case infiniteScroll
7 | /// A carousel style which ends content views at both ends so that it cannot be scrolled infinitely.
8 | case finiteScroll
9 | }
10 |
11 | /// An environment key for carousel style.
12 | struct CarouselStyleKey: EnvironmentKey {
13 | static var defaultValue: CarouselStyle = .finiteScroll
14 | }
15 |
16 | extension EnvironmentValues {
17 | var carouselStyle: CarouselStyle {
18 | get { self[CarouselStyleKey.self] }
19 | set { self[CarouselStyleKey.self] = newValue }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselTranslation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for carousel translation.
4 | struct CarouselTranslationKey: EnvironmentKey {
5 | static var defaultValue: ((CGFloat) -> Void)? = nil
6 | }
7 |
8 | extension EnvironmentValues {
9 | var carouselTranslation: ((CGFloat) -> Void)? {
10 | get { self[CarouselTranslationKey.self] }
11 | set { self[CarouselTranslationKey.self] = newValue }
12 | }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/EnvironmentValues/CarouselTrigger.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import Combine
3 |
4 | /// An enumeratoin of carousel direction.
5 | public enum CarouselDirection {
6 | /// A slide direction to the left.
7 | case left
8 | /// A slide direction to the right.
9 | case right
10 | }
11 |
12 | /// An environment key for carousel trigger.
13 | struct CarouselTriggerKey: EnvironmentKey {
14 | static var defaultValue: AnyPublisher = Empty().eraseToAnyPublisher()
15 | }
16 |
17 | extension EnvironmentValues {
18 | var carouselTrigger: AnyPublisher {
19 | get { self[CarouselTriggerKey.self] }
20 | set { self[CarouselTriggerKey.self] = newValue }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/View/CarouselStack+Data.swift:
--------------------------------------------------------------------------------
1 | import Utils
2 | import SwiftUI
3 |
4 | extension CarouselStack {
5 | /// A property that provides the upcoming element of left side.
6 | internal func leftDataElement(_ offset: Int) -> Data.Element? {
7 | switch style {
8 | case .infiniteScroll:
9 | return data.previousElement(forLoop: index, offset: offset)
10 | case .finiteScroll:
11 | return data.previousElement(forUnloop: index, offset: offset)
12 | }
13 | }
14 |
15 | /// A property that provides the upcoming element of right side.
16 | internal func rightDataElement(_ offset: Int) -> Data.Element? {
17 | switch style {
18 | case .infiniteScroll:
19 | return data.nextElement(forLoop: index, offset: offset)
20 | case .finiteScroll:
21 | return data.nextElement(forUnloop: index, offset: offset)
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Sources/CarouselStack/View/CarouselStack+Gesture.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | extension CarouselStack {
4 | /// A drag gesture that listens gesture state on content views and calculates rotation and position for sliding.
5 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
6 | @available(tvOS, unavailable)
7 | internal var dragGesture: some Gesture {
8 | DragGesture()
9 | .updating($isActiveGesture, body: { _, state, _ in
10 | state = true
11 | })
12 | .onChanged({ value in
13 | let translation = value.translation.width
14 | if translation > 0 {
15 | switch style {
16 | case .infiniteScroll:
17 | xPosition = translation - (data.distance(from: data.startIndex, to: data.endIndex) == 1 ? translation * 0.7 : 0)
18 | case .finiteScroll:
19 | xPosition = translation - (index == data.startIndex ? translation * 0.7 : 0)
20 | }
21 | direction = .left
22 | } else if translation < 0 {
23 | switch style {
24 | case .infiniteScroll:
25 | xPosition = translation - (data.distance(from: data.startIndex, to: data.endIndex) == 1 ? translation * 0.7 : 0)
26 | case .finiteScroll:
27 | xPosition = translation - (index == data.index(before: data.endIndex) ? translation * 0.7 : 0)
28 | }
29 | direction = .right
30 | }
31 | })
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckAnimation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of shuffle deck animation that maps to `SwiftUI` animation.
4 | public enum ShuffleDeckAnimation {
5 | /// A linear animation.
6 | case linear
7 | /// An ease-in animation.
8 | case easeIn
9 | /// An ease-out animation.
10 | case easeOut
11 | /// An ease-in-out animation.
12 | case easeInOut
13 |
14 | func timing(duration: Double) -> Animation {
15 | switch self {
16 | case .linear:
17 | return .linear(duration: duration)
18 | case .easeIn:
19 | return .easeIn(duration: duration)
20 | case .easeOut:
21 | return .easeOut(duration: duration)
22 | case .easeInOut:
23 | return .easeInOut(duration: duration)
24 | }
25 | }
26 | }
27 |
28 | /// An environment key for shuffle deck animation.
29 | struct ShuffleDeckAnimationKey: EnvironmentKey {
30 | static var defaultValue: ShuffleDeckAnimation = .linear
31 | }
32 |
33 | extension EnvironmentValues {
34 | var shuffleDeckAnimation: ShuffleDeckAnimation {
35 | get { self[ShuffleDeckAnimationKey.self] }
36 | set { self[ShuffleDeckAnimationKey.self] = newValue }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckContext.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// A structure that provides information about shuffling.
4 | public struct ShuffleDeckContext {
5 | /// A property of current index of shuffle deck view.
6 | public let index: Int
7 | /// A property of previous index of shuffle deck view.
8 | public let previousIndex: Int
9 | /// A property of shuffle deck direction to which content view was dragged.
10 | public let direction: ShuffleDeckDirection
11 | }
12 |
13 | /// An environment key for shuffle deck context.
14 | struct ShuffleDeckContextKey: EnvironmentKey {
15 | static var defaultValue: ((ShuffleDeckContext) -> Void)? = nil
16 | }
17 |
18 | extension EnvironmentValues {
19 | var shuffleDeckContext: ((ShuffleDeckContext) -> Void)? {
20 | get { self[ShuffleDeckContextKey.self] }
21 | set { self[ShuffleDeckContextKey.self] = newValue }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckDisabled.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environent key for a flag to decide on whether shuffling is disabled or not.
4 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
5 | @available(tvOS, unavailable)
6 | struct ShuffleDeckDisabledKey: EnvironmentKey {
7 | static var defaultValue: Bool = false
8 | }
9 |
10 | extension EnvironmentValues {
11 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
12 | @available(tvOS, unavailable)
13 | var shuffleDeckDisabled: Bool {
14 | get { self[ShuffleDeckDisabledKey.self] }
15 | set { self[ShuffleDeckDisabledKey.self] = newValue }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckScale.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for shuffle deck scale.
4 | struct ShuffleDeckScaleKey: EnvironmentKey {
5 | static var defaultValue: CGFloat = 0.07
6 | }
7 |
8 | extension EnvironmentValues {
9 | var shuffleDeckScale: CGFloat {
10 | get { self[ShuffleDeckScaleKey.self] }
11 | set { self[ShuffleDeckScaleKey.self] = (min(1, max(0, newValue)) * 0.1) }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckStyle.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of shuffle deck style that is used to change shuffling behaviour of the shuffle deck view.
4 | public enum ShuffleDeckStyle {
5 | /// A shuffle deck style which makes content views scroll in the loop without ending.
6 | case infiniteShuffle
7 | /// A shuffle deck style which ends content views at both ends so that it cannot be shuffled infinitely.
8 | case finiteShuffle
9 | }
10 |
11 | /// An environment key for shuffle deck style.
12 | struct ShuffleDeckStyleKey: EnvironmentKey {
13 | static var defaultValue: ShuffleDeckStyle = .finiteShuffle
14 | }
15 |
16 | extension EnvironmentValues {
17 | var shuffleDeckStyle: ShuffleDeckStyle {
18 | get { self[ShuffleDeckStyleKey.self] }
19 | set { self[ShuffleDeckStyleKey.self] = newValue }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckTranslation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for shuffle deck translation.
4 | struct ShuffleDeckTranslationKey: EnvironmentKey {
5 | static var defaultValue: ((CGFloat) -> Void)? = nil
6 | }
7 |
8 | extension EnvironmentValues {
9 | var shuffleDeckTranslation: ((CGFloat) -> Void)? {
10 | get { self[ShuffleDeckTranslationKey.self] }
11 | set { self[ShuffleDeckTranslationKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/EnvironmentValues/ShuffleDeckTrigger.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import Combine
3 |
4 | /// An enumeration of shuffle deck direction.
5 | public enum ShuffleDeckDirection {
6 | /// A shuffle direction to the left.
7 | case left
8 | /// A shuffle direction to the right.
9 | case right
10 | }
11 |
12 | /// An environment key for shuffle deck trigger.
13 | struct ShuffleDeckTriggerKey: EnvironmentKey {
14 | static var defaultValue: AnyPublisher = Empty().eraseToAnyPublisher()
15 | }
16 |
17 | extension EnvironmentValues {
18 | var shuffleDeckTrigger: AnyPublisher {
19 | get { self[ShuffleDeckTriggerKey.self] }
20 | set { self[ShuffleDeckTriggerKey.self] = newValue }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/View/ShuffleDeck+Data.swift:
--------------------------------------------------------------------------------
1 | import Utils
2 | import SwiftUI
3 |
4 | extension ShuffleDeck {
5 | /// A method that generates the upcoming element of left side.
6 | internal func leftDataElement(_ offset: Int) -> Data.Element? {
7 | switch style {
8 | case .infiniteShuffle:
9 | return data.previousElement(forLoop: index, offset: offset)
10 | case .finiteShuffle:
11 | return data.previousElement(forUnloop: index, offset: offset)
12 | }
13 | }
14 |
15 | /// A method that generates the upcoming element of right side.
16 | internal func rightDataElement(_ offset: Int) -> Data.Element? {
17 | switch style {
18 | case .infiniteShuffle:
19 | return data.nextElement(forLoop: index, offset: offset)
20 | case .finiteShuffle:
21 | return data.nextElement(forUnloop: index, offset: offset)
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Sources/ShuffleDeck/View/ShuffleDeck+Gesture.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | extension ShuffleDeck {
4 | /// A drag gesture that listens gesture state on content views and calculates rotation and position for shuffling.
5 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
6 | @available(tvOS, unavailable)
7 | internal var dragGesture: some Gesture {
8 | DragGesture()
9 | .updating($isActiveGesture) { _, state, _ in
10 | state = true
11 | }
12 | .onChanged { value in
13 | var position: CGFloat
14 | switch style {
15 | case .infiniteShuffle:
16 | position = value.translation.width / 1.2
17 | case .finiteShuffle:
18 | position = value.translation.width / 1.2
19 | if position > 0, data.previousIndex(forUnloop: index, offset: 1) == nil {
20 | position /= 15
21 | }
22 | if position < 0, data.nextIndex(forUnloop: index, offset: 1) == nil {
23 | position /= 15
24 | }
25 | }
26 | let range = size.width * 0.5
27 | xPosition = min(max(position, -range), range)
28 | if xPosition > 0 {
29 | direction = .left
30 | } else if xPosition < 0 {
31 | direction = .right
32 | }
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Sources/ShuffleIt/CarouselStack:
--------------------------------------------------------------------------------
1 | ../CarouselStack
--------------------------------------------------------------------------------
/Sources/ShuffleIt/ShuffleDeck:
--------------------------------------------------------------------------------
1 | ../ShuffleDeck
--------------------------------------------------------------------------------
/Sources/ShuffleIt/ShuffleIt.docc/Resources/ShuffleIt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/Sources/ShuffleIt/ShuffleIt.docc/Resources/ShuffleIt.png
--------------------------------------------------------------------------------
/Sources/ShuffleIt/ShuffleIt.docc/ShuffleIt.md:
--------------------------------------------------------------------------------
1 | # ``ShuffleIt``
2 |
3 | A UI element library for **SwiftUI**.
4 |
5 | ## Overview
6 |
7 | **ShuffleIt** is a user interface library for **SwiftUI** which delivers a collection of customizable stack views with a wide range of elegant shuffling, sliding and swiping behaviours.
8 |
9 | 
10 |
11 | ## Topics
12 |
13 | ### CarouselStack
14 | - ``CarouselStack``
15 | - ``CarouselAnimation``
16 | - ``CarouselContext``
17 | - ``CarouselDirection``
18 | - ``CarouselStyle``
19 |
20 | ### ShuffleDeck
21 | - ``ShuffleDeck``
22 | - ``ShuffleDeckAnimation``
23 | - ``ShuffleDeckContext``
24 | - ``ShuffleDeckDirection``
25 | - ``ShuffleDeckStyle``
26 |
27 | ### ShuffleStack
28 | - ``ShuffleStack``
29 | - ``ShuffleAnimation``
30 | - ``ShuffleContext``
31 | - ``ShuffleDirection``
32 | - ``ShuffleStyle``
33 |
--------------------------------------------------------------------------------
/Sources/ShuffleIt/ShuffleStack:
--------------------------------------------------------------------------------
1 | ../ShuffleStack
--------------------------------------------------------------------------------
/Sources/ShuffleItForTest/CarouselStack:
--------------------------------------------------------------------------------
1 | ../CarouselStack
--------------------------------------------------------------------------------
/Sources/ShuffleItForTest/ShuffleDeck:
--------------------------------------------------------------------------------
1 | ../ShuffleDeck
--------------------------------------------------------------------------------
/Sources/ShuffleItForTest/ShuffleStack:
--------------------------------------------------------------------------------
1 | ../ShuffleStack
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleAnimation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of shuffle animation that maps to `SwiftUI` animation.
4 | public enum ShuffleAnimation {
5 | /// A linear animation.
6 | case linear
7 | /// An ease-in animation.
8 | case easeIn
9 | /// An ease-out animation.
10 | case easeOut
11 | /// An ease-in-out animation.
12 | case easeInOut
13 |
14 | func timing(duration: Double) -> Animation {
15 | switch self {
16 | case .linear:
17 | return .linear(duration: duration)
18 | case .easeIn:
19 | return .easeIn(duration: duration)
20 | case .easeOut:
21 | return .easeOut(duration: duration)
22 | case .easeInOut:
23 | return .easeInOut(duration: duration)
24 | }
25 | }
26 | }
27 |
28 | /// An environment key for shuffle animation.
29 | struct ShuffleAnimationKey: EnvironmentKey {
30 | static var defaultValue: ShuffleAnimation = .linear
31 | }
32 |
33 | extension EnvironmentValues {
34 | var shuffleAnimation: ShuffleAnimation {
35 | get { self[ShuffleAnimationKey.self] }
36 | set { self[ShuffleAnimationKey.self] = newValue }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleContext.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// A structure that provides information about shuffling.
4 | public struct ShuffleContext {
5 | /// A property of current index of shuffle stack view.
6 | public let index: Int
7 | /// A property of previous index of shuffle stack view.
8 | public let previousIndex: Int
9 | /// A property of shuffling direction to which content view was swiped.
10 | public let direction: ShuffleDirection
11 | }
12 |
13 | /// An environment key for shuffle context.
14 | struct ShuffleContextKey: EnvironmentKey {
15 | static var defaultValue: ((ShuffleContext) -> Void)? = nil
16 | }
17 |
18 | extension EnvironmentValues {
19 | var shuffleContext: ((ShuffleContext) -> Void)? {
20 | get { self[ShuffleContextKey.self] }
21 | set { self[ShuffleContextKey.self] = newValue }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleDiabled.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for a flag to decide on whether shuffling is disabled or not.
4 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
5 | @available(tvOS, unavailable)
6 | struct ShuffleDisabledKey: EnvironmentKey {
7 | static var defaultValue: Bool = false
8 | }
9 |
10 | extension EnvironmentValues {
11 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
12 | @available(tvOS, unavailable)
13 | var shuffleDisabled: Bool {
14 | get { self[ShuffleDisabledKey.self] }
15 | set { self[ShuffleDisabledKey.self] = newValue }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleOffset.swift:
--------------------------------------------------------------------------------
1 | import Utils
2 | import SwiftUI
3 |
4 | /// An environment key for shuffle stack offset.
5 | struct ShuffleOffsetKey: EnvironmentKey {
6 | static var defaultValue: CGFloat = 15
7 | }
8 |
9 | extension EnvironmentValues {
10 | var shuffleOffset: CGFloat {
11 | get { self[ShuffleOffsetKey.self] }
12 | set { self[ShuffleOffsetKey.self] = max(newValue, 0) }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShufflePadding.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for shuffle stack padding.
4 | struct ShufflePaddingKey: EnvironmentKey {
5 | static var defaultValue: CGFloat = 15
6 | }
7 |
8 | extension EnvironmentValues {
9 | var shufflePadding: CGFloat {
10 | get { self[ShufflePaddingKey.self] }
11 | set { self[ShufflePaddingKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleScale.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for shuffle stack scale.
4 | struct ShuffleScaleKey: EnvironmentKey {
5 | static var defaultValue: CGFloat = 0.95
6 | }
7 |
8 | extension EnvironmentValues {
9 | var shuffleScale: CGFloat {
10 | get { self[ShuffleScaleKey.self] }
11 | set { self[ShuffleScaleKey.self] = (min(1, max(0, newValue)) * 0.1) + 0.9 }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleStyle.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An enumeration of shuffle style that is used to change shuffling behaviour of the shuffle stack view.
4 | public enum ShuffleStyle {
5 | /// A shuffle style which just slides content views without rotating.
6 | case slide
7 | /// A shuffle style which rotates and scales into center while shuffling.
8 | case rotateIn
9 | /// A shuffle style which rotates and scales to outside while shuffling.
10 | case rotateOut
11 | }
12 |
13 | /// An environment key for shuffle style.
14 | struct ShuffleStyleKey: EnvironmentKey {
15 | static var defaultValue: ShuffleStyle = .slide
16 | }
17 |
18 | extension EnvironmentValues {
19 | var shuffleStyle: ShuffleStyle {
20 | get { self[ShuffleStyleKey.self] }
21 | set { self[ShuffleStyleKey.self] = newValue }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleTranslation.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// An environment key for suffle translation.
4 | struct ShuffleTranslationKey: EnvironmentKey {
5 | static var defaultValue: ((CGFloat) -> Void)? = nil
6 | }
7 |
8 | extension EnvironmentValues {
9 | var shuffleTranslation: ((CGFloat) -> Void)? {
10 | get { self[ShuffleTranslationKey.self] }
11 | set { self[ShuffleTranslationKey.self] = newValue }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/EnvironmentValues/ShuffleTrigger.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import Combine
3 |
4 | /// An enumeration of shuffle direction.
5 | public enum ShuffleDirection {
6 | /// A shuffle direction to the left.
7 | case left
8 | /// A shuffle direction to the right.
9 | case right
10 | }
11 |
12 | /// An environment key for shuffle trigger.
13 | struct ShuffleTriggerKey: EnvironmentKey {
14 | static var defaultValue: AnyPublisher = Empty().eraseToAnyPublisher()
15 | }
16 |
17 | extension EnvironmentValues {
18 | var shuffleTrigger: AnyPublisher {
19 | get { self[ShuffleTriggerKey.self] }
20 | set { self[ShuffleTriggerKey.self] = newValue }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/View/ShuffleStack+Data.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | extension ShuffleStack {
4 | /// A property that provides the upcoming element of left side.
5 | internal var leftDataElement: Data.Element? {
6 | isLockedLeft ? data.nextElement(forLoop: index, offset: 2) : data.previousElement(forLoop: index, offset: 1)
7 | }
8 |
9 | /// A property that provides the upcoming element of right side.
10 | internal var rightDataElement: Data.Element? {
11 | isLockedRight ? data.previousElement(forLoop: index, offset: 2) : data.nextElement(forLoop: index, offset: 1)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Sources/ShuffleStack/View/ShuffleStack+Gesture.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | extension ShuffleStack {
4 | /// A drag gesture that listens gesture state on content views and calculates rotation and position for shuffling.
5 | @available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
6 | @available(tvOS, unavailable)
7 | internal var dragGesture: some Gesture {
8 | DragGesture()
9 | .updating($isActiveGesture, body: { _, state, _ in
10 | state = true
11 | })
12 | .onChanged({ value in
13 | xPosition = value.translation.width / 2.3 - (data.distance(from: data.startIndex, to: data.endIndex) == 1 ? value.translation.width * 0.2 : 0)
14 | if xPosition > 0 {
15 | direction = .left
16 | } else if xPosition < 0 {
17 | direction = .right
18 | }
19 | })
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Sources/Utils/PreferenceKeys/SizePreferenceKey.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | /// A perference key to reveal the size of child view.
4 | public struct SizePreferenceKey: PreferenceKey {
5 | public typealias Value = CGSize
6 |
7 | public static var defaultValue: Value = .zero
8 |
9 | public static func reduce(value: inout Value, nextValue: () -> Value) { }
10 | }
11 |
--------------------------------------------------------------------------------
/Sources/UtilsForTest/Inspection.swift:
--------------------------------------------------------------------------------
1 | #if canImport(ViewInspector)
2 | import Combine
3 | import SwiftUI
4 | import ViewInspector
5 |
6 | public final class Inspection {
7 | public let notice = PassthroughSubject()
8 | public var callbacks: [UInt: (V) -> Void] = [:]
9 |
10 | public init() { }
11 |
12 | public func visit(_ view: V, _ line: UInt) {
13 | if let callback = callbacks.removeValue(forKey: line) {
14 | callback(view)
15 | }
16 | }
17 | }
18 |
19 | extension Inspection: InspectionEmissary { }
20 | #endif
21 |
--------------------------------------------------------------------------------
/Tests/ShuffleItTests/Utils/BaseTestCase.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import XCTest
3 |
4 | class BaseTestCase: XCTestCase {
5 | let colors: [Color] = [.red, .orange, .yellow, .green, .teal, .blue, .purple]
6 | }
7 |
--------------------------------------------------------------------------------
/Tests/ShuffleItTests/Utils/ColorView.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import ViewInspector
3 |
4 | struct ColorView: View {
5 | let color: Color
6 | var body: some View {
7 | color
8 | .frame(height: 200)
9 | .cornerRadius(15)
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Tests/ShuffleItTests/Utils/ValueSpy.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import Combine
3 |
4 | class ValueSpy {
5 | private(set) var values: [Value] = []
6 | private var cancellable: AnyCancellable?
7 | init(_ publisher: AnyPublisher) {
8 | self.values = []
9 | self.cancellable = publisher.sink { [weak self] value in
10 | self?.values.append(value)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/codecov.yaml:
--------------------------------------------------------------------------------
1 | codecov:
2 | require_ci_to_pass: yes
3 |
4 | coverage:
5 | precision: 2
6 | round: down
7 | range: "70...100"
8 | ignore:
9 | - "Tests"
10 |
11 | parsers:
12 | gcov:
13 | branch_detection:
14 | conditional: yes
15 | loop: yes
16 | method: no
17 | macro: no
18 |
19 | comment:
20 | layout: "reach,diff,flags,files,footer"
21 | behavior: default
22 | require_changes: no
23 |
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselanimation/easein.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselanimation\/easein"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeIn","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"title":"CarouselAnimation.easeIn","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselAnimationO6easeInyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation/easeIn":{"role":"symbol","title":"CarouselAnimation.easeIn","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"abstract":[{"type":"text","text":"An ease-in animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeIn","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselanimation\/easein"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation":{"role":"symbol","title":"CarouselAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselAnimation"}],"abstract":[{"type":"text","text":"An enumeration of carousel animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselAnimation"}],"url":"\/documentation\/shuffleit\/carouselanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselanimation/easeinout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselanimation\/easeinout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeInOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"title":"CarouselAnimation.easeInOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselAnimationO9easeInOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation/easeInOut":{"role":"symbol","title":"CarouselAnimation.easeInOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"abstract":[{"type":"text","text":"An ease-in-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeInOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselanimation\/easeinout"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation":{"role":"symbol","title":"CarouselAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselAnimation"}],"abstract":[{"type":"text","text":"An enumeration of carousel animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselAnimation"}],"url":"\/documentation\/shuffleit\/carouselanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselanimation/easeout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselanimation\/easeout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"title":"CarouselAnimation.easeOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselAnimationO7easeOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation":{"role":"symbol","title":"CarouselAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselAnimation"}],"abstract":[{"type":"text","text":"An enumeration of carousel animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselAnimation"}],"url":"\/documentation\/shuffleit\/carouselanimation"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation/easeOut":{"role":"symbol","title":"CarouselAnimation.easeOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"abstract":[{"type":"text","text":"An ease-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/easeOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselanimation\/easeout"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselanimation/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/carouselanimation\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation":{"role":"symbol","title":"CarouselAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselAnimation"}],"abstract":[{"type":"text","text":"An enumeration of carousel animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselAnimation"}],"url":"\/documentation\/shuffleit\/carouselanimation"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselanimation\/!=(_:_:)"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselanimation/linear.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselanimation\/linear"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/linear","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A linear animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"title":"CarouselAnimation.linear","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselAnimationO6linearyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation":{"role":"symbol","title":"CarouselAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselAnimation"}],"abstract":[{"type":"text","text":"An enumeration of carousel animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselAnimation"}],"url":"\/documentation\/shuffleit\/carouselanimation"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselAnimation/linear":{"role":"symbol","title":"CarouselAnimation.linear","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"abstract":[{"type":"text","text":"A linear animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselAnimation\/linear","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselanimation\/linear"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselcontext/index.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselcontext\/index"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext\/index","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of current index of carousel stack view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"index","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt15CarouselContextV5indexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselContext":{"role":"symbol","title":"CarouselContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselContext"}],"abstract":[{"type":"text","text":"A structure that provides information about sliding."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselContext"}],"url":"\/documentation\/shuffleit\/carouselcontext"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselContext/index":{"role":"symbol","title":"index","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of current index of carousel stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext\/index","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselcontext\/index"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselcontext/previousindex.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselcontext\/previousindex"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext\/previousIndex","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of pervious index of carousel stack view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"previousIndex","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt15CarouselContextV13previousIndexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselContext":{"role":"symbol","title":"CarouselContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselContext"}],"abstract":[{"type":"text","text":"A structure that provides information about sliding."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselContext"}],"url":"\/documentation\/shuffleit\/carouselcontext"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselContext/previousIndex":{"role":"symbol","title":"previousIndex","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of pervious index of carousel stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselContext\/previousIndex","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselcontext\/previousindex"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouseldirection/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/carouseldirection\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouseldirection\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection":{"role":"symbol","title":"CarouselDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselDirection"}],"abstract":[{"type":"text","text":"An enumeratoin of carousel direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselDirection"}],"url":"\/documentation\/shuffleit\/carouseldirection"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouseldirection/left.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouseldirection\/left"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/left","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A slide direction to the left."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"title":"CarouselDirection.left","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselDirectionO4leftyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection":{"role":"symbol","title":"CarouselDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselDirection"}],"abstract":[{"type":"text","text":"An enumeratoin of carousel direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselDirection"}],"url":"\/documentation\/shuffleit\/carouseldirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection/left":{"role":"symbol","title":"CarouselDirection.left","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"abstract":[{"type":"text","text":"A slide direction to the left."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/left","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouseldirection\/left"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouseldirection/right.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouseldirection\/right"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/right","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A slide direction to the right."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"title":"CarouselDirection.right","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt17CarouselDirectionO5rightyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection":{"role":"symbol","title":"CarouselDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselDirection"}],"abstract":[{"type":"text","text":"An enumeratoin of carousel direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselDirection"}],"url":"\/documentation\/shuffleit\/carouseldirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselDirection/right":{"role":"symbol","title":"CarouselDirection.right","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"abstract":[{"type":"text","text":"A slide direction to the right."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselDirection\/right","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouseldirection\/right"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselstyle/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/carouselstyle\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle":{"role":"symbol","title":"CarouselStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselStyle"}],"abstract":[{"type":"text","text":"An enumeration of carousel style that is used to change sliding behaviour of the carousel stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselStyle"}],"url":"\/documentation\/shuffleit\/carouselstyle"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselstyle\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselstyle/finitescroll.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteScroll"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselstyle\/finitescroll"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/finiteScroll","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A carousel style which ends content views at both ends so that it cannot be scrolled infinitely."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteScroll"}],"title":"CarouselStyle.finiteScroll","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt13CarouselStyleO12finiteScrollyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle":{"role":"symbol","title":"CarouselStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselStyle"}],"abstract":[{"type":"text","text":"An enumeration of carousel style that is used to change sliding behaviour of the carousel stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselStyle"}],"url":"\/documentation\/shuffleit\/carouselstyle"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle/finiteScroll":{"role":"symbol","title":"CarouselStyle.finiteScroll","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteScroll"}],"abstract":[{"type":"text","text":"A carousel style which ends content views at both ends so that it cannot be scrolled infinitely."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/finiteScroll","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselstyle\/finitescroll"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/carouselstyle/infinitescroll.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteScroll"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/carouselstyle\/infinitescroll"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/infiniteScroll","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A carousel style which makes content views scroll in the loop without ending."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteScroll"}],"title":"CarouselStyle.infiniteScroll","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt13CarouselStyleO14infiniteScrollyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle/infiniteScroll":{"role":"symbol","title":"CarouselStyle.infiniteScroll","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteScroll"}],"abstract":[{"type":"text","text":"A carousel style which makes content views scroll in the loop without ending."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle\/infiniteScroll","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/carouselstyle\/infinitescroll"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/CarouselStyle":{"role":"symbol","title":"CarouselStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CarouselStyle"}],"abstract":[{"type":"text","text":"An enumeration of carousel style that is used to change sliding behaviour of the carousel stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/CarouselStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CarouselStyle"}],"url":"\/documentation\/shuffleit\/carouselstyle"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffleanimation/easein.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffleanimation\/easein"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeIn","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"title":"ShuffleAnimation.easeIn","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9AnimationO6easeInyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation/easeIn":{"role":"symbol","title":"ShuffleAnimation.easeIn","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"abstract":[{"type":"text","text":"An ease-in animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeIn","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffleanimation\/easein"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation":{"role":"symbol","title":"ShuffleAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleAnimation"}],"url":"\/documentation\/shuffleit\/shuffleanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffleanimation/easeinout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffleanimation\/easeinout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeInOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"title":"ShuffleAnimation.easeInOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9AnimationO9easeInOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation/easeInOut":{"role":"symbol","title":"ShuffleAnimation.easeInOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"abstract":[{"type":"text","text":"An ease-in-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeInOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffleanimation\/easeinout"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation":{"role":"symbol","title":"ShuffleAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleAnimation"}],"url":"\/documentation\/shuffleit\/shuffleanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffleanimation/easeout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffleanimation\/easeout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"title":"ShuffleAnimation.easeOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9AnimationO7easeOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation/easeOut":{"role":"symbol","title":"ShuffleAnimation.easeOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"abstract":[{"type":"text","text":"An ease-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/easeOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffleanimation\/easeout"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation":{"role":"symbol","title":"ShuffleAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleAnimation"}],"url":"\/documentation\/shuffleit\/shuffleanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffleanimation/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shuffleanimation\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation":{"role":"symbol","title":"ShuffleAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleAnimation"}],"url":"\/documentation\/shuffleit\/shuffleanimation"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffleanimation\/!=(_:_:)"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffleanimation/linear.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffleanimation\/linear"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/linear","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A linear animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"title":"ShuffleAnimation.linear","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9AnimationO6linearyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation/linear":{"role":"symbol","title":"ShuffleAnimation.linear","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"abstract":[{"type":"text","text":"A linear animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation\/linear","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffleanimation\/linear"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleAnimation":{"role":"symbol","title":"ShuffleAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleAnimation"}],"url":"\/documentation\/shuffleit\/shuffleanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflecontext/index.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflecontext\/index"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext\/index","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of current index of shuffle stack view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"index","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A7ContextV5indexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleContext/index":{"role":"symbol","title":"index","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of current index of shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext\/index","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflecontext\/index"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleContext":{"role":"symbol","title":"ShuffleContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleContext"}],"abstract":[{"type":"text","text":"A structure that provides information about shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleContext"}],"url":"\/documentation\/shuffleit\/shufflecontext"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflecontext/previousindex.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflecontext\/previousindex"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext\/previousIndex","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of previous index of shuffle stack view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"previousIndex","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A7ContextV13previousIndexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleContext":{"role":"symbol","title":"ShuffleContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleContext"}],"abstract":[{"type":"text","text":"A structure that provides information about shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleContext"}],"url":"\/documentation\/shuffleit\/shufflecontext"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleContext/previousIndex":{"role":"symbol","title":"previousIndex","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of previous index of shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleContext\/previousIndex","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflecontext\/previousindex"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeck/body.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeck\/body"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeck\/body","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"View.body"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"title":"body","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A4DeckV4bodyQrvp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeck"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeck":{"role":"symbol","title":"ShuffleDeck","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeck"}],"abstract":[{"type":"text","text":"A stack view providing shuffling behaviour to shuffle to left and right like a deck of cards."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeck","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeck"}],"url":"\/documentation\/shuffleit\/shuffledeck"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeck/body":{"role":"symbol","title":"body","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeck\/body","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeck\/body"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckanimation/easein.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckanimation\/easein"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeIn","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"title":"ShuffleDeckAnimation.easeIn","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckAnimationO6easeInyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation":{"role":"symbol","title":"ShuffleDeckAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckAnimation"}],"url":"\/documentation\/shuffleit\/shuffledeckanimation"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation/easeIn":{"role":"symbol","title":"ShuffleDeckAnimation.easeIn","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeIn"}],"abstract":[{"type":"text","text":"An ease-in animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeIn","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckanimation\/easein"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckanimation/easeinout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckanimation\/easeinout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeInOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-in-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"title":"ShuffleDeckAnimation.easeInOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckAnimationO9easeInOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation/easeInOut":{"role":"symbol","title":"ShuffleDeckAnimation.easeInOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeInOut"}],"abstract":[{"type":"text","text":"An ease-in-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeInOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckanimation\/easeinout"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation":{"role":"symbol","title":"ShuffleDeckAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckAnimation"}],"url":"\/documentation\/shuffleit\/shuffledeckanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckanimation/easeout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckanimation\/easeout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"An ease-out animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"title":"ShuffleDeckAnimation.easeOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckAnimationO7easeOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation":{"role":"symbol","title":"ShuffleDeckAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckAnimation"}],"url":"\/documentation\/shuffleit\/shuffledeckanimation"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation/easeOut":{"role":"symbol","title":"ShuffleDeckAnimation.easeOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"easeOut"}],"abstract":[{"type":"text","text":"An ease-out animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/easeOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckanimation\/easeout"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckanimation/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckanimation\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckanimation\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation":{"role":"symbol","title":"ShuffleDeckAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckAnimation"}],"url":"\/documentation\/shuffleit\/shuffledeckanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckanimation/linear.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckanimation\/linear"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/linear","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A linear animation."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"title":"ShuffleDeckAnimation.linear","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckAnimationO6linearyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation/linear":{"role":"symbol","title":"ShuffleDeckAnimation.linear","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"linear"}],"abstract":[{"type":"text","text":"A linear animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation\/linear","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckanimation\/linear"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckAnimation":{"role":"symbol","title":"ShuffleDeckAnimation","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckAnimation"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck animation that maps to "},{"type":"codeVoice","code":"SwiftUI"},{"type":"text","text":" animation."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckAnimation","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckAnimation"}],"url":"\/documentation\/shuffleit\/shuffledeckanimation"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckcontext/index.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckcontext\/index"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext\/index","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of current index of shuffle deck view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"index","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A11DeckContextV5indexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckContext":{"role":"symbol","title":"ShuffleDeckContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckContext"}],"abstract":[{"type":"text","text":"A structure that provides information about shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckContext"}],"url":"\/documentation\/shuffleit\/shuffledeckcontext"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckContext/index":{"role":"symbol","title":"index","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"index"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of current index of shuffle deck view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext\/index","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckcontext\/index"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckcontext/previousindex.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckcontext\/previousindex"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext\/previousIndex","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A property of previous index of shuffle deck view."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"previousIndex","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A11DeckContextV13previousIndexSivp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckContext":{"role":"symbol","title":"ShuffleDeckContext","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckContext"}],"abstract":[{"type":"text","text":"A structure that provides information about shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckContext"}],"url":"\/documentation\/shuffleit\/shuffledeckcontext"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckContext/previousIndex":{"role":"symbol","title":"previousIndex","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"previousIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"A property of previous index of shuffle deck view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckContext\/previousIndex","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckcontext\/previousindex"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckdirection/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckdirection\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckdirection\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection":{"role":"symbol","title":"ShuffleDeckDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckDirection"}],"url":"\/documentation\/shuffleit\/shuffledeckdirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckdirection/left.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckdirection\/left"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/left","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle direction to the left."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"title":"ShuffleDeckDirection.left","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckDirectionO4leftyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection":{"role":"symbol","title":"ShuffleDeckDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckDirection"}],"url":"\/documentation\/shuffleit\/shuffledeckdirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection/left":{"role":"symbol","title":"ShuffleDeckDirection.left","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"abstract":[{"type":"text","text":"A shuffle direction to the left."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/left","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckdirection\/left"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckdirection/right.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckdirection\/right"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/right","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle direction to the right."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"title":"ShuffleDeckDirection.right","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A13DeckDirectionO5rightyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection":{"role":"symbol","title":"ShuffleDeckDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckDirection"}],"url":"\/documentation\/shuffleit\/shuffledeckdirection"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckDirection/right":{"role":"symbol","title":"ShuffleDeckDirection.right","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"abstract":[{"type":"text","text":"A shuffle direction to the right."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckDirection\/right","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckdirection\/right"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckstyle/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckstyle\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckstyle\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle":{"role":"symbol","title":"ShuffleDeckStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck style that is used to change shuffling behaviour of the shuffle deck view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckStyle"}],"url":"\/documentation\/shuffleit\/shuffledeckstyle"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckstyle/finiteshuffle.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteShuffle"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckstyle\/finiteshuffle"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/finiteShuffle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle deck style which ends content views at both ends so that it cannot be shuffled infinitely."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteShuffle"}],"title":"ShuffleDeckStyle.finiteShuffle","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9DeckStyleO06finiteA0yA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle":{"role":"symbol","title":"ShuffleDeckStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck style that is used to change shuffling behaviour of the shuffle deck view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckStyle"}],"url":"\/documentation\/shuffleit\/shuffledeckstyle"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle/finiteShuffle":{"role":"symbol","title":"ShuffleDeckStyle.finiteShuffle","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finiteShuffle"}],"abstract":[{"type":"text","text":"A shuffle deck style which ends content views at both ends so that it cannot be shuffled infinitely."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/finiteShuffle","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckstyle\/finiteshuffle"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledeckstyle/infiniteshuffle.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteShuffle"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledeckstyle\/infiniteshuffle"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/infiniteShuffle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle deck style which makes content views scroll in the loop without ending."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteShuffle"}],"title":"ShuffleDeckStyle.infiniteShuffle","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9DeckStyleO08infiniteA0yA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle":{"role":"symbol","title":"ShuffleDeckStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDeckStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle deck style that is used to change shuffling behaviour of the shuffle deck view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDeckStyle"}],"url":"\/documentation\/shuffleit\/shuffledeckstyle"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDeckStyle/infiniteShuffle":{"role":"symbol","title":"ShuffleDeckStyle.infiniteShuffle","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"infiniteShuffle"}],"abstract":[{"type":"text","text":"A shuffle deck style which makes content views scroll in the loop without ending."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDeckStyle\/infiniteShuffle","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledeckstyle\/infiniteshuffle"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledirection/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shuffledirection\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection":{"role":"symbol","title":"ShuffleDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDirection"}],"url":"\/documentation\/shuffleit\/shuffledirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledirection\/!=(_:_:)"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledirection/left.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledirection\/left"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/left","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle direction to the left."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"title":"ShuffleDirection.left","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9DirectionO4leftyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection/left":{"role":"symbol","title":"ShuffleDirection.left","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"left"}],"abstract":[{"type":"text","text":"A shuffle direction to the left."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/left","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledirection\/left"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection":{"role":"symbol","title":"ShuffleDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDirection"}],"url":"\/documentation\/shuffleit\/shuffledirection"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shuffledirection/right.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shuffledirection\/right"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/right","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle direction to the right."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"title":"ShuffleDirection.right","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A9DirectionO5rightyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection":{"role":"symbol","title":"ShuffleDirection","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleDirection"}],"abstract":[{"type":"text","text":"An enumeration of shuffle direction."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleDirection"}],"url":"\/documentation\/shuffleit\/shuffledirection"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleDirection/right":{"role":"symbol","title":"ShuffleDirection.right","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"right"}],"abstract":[{"type":"text","text":"A shuffle direction to the right."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleDirection\/right","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shuffledirection\/right"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflestack/body.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflestack\/body"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStack\/body","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"View.body"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"title":"body","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:9ShuffleIt0A5StackV4bodyQrvp","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStack"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStack/body":{"role":"symbol","title":"body","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStack\/body","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflestack\/body"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStack":{"role":"symbol","title":"ShuffleStack","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleStack"}],"abstract":[{"type":"text","text":"A stack view that provides shuffling behaviour to swipe contents to left and right."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleStack"}],"url":"\/documentation\/shuffleit\/shufflestack"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflestyle/equatable-implementations.json:
--------------------------------------------------------------------------------
1 | {"variants":[{"paths":["\/documentation\/shuffleit\/shufflestyle\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"ShuffleIt"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflestyle\/!=(_:_:)"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle":{"role":"symbol","title":"ShuffleStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle style that is used to change shuffling behaviour of the shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleStyle"}],"url":"\/documentation\/shuffleit\/shufflestyle"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflestyle/rotatein.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateIn"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflestyle\/rotatein"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/rotateIn","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle style which rotates and scales into center while shuffling."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateIn"}],"title":"ShuffleStyle.rotateIn","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A5StyleO8rotateInyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle":{"role":"symbol","title":"ShuffleStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle style that is used to change shuffling behaviour of the shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleStyle"}],"url":"\/documentation\/shuffleit\/shufflestyle"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle/rotateIn":{"role":"symbol","title":"ShuffleStyle.rotateIn","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateIn"}],"abstract":[{"type":"text","text":"A shuffle style which rotates and scales into center while shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/rotateIn","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflestyle\/rotatein"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflestyle/rotateout.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateOut"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflestyle\/rotateout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/rotateOut","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle style which rotates and scales to outside while shuffling."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateOut"}],"title":"ShuffleStyle.rotateOut","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A5StyleO9rotateOutyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle/rotateOut":{"role":"symbol","title":"ShuffleStyle.rotateOut","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"rotateOut"}],"abstract":[{"type":"text","text":"A shuffle style which rotates and scales to outside while shuffling."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/rotateOut","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflestyle\/rotateout"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle":{"role":"symbol","title":"ShuffleStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle style that is used to change shuffling behaviour of the shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleStyle"}],"url":"\/documentation\/shuffleit\/shufflestyle"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/data/documentation/shuffleit/shufflestyle/slide.json:
--------------------------------------------------------------------------------
1 | {"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"slide"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/shuffleit\/shufflestyle\/slide"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/slide","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A shuffle style which just slides content views without rotating."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"slide"}],"title":"ShuffleStyle.slide","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:9ShuffleIt0A5StyleO5slideyA2CmF","modules":[{"name":"ShuffleIt"}]},"hierarchy":{"paths":[["doc:\/\/ShuffleIt\/documentation\/ShuffleIt","doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle"]]},"references":{"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle/slide":{"role":"symbol","title":"ShuffleStyle.slide","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"slide"}],"abstract":[{"type":"text","text":"A shuffle style which just slides content views without rotating."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle\/slide","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit\/shufflestyle\/slide"},"doc://ShuffleIt/documentation/ShuffleIt/ShuffleStyle":{"role":"symbol","title":"ShuffleStyle","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"ShuffleStyle"}],"abstract":[{"type":"text","text":"An enumeration of shuffle style that is used to change shuffling behaviour of the shuffle stack view."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt\/ShuffleStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"ShuffleStyle"}],"url":"\/documentation\/shuffleit\/shufflestyle"},"doc://ShuffleIt/documentation/ShuffleIt":{"role":"collection","title":"ShuffleIt","abstract":[{"type":"text","text":"A UI element library for "},{"type":"strong","inlineContent":[{"type":"text","text":"SwiftUI"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/ShuffleIt\/documentation\/ShuffleIt","kind":"symbol","type":"topic","url":"\/documentation\/shuffleit"}}}
--------------------------------------------------------------------------------
/docs/developer-og-twitter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/docs/developer-og-twitter.jpg
--------------------------------------------------------------------------------
/docs/developer-og.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/docs/developer-og.jpg
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/favicon.svg:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/images/ShuffleIt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/docs/images/ShuffleIt.png
--------------------------------------------------------------------------------
/docs/img/added-icon.d6f7e47d.svg:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/img/deprecated-icon.015b4f17.svg:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/img/modified-icon.f496e73d.svg:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/img/no-image@2x.df2a0a50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dscyrescotti/ShuffleIt/e0e70737c1f32f72aec305036484b737ef9d0467/docs/img/no-image@2x.df2a0a50.png
--------------------------------------------------------------------------------
/docs/js/highlight-js-diff.62d66733.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-diff"],{"48b8":function(e,n){function a(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}e.exports=a}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-http.163e45b6.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-http"],{c01d:function(e,n){function a(e){const n=e.regex,a="HTTP/(2|1\\.[01])",s=/[A-Za-z][A-Za-z0-9-]*/,t={className:"attribute",begin:n.concat("^",s,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},i=[t,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})",end:/$/,contains:[{className:"meta",begin:a},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},{begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},e.inherit(t,{relevance:0})]}}e.exports=a}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-java.8326d9d8.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-java"],{"332f":function(e,a){var n="[0-9](_*[0-9])*",s=`\\.(${n})`,i="[0-9a-fA-F](_*[0-9a-fA-F])*",t={className:"number",variants:[{begin:`(\\b(${n})((${s})|\\.)?|(${s}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${s})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${s})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function r(e,a,n){return-1===n?"":e.replace(a,s=>r(e,a,n-1))}function c(e){e.regex;const a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=a+r("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),s=["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"],i=["super","this"],c=["false","true","null"],l=["char","boolean","long","float","int","byte","short","double"],o={keyword:s,literal:c,type:l,built_in:i},b={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},_={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:[a,/\s+/,a,/\s+/,/=/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},t,b]}}e.exports=c}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-json.471128d2.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-json"],{"5ad2":function(n,e){function a(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[e,a,n.QUOTE_STRING_MODE,s,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}n.exports=a}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-markdown.90077643.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-markdown"],{"04b0":function(n,e){function a(n){const e=n.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},t={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},g=/[A-Za-z][A-Za-z0-9+.-]*/,d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,g,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};l.contains.push(o),o.contains.push(l);let b=[a,d];l.contains=l.contains.concat(b),o.contains=o.contains.concat(b),b=b.concat(l,o);const r={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},m={className:"quote",begin:"^>\\s+",contains:b,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[r,a,c,l,o,m,s,i,d,t]}}n.exports=a}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-shell.dd7f411f.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-shell"],{b65b:function(s,n){function e(s){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}s.exports=e}}]);
--------------------------------------------------------------------------------
/docs/js/highlight-js-xml.9c3688c7.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * This source file is part of the Swift.org open source project
3 | *
4 | * Copyright (c) 2021 Apple Inc. and the Swift project authors
5 | * Licensed under Apache License v2.0 with Runtime Library Exception
6 | *
7 | * See https://swift.org/LICENSE.txt for license information
8 | * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
9 | */
10 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-xml"],{"8dcb":function(e,n){function a(e){const n=e.regex,a=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),s=/[A-Za-z0-9._:-]+/,t={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(i,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),r=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),g={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:s,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[t]},{begin:/'/,end:/'/,contains:[t]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,r,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[i,c,r,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},t,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/