Skip to content

Commit b315321

Browse files
authored
feat(side-panel): add SidePanelFooter (#4002)
* chore(ai-chat-log): remove padding-x from log * feat(side-panel): create SidePanelFooter * chore(side-modal): align design with side panel design * docs(side-panel, side-modal): add footer examples to docs * chore(chat-composer): make container 100% width * chore(side-modal): remove changes to footer actions alignment * chore(side-panel): allow justification of footer content * chore: typedocs * chore: pr feedback
1 parent f510518 commit b315321

File tree

23 files changed

+2009
-122
lines changed

23 files changed

+2009
-122
lines changed

.changeset/new-fans-call.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@twilio-paste/ai-chat-log": patch
3+
"@twilio-paste/core": patch
4+
---
5+
6+
[AI Chat Log] Remove padding-x on AI Chat Log to prevent double padding when log is used within a Side Panel container.

.changeset/nine-geese-end.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@twilio-paste/chat-composer": patch
3+
"@twilio-paste/core": patch
4+
---
5+
6+
[Chat Composer] Add width="100%" to ChatComposerContainer to prevent composer from shrinking when no value

.changeset/real-flowers-turn.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@twilio-paste/side-modal": patch
3+
"@twilio-paste/core": patch
4+
---
5+
6+
[Side Modal] Increase size of close icon.

.changeset/tasty-rats-sniff.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@twilio-paste/codemods": patch
3+
---
4+
5+
[Codemods] New export from side-panel package

.changeset/tiny-badgers-rush.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@twilio-paste/side-panel": minor
3+
"@twilio-paste/core": minor
4+
---
5+
6+
[Side Panel] Create SidePanelFooter exported from the Side Panel package for actions or chat composers. Make scrollbar color of SidePanelBody slightly darker for better visibility. Small improvements to spacing and alignment of SidePanelHeader.

packages/paste-codemods/tools/.cache/mappings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@
246246
"SidePanelButton": "@twilio-paste/core/side-panel",
247247
"SidePanelContainer": "@twilio-paste/core/side-panel",
248248
"SidePanelContext": "@twilio-paste/core/side-panel",
249+
"SidePanelFooter": "@twilio-paste/core/side-panel",
249250
"SidePanelHeader": "@twilio-paste/core/side-panel",
250251
"SidePanelHeaderActions": "@twilio-paste/core/side-panel",
251252
"SidePanelPushContentWrapper": "@twilio-paste/core/side-panel",

packages/paste-core/components/ai-chat-log/src/AIChatLog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export interface AIChatLogProps extends HTMLPasteProps<"div"> {
1717
export const AIChatLog = React.forwardRef<HTMLDivElement, AIChatLogProps>(
1818
({ element = "AI_CHAT_LOG", children, ...props }, ref) => {
1919
return (
20-
<Box role="log" padding="space70" element={element} ref={ref} {...safelySpreadBoxProps(props)}>
20+
<Box role="log" paddingY="space70" element={element} ref={ref} {...safelySpreadBoxProps(props)}>
2121
<Box
2222
as="div"
2323
role="list"

packages/paste-core/components/ai-chat-log/stories/composer.stories.tsx

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -84,23 +84,6 @@ const createNewMessage = (message: string): Omit<AIChat, "id"> => {
8484
};
8585
};
8686

87-
const SendButtonPlugin = ({ onClick }: { onClick: () => void }): JSX.Element => {
88-
const [editor] = useLexicalComposerContext();
89-
90-
const handleSend = (): void => {
91-
onClick();
92-
editor.dispatchCommand(CLEAR_EDITOR_COMMAND, undefined);
93-
};
94-
95-
return (
96-
<Box position="absolute" top="space30" right="space30">
97-
<Button variant="primary_icon" size="reset" onClick={handleSend}>
98-
<SendIcon decorative={false} title="Send message" />
99-
</Button>
100-
</Box>
101-
);
102-
};
103-
10487
const EnterKeySubmitPlugin = ({ onKeyDown }: { onKeyDown: () => void }): null => {
10588
const [editor] = useLexicalComposerContext();
10689

@@ -203,7 +186,7 @@ export const AIChatLogComposer = (): React.ReactNode => {
203186

204187
return (
205188
<Box>
206-
<Box ref={scrollerRef} overflowX="hidden" overflowY="auto" maxHeight="size50" tabIndex={0}>
189+
<Box ref={scrollerRef} overflowX="hidden" overflowY="auto" maxHeight="size50" padding="space50" tabIndex={0}>
207190
<AIChatLogger ref={loggerRef} aiChats={aiChats} />
208191
</Box>
209192
<ChatComposerContainer variant="contained">

packages/paste-core/components/chat-composer/src/ChatComposerContainer.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export const ChatComposerContainer = React.forwardRef<HTMLDivElement, ChatCompos
6464
maxHeight={maxHeight}
6565
overflowY="auto"
6666
rowGap="space50"
67+
width="100%"
6768
{...Styles[variant]}
6869
>
6970
{children}

packages/paste-core/components/side-modal/src/SideModalHeader.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@ const SideModalHeader = React.forwardRef<HTMLDivElement, SideModalHeaderProps>(
5050
element={element}
5151
display="flex"
5252
flexDirection="row"
53+
alignItems="flex-start"
5354
>
54-
<Box display="flex" flexGrow={1} marginRight="space70" alignItems="center">
55+
<Box display="flex" flexGrow={1} marginRight="space70">
5556
{children}
5657
</Box>
5758
<Button element={`${element}_CLOSE_BUTTON`} variant="secondary_icon" size="reset" onClick={hide}>
58-
<CloseIcon element={`${element}_CLOSE_ICON`} decorative size="sizeIcon20" />
59+
<CloseIcon element={`${element}_CLOSE_ICON`} decorative size="sizeIcon50" />
5960
<ScreenReaderOnly>{i18nDismissLabel}</ScreenReaderOnly>
6061
</Button>
6162
</Box>

0 commit comments

Comments
 (0)