Skip to content

Commit 613b424

Browse files
committed
dropdown element added
1 parent 3bb0c58 commit 613b424

File tree

7 files changed

+199
-0
lines changed

7 files changed

+199
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import com.github.underlow.semantic.elements.label.LabelProps
6+
import org.w3c.dom.events.Event
7+
import react.RClass
8+
import react.RProps
9+
import react.ReactElement
10+
11+
external interface DropdownProps : RProps {
12+
var `as`: Any?
13+
var additionLabel: dynamic /* String | Number */
14+
var additionPosition: String? /* "top" | "bottom" */
15+
var allowAdditions: Boolean?
16+
var basic: Boolean?
17+
var button: Boolean?
18+
var children: ReactElement?
19+
var className: String?
20+
var closeOnBlur: Boolean?
21+
var closeOnChange: Boolean?
22+
var compact: Boolean?
23+
var deburr: Boolean?
24+
var defaultOpen: Boolean?
25+
var defaultSearchQuery: String?
26+
var defaultSelectedLabel: dynamic /* String | Number */
27+
var defaultUpward: Boolean?
28+
var defaultValue: dynamic /* String | Number | Boolean | Array<dynamic /* String | Number | Boolean */> */
29+
var direction: dynamic /* String /* "left" */ | String /* "right" */ */
30+
var disabled: Boolean?
31+
var error: Boolean?
32+
var floating: Boolean?
33+
var fluid: Boolean?
34+
var header: ReactElement?
35+
var icon: Any?
36+
var inline: Boolean?
37+
var item: Boolean?
38+
var labeled: Boolean?
39+
var lazyLoad: Boolean?
40+
var loading: Boolean?
41+
var minCharacters: Number?
42+
var multiple: Boolean?
43+
var noResultsMessage: String?
44+
var onAddItem: ((event: Event, data: DropdownProps) -> Unit)?
45+
var onBlur: ((event: Event, data: DropdownProps) -> Unit)?
46+
var onChange: ((event: Event, data: DropdownProps) -> Unit)?
47+
var onClick: ((event: Event, data: DropdownProps) -> Unit)?
48+
var onClose: ((event: Event, data: DropdownProps) -> Unit)?
49+
var onFocus: ((event: Event, data: DropdownProps) -> Unit)?
50+
var onLabelClick: ((event: Event, data: LabelProps) -> Unit)?
51+
var onMouseDown: ((event: Event, data: DropdownProps) -> Unit)?
52+
var onOpen: ((event: Event, data: DropdownProps) -> Unit)?
53+
var onSearchChange: ((event: Event, data: DropdownOnSearchChangeData) -> Unit)?
54+
var open: Boolean?
55+
var openOnFocus: Boolean?
56+
var options: Array<DropdownItemProps>?
57+
var placeholder: String?
58+
var pointing: dynamic /* Boolean | "top" | "bottom" | "left" | "right" | "top left" | "top right" | "bottom left" | "bottom right" */
59+
var renderLabel: ((item: DropdownItemProps, index: Number, defaultLabelProps: LabelProps) -> Any)?
60+
var scrolling: Boolean?
61+
var search: dynamic /* Boolean | (options: Array<DropdownItemProps>, value: String) -> Array<DropdownItemProps> */
62+
var searchInput: Any?
63+
var searchQuery: String?
64+
var selectOnBlur: Boolean?
65+
var selectOnNavigation: Boolean?
66+
var selectedLabel: dynamic /* String | Number */
67+
var selection: Any?
68+
var simple: Boolean?
69+
var tabIndex: dynamic /* String | Number */
70+
var text: String?
71+
var trigger: ReactElement?
72+
var value: dynamic /* String | Number | Boolean | Array<dynamic /* String | Number | Boolean */> */
73+
var upward: Boolean?
74+
var wrapSelection: Boolean?
75+
}
76+
77+
external interface DropdownOnSearchChangeData : DropdownProps {
78+
override var searchQuery: String?
79+
}
80+
81+
external interface DropdownComponent : RClass<DropdownProps>
82+
83+
@JsName("default")
84+
external var Dropdown: DropdownComponent = definedExternally
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown/DropdownDivider")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import react.RClass
6+
import react.RProps
7+
8+
external interface DropdownDividerProps : RProps {
9+
var `as`: Any?
10+
var className: String?
11+
}
12+
13+
@JsName("default")
14+
external var DropdownDivider: RClass<DropdownDividerProps> = definedExternally
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown/DropdownHeader")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import com.github.underlow.semantic.SemanticShorthandContent
6+
import com.github.underlow.semantic.SemanticShorthandItem
7+
import com.github.underlow.semantic.elements.icon.IconProps
8+
import react.RClass
9+
import react.RProps
10+
import react.ReactElement
11+
12+
external interface DropdownHeaderProps : RProps {
13+
var `as`: Any?
14+
var children: ReactElement?
15+
var className: String?
16+
var content: SemanticShorthandContent?
17+
var icon: SemanticShorthandItem<IconProps>? get() = definedExternally; set(value) = definedExternally
18+
}
19+
20+
@JsName("default")
21+
external var DropdownHeader: RClass<DropdownHeaderProps> = definedExternally
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown/DropdownItem")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import com.github.underlow.semantic.HtmlSpanProps
6+
import com.github.underlow.semantic.SemanticShorthandContent
7+
import com.github.underlow.semantic.SemanticShorthandItem
8+
import com.github.underlow.semantic.elements.icon.IconProps
9+
import com.github.underlow.semantic.elements.image.ImageProps
10+
import com.github.underlow.semantic.elements.label.LabelProps
11+
import org.w3c.dom.events.Event
12+
import react.RClass
13+
import react.RProps
14+
import react.ReactElement
15+
16+
external interface DropdownItemProps : RProps {
17+
var `as`: Any?
18+
var active: Boolean?
19+
var children: ReactElement?
20+
var className: String?
21+
var content: SemanticShorthandContent?
22+
var description: SemanticShorthandItem<HtmlSpanProps>?
23+
var disabled: Boolean?
24+
// var flag: SemanticShorthandItem<FlagProps>?
25+
var icon: SemanticShorthandItem<IconProps>?
26+
var image: SemanticShorthandItem<ImageProps>?
27+
var label: SemanticShorthandItem<LabelProps>?
28+
var onClick: ((event: Event, data: DropdownItemProps) -> Unit)?
29+
var selected: Boolean?
30+
var text: SemanticShorthandContent?
31+
var value: dynamic /* String | Number | Boolean */
32+
}
33+
34+
@JsName("default")
35+
external var DropdownItem: RClass<DropdownItemProps> = definedExternally
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown/DropdownMenu")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import com.github.underlow.semantic.SemanticShorthandContent
6+
import react.RClass
7+
import react.RProps
8+
import react.ReactElement
9+
10+
external interface DropdownMenuProps : RProps {
11+
var `as`: Any?
12+
var children: ReactElement?
13+
var className: String?
14+
var content: SemanticShorthandContent?
15+
var direction: dynamic /* String /* "left" */ | String /* "right" */ */
16+
var open: Boolean?
17+
var scrolling: Boolean?
18+
}
19+
20+
@JsName("default")
21+
external var DropdownMenu: RClass<DropdownMenuProps> = definedExternally
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
@file:JsModule("semantic-ui-react/dist/commonjs/modules/Dropdown/DropdownSearchInput")
2+
3+
package com.github.underlow.semantic.modules.dropdown
4+
5+
import org.w3c.dom.HTMLInputElement
6+
import react.RClass
7+
import react.RProps
8+
9+
external interface DropdownSearchInputProps : RProps {
10+
var `as`: Any?
11+
var autoComplete: String?
12+
var className: String?
13+
var inputRef: ((c: HTMLInputElement) -> Unit)?
14+
var tabIndex: dynamic /* String | Number */
15+
var type: String?
16+
var value: dynamic /* String | Number */
17+
}
18+
19+
@JsName("default")
20+
external var DropdownSearchInput: RClass<DropdownSearchInputProps> = definedExternally

src/main/kotlin/com/github/underlow/semantic/types.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.github.underlow.semantic
22

3+
import react.ReactElement
4+
35

46
//typealias SemanticShorthandCollection<T> = Array<SemanticShorthandItem<T>>;
57
//typealias SemanticShorthandContent = ReactElement;
@@ -20,3 +22,5 @@ typealias SemanticWIDTHSSTRING = String // '1' | '2' | '3' | '4' | '5' | '6' | '
2022

2123
typealias SemanticWIDTHS = Any // SemanticWIDTHSNUMBER | SemanticWIDTHSSTRING;
2224
typealias IconSizeProp = String //'mini' | 'tiny' | 'small' | 'large' | 'big' | 'huge' | 'massive'
25+
26+
typealias SemanticShorthandContent = ReactElement

0 commit comments

Comments
 (0)