@colisweb/rescript-toolkit 3.7.2 → 3.7.3
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/.gitlab-ci.yml +1 -1
- package/.secure_files/ci-functions-v16.5.0 +2384 -0
- package/.secure_files/ci-functions-v16.6.0 +2384 -0
- package/.secure_files/ci-functions-v16.7.0 +2422 -0
- package/.secure_files/ci-functions-v17.0.0 +2422 -0
- package/.secure_files/ci-functions-v17.0.1 +2422 -0
- package/.secure_files/ci-functions-v17.0.10 +2525 -0
- package/.secure_files/ci-functions-v17.0.2 +2422 -0
- package/.secure_files/ci-functions-v17.0.3 +2422 -0
- package/.secure_files/ci-functions-v17.0.4 +2422 -0
- package/.secure_files/ci-functions-v17.0.5 +2422 -0
- package/.secure_files/ci-functions-v17.0.6 +2422 -0
- package/.secure_files/ci-functions-v17.0.7 +2422 -0
- package/.secure_files/ci-functions-v17.0.8 +2422 -0
- package/.secure_files/ci-functions-v17.0.9 +2527 -0
- package/.secure_files/ci-functions-v17.1.0 +2525 -0
- package/.secure_files/ci-functions-v17.1.1 +2547 -0
- package/.secure_files/ci-functions-vTest +2384 -0
- package/.yarn/install-state.gz +0 -0
- package/locale/fr.json +5 -0
- package/package.json +1 -1
- package/playground/components/Playground_Checkbox.res +6 -1
- package/playground/components/Playground_MultiSelect.res +21 -0
- package/src/ui/Toolkit__Ui_Checkbox.res +20 -9
- package/src/ui/Toolkit__Ui_Checkbox.resi +1 -0
- package/src/ui/Toolkit__Ui_MultiSelect.res +26 -4
- package/src/ui/Toolkit__Ui_MultiSelect.resi +1 -0
- package/src/vendors/ReactIcons.res +30 -0
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
package/locale/fr.json
CHANGED
package/package.json
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
open Toolkit__Ui
|
|
3
2
|
|
|
4
3
|
@module("@root/src/ui/Toolkit__Ui_Checkbox.resi?raw")
|
|
@@ -42,6 +41,12 @@ let make = () => {
|
|
|
42
41
|
<h2> {"Checked"->React.string} </h2>
|
|
43
42
|
<Checkbox checked=true name="test" value="test"> {"children"->React.string} </Checkbox>
|
|
44
43
|
</div>
|
|
44
|
+
<div>
|
|
45
|
+
<h2> {"IntermediaryChecked"->React.string} </h2>
|
|
46
|
+
<Checkbox checked=true intermediaryChecked=true name="test" value="test">
|
|
47
|
+
{"children"->React.string}
|
|
48
|
+
</Checkbox>
|
|
49
|
+
</div>
|
|
45
50
|
<div>
|
|
46
51
|
<Checkbox checked=true name="test" value="test" size=#xs className="mb-4">
|
|
47
52
|
{"xs"->React.string}
|
|
@@ -87,5 +87,26 @@ let make = () => {
|
|
|
87
87
|
onChange={Js.log}
|
|
88
88
|
/>
|
|
89
89
|
</div>
|
|
90
|
+
<div>
|
|
91
|
+
<h3 className="mb-2"> {"Select only button"->React.string} </h3>
|
|
92
|
+
<p className="mb-1">
|
|
93
|
+
{"Select only button is displayed when the displaySelectOnlyOption prop is at true"->React.string}
|
|
94
|
+
</p>
|
|
95
|
+
<Toolkit__Ui_MultiSelect
|
|
96
|
+
searchPlaceholder="Filter"
|
|
97
|
+
buttonClassName={"w-80"}
|
|
98
|
+
dropdownClassName="max-h-[300px] w-80 overflow-auto"
|
|
99
|
+
displaySelectOnlyOption=true
|
|
100
|
+
options={Array.makeBy(10, (i): Toolkit__Ui.MultiSelect.item => {
|
|
101
|
+
{
|
|
102
|
+
itemLabel: <p> {`label ${i->Int.toString}`->React.string} </p>,
|
|
103
|
+
label: `label ${i->Int.toString}`,
|
|
104
|
+
value: `label ${i->Int.toString}`,
|
|
105
|
+
}
|
|
106
|
+
})}
|
|
107
|
+
placeholder={<span> {"Select me"->React.string} </span>}
|
|
108
|
+
onChange={Js.log}
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
90
111
|
</div>
|
|
91
112
|
}
|
|
@@ -9,6 +9,7 @@ let make = (
|
|
|
9
9
|
~name=?,
|
|
10
10
|
~checked=?,
|
|
11
11
|
~defaultChecked=?,
|
|
12
|
+
~intermediaryChecked=false,
|
|
12
13
|
~className="",
|
|
13
14
|
~size: size=#sm,
|
|
14
15
|
~checkboxClassName="",
|
|
@@ -70,15 +71,25 @@ let make = (
|
|
|
70
71
|
checkboxClassName,
|
|
71
72
|
isChecked ? checkedCheckboxClassName : "",
|
|
72
73
|
])}>
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
74
|
+
{intermediaryChecked
|
|
75
|
+
? <ReactIcons.FaMinus
|
|
76
|
+
className="transform transition-all ease-in-out"
|
|
77
|
+
size={switch size {
|
|
78
|
+
| #xs => 14
|
|
79
|
+
| #sm => 16
|
|
80
|
+
| #md => 18
|
|
81
|
+
| #lg => 24
|
|
82
|
+
}}
|
|
83
|
+
/>
|
|
84
|
+
: <ReactIcons.FaCheck
|
|
85
|
+
className="transform transition-all ease-in-out"
|
|
86
|
+
size={switch size {
|
|
87
|
+
| #xs => 14
|
|
88
|
+
| #sm => 16
|
|
89
|
+
| #md => 18
|
|
90
|
+
| #lg => 24
|
|
91
|
+
}}
|
|
92
|
+
/>}
|
|
82
93
|
</span>
|
|
83
94
|
{children->Option.mapWithDefault(React.null, children => hideLabel ? React.null : children)}
|
|
84
95
|
</label>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
open ReactIntl
|
|
2
|
+
|
|
1
3
|
type item = {
|
|
2
4
|
itemLabel?: React.element,
|
|
3
5
|
label: string,
|
|
@@ -19,6 +21,7 @@ let make = (
|
|
|
19
21
|
~onChange: array<item> => unit,
|
|
20
22
|
~disabled: bool=?,
|
|
21
23
|
~onClose: unit => unit=?,
|
|
24
|
+
~displaySelectOnlyOption=false,
|
|
22
25
|
) => {
|
|
23
26
|
let (selectedOptions, setSelectedOptions) = React.useState(() => defaultValue)
|
|
24
27
|
let previousDefaultValue = Toolkit__Hooks.usePrevious(defaultValue)
|
|
@@ -60,9 +63,9 @@ let make = (
|
|
|
60
63
|
position=#bottom
|
|
61
64
|
label={switch selectedOptions {
|
|
62
65
|
| [] =>
|
|
63
|
-
<p className="flex flex-row gap-2 w-full items-center">
|
|
66
|
+
<p className="flex flex-row gap-2 w-full items-center relative">
|
|
64
67
|
<span className="ml-1"> {placeholder} </span>
|
|
65
|
-
<span className="absolute inset-y-0 right-0 flex items-center
|
|
68
|
+
<span className="absolute inset-y-0 right-0 flex items-center">
|
|
66
69
|
<ReactIcons.FaAngleDown />
|
|
67
70
|
</span>
|
|
68
71
|
</p>
|
|
@@ -91,6 +94,7 @@ let make = (
|
|
|
91
94
|
})
|
|
92
95
|
}
|
|
93
96
|
}}
|
|
97
|
+
value={search}
|
|
94
98
|
onChange={event => {
|
|
95
99
|
let target = event->ReactEvent.Form.currentTarget
|
|
96
100
|
// normalize nfd -> replace by re remove split by commponents the accent letters and deletes the accent component only, leaving the un-accented letter
|
|
@@ -120,13 +124,13 @@ let make = (
|
|
|
120
124
|
<div
|
|
121
125
|
key={`multiselectoption-${label}-${value}`}
|
|
122
126
|
className={cx([
|
|
123
|
-
"flex flex-row items-center gap-2 pt-3 text-left",
|
|
127
|
+
"group flex flex-row items-center gap-2 pt-3 text-left relative",
|
|
124
128
|
i > 0 ? "mt-3" : "",
|
|
125
129
|
itemClassName,
|
|
126
130
|
])}>
|
|
127
131
|
<Toolkit__Ui_Checkbox
|
|
128
132
|
value
|
|
129
|
-
className="w-full flex-shrink-0"
|
|
133
|
+
className="w-full flex-shrink-0 relative"
|
|
130
134
|
checked={selectedOptions->Array.some(item =>
|
|
131
135
|
item.label == label && item.value == value
|
|
132
136
|
)}
|
|
@@ -152,6 +156,24 @@ let make = (
|
|
|
152
156
|
}}>
|
|
153
157
|
{item.itemLabel->Option.getWithDefault(label->React.string)}
|
|
154
158
|
</Toolkit__Ui_Checkbox>
|
|
159
|
+
{displaySelectOnlyOption
|
|
160
|
+
? <div className="group-hover:block hidden absolute right-0">
|
|
161
|
+
<Toolkit__Ui_Button
|
|
162
|
+
onClick={_ => {
|
|
163
|
+
setSelectedOptions(_ => {
|
|
164
|
+
let value = [item]
|
|
165
|
+
|
|
166
|
+
onChange(value)
|
|
167
|
+
value
|
|
168
|
+
})
|
|
169
|
+
}}
|
|
170
|
+
color=#neutralLight
|
|
171
|
+
size=#sm
|
|
172
|
+
className="hover:underline hover:!bg-neutral-200 hover:!border-neutral-200 hover:!text-primary-700">
|
|
173
|
+
<FormattedMessage defaultMessage="Seulement" />
|
|
174
|
+
</Toolkit__Ui_Button>
|
|
175
|
+
</div>
|
|
176
|
+
: React.null}
|
|
155
177
|
</div>
|
|
156
178
|
})
|
|
157
179
|
->React.array}
|
|
@@ -6045,3 +6045,33 @@ module FaRegTrashAlt = {
|
|
|
6045
6045
|
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element =
|
|
6046
6046
|
"FaRegTrashAlt"
|
|
6047
6047
|
}
|
|
6048
|
+
|
|
6049
|
+
module FaMinus = {
|
|
6050
|
+
@module("react-icons/fa") @react.component
|
|
6051
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element = "FaMinus"
|
|
6052
|
+
}
|
|
6053
|
+
|
|
6054
|
+
module FaBolt = {
|
|
6055
|
+
@module("react-icons/fa") @react.component
|
|
6056
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element = "FaBolt"
|
|
6057
|
+
}
|
|
6058
|
+
|
|
6059
|
+
module FaLeaf = {
|
|
6060
|
+
@module("react-icons/fa") @react.component
|
|
6061
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element = "FaLeaf"
|
|
6062
|
+
}
|
|
6063
|
+
module FaBicycle = {
|
|
6064
|
+
@module("react-icons/fa") @react.component
|
|
6065
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element =
|
|
6066
|
+
"FaBicycle"
|
|
6067
|
+
}
|
|
6068
|
+
|
|
6069
|
+
module FaBoxes = {
|
|
6070
|
+
@module("react-icons/fa") @react.component
|
|
6071
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element = "FaBoxes"
|
|
6072
|
+
}
|
|
6073
|
+
module FaListAlt = {
|
|
6074
|
+
@module("react-icons/fa") @react.component
|
|
6075
|
+
external make: (~size: int=?, ~color: string=?, ~className: string=?) => React.element =
|
|
6076
|
+
"FaListAlt"
|
|
6077
|
+
}
|