28 lines
579 B
Swift
28 lines
579 B
Swift
|
//
|
||
|
// ComposeInput.swift
|
||
|
// ComposeUI
|
||
|
//
|
||
|
// Created by Shadowfacts on 3/5/23.
|
||
|
//
|
||
|
|
||
|
import Foundation
|
||
|
import Combine
|
||
|
|
||
|
protocol ComposeInput: AnyObject, ObservableObject {
|
||
|
var toolbarElements: [ToolbarElement] { get }
|
||
|
|
||
|
var autocompleteState: AutocompleteState? { get }
|
||
|
var autocompleteStatePublisher: Published<AutocompleteState?>.Publisher { get }
|
||
|
|
||
|
func autocomplete(with string: String)
|
||
|
|
||
|
func applyFormat(_ format: StatusFormat)
|
||
|
|
||
|
func beginAutocompletingEmoji()
|
||
|
}
|
||
|
|
||
|
enum ToolbarElement {
|
||
|
case emojiPicker
|
||
|
case formattingButtons
|
||
|
}
|