Components
Button
Used to initiate an action or trigger the users
Usage
Buttons are used to initiate an action or trigger the user to open a link.
Use Legion Button styles for actions in forms, dialogs, and more with support lots type and attribute for costumize.
import LegionUI
Variant

Use this Function : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and add title for the text of the button.
This code sample demonstrates how to modify the variant of the button :
A. Solid Button
LGNSolidBtn(title: "Solid")
B. Outline Button
LGNOutlineBtn(title: "Outline")
C. Soft Button
LGNSoftBtn(title: "Soft")
D. Transparent Button
LGNTransparentBtn(title: "Transparent")
Attribute
Legion Have 5 Attributes for Customize Button :
Size
This size text button attribute for user to choose size text inside the button.
Choose type botton : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and Use this Function : .variant(size: SizeBtn), where the SizeBtnconsists of normal
and small
This code sample demonstrates how to modify size text of the button :
A. Solid Small
LGNSolidBtn(title: "Solid").variant(size: .small)
B. Solid Normal
LGNSolidBtn(title: "Solid").variant(size: .normal)
C. Outline Small
LGNOutlineBtn(title: "Outline").variant(size: .small)
D. Outline Normal
LGNOutlineBtn(title: "Outline").variant(size: .normal)
E. Soft Small
LGNSoftBtn(title: "Outline").variant(size: .small)
F. Soft Normal
LGNSoftBtn(title: "Outline").variant(size: .normal)
G. Transparent Small
LGNTransparentBtn(title: "Outline").variant(size: .small)
H. Transaparent Normal
LGNTransparentBtn(title: "Outline").variant(size: .normal)
Responsive
This responsive button or boolean attribute for user to choose the button responsively to the screen / layout or not.
Choose type botton : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and use this Function : .variant(size: SizeBtn), where the SizeBtn consists of normal or small and responsive for true or false
This code sample demonstrates how to modify responsive of the button :
A. Solid Small Responsive
LGNSolidBtn(title: "Solid").variant(size: .small, responsive: true)
B. Solid Small Not Responsive
LGNSolidBtn(title: "Solid").variant(size: .small, responsive: false)
C. Solid Normal Responsive
LGNSolidBtn(title: "Solid").variant(size: .normal, responsive: true)
D. Solid Normal Not Responsive
LGNSolidBtn(title: "Solid").variant(size: .normal, responsive: false)
E. Outline Small Responsive
LGNOutlineBtn(title: "Outline").variant(size: .small, responsive: true)
F. Outline Small Not Responsive
LGNOutlineBtn(title: "Outline").variant(size: .small, responsive: false)
G. Outline Normal Responsive
LGNOutlineBtn(title: "Outline").variant(size: .normal, responsive: false)
H. Outline Normal Not Responsive
LGNOutlineBtn(title: "Outline").variant(size: .normal, responsive: false)
I. Soft Small Responsive
LGNSoftBtn(title: "Outline").variant(size: .small, responsive: true)
J. Soft Small Not Responsive
LGNSoftBtn(title: "Outline").variant(size: .small, responsive: false)
K. Soft Normal Responsive
LGNSoftBtn(title: "Outline").variant(size: .normal, responsive: false)
L. Soft Normal Not Responsive
LGNSoftBtn(title: "Outline").variant(size: .normal, responsive: false)
M. Transparent Small Responsive
LGNTransparentBtn(title: "Outline").variant(size: .small, responsive: true)
N. Transparent Small Not Responsive
LGNTransparentBtn(title: "Outline").variant(size: .small, responsive: false)
O. Transaparent Normal Responsive
LGNTransparentBtn(title: "Outline").variant(size: .normal, responsive: true)
P. Transaparent Normal Not Responsive
LGNTransparentBtn(title: "Outline").variant(size: .normal, responsive: false)
Icon
This icon attribute for user to choose the icon position inside the button.
Choose type botton : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and add title for the text of the button and icon position centerImage, leftImage, rightImage
This code sample demonstrates how to modify icon of the button :
A. Solid Button Center
LGNSolidBtn(title: "Download",centerImage: Image(systemName: "square.and.arrow.down"))
B. Outline Show Acitivy
LGNSolidBtn(title: "Download",leftImage: Image(systemName: "square.and.arrow.down"))
C. Solid Button Right
LGNSolidBtn(title: "Download",rightImage: Image(systemName: "square.and.arrow.down"))
D. Outline Button Center
LGNOutlineBtn(title: "Download",centerImage: Image(systemName: "square.and.arrow.down"))
E. Outline Button Left
LGNOutlineBtn(title: "Download",leftImage: Image(systemName: "square.and.arrow.down"))
F. Outline Button Right
LGNOutlineBtn(title: "Download",leftImage: Image(systemName: "square.and.arrow.down"))
G. Soft Button Center
LGNSoftBtn(title: "Download",centerImage: Image(systemName: "square.and.arrow.down"))
H. Soft Button Left
LGNSoftBtn(title: "Download",leftImage: Image(systemName: "square.and.arrow.down"))
I. Soft Button Right
LGNSoftBtn(title: "Download",rightImage: Image(systemName: "square.and.arrow.down"))
J. Transparent Button Center
LGNTransparentBtn(title: "Download",centerImage: Image(systemName: "square.and.arrow.down"))
K. Transparent Button Left
LGNTransparentBtn(title: "Download",leftImage: Image(systemName: "square.and.arrow.down"))
L. Transparent Button Right
LGNTransparentBtn(title: "Download",rightImage: Image(systemName: "square.and.arrow.down"))
Show Activity
Choose type botton : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and add : .showProgressView(true) consists for true
This code sample demonstrates how to modify show activity of the button :
A. Solid Show Activity
LGNSolidBtn(title: "Title").showProgressView(true)
B. Outline Show Acitivy
LGNOutlineBtn(title: "Title").showProgressView(true)
C. Soft Show Activity
LGNSoftBtn(title: "Title").showProgressView(true)
D. Transparent Show Activity
LGNTransparentBtn(title: "Title").showProgressView(true)
Disable
Choose type botton : LGNSolidBtn, LGNOutlineBtn, LGNSoftBtn, LGNTransparentBtn and add : .disableInteraction consists for true
This code sample demonstrates how to modify disable of the button :
A. Solid Disable
LGNSolidBtn(title: "Title").disableInteraction(true)
B. Outline Disable
LGNOutlineBtn(title: "Title").disableInteraction(true)
C. Soft Disable
LGNSoftBtn(title: "Title").disableInteraction(true)
D. Transparent Disable
LGNTransparentBtn(title: "Title").disableInteraction(true)
Properties
| Properties | Description | Default Value |
|---|---|---|
| action | The action to perform when the user triggers the button. | {} |
| title | The title for the button’s title, that describes the purpose of the button’s action. | - |
| textFont | To change the font on the title button. | Font.system(size: 16, weight: .bold, design: .default) |
| tintBtnColor | To change the tint color of button. | Color.white |
| defaultBtnColor | To change the tint color of button. | Color.primary500 |
| focusBtnColor | To change the background color of the button when the button is in focus state. | Color.primary700 |
Do you have feedback?
Please let us know to make it better