-
+const notificationsIcon =
+ '
';
+const chevronRightIcon =
+ '
';
+const homeIcon =
+ '
';
+const personIcon =
+ '
';
+const facebookMessengerIcon =
+ '
';
+
+const notifications = [
+ { title: 'Contract renewal', time: '09:12', unread: true },
+ { title: 'Weekly digest', time: 'Yesterday', unread: false }
+];
+
+const tabs = [
+ { label: 'Home', icon: 'home', active: true, hasUpdates: false },
+ { label: 'Chat', icon: 'facebookMessenger', active: false, hasUpdates: true },
+ { label: 'Profile', icon: 'person', active: false, hasUpdates: false }
+];
+
+export default function BadgeDot(): JSX.Element {
+ useEffect(() => {
+ registerIconFromText('notifications', notificationsIcon, 'material');
+ registerIconFromText('chevron_right', chevronRightIcon, 'material');
+ registerIconFromText('home', homeIcon, 'material');
+ registerIconFromText('person', personIcon, 'material');
+ registerIconFromText('facebookMessenger', facebookMessengerIcon, 'material');
+ }, []);
+
+ return (
+
+
- );
- }
+
+ {notifications.map((item) => (
+
+
+ {item.unread && }
+
+ {item.title}
+ {item.time}
+
+
+ ))}
+
+
+
+
+
+
+ {tabs.map((tab) => (
+
+
+
+ {tab.hasUpdates && }
+
+ {tab.label}
+
+ ))}
+
+
+ );
}
// rendering above class to the React DOM
@@ -241,31 +781,145 @@ igc-badge::part(base) {
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
-igc-badge::part(base) {
- --background-color: var(--ig-error-A100);
- --border-radius: 2px;
+igc-badge {
+ --ig-size: var(--ig-size-small);
+}
+
+.badge-teal {
+ --ig-badge-background-color: var(--ig-success-700);
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-amber {
+ --ig-badge-background-color: #C97C00;
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-magenta {
+ --ig-badge-background-color: #9C27B0;
+ --ig-badge-text-color: var(--ig-gray-50);
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-lime {
+ --ig-badge-background-color: var(--ig-success-700);
+ --ig-badge-border-radius: 50%;
+ --ig-badge-dot-size: 0.5rem;
+}
+
+.badge-teal igc-icon,
+.badge-amber igc-icon,
+.styling-item.pink igc-avatar igc-icon {
+ color: var(--ig-gray-50);
+}
+
+.badge-teal igc-icon {
+ position: relative;
+}
+
+.badge-teal igc-icon::after {
+ content: "";
+ position: absolute;
+ inset: 50% auto auto 50%;
+ width: 4px;
+ height: 4px;
+ border-radius: 50%;
+ background: var(--ig-success-700);
+ transform: translate(-50%, -50%);
+}
+
+.styling-item igc-avatar {
+ --size: 40px;
+}
+
+.styling-item.green igc-avatar {
+ --icon-color: #248436;
+ --ig-avatar-background: #A9CEB0;
+ --ig-avatar-color: #248436;
+}
+
+.styling-item.pink igc-avatar {
+ --ig-avatar-background: #DA64FF;
+ --ig-avatar-color: var(--ig-gray-50);
+}
+
+.styling-item igc-badge {
+ position: absolute;
+ inset-block-end: -2px;
+ inset-inline-end: -2px;
+}
+
+.badge-styling {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 60px;
+ min-height: 7rem;
+}
+
+.styling-item {
+ position: relative;
+ display: flex;
}
```
```tsx
-import React from 'react';
+import React, { useEffect } from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
-import { IgrBadge } from 'igniteui-react';
+import { IgrAvatar, IgrBadge, IgrIcon, registerIconFromText } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
-export default class BadgeStyling extends React.Component
{
+const personIcon =
+ ' ';
+const photoCameraIcon =
+ ' ';
+const starBorderIcon =
+ ' ';
+const favoriteBorderIcon =
+ ' ';
+
+export default function BadgeStyling(): JSX.Element {
+ useEffect(() => {
+ registerIconFromText('person', personIcon, 'material');
+ registerIconFromText('photo_camera', photoCameraIcon, 'material');
+ registerIconFromText('star_border', starBorderIcon, 'material');
+ registerIconFromText('favorite_border', favoriteBorderIcon, 'material');
+ }, []);
- constructor(props: any) {
- super(props);
- }
-
- public render(): JSX.Element {
- return (
-
-
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- );
- }
+
+
+
+
+ 2
+
+
+
+
+
+
+ );
}
// rendering above class to the React DOM
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/excel-library-using-tables.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/excel-library-using-tables.md
index a9800eba7..bce9fe6d8 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/excel-library-using-tables.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/excel-library-using-tables.md
@@ -14,10 +14,8 @@ The Infragistics React Excel Engine's [`WorksheetTable`](https://www.infragistic
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/features.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/features.md
index 3a623da0b..408473d04 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/features.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/features.md
@@ -140,7 +140,6 @@ const [comboDisabled, setComboDisabled] = useState(false);
disabled={comboDisabled}>
-
setDisableFiltering(e.detail.checked)}>
Disable Filtering
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-binding.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-binding.md
index 5f3198289..236fd82ab 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-binding.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-binding.md
@@ -43,7 +43,6 @@ If the grid has `autoGenerate` enabled, it will "_infer_" the new column configu
```tsx
const [data, setData] = React.useState([/* initial data */]);
-
/** After the new binding the grid will infer the column collection from the bound data. */
const updateData = () => {
setData([/* new data */]);
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-header-template.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-header-template.md
index 2f77ec730..feee3bf29 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-header-template.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/react/grid-lite-header-template.md
@@ -48,7 +48,6 @@ const ratingHeaderTemplate = (ctx: IgrHeaderContext) => (
{"⭐ Rating ⭐"}
);
-
return (
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/badge.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/badge.md
index 27b1fd103..69edd3f0b 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/badge.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/badge.md
@@ -17,37 +17,141 @@ The Ignite UI for Web Components Badge is a component used in conjunction with a
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
-.wrapper {
+igc-badge {
+ --ig-size: var(--ig-size-small);
+}
+
+igc-avatar {
+ --size: 40px;
+ --ig-avatar-background: var(--ig-gray-700);
+ --ig-avatar-color: var(--ig-gray-50);
+}
+
+.outlined-example igc-avatar igc-icon {
+ color: var(--ig-gray-50);
+}
+
+.outlined-example:nth-child(2) igc-badge {
+ inset-block-start: auto;
+ inset-block-end: -6px;
+ inset-inline-end: -6px;
+}
+
+.step-marker igc-badge {
+ position: absolute;
+ inset-block-start: -1px;
+ inset-inline-end: -2px;
+}
+
+.outlined-example igc-badge {
+ position: absolute;
+ inset-block-start: -6px;
+ inset-inline-end: -10px;
+}
+
+.icon-circle igc-icon {
+ font-size: 20px;
+}
+
+.badge-outlined {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 60px;
+ min-height: 7rem;
+}
+
+.outlined-example {
position: relative;
display: flex;
- width: fit-content;
+}
+
+.icon-circle,
+.step-circle {
+ display: flex;
align-items: center;
- margin-block: 1rem;
- gap: 0.5rem;
- padding: 0.5rem;
- border: 1px solid var(--ig-gray-300);
- border-radius: .25rem;
+ justify-content: center;
+ border-radius: 50%;
}
-igc-avatar {
- @container style(--ig-theme: indigo) {
- --ig-size: var(--ig-size-large);
- }
+.icon-circle {
+ width: 36px;
+ height: 36px;
+ background: var(--ig-gray-200);
+ color: var(--ig-gray-800);
+}
- anchor-name: --avatar;
+.badge-info-blue {
+ --ig-badge-background-color: #0057A9;
}
-igc-badge {
- --size: .75rem;
+.badge-info-blue::part(base) {
+ background-color: #0057A9;
+}
- position: absolute;
- inset-block-end: anchor(--avatar bottom);
- inset-inline-end: anchor(--avatar right);
+.payment-dot-blue {
+ --ig-badge-background-color: #0057A9;
+ --ig-badge-dot-size: 0.5rem;
+}
+
+.payment-dot-blue::part(base) {
+ background-color: #0057A9;
+}
+
+igc-badge::part(base),
+igc-badge igc-icon {
+ color: var(--ig-gray-50);
+}
+
+igc-badge igc-icon {
+ fill: var(--ig-gray-50);
+}
+
+.steps {
+ display: flex;
+ align-items: flex-start;
+ gap: 8px;
+}
+
+.step {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 8px;
+}
+
+.step-marker {
+ position: relative;
+ display: flex;
}
-span {
- display: block;
- font-weight: 600;
+.step-circle {
+ width: 26px;
+ height: 26px;
+ background: var(--ig-gray-900);
+ color: var(--ig-gray-50);
+ font-size: 12px;
+}
+
+.step-circle.pending {
+ background: var(--ig-gray-200);
+ color: var(--ig-gray-800);
+}
+
+.step-connector {
+ width: 56px;
+ margin-block-start: 13px;
+ border-block-start: 1px solid var(--ig-gray-900);
+}
+
+.step-connector.pending {
+ border-block-start-style: dashed;
+ border-block-start-color: var(--ig-gray-400);
+}
+
+.step-label {
+ color: var(--ig-gray-700);
+ font-size: 13px;
}
```
@@ -97,6 +201,80 @@ The Ignite UI for Web Components badge supports several pre-defined stylistic va
```css
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
+
+igc-badge {
+ --ig-size: var(--ig-size-small);
+ position: absolute;
+ inset-block-end: -4px;
+ inset-inline-end: -4px;
+}
+
+igc-avatar {
+ --ig-size: var(--ig-size-small);
+ --ig-avatar-background: var(--ig-gray-700);
+ --ig-avatar-color: var(--ig-gray-50);
+}
+
+.variant-item:first-child igc-avatar igc-icon,
+.variant-item:nth-child(4) igc-avatar igc-icon {
+ color: var(--ig-gray-50);
+}
+
+.badge-variants {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 40px;
+ min-height: 7rem;
+}
+
+.variant-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 12px;
+ min-width: 56px;
+}
+
+.variant-item span {
+ color: var(--ig-gray-700);
+ font-size: 13px;
+}
+
+.avatar-wrapper {
+ position: relative;
+ display: flex;
+}
+
+.badge-info-blue {
+ --ig-badge-background-color: #0057A9;
+}
+
+.badge-info-blue::part(base) {
+ background-color: #0057A9;
+}
+
+.badge-primary-blue {
+ --ig-badge-background-color: #0070BA;
+}
+
+.badge-primary-blue::part(base) {
+ background-color: #0070BA;
+}
+
+.badge-warning-black::part(base) {
+ background-color: #FAA419;
+ color: #000;
+}
+
+igc-badge::part(base),
+igc-badge igc-icon {
+ color: var(--ig-gray-50);
+}
+
+igc-badge igc-icon {
+ fill: var(--ig-gray-50);
+}
```
### Shape
@@ -110,6 +288,50 @@ The badge component supports `rounded`(default) and `square` shapes. These value
```css
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
+
+.badge-shape {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 40px;
+ min-height: 7rem;
+}
+
+.badge-shape-row {
+ display: grid;
+ grid-template-columns: 80px 40px 40px 40px;
+ align-items: center;
+ justify-items: center;
+ gap: 8px;
+}
+
+.row-label {
+ justify-self: end;
+ color: var(--ig-gray-700);
+ font-size: 14px;
+}
+
+.badge-small {
+ --ig-size: var(--ig-size-small);
+}
+
+.badge-info-blue {
+ --ig-badge-background-color: #0057A9;
+}
+
+.badge-info-blue::part(base) {
+ background-color: #0057A9;
+}
+
+igc-badge::part(base),
+igc-badge igc-icon {
+ color: var(--ig-gray-50);
+}
+
+igc-badge igc-icon {
+ fill: var(--ig-gray-50);
+}
```
### Dot
@@ -123,6 +345,148 @@ The Ignite UI for Web Components badge component can also render as a minimal do
```css
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
+
+igc-badge {
+ --ig-size: var(--ig-size-small);
+ --ig-badge-dot-size: 0.5rem;
+}
+
+igc-avatar {
+ --size: 40px;
+}
+
+.icon-example igc-badge,
+.avatar-example igc-badge,
+.nav-icon igc-badge {
+ position: absolute;
+}
+
+.icon-example igc-badge {
+ inset-block-start: 0;
+ inset-inline-end: 2px;
+}
+
+.avatar-example igc-badge {
+ inset-block-start: -0.25rem;
+ inset-inline-end: -2px;
+}
+
+.nav-icon igc-badge {
+ inset-block-start: -2px;
+ inset-inline-end: -6px;
+}
+
+.badge-dot {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 40px;
+ min-height: 7rem;
+}
+
+.dot-example {
+ position: relative;
+}
+
+.icon-example,
+.avatar-example,
+.icon-circle {
+ display: flex;
+ align-items: center;
+ width: 36px;
+ height: 36px;
+}
+
+.icon-circle {
+ justify-content: center;
+ border-radius: 50%;
+ background: var(--ig-gray-200);
+ color: var(--ig-gray-800);
+}
+
+.notifications-card,
+.nav-card {
+ background: var(--ig-surface-500);
+ border-radius: 4px;
+ box-shadow: 0 1px 3px hsl(from var(--ig-gray-900) h s l / 0.12);
+}
+
+.notifications-card {
+ min-width: 272px;
+ padding: 8px 0;
+}
+
+.notification-row {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding: 8px 12px;
+ font-size: 14px;
+ color: var(--ig-gray-900);
+}
+
+.row-indicator {
+ display: inline-flex;
+ justify-content: center;
+ width: 12px;
+}
+
+.row-indicator igc-badge,
+.nav-icon igc-badge {
+ --ig-badge-background-color: #0057A9;
+}
+
+.row-indicator igc-badge::part(base),
+.nav-icon igc-badge::part(base) {
+ background-color: #0057A9;
+}
+
+.row-title {
+ flex: 1;
+}
+
+.row-time {
+ font-size: 13px;
+ color: var(--ig-gray-900);
+}
+
+.row-time.unread {
+ color: #0057A9;
+ font-weight: 600;
+}
+
+.row-chevron {
+ --ig-size: 1;
+
+ color: var(--ig-gray-600);
+ font-size: 18px;
+}
+
+.nav-card {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding: 8px 12px;
+}
+
+.nav-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 4px;
+ min-width: 56px;
+ color: var(--ig-gray-700);
+ font-size: 12px;
+}
+
+.nav-item.active {
+ color: #0075D2;
+}
+
+.nav-icon {
+ position: relative;
+ display: inline-flex;
+}
```
## Styling
@@ -136,15 +500,90 @@ igc-badge::part(base) {
}
```
-```css
-igc-badge::part(base) {
- --background-color: var(--ig-error-A100);
- --border-radius: 2px;
-}
-```
```css
/* shared styles are loaded from: */
/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
+
+igc-badge {
+ --ig-size: var(--ig-size-small);
+}
+
+.badge-teal {
+ --ig-badge-background-color: var(--ig-success-700);
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-amber {
+ --ig-badge-background-color: #C97C00;
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-magenta {
+ --ig-badge-background-color: #9C27B0;
+ --ig-badge-text-color: var(--ig-gray-50);
+ --ig-badge-border-radius: 50%;
+}
+
+.badge-lime {
+ --ig-badge-background-color: var(--ig-success-700);
+ --ig-badge-border-radius: 50%;
+ --ig-badge-dot-size: 0.5rem;
+}
+
+.badge-teal igc-icon,
+.badge-amber igc-icon,
+.styling-item.pink igc-avatar igc-icon {
+ color: var(--ig-gray-50);
+}
+
+.badge-teal igc-icon {
+ position: relative;
+}
+
+.badge-teal igc-icon::after {
+ content: "";
+ position: absolute;
+ inset: 50% auto auto 50%;
+ width: 4px;
+ height: 4px;
+ border-radius: 50%;
+ background: var(--ig-success-700);
+ transform: translate(-50%, -50%);
+}
+
+.styling-item igc-avatar {
+ --size: 40px;
+}
+
+.styling-item.green igc-avatar {
+ --icon-color: #248436;
+ --ig-avatar-background: #A9CEB0;
+ --ig-avatar-color: #248436;
+}
+
+.styling-item.pink igc-avatar {
+ --ig-avatar-background: #DA64FF;
+ --ig-avatar-color: var(--ig-gray-50);
+}
+
+.styling-item igc-badge {
+ position: absolute;
+ inset-block-end: -2px;
+ inset-inline-end: -2px;
+}
+
+.badge-styling {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 60px;
+ min-height: 7rem;
+}
+
+.styling-item {
+ position: relative;
+ display: flex;
+}
```
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/excel-library-using-tables.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/excel-library-using-tables.md
index 6b18c8dbe..ced38d170 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/excel-library-using-tables.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/excel-library-using-tables.md
@@ -14,10 +14,8 @@ The Infragistics Web Components Excel Engine's [`WorksheetTable`](https://www.in
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-cell-editing.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-cell-editing.md
index 0ab053c28..55d112b26 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-cell-editing.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-cell-editing.md
@@ -117,7 +117,6 @@ constructor() {
column3.inlineEditorTemplate = this.webGridCellEditCellTemplate;
}
-
public webGridCellEditCellTemplate = (ctx: IgcCellTemplateContext) => {
let cellValues: any = [];
let uniqueValues: any = [];
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-lite-header-template.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-lite-header-template.md
index e51f23eb0..fc05db80e 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-lite-header-template.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-lite-header-template.md
@@ -40,7 +40,6 @@ Similar to the cell template, you can also pass a custom template renderer and c
```typescript
import { html } from 'lit';
-
const column = document.querySelector('igc-grid-lite-column');
column.headerTemplate = () => html`⭐ Rating ⭐ `;
```
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-selection.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-selection.md
index 2fa90b1f6..28f85f3cf 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-selection.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/grid-selection.md
@@ -143,7 +143,6 @@ The context menu will have the following functions:
this.toggleContextMenu();
}
-
public copySelectedData() {
const selectedData = this.grid.getSelectedData();
this.copyData(selectedData);
diff --git a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/pivot-grid-overview.md b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/pivot-grid-overview.md
index 95d4997d3..f65f7c5b6 100644
--- a/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/pivot-grid-overview.md
+++ b/packages/igniteui-mcp/igniteui-doc-mcp/docs_baseline/webcomponents/pivot-grid-overview.md
@@ -256,7 +256,6 @@ Let's take a look at a basic pivot configuration:
enabled: true
}
-
],
rows: [
{