mirror of
				https://github.com/InsanusMokrassar/JSUIKitKBindings.git
				synced 2025-10-25 09:10:08 +00:00 
			
		
		
		
	| @@ -1,5 +1,13 @@ | ||||
| # 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 | ||||
|  | ||||
| * Add `UIKitModal` | ||||
|   | ||||
| @@ -9,4 +9,4 @@ android.enableJetifier=true | ||||
| # Project data | ||||
|  | ||||
| group=dev.inmo | ||||
| version=0.0.35 | ||||
| version=0.0.36 | ||||
|   | ||||
| @@ -45,16 +45,16 @@ fun Comment( | ||||
|  | ||||
| @Composable | ||||
| fun DefaultComment( | ||||
|     rootAttrs: Attrs<HTMLElement> = Attrs.empty(), | ||||
|     headerGridAttrs: Attrs<HTMLDivElement>? = null, | ||||
|     headerAttrs: Attrs<HTMLElement>? = null, | ||||
|     additionalHeaderContent: ContentBuilder<HTMLElement>? = null, | ||||
|     avatarUrl: String? = null, | ||||
|     avatarAttrs: Attrs<HTMLImageElement>? = null, | ||||
|     titleAttrs: Attrs<HTMLHeadingElement>? = null, | ||||
|     titleContent: ContentBuilder<HTMLHeadingElement>? = null, | ||||
|     metaAttrs: Attrs<HTMLUListElement>? = null, | ||||
|     metaContent: ContentBuilder<HTMLUListElement>? = null, | ||||
|     rootAttrs: Attrs<HTMLElement> = Attrs.empty(), | ||||
|     headerAttrs: Attrs<HTMLElement>? = null, | ||||
|     additionalHeaderContent: ContentBuilder<HTMLElement>? = null, | ||||
|     bodyAttrs: Attrs<HTMLDivElement>? = null, | ||||
|     bodyContent: ContentBuilder<HTMLDivElement>? = null, | ||||
| ) { | ||||
|   | ||||
| @@ -31,6 +31,8 @@ fun Dialog( | ||||
|     dialogAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null, | ||||
|     headerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null, | ||||
|     headerBuilder: ContentBuilder<HTMLDivElement>? = null, | ||||
|     afterHeaderBuilder: ContentBuilder<HTMLDivElement>? = null, | ||||
|     beforeFooterBuilder: ContentBuilder<HTMLDivElement>? = null, | ||||
|     footerAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null, | ||||
|     footerBuilder: ContentBuilder<HTMLDivElement>? = null, | ||||
|     bodyAttrsBuilder: AttrBuilderContext<HTMLDivElement>? = null, | ||||
| @@ -62,6 +64,7 @@ fun Dialog( | ||||
|                     it() | ||||
|                 } | ||||
|             } | ||||
|             afterHeaderBuilder ?.let { it() } | ||||
|             Div( | ||||
|                 { | ||||
|                     include(UIKitModal.Body) | ||||
| @@ -70,6 +73,7 @@ fun Dialog( | ||||
|             ) { | ||||
|                 bodyBuilder() | ||||
|             } | ||||
|             beforeFooterBuilder ?.let { it() } | ||||
|             footerBuilder ?.let { | ||||
|                 Div( | ||||
|                     { | ||||
|   | ||||
| @@ -250,4 +250,12 @@ sealed class Icon(val name: String) { | ||||
|         attributesCustomizer: AttrBuilderContext<out HTMLElement> = {}, | ||||
|         onClick: ((Event) -> Unit)? = null | ||||
|     ) = 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 | ||||
|  | ||||
| sealed class UIKitMargin(val classname: String) : UIKitModifier { | ||||
|     override val classes: Array<String> = arrayOf(classname) | ||||
| sealed class UIKitMargin(vararg classnames: String) : UIKitModifier { | ||||
|     @Suppress("UNCHECKED_CAST") | ||||
|     override val classes: Array<String> = classnames as Array<String> | ||||
|  | ||||
|     object Top : Small("uk-margin-top") | ||||
|     object Bottom : Small("uk-margin-bottom") | ||||
|     object Left : Small("uk-margin-left") | ||||
|     object Right : Small("uk-margin-right") | ||||
|     object Top : UIKitMargin("uk-margin-top") | ||||
|     object Bottom : UIKitMargin("uk-margin-bottom") | ||||
|     object Left : UIKitMargin("uk-margin-left") | ||||
|     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") | ||||
|  | ||||
|     sealed class Small(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class Small(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : Small("uk-margin-small-top") | ||||
|         object Bottom : Small("uk-margin-small-bottom") | ||||
|         object Left : Small("uk-margin-small-left") | ||||
|         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") | ||||
|  | ||||
|     } | ||||
|     sealed class Medium(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class Medium(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : Medium("uk-margin-medium-top") | ||||
|         object Bottom : Medium("uk-margin-medium-bottom") | ||||
|         object Left : Medium("uk-margin-medium-left") | ||||
|         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") | ||||
|  | ||||
|     } | ||||
|     sealed class Large(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class Large(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : Large("uk-margin-large-top") | ||||
|         object Bottom : Large("uk-margin-large-bottom") | ||||
|         object Left : Large("uk-margin-large-left") | ||||
|         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") | ||||
|  | ||||
|     } | ||||
|     sealed class XLarge(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class XLarge(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : XLarge("uk-margin-xlarge-top") | ||||
|         object Bottom : XLarge("uk-margin-xlarge-bottom") | ||||
|         object Left : XLarge("uk-margin-xlarge-left") | ||||
|         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") | ||||
|  | ||||
|     } | ||||
|     sealed class Auto(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class Auto(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : Auto("uk-margin-auto-top") | ||||
|         object Bottom : Auto("uk-margin-auto-bottom") | ||||
|         object Left : Auto("uk-margin-auto-left") | ||||
|         object Right : Auto("uk-margin-auto-right") | ||||
|         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") | ||||
|  | ||||
|     } | ||||
|  | ||||
|     sealed class Remove(classname: String) : UIKitMargin(classname) { | ||||
|     sealed class Remove(vararg classnames: String) : UIKitMargin(*classnames) { | ||||
|  | ||||
|         object Top : Remove("uk-margin-remove-top") | ||||
|         object Bottom : Remove("uk-margin-remove-bottom") | ||||
|         object Left : Remove("uk-margin-remove-left") | ||||
|         object Right : Remove("uk-margin-remove-right") | ||||
|         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 FirstChild : Remove("uk-margin-remove-first-child") | ||||
|         object LastChild : Remove("uk-margin-remove-last-child") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user