({
- value: String(group.id),
- title: group.name,
- icon: SvgUsers,
- }))}
- onSelectOption={(option) =>
- setFieldValue(path("groups"), [
- ...values.groups,
- Number(option.value),
- ])
- }
- onRemoveTag={(id) =>
- setFieldValue(
- path("groups"),
- values.groups.filter((group) => String(group) !== id)
- )
- }
- placeholder={tGroups("userGroups.label")}
- disabled={disabled}
- />
+ {value.share === "adminsAndGroups" && (
+ // The picker keeps focus on its field while its list is open, so a
+ // blur here means focus left the picker.
+ {
+ if (!event.currentTarget.contains(event.relatedTarget)) {
+ onGroupsBlur?.();
+ }
+ }}
+ >
+ ({
+ value: String(group.id),
+ title: group.name,
+ icon: SvgUsers,
+ }))}
+ onSelectOption={(option) =>
+ onChange({
+ ...value,
+ groups: [...value.groups, Number(option.value)],
+ })
+ }
+ onRemoveTag={(id) =>
+ onChange({
+ ...value,
+ groups: value.groups.filter((group) => String(group) !== id),
+ })
+ }
+ placeholder={tGroups("userGroups.label")}
+ disabled={disabled}
+ />
+
)}