@colisweb/rescript-toolkit 4.27.2 → 4.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/ui/Toolkit__Ui_Radio.res +15 -14
- package/src/ui/styles.css +7 -0
- package/src/vendors/Browser.resi +3 -2
package/package.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
type size = [#xs | #sm | #md | #lg]
|
|
2
|
-
|
|
3
2
|
@react.component
|
|
4
3
|
let make = (
|
|
5
4
|
~value,
|
|
@@ -13,7 +12,7 @@ let make = (
|
|
|
13
12
|
) =>
|
|
14
13
|
<label
|
|
15
14
|
className={cx([
|
|
16
|
-
"flex items-center",
|
|
15
|
+
"flex items-center cw-radio",
|
|
17
16
|
disabled->Option.getWithDefault(false)
|
|
18
17
|
? "cursor-not-allowed opacity-75 text-gray-600"
|
|
19
18
|
: "cursor-pointer",
|
|
@@ -22,7 +21,7 @@ let make = (
|
|
|
22
21
|
<input
|
|
23
22
|
type_="radio"
|
|
24
23
|
value
|
|
25
|
-
className="opacity-0 w-0 h-0 peer"
|
|
24
|
+
className="opacity-0 w-0 h-0 peer cw-radio-input"
|
|
26
25
|
onChange={event => {
|
|
27
26
|
let target = ReactEvent.Form.target(event)
|
|
28
27
|
let value = target["value"]
|
|
@@ -35,9 +34,9 @@ let make = (
|
|
|
35
34
|
/>
|
|
36
35
|
<span
|
|
37
36
|
className={cx([
|
|
38
|
-
"bg-white
|
|
39
|
-
"peer-checked:border-primary-
|
|
40
|
-
"checkmark rounded-full border text-white mr-3 border-neutral-
|
|
37
|
+
"bg-white flex-shrink-0 cw-radio-circle",
|
|
38
|
+
"peer-checked:border-primary-700 peer-checked:text-primary-700",
|
|
39
|
+
"checkmark rounded-full border-2 text-white mr-3 border-neutral-700 transform transition-all ease-in-out flex items-center justify-center",
|
|
41
40
|
switch size {
|
|
42
41
|
| #xs => "w-4 h-4"
|
|
43
42
|
| #sm => "w-6 h-6"
|
|
@@ -45,14 +44,16 @@ let make = (
|
|
|
45
44
|
| #lg => "w-10 h-10"
|
|
46
45
|
},
|
|
47
46
|
])}>
|
|
48
|
-
<
|
|
49
|
-
className=
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
<span
|
|
48
|
+
className={cx([
|
|
49
|
+
"transform transition-all ease-in-out cw-radio-circle-content rounded-full",
|
|
50
|
+
switch size {
|
|
51
|
+
| #xs => "w-2 h-2"
|
|
52
|
+
| #sm => "w-3 h-3"
|
|
53
|
+
| #md => "w-4 h-4"
|
|
54
|
+
| #lg => "w-6 h-6"
|
|
55
|
+
},
|
|
56
|
+
])}
|
|
56
57
|
/>
|
|
57
58
|
</span>
|
|
58
59
|
{children->Option.getWithDefault(React.null)}
|
package/src/ui/styles.css
CHANGED
|
@@ -20,6 +20,13 @@
|
|
|
20
20
|
.cw-menu-item {
|
|
21
21
|
@apply text-sm text-left font-text hover:bg-primary-700 hover:text-white w-full p-2 rounded;
|
|
22
22
|
}
|
|
23
|
+
|
|
24
|
+
.cw-radio
|
|
25
|
+
.cw-radio-input:checked
|
|
26
|
+
~ .cw-radio-circle
|
|
27
|
+
> .cw-radio-circle-content {
|
|
28
|
+
@apply bg-primary-700;
|
|
29
|
+
}
|
|
23
30
|
}
|
|
24
31
|
|
|
25
32
|
:root {
|
package/src/vendors/Browser.resi
CHANGED
|
@@ -38,9 +38,10 @@ module DomElement: {
|
|
|
38
38
|
external toDomElement: 'a => Dom.element = "%identity"
|
|
39
39
|
|
|
40
40
|
@send
|
|
41
|
-
external addEventListener: (Dom.element, ReactEvent.Form.t => unit) => unit =
|
|
41
|
+
external addEventListener: (Dom.element, string, ReactEvent.Form.t => unit) => unit =
|
|
42
|
+
"addEventListener"
|
|
42
43
|
@send
|
|
43
|
-
external removeEventListener: (Dom.element, ReactEvent.Form.t => unit) => unit =
|
|
44
|
+
external removeEventListener: (Dom.element, string, ReactEvent.Form.t => unit) => unit =
|
|
44
45
|
"removeEventListener"
|
|
45
46
|
|
|
46
47
|
module ClassList: {
|