mirror of
https://github.com/InsanusMokrassar/JSUIKitKBindings.git
synced 2024-11-27 04:28:46 +00:00
commit
e3ba921018
@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.0.36
|
||||||
|
|
||||||
|
* Reorder arguments in `DefaultComment` fun
|
||||||
|
* Add `Vertical` and `Horizontal` members in margins
|
||||||
|
* Add `afterHeaderBuilder` and `beforeFooterBuilder` properties in `Dialog` fun
|
||||||
|
* Add `UIKitCustom` to be able for simple creating of custom modifiers
|
||||||
|
* Add support of `UIKitForm`
|
||||||
|
|
||||||
## 0.0.35
|
## 0.0.35
|
||||||
|
|
||||||
* Add `UIKitModal`
|
* Add `UIKitModal`
|
||||||
|
@ -9,4 +9,4 @@ android.enableJetifier=true
|
|||||||
# Project data
|
# Project data
|
||||||
|
|
||||||
group=dev.inmo
|
group=dev.inmo
|
||||||
version=0.0.35
|
version=0.0.36
|
||||||
|
@ -45,16 +45,16 @@ fun Comment(
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun DefaultComment(
|
fun DefaultComment(
|
||||||
|
rootAttrs: Attrs<HTMLElement> = Attrs.empty(),
|
||||||
headerGridAttrs: Attrs<HTMLDivElement>? = null,
|
headerGridAttrs: Attrs<HTMLDivElement>? = null,
|
||||||
|
headerAttrs: Attrs<HTMLElement>? = null,
|
||||||
|
additionalHeaderContent: ContentBuilder<HTMLElement>? = null,
|
||||||
avatarUrl: String? = null,
|
avatarUrl: String? = null,
|
||||||
avatarAttrs: Attrs<HTMLImageElement>? = null,
|
avatarAttrs: Attrs<HTMLImageElement>? = null,
|
||||||
titleAttrs: Attrs<HTMLHeadingElement>? = null,
|
titleAttrs: Attrs<HTMLHeadingElement>? = null,
|
||||||
titleContent: ContentBuilder<HTMLHeadingElement>? = null,
|
titleContent: ContentBuilder<HTMLHeadingElement>? = null,
|
||||||
metaAttrs: Attrs<HTMLUListElement>? = null,
|
metaAttrs: Attrs<HTMLUListElement>? = null,
|
||||||
metaContent: ContentBuilder<HTMLUListElement>? = null,
|
metaContent: ContentBuilder<HTMLUListElement>? = null,
|
||||||
rootAttrs: Attrs<HTMLElement> = Attrs.empty(),
|
|
||||||
headerAttrs: Attrs<HTMLElement>? = null,
|
|
||||||
additionalHeaderContent: ContentBuilder<HTMLElement>? = null,
|
|
||||||
bodyAttrs: Attrs<HTMLDivElement>? = null,
|
bodyAttrs: Attrs<HTMLDivElement>? = null,
|
||||||
bodyContent: ContentBuilder<HTMLDivElement>? = null,
|
bodyContent: ContentBuilder<HTMLDivElement>? = null,
|
||||||
) {
|
) {
|
||||||
|
@ -31,6 +31,8 @@ fun Dialog(
|
|||||||
dialogAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
dialogAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
||||||
headerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
headerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
||||||
headerBuilder: ContentBuilder<HTMLDivElement>? = null,
|
headerBuilder: ContentBuilder<HTMLDivElement>? = null,
|
||||||
|
afterHeaderBuilder: ContentBuilder<HTMLDivElement>? = null,
|
||||||
|
beforeFooterBuilder: ContentBuilder<HTMLDivElement>? = null,
|
||||||
footerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
footerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
||||||
footerBuilder: ContentBuilder<HTMLDivElement>? = null,
|
footerBuilder: ContentBuilder<HTMLDivElement>? = null,
|
||||||
bodyAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
bodyAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null,
|
||||||
@ -62,6 +64,7 @@ fun Dialog(
|
|||||||
it()
|
it()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
afterHeaderBuilder ?.let { it() }
|
||||||
Div(
|
Div(
|
||||||
{
|
{
|
||||||
include(UIKitModal.Body)
|
include(UIKitModal.Body)
|
||||||
@ -70,6 +73,7 @@ fun Dialog(
|
|||||||
) {
|
) {
|
||||||
bodyBuilder()
|
bodyBuilder()
|
||||||
}
|
}
|
||||||
|
beforeFooterBuilder ?.let { it() }
|
||||||
footerBuilder ?.let {
|
footerBuilder ?.let {
|
||||||
Div(
|
Div(
|
||||||
{
|
{
|
||||||
|
@ -250,4 +250,12 @@ sealed class Icon(val name: String) {
|
|||||||
attributesCustomizer: AttrBuilderContext<out HTMLElement> = {},
|
attributesCustomizer: AttrBuilderContext<out HTMLElement> = {},
|
||||||
onClick: ((Event) -> Unit)? = null
|
onClick: ((Event) -> Unit)? = null
|
||||||
) = invoke(*modifiers, type = UIKitIconType.Link, ratio = ratio, onClick = onClick, attributesCustomizer = attributesCustomizer)
|
) = invoke(*modifiers, type = UIKitIconType.Link, ratio = ratio, onClick = onClick, attributesCustomizer = attributesCustomizer)
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun drawAsFormInputPart(
|
||||||
|
vararg modifiers: UIKitModifier,
|
||||||
|
ratio: Float? = null,
|
||||||
|
attributesCustomizer: AttrBuilderContext<out HTMLElement> = {},
|
||||||
|
onClick: ((Event) -> Unit)? = null
|
||||||
|
) = invoke(*modifiers, UIKitForm.Icon, ratio = ratio, onClick = onClick, attributesCustomizer = attributesCustomizer)
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
package dev.inmo.jsuikit.modifiers
|
||||||
|
|
||||||
|
class UIKitCustom(
|
||||||
|
override val classes: Array<String> = emptyArray(),
|
||||||
|
override val otherAttrs: Map<String, String> = emptyMap()
|
||||||
|
) : UIKitModifier
|
58
src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitForm.kt
Normal file
58
src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitForm.kt
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
package dev.inmo.jsuikit.modifiers
|
||||||
|
|
||||||
|
import dev.inmo.jsuikit.utils.buildAttribute
|
||||||
|
|
||||||
|
sealed class UIKitForm(
|
||||||
|
vararg classnames: String,
|
||||||
|
override val otherAttrs: Map<String, String> = emptyMap()
|
||||||
|
) : UIKitModifier {
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
override val classes: Array<String> = classnames as Array<String>
|
||||||
|
|
||||||
|
object Fieldset : UIKitForm("uk-fieldset")
|
||||||
|
object Legend : UIKitForm("uk-legend")
|
||||||
|
|
||||||
|
object Input : UIKitForm("uk-input")
|
||||||
|
object Select : UIKitForm("uk-select")
|
||||||
|
object TextArea : UIKitForm("uk-textarea")
|
||||||
|
object Radio : UIKitForm("uk-radio", otherAttrs = mapOf("type" to "radio"))
|
||||||
|
object Checkbox : UIKitForm("uk-checkbox", otherAttrs = mapOf("type" to "checkbox"))
|
||||||
|
object Range : UIKitForm("uk-range", otherAttrs = mapOf("type" to "range"))
|
||||||
|
|
||||||
|
sealed class State(vararg classnames: String) : UIKitForm(*classnames) {
|
||||||
|
object Danger : State("uk-form-danger")
|
||||||
|
object Success : State("uk-form-success")
|
||||||
|
}
|
||||||
|
sealed class Size(vararg classnames: String) : UIKitForm(*classnames) {
|
||||||
|
object Large : Size("uk-form-large")
|
||||||
|
object Default : Size() // :)
|
||||||
|
object Small : Size("uk-form-small")
|
||||||
|
}
|
||||||
|
sealed class Width(vararg classnames: String) : UIKitForm(*classnames) {
|
||||||
|
object Large : Width("uk-form-width-large")
|
||||||
|
object Medium : Width("uk-form-width-medium")
|
||||||
|
object Small : Width("uk-form-width-small")
|
||||||
|
object XSmall : Width("uk-form-width-xsmall")
|
||||||
|
}
|
||||||
|
|
||||||
|
object Blank : UIKitForm("uk-form-blank")
|
||||||
|
|
||||||
|
sealed class Layout(vararg classnames: String) : UIKitForm(*classnames) {
|
||||||
|
object Stacked : Layout("uk-form-stacked")
|
||||||
|
object Horizontal : Layout("uk-form-horizontal")
|
||||||
|
object Label : Layout("uk-form-label")
|
||||||
|
object Controls : Layout("uk-form-controls")
|
||||||
|
}
|
||||||
|
|
||||||
|
object Icon : UIKitForm("uk-form-icon")
|
||||||
|
|
||||||
|
class Custom(
|
||||||
|
target: String = "true"
|
||||||
|
) : UIKitForm(
|
||||||
|
otherAttrs = mapOf(
|
||||||
|
buildAttribute("uk-form-custom") {
|
||||||
|
"target" to target
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
@ -1,68 +1,87 @@
|
|||||||
package dev.inmo.jsuikit.modifiers
|
package dev.inmo.jsuikit.modifiers
|
||||||
|
|
||||||
sealed class UIKitMargin(val classname: String) : UIKitModifier {
|
sealed class UIKitMargin(vararg classnames: String) : UIKitModifier {
|
||||||
override val classes: Array<String> = arrayOf(classname)
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
override val classes: Array<String> = classnames as Array<String>
|
||||||
|
|
||||||
object Top : Small("uk-margin-top")
|
object Top : UIKitMargin("uk-margin-top")
|
||||||
object Bottom : Small("uk-margin-bottom")
|
object Bottom : UIKitMargin("uk-margin-bottom")
|
||||||
object Left : Small("uk-margin-left")
|
object Left : UIKitMargin("uk-margin-left")
|
||||||
object Right : Small("uk-margin-right")
|
object Right : UIKitMargin("uk-margin-right")
|
||||||
|
object Vertical : UIKitMargin() { override val classes: Array<String> = Top.classes + Bottom.classes }
|
||||||
|
object Horizontal : UIKitMargin() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
companion object : Small("uk-margin")
|
companion object : Small("uk-margin")
|
||||||
|
|
||||||
sealed class Small(classname: String) : UIKitMargin(classname) {
|
sealed class Small(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : Small("uk-margin-small-top")
|
object Top : Small("uk-margin-small-top")
|
||||||
object Bottom : Small("uk-margin-small-bottom")
|
object Bottom : Small("uk-margin-small-bottom")
|
||||||
object Left : Small("uk-margin-small-left")
|
object Left : Small("uk-margin-small-left")
|
||||||
object Right : Small("uk-margin-small-right")
|
object Right : Small("uk-margin-small-right")
|
||||||
|
|
||||||
|
object Vertical : Small() {
|
||||||
|
override val classes: Array<String> = Top.classes + Bottom.classes
|
||||||
|
}
|
||||||
|
object Horizontal : Small() {
|
||||||
|
override val classes: Array<String> = Left.classes + Right.classes
|
||||||
|
}
|
||||||
|
|
||||||
companion object : Small("uk-margin-small")
|
companion object : Small("uk-margin-small")
|
||||||
|
|
||||||
}
|
}
|
||||||
sealed class Medium(classname: String) : UIKitMargin(classname) {
|
sealed class Medium(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : Medium("uk-margin-medium-top")
|
object Top : Medium("uk-margin-medium-top")
|
||||||
object Bottom : Medium("uk-margin-medium-bottom")
|
object Bottom : Medium("uk-margin-medium-bottom")
|
||||||
object Left : Medium("uk-margin-medium-left")
|
object Left : Medium("uk-margin-medium-left")
|
||||||
object Right : Medium("uk-margin-medium-right")
|
object Right : Medium("uk-margin-medium-right")
|
||||||
|
object Vertical : Medium() { override val classes: Array<String> = Top.classes + Bottom.classes }
|
||||||
|
object Horizontal : Medium() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
companion object : Medium("uk-margin-medium")
|
companion object : Medium("uk-margin-medium")
|
||||||
|
|
||||||
}
|
}
|
||||||
sealed class Large(classname: String) : UIKitMargin(classname) {
|
sealed class Large(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : Large("uk-margin-large-top")
|
object Top : Large("uk-margin-large-top")
|
||||||
object Bottom : Large("uk-margin-large-bottom")
|
object Bottom : Large("uk-margin-large-bottom")
|
||||||
object Left : Large("uk-margin-large-left")
|
object Left : Large("uk-margin-large-left")
|
||||||
object Right : Large("uk-margin-large-right")
|
object Right : Large("uk-margin-large-right")
|
||||||
|
object Vertical : Large() { override val classes: Array<String> = Top.classes + Bottom.classes }
|
||||||
|
object Horizontal : Large() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
companion object : Large("uk-margin-large")
|
companion object : Large("uk-margin-large")
|
||||||
|
|
||||||
}
|
}
|
||||||
sealed class XLarge(classname: String) : UIKitMargin(classname) {
|
sealed class XLarge(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : XLarge("uk-margin-xlarge-top")
|
object Top : XLarge("uk-margin-xlarge-top")
|
||||||
object Bottom : XLarge("uk-margin-xlarge-bottom")
|
object Bottom : XLarge("uk-margin-xlarge-bottom")
|
||||||
object Left : XLarge("uk-margin-xlarge-left")
|
object Left : XLarge("uk-margin-xlarge-left")
|
||||||
object Right : XLarge("uk-margin-xlarge-right")
|
object Right : XLarge("uk-margin-xlarge-right")
|
||||||
|
object Vertical : XLarge() { override val classes: Array<String> = Top.classes + Bottom.classes }
|
||||||
|
object Horizontal : XLarge() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
companion object : XLarge("uk-margin-xlarge")
|
companion object : XLarge("uk-margin-xlarge")
|
||||||
|
|
||||||
}
|
}
|
||||||
sealed class Auto(classname: String) : UIKitMargin(classname) {
|
sealed class Auto(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : Auto("uk-margin-auto-top")
|
object Top : Auto("uk-margin-auto-top")
|
||||||
object Bottom : Auto("uk-margin-auto-bottom")
|
object Bottom : Auto("uk-margin-auto-bottom")
|
||||||
object Left : Auto("uk-margin-auto-left")
|
object Left : Auto("uk-margin-auto-left")
|
||||||
object Right : Auto("uk-margin-auto-right")
|
object Right : Auto("uk-margin-auto-right")
|
||||||
object Vertical : Auto("uk-margin-auto-vertical")
|
object Vertical : Auto("uk-margin-auto-vertical")
|
||||||
|
object Horizontal : Auto() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
companion object : Auto("uk-margin-auto")
|
companion object : Auto("uk-margin-auto")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class Remove(classname: String) : UIKitMargin(classname) {
|
sealed class Remove(vararg classnames: String) : UIKitMargin(*classnames) {
|
||||||
|
|
||||||
object Top : Remove("uk-margin-remove-top")
|
object Top : Remove("uk-margin-remove-top")
|
||||||
object Bottom : Remove("uk-margin-remove-bottom")
|
object Bottom : Remove("uk-margin-remove-bottom")
|
||||||
object Left : Remove("uk-margin-remove-left")
|
object Left : Remove("uk-margin-remove-left")
|
||||||
object Right : Remove("uk-margin-remove-right")
|
object Right : Remove("uk-margin-remove-right")
|
||||||
object Vertical : Remove("uk-margin-remove-vertical")
|
object Vertical : Remove("uk-margin-remove-vertical")
|
||||||
|
object Horizontal : Remove() { override val classes: Array<String> = Left.classes + Right.classes }
|
||||||
object Adjacent : Remove("uk-margin-remove-adjacent")
|
object Adjacent : Remove("uk-margin-remove-adjacent")
|
||||||
object FirstChild : Remove("uk-margin-remove-first-child")
|
object FirstChild : Remove("uk-margin-remove-first-child")
|
||||||
object LastChild : Remove("uk-margin-remove-last-child")
|
object LastChild : Remove("uk-margin-remove-last-child")
|
||||||
|
Loading…
Reference in New Issue
Block a user