From 7dddaf5c597058ceee2ef4aae99eac5713ad4223 Mon Sep 17 00:00:00 2001 From: Tiago Evangelista Pinto Date: Mon, 15 Jan 2024 16:07:39 -0300 Subject: [PATCH 01/19] introduce users multi select POC --- .../UserAutoCompleteMultipleOption.tsx | 36 ++++ .../UserAutoCompleteMultipleOptions.tsx | 37 ++++ .../UsersSelectElement/UsersSelectElement.tsx | 169 ++++++++++++++++++ .../src/stories/payloads/actions.ts | 20 +-- .../surfaces/ContextualBarSurfaceRenderer.tsx | 20 +++ .../src/blocks/elements/UsersSelectElement.ts | 3 +- packages/ui-kit/src/rendering/ActionOf.ts | 2 +- 7 files changed, 275 insertions(+), 12 deletions(-) create mode 100644 packages/fuselage-ui-kit/src/elements/UsersSelectElement/UserAutoCompleteMultipleOption.tsx create mode 100644 packages/fuselage-ui-kit/src/elements/UsersSelectElement/UserAutoCompleteMultipleOptions.tsx create mode 100644 packages/fuselage-ui-kit/src/elements/UsersSelectElement/UsersSelectElement.tsx diff --git a/packages/fuselage-ui-kit/src/elements/UsersSelectElement/UserAutoCompleteMultipleOption.tsx b/packages/fuselage-ui-kit/src/elements/UsersSelectElement/UserAutoCompleteMultipleOption.tsx new file mode 100644 index 000000000000..0e4a072464dc --- /dev/null +++ b/packages/fuselage-ui-kit/src/elements/UsersSelectElement/UserAutoCompleteMultipleOption.tsx @@ -0,0 +1,36 @@ +import type { IUser } from '@rocket.chat/core-typings'; +import { Option, OptionDescription } from '@rocket.chat/fuselage'; +import type { ReactElement } from 'react'; + +type UserAutoCompleteMultipleOptionProps = { + label: { + _federated?: boolean; + } & Pick; +}; + +const UserAutoCompleteMultipleOption = ({ + label, + ...props +}: UserAutoCompleteMultipleOptionProps): ReactElement => { + const { name, username, _federated } = label; + + return ( +