Swiftpack.co - oversizedev/OversizeUI as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by oversizedev.
oversizedev/OversizeUI 2.5.0
Yet another component library on SwiftUI
⭐️ 2
🕓 1 week ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/oversizedev/OversizeUI.git", from: "2.5.0")

OversizeUI

Build Status GitHub

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.0+
  • 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 "2.2.0"

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

AvatarView(firstName: "Jhon", size: .small)

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 {
                   Icon(.circle)
                   Text(item)
               }.padding()
           })

Icon

Icon(.activity)

Row

Row("Title")

Row("Title", subtitle: "Subtitle", leadingType: .icon(.calendar), trallingType: .radio(isOn: $control), paddingVertical: .small)

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(DefaultPlaceholderTextFieldStyle())
}

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.

GitHub

link
Stars: 2
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

1 week ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics