@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colisweb/rescript-toolkit",
3
- "version": "4.27.2",
3
+ "version": "4.28.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "clean": "rescript clean",
@@ -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 peer-focus:shadow-sm peer-focus:shadow-primary-500",
39
- "peer-checked:border-primary-500 peer-checked:bg-primary-500",
40
- "checkmark rounded-full border text-white mr-3 border-neutral-300 transform transition-all ease-in-out flex items-center justify-center",
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
- <ReactIcons.FaCircle
49
- className="transform transition-all ease-in-out"
50
- size={switch size {
51
- | #xs => 8
52
- | #sm => 12
53
- | #md => 18
54
- | #lg => 24
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 {
@@ -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 = "addEventListener"
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: {