Skip to content

oversizedev/OversizeUI

Repository files navigation

OversizeUI

Build Example

Yet another component library on SwiftUI

Design System

Controls and styles in Figma

Controls

Some of the controls available include:

  • Avatar
  • Background
  • BlurView
  • Button
  • ColorSelector
  • GridSelect
  • HUD
  • Icon
  • Loader
  • Row
  • SectionView
  • SegmentedControl
  • Select
  • Surface
  • TextField and more in: OversizeUI.

Core

Colors, Typography, Spacing and other styles in core folder

Getting Started

Install and use OversizeUI

Requirements

  • iOS 15+ or macOS 12.0+
  • Xcode 14.2+
  • Swift 5.7+

Swift Package Manager

  • File > Swift Packages > Add Package Dependency
  • Add https://github.com/oversizedev/OversizeUI.git
  • Select "Up to Next Major" with "3.0.3"

Import and use OversizeUI

After the framework has been added you can import the module to use it:

import OversizeUI

Example app

To build and deploy the demo follow these steps:

  • Open Example/Example.xcodeproj in Xcode.
  • In the Xcode scheme menu choose Example (iOS) or other and choose a device to deploy to.
  • Once deployed you can choose a control to demo from the list of controls on the selected device.

Examples components

Avatars

Avatar(firstName: "Swift", lastName: "Apple")
    .controlSize(.large)

Buttons

Button("Button") { print(#function) }
    .buttonStyle(.primary)
    .accent()
    .controlBorderShape(.capsule)
    .bordered()

Color selector

ColorSelector(selection: $color)
ColorSelector(selection: $color)
    .colorSelectorStyle(GridColorSelectorStyle())

GridSelect

var items = ["One", "Two", "Three", "Four"]
@State var selection = ""
GridSelect(items, selection: $selection,
           content: { item, _ in
               VStack {
                   IconDeprecated(.circle)
                   Text(item)
               }.padding()
           })

Icon

IconDeprecated(.activity)

Row

Row("Title")

SegmentedPickerSelector

SegmentedPickerSelector(items, selection: $selection) { item, _ in
    Text(item)
}

Select

Select("Select", items, selection: $selection) { item, _ in
    Text(item)
} selectionView: { selected in
    Text(selected)
}

Surface

Surface(background: .secondary) {
    Text("Text")
}

TextField

TextField("Text", text: $placeholder))
    .textFieldStyle(.default)
}

More

More information on in the DocC documentation

Swift Lint

This project uses SwiftLint to automatically lint our Swift code for common errors. Please install it when developing in this repo by following the SwiftLint Installation Instructions.

License

OversizeUI is released under the MIT license. See LICENSE for details.