From 035dded654fb425c2f1e857b2f328baadc44d799 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Thu, 4 May 2023 09:20:30 -0400 Subject: [PATCH] :sparkles: Add picture choice block Closes #476 --- .../ImageUploadContent/ImageUploadContent.tsx | 2 +- .../ImageUploadContent/UnsplashPicker.tsx | 46 +- .../components/SwitchWithRelatedSettings.tsx | 17 + .../src/components/inputs/SwitchWithLabel.tsx | 2 +- .../blocks/bubbles/image/image.spec.ts | 1 - .../components/ButtonsBlockSettings.tsx | 38 +- .../components/PictureChoiceIcon.tsx | 7 + .../components/PictureChoiceItemNode.tsx | 148 + .../components/PictureChoiceItemSettings.tsx | 69 + .../components/PictureChoiceNode.tsx | 42 + .../components/PictureChoiceSettings.tsx | 142 + .../pictureChoice/pictureChoice.spec.ts | 121 + .../components/ConditionItemNode.tsx | 20 +- .../features/editor/components/BlockIcon.tsx | 3 + .../features/editor/components/BlockLabel.tsx | 66 +- .../editor/providers/typebotActions/items.ts | 63 +- .../nodes/block/BlockNodeContent.tsx | 4 + .../components/nodes/block/HelpDocButton.tsx | 14 +- .../nodes/block/SettingsPopoverContent.tsx | 9 + .../graph/components/nodes/item/ItemNode.tsx | 1 + .../components/nodes/item/ItemNodeContent.tsx | 15 +- .../components/nodes/item/ItemNodesList.tsx | 2 +- .../src/features/settings/settings.spec.ts | 4 +- apps/builder/src/features/theme/theme.spec.ts | 4 +- .../typebot/helpers/hasDefaultConnector.ts | 13 +- .../features/typebot/helpers/parseNewBlock.ts | 11 +- .../editor/blocks/inputs/picture-choice.md | 11 + apps/docs/openapi/builder/_spec_.json | 4578 ++++++++-------- apps/docs/openapi/chat/_spec_.json | 4690 +++++++++-------- .../img/blocks/inputs/picture-choice.png | Bin 0 -> 1973132 bytes ...njectVariableValuesInPictureChoiceBlock.ts | 55 + .../src/features/chat/helpers/executeGroup.ts | 6 + .../ChatGroup/ChatBlock/InputChatBlock.tsx | 2 + packages/embeds/js/package.json | 2 +- packages/embeds/js/src/assets/index.css | 37 + .../js/src/components/InputChatBlock.tsx | 76 +- .../inputs/buttons/components/Buttons.tsx | 87 +- .../inputs/buttons/components/Checkbox.tsx | 7 +- .../components/MultipleChoicesForm.tsx | 120 +- .../buttons/components/SearchableButtons.tsx | 68 - .../SearchableMultipleChoicesForm.tsx | 132 - .../pictureChoice/MultiplePictureChoice.tsx | 215 + .../pictureChoice/SinglePictureChoice.tsx | 93 + packages/embeds/react/package.json | 2 +- .../stories/assets/leadGenerationTypebot.ts | 5 +- packages/lib/utils.ts | 10 +- .../schemas/features/blocks/inputs/choice.ts | 6 +- .../schemas/features/blocks/inputs/enums.ts | 1 + .../schemas/features/blocks/inputs/index.ts | 1 + .../features/blocks/inputs/pictureChoice.ts | 48 + packages/schemas/features/blocks/schemas.ts | 84 +- packages/schemas/features/chat.ts | 7 +- packages/schemas/features/items/enums.ts | 1 + packages/schemas/features/items/schemas.ts | 12 +- 54 files changed, 6282 insertions(+), 4938 deletions(-) create mode 100644 apps/builder/src/components/SwitchWithRelatedSettings.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/components/PictureChoiceIcon.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/components/PictureChoiceItemNode.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/components/PictureChoiceItemSettings.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/components/PictureChoiceNode.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/components/PictureChoiceSettings.tsx create mode 100644 apps/builder/src/features/blocks/inputs/pictureChoice/pictureChoice.spec.ts create mode 100644 apps/docs/docs/editor/blocks/inputs/picture-choice.md create mode 100644 apps/docs/static/img/blocks/inputs/picture-choice.png create mode 100644 apps/viewer/src/features/blocks/inputs/pictureChoice/injectVariableValuesInPictureChoiceBlock.ts delete mode 100644 packages/embeds/js/src/features/blocks/inputs/buttons/components/SearchableButtons.tsx delete mode 100644 packages/embeds/js/src/features/blocks/inputs/buttons/components/SearchableMultipleChoicesForm.tsx create mode 100644 packages/embeds/js/src/features/blocks/inputs/pictureChoice/MultiplePictureChoice.tsx create mode 100644 packages/embeds/js/src/features/blocks/inputs/pictureChoice/SinglePictureChoice.tsx create mode 100644 packages/schemas/features/blocks/inputs/pictureChoice.ts diff --git a/apps/builder/src/components/ImageUploadContent/ImageUploadContent.tsx b/apps/builder/src/components/ImageUploadContent/ImageUploadContent.tsx index 045aa3ca8..c021222fe 100644 --- a/apps/builder/src/components/ImageUploadContent/ImageUploadContent.tsx +++ b/apps/builder/src/components/ImageUploadContent/ImageUploadContent.tsx @@ -57,7 +57,7 @@ export const ImageUploadContent = ({ onClick={() => setCurrentTab('link')} size="sm" > - Embed link + Link + + + + + + + +