Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
32e70b7
docs: improve Widget Builder and UI Kit Builder documentation
juhi-saha Feb 10, 2026
fb1b6b7
docs: add Review Your Export section to integration pages
juhi-saha Feb 10, 2026
1cc8bc8
docs: update Launch UI Kit Builder navigation steps
juhi-saha Feb 10, 2026
ae03302
docs: update integration pages - credentials are now prepopulated
juhi-saha Feb 10, 2026
c8e4482
docs: update Create User API link to new docs URL
juhi-saha Feb 10, 2026
bc0bacd
docs: add Advanced Customizations section with autoOpenFirstItem prop
juhi-saha Feb 10, 2026
1b28b60
docs: fix builder-settings parsing error, reorganize sections, rename…
juhi-saha Feb 10, 2026
26bcaef
docs: rename CometChat Builder to CometChat UI Kit Builder
juhi-saha Feb 10, 2026
1bce372
docs: improve overview pages with Key Features, Supported Frameworks,…
juhi-saha Feb 10, 2026
9843a91
docs: rename Builder Settings to UI Kit Builder Settings
juhi-saha Feb 10, 2026
9ab5530
docs: simplify builder-customisations pages - remove verbose blocks, …
juhi-saha Feb 11, 2026
2d5e5ce
Update Next Steps in builder-customisations: replace Directory Struct…
juhi-saha Feb 11, 2026
2ae1499
Simplify builder-dir-structure pages: remove verbose content, streaml…
juhi-saha Feb 11, 2026
587b8de
Add Localization card to Next Steps in builder-dir-structure pages
juhi-saha Feb 11, 2026
3e32287
Rename 'Additional Customizations' to 'Reference' in sidebar and upda…
juhi-saha Feb 11, 2026
846079f
Reorder Reference sidebar: Settings, Customizations, Directory Structure
juhi-saha Feb 11, 2026
0243285
Simplify Info block in builder-settings pages with concise developer-…
juhi-saha Feb 11, 2026
d0af07c
Add brief helpful descriptions to all subsections in builder-settings…
juhi-saha Feb 11, 2026
3766d65
Remove 'Optional' from User Management section header
juhi-saha Feb 11, 2026
e12821e
Simplify Info block in integration pages: concise prerequisites only
juhi-saha Feb 12, 2026
d5b2a42
Add informative context to Info block in integration pages
juhi-saha Feb 12, 2026
15f183a
Simplify Info block in overview pages: concise developer-focused mess…
juhi-saha Feb 12, 2026
f25a489
docs: improve UI Kit Builder integration pages
juhi-saha Feb 13, 2026
26ddb31
Add UI Kit Theming link on new line in builder-settings Theme section
juhi-saha Feb 13, 2026
59542fd
Update overview intro text and Key Features table format
juhi-saha Feb 13, 2026
0f5daed
Fix line highlights for COMETCHAT_CONSTANTS code blocks
juhi-saha Feb 16, 2026
ac11682
docs: improve Widget Builder and UI Kit Builder documentation with Qu…
juhi-saha Feb 16, 2026
40cb349
fix: remove malformed JSX comment causing MDX parsing failure in buil…
juhi-saha Feb 16, 2026
bbfd1f2
fix: correct TypeScript code block indentation in React integration page
juhi-saha Feb 16, 2026
afe5b90
fix: remove malformed code block closing causing MDX parsing error
juhi-saha Feb 16, 2026
d6f864e
fix: correct TypeScript and JavaScript code block indentation in Next…
juhi-saha Feb 16, 2026
bca9134
fix: correct TypeScript and JavaScript code block indentation in Reac…
juhi-saha Feb 16, 2026
8ee421d
fix: improve Step 6 formatting with proper list indentation in React …
juhi-saha Feb 16, 2026
f2315e5
docs: add custom conversation subtitle and send button examples to bu…
juhi-saha Feb 16, 2026
3f924e0
docs: remove legacy widget card from Next Steps in widget overview
juhi-saha Feb 16, 2026
81f3ee6
docs: update widget overview page titles to match naming convention
juhi-saha Feb 16, 2026
1a4c95f
docs: update all widget platform overview titles to match naming conv…
juhi-saha Feb 16, 2026
c6b911f
docs: restructure widget/html overview to match UI Kit Builder format
juhi-saha Feb 16, 2026
9ab84c2
docs: align key features table with UI Kit Builder overview
juhi-saha Feb 16, 2026
7c3bbe6
docs: update How It Works to Design Copy Paste
juhi-saha Feb 16, 2026
73099f7
docs: standardize all widget platform overview pages to match HTML st…
juhi-saha Feb 16, 2026
f025d69
docs: update WordPress How It Works to reflect plugin-based integration
juhi-saha Feb 16, 2026
e78d8c9
fix: remove unsupported code block highlight syntax from HTML integra…
juhi-saha Feb 16, 2026
abecc91
docs: add detailed 'What It Does' descriptions for all React builder …
juhi-saha Feb 19, 2026
772f07f
docs: revamp React builder-settings with Format D, concise descriptio…
juhi-saha Feb 19, 2026
a23299a
Apply Format D to Next.js and React Router builder-settings pages
juhi-saha Feb 19, 2026
dd98979
Update Settings Overview description to mention default values
juhi-saha Feb 19, 2026
e4c1a4c
Incorporate marketing feedback into all three overview pages (React, …
juhi-saha Feb 25, 2026
cf6f056
Align React Router integration page steps and code with React integra…
juhi-saha Feb 25, 2026
4c957fc
Update React overview description in frontmatter
juhi-saha Feb 25, 2026
855a041
Update Next.js and React Router overview descriptions in frontmatter
juhi-saha Feb 25, 2026
41cc80c
Remove duplicate intro paragraph from all three overview pages
juhi-saha Feb 25, 2026
3c02909
Rename 'Relevant Links' to 'Related Resources' on all overview pages
juhi-saha Feb 25, 2026
76307f4
Rename 'React Chat SDK' to 'JavaScript Chat SDK' on all overview pages
juhi-saha Feb 25, 2026
2860c69
Fix broken SDK link: /sdks/javascript/overview -> /sdk/javascript/ove…
juhi-saha Feb 25, 2026
cece595
Rewrite widget/html/overview.mdx to match React UI Kit Builder overvi…
juhi-saha Feb 25, 2026
615bc64
Add 'Toggle features on and off' bullet to widget HTML overview
juhi-saha Feb 25, 2026
98e110d
Add 'Toggle features' bullet under Design section in widget HTML over…
juhi-saha Feb 25, 2026
ce833ef
Remove redundant 'Customize widget behavior' line from widget HTML ov…
juhi-saha Feb 25, 2026
c5391e2
Rewrite all widget platform overview pages to match HTML widget overv…
juhi-saha Feb 25, 2026
cf84812
Update @cometchat/chat-uikit-react version to 6.3.11 across all integ…
juhi-saha Feb 25, 2026
46a004f
Add 1.8 In-App Sounds section to builder-settings across all platforms
juhi-saha Feb 25, 2026
8bb7d8a
Fix inAppSounds default values to true in Settings Overview
juhi-saha Feb 25, 2026
2b69f8b
Add Sound Manager tip to In-App Sounds section across all platforms
juhi-saha Feb 25, 2026
7f7dd9e
Replace old builder screenshot with updated uikit-builder-preview.png…
juhi-saha Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 108 additions & 66 deletions chat-builder/nextjs/builder-customisations.mdx
Original file line number Diff line number Diff line change
@@ -1,101 +1,143 @@
---
title: "Customizing Your UI Kit Builder Integration"
sidebarTitle: "Overview"
title: "Customizing Your UI Kit Builder"
sidebarTitle: "Customizations"
description: "Customize CometChat UI Kit Builder components — modify props, styling, and behavior."
---

While the `CometChatSettings.ts` file allows basic toggling of features in the UI Kit Builder, **deeper customizations** require a more hands-on approach. Follow the steps below to tailor the UI Kit to your exact needs.
The `CometChatSettings.ts` file handles basic feature toggles. For deeper customizations, modify component props or source code directly.

***

## **How to Customize Components**

1. **Refer to the UI Kit Documentation**\
Browse the [**UI Kit components overview**](/ui-kit/react/components-overview) to find the component you'd like to customize.\
*Example*: [**Message List**](/ui-kit/react/message-list)

2. **Locate Customization Options**\
Once you've identified the component, explore its props and features within the documentation.\
*Example*: [**Sticky DateTime Format**](/ui-kit/react/message-list#sticky-datetime-format)

3. **Update Props or Modify Code**\
Use supported props to tweak behavior or look. For advanced changes, navigate through the folder structure and directly edit component logic or styling.

***

<Info>
Applying Customizations

Changes made to the UI Kit Builder settings or components **will not reflect automatically** in your app.\
If you make additional modifications in the UI Kit Builder after initial setup:

* Re-download the updated code package
* Reintegrate it into your application

This ensures all customizations are applied correctly.

</Info>

***
---

## **Example: Customizing Date & Time Format in Message List**
## **Customization Workflow**

### Goal
1. Find the component in the [UI Kit Components Overview](/ui-kit/react/components-overview)
2. Check available props and customization options
3. Update props or edit the component source code

Update how the sticky date headers appear in the chat message list.
<Note>
After modifying the UI Kit Builder, re-download and reintegrate the code
package to apply changes.
</Note>

### Step-by-Step
---

1. **Component to Customize**:\
[Message List](/ui-kit/react/message-list)
## **Example: Custom Date Format**

2. **Customization Option**:\
[`stickyDateTimeFormat`](/ui-kit/react/message-list#sticky-datetime-format)
Customize how sticky date headers appear in the message list.

3. **Apply the Prop**:
**Component**: [Message List](/ui-kit/react/message-list) → [`stickyDateTimeFormat`](/ui-kit/react/message-list#sticky-datetime-format)

```javascript
```jsx
import {
CometChatMessageList,
CalendarObject
CalendarObject,
} from "@cometchat/chat-uikit-react";

function getDateFormat() {
return new CalendarObject({
today: `hh:mm A`, // e.g., "10:30 AM"
yesterday: `[Yesterday]`, // Displays literally as "Yesterday"
otherDays: `DD/MM/YYYY`, // e.g., "25/05/2025"
});
}
const dateFormat = new CalendarObject({
today: "hh:mm A", // "10:30 AM"
yesterday: "[Yesterday]",
otherDays: "DD/MM/YYYY", // "25/05/2025"
});

<CometChatMessageList
user={chatUser}
stickyDateTimeFormat={getDateFormat()}
/>
<CometChatMessageList user={chatUser} stickyDateTimeFormat={dateFormat} />;
```

<Frame>
<img src="/images/866c29ec-sticky-date-format-example-45f654db48bb75901329ba794804cbf9.png" />
</Frame>

***

### Default Format Used
**Default format** (for reference):

```javascript
new CalendarObject({
today: "today",
yesterday: "yesterday",
otherDays: "DD MMM, YYYY", // e.g., "25 Jan, 2025"
otherDays: "DD MMM, YYYY", // "25 Jan, 2025"
});
```

***
---

## **Example: Custom Conversation Subtitle**

Show online status or member count instead of the default last message preview.

**Component**: [Conversations](/ui-kit/react/conversations) → [`subtitleView`](/ui-kit/react/conversations#subtitleview)

```jsx
"use client";

import { CometChat } from "@cometchat/chat-sdk-javascript";
import { CometChatConversations } from "@cometchat/chat-uikit-react";

const customSubtitleView = (conversation) => {
if (conversation.getConversationType() === "user") {
const user = conversation.getConversationWith();
return <span>{user.getStatus() === "online" ? "🟢 Online" : "⚫ Offline"}</span>;
} else {
const group = conversation.getConversationWith();
return <span>{group.getMembersCount()} members</span>;
}
};

<CometChatConversations subtitleView={customSubtitleView} />
```

---

## **Example: Custom Send Button**

Replace the default send button with your brand's icon.

<Info>
Why Customize This?
**Component**: [Message Composer](/ui-kit/react/message-composer) → [`sendButtonView`](/ui-kit/react/message-composer#sendbuttonview)

Sticky date headers enhance the chat experience by improving message navigation and giving users better temporal context. Adjust the format based on your target locale, tone of voice, or branding needs.
```jsx
"use client";

</Info>
import { CometChatMessageComposer, CometChatButton } from "@cometchat/chat-uikit-react";

const brandedSendButton = (
<CometChatButton
iconURL="/icons/brand-send.svg"
onClick={() => {
// Your custom send logic
}}
/>
);

<CometChatMessageComposer user={chatUser} sendButtonView={brandedSendButton} />
```

```css
/* Style the custom send button */
.cometchat-message-composer .cometchat-button {
background: #6852D6;
border-radius: 50%;
}

.cometchat-message-composer .cometchat-button__icon {
background: #ffffff;
}
```

---

***
## **Next Steps**

<CardGroup cols={2}>
<Card
title="UI Kit Builder Settings"
href="/chat-builder/nextjs/builder-settings"
>
Configure feature toggles and behavior
</Card>
<Card title="Components Overview" href="/ui-kit/react/components-overview">
Explore all available UI components
</Card>
<Card title="Theming" href="/ui-kit/react/theme">
Customize colors, typography, and styling
</Card>
<Card title="Localization" href="/ui-kit/react/localization">
Add multi-language support
</Card>
</CardGroup>
Loading