diff --git a/samples/inputs/button-group/selection/src/ButtonGroupSelection.css b/samples/inputs/button-group/selection/src/ButtonGroupSelection.css
deleted file mode 100644
index 6d0a1eb8a7..0000000000
--- a/samples/inputs/button-group/selection/src/ButtonGroupSelection.css
+++ /dev/null
@@ -1,34 +0,0 @@
-.selection-samples {
- display: flex;
- justify-content: center;
- flex-direction: column;
- align-items: flex-start;
- gap: 32px;
- padding-left: 32px;
-}
-
-.selection-sample {
- display: flex;
- align-items: center;
- gap: 30px;
-}
-
-.selection-sample > span {
- width: 120px;
- text-align: right;
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
-}
-
-.selection-sample igc-button-group {
- width: 200px;
-}
-
-igc-ripple {
- --color: gray;
-}
\ No newline at end of file
diff --git a/samples/inputs/button-group/selection/src/index.css b/samples/inputs/button-group/selection/src/index.css
index 1f53b8aa05..55d7c524ad 100644
--- a/samples/inputs/button-group/selection/src/index.css
+++ b/samples/inputs/button-group/selection/src/index.css
@@ -1,2 +1,46 @@
-/* shared styles are loaded from: */
-/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
\ No newline at end of file
+.sbSwitch {
+ container-type: inline-size;
+ display: grid;
+ grid-template-columns: minmax(0, 1fr);
+ align-content: center;
+ height: 100vh;
+}
+
+.selection-samples {
+ display: grid;
+ grid-template-columns: auto minmax(11.25rem, 1fr);
+ align-items: center;
+ gap: 1.5rem 2rem;
+ inline-size: 100%;
+ max-inline-size: 23.75rem;
+ margin-inline: auto;
+}
+
+.sample-label {
+ color: var(--ig-gray-600);
+ font-family: "Aktiv Grotesk", sans-serif;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0.3px;
+ text-align: end;
+}
+
+igc-button-group {
+ inline-size: 100%;
+}
+
+@container (width < 22rem) {
+ .selection-samples {
+ grid-template-columns: minmax(0, 1fr);
+ gap: 0.25rem;
+ }
+
+ .sample-label {
+ text-align: start;
+ }
+
+ .sample-label:not(:first-of-type) {
+ margin-block-start: 1rem;
+ }
+}
\ No newline at end of file
diff --git a/samples/inputs/button-group/selection/src/index.tsx b/samples/inputs/button-group/selection/src/index.tsx
index 684c40b64c..db3955c692 100644
--- a/samples/inputs/button-group/selection/src/index.tsx
+++ b/samples/inputs/button-group/selection/src/index.tsx
@@ -8,7 +8,6 @@ import {
registerIconFromText,
} from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/material.css';
-import './ButtonGroupSelection.css';
import './index.css';
const icons = [
@@ -34,10 +33,10 @@ export default function ButtonGroupSelectionSample() {
}, [])
return (
-
+
{(['single', 'single-required', 'multiple'] as const).map((selection) => (
-
- {selection === 'single-required' ? 'Single-Required' : selection.charAt(0).toUpperCase() + selection.slice(1)}
+
+ {selection === 'single-required' ? 'Single-Required' : selection.charAt(0).toUpperCase() + selection.slice(1)}
@@ -52,7 +51,7 @@ export default function ButtonGroupSelectionSample() {
-
+
))}
);
diff --git a/samples/inputs/button-group/size/src/ButtonGroupSize.css b/samples/inputs/button-group/size/src/ButtonGroupSize.css
deleted file mode 100644
index 5a83e77d14..0000000000
--- a/samples/inputs/button-group/size/src/ButtonGroupSize.css
+++ /dev/null
@@ -1,33 +0,0 @@
-igc-ripple {
- --color: gray;
-}
-
-.button-group-size {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: center;
- gap: 32px;
- padding: 13px;
- padding-left: 3rem;
-}
-
-.button-group-size-item {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-start;
- gap: 32px;
-}
-
-.button-group-size-item span {
- width: 52px;
- text-align: right;
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
-}
diff --git a/samples/inputs/button-group/size/src/index.css b/samples/inputs/button-group/size/src/index.css
index 1f53b8aa05..1933c706c6 100644
--- a/samples/inputs/button-group/size/src/index.css
+++ b/samples/inputs/button-group/size/src/index.css
@@ -1,2 +1,54 @@
-/* shared styles are loaded from: */
-/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
\ No newline at end of file
+.sbSwitch {
+ container-type: inline-size;
+ display: grid;
+ grid-template-columns: minmax(0, 1fr);
+ place-items: center;
+ height: 100vh;
+}
+
+.button-group-size {
+ display: grid;
+ grid-template-columns: auto minmax(15rem, 1fr);
+ align-items: center;
+ gap: 1.5rem 2rem;
+ inline-size: 100%;
+ max-inline-size: 30rem;
+ margin-inline: auto;
+}
+
+.sample-label {
+ color: var(--ig-gray-600);
+ font-family: "Aktiv Grotesk", sans-serif;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0.3px;
+ text-align: end;
+}
+
+igc-button-group:nth-of-type(1n) {
+ --ig-size: var(--ig-size-small);
+}
+
+igc-button-group:nth-of-type(2n) {
+ --ig-size: var(--ig-size-medium);
+}
+
+igc-button-group:nth-of-type(3n) {
+ --ig-size: var(--ig-size-large);
+}
+
+@container (width < 22rem) {
+ .button-group-size {
+ grid-template-columns: minmax(0, 1fr);
+ gap: 0.25rem;
+ }
+
+ .sample-label {
+ text-align: start;
+ }
+
+ .sample-label:not(:first-of-type) {
+ margin-block-start: 1rem;
+ }
+}
\ No newline at end of file
diff --git a/samples/inputs/button-group/size/src/index.tsx b/samples/inputs/button-group/size/src/index.tsx
index 28ce3d496c..0fc3b83870 100644
--- a/samples/inputs/button-group/size/src/index.tsx
+++ b/samples/inputs/button-group/size/src/index.tsx
@@ -2,7 +2,6 @@ import React from 'react';
import ReactDOM from 'react-dom/client';
import { IgrButtonGroup, IgrRipple, IgrToggleButton } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/material.css';
-import './ButtonGroupSize.css';
import './index.css';
const cities = ['Sofia', 'London', 'New York'];
@@ -11,13 +10,11 @@ const sizes = ['small', 'medium', 'large'];
export default function ButtonGroupSize(): JSX.Element {
return (
-
+
{sizes.map((size) => (
-
- {size.charAt(0).toUpperCase() + size.slice(1)}
-
+
+ {size.charAt(0).toUpperCase() + size.slice(1)}
+
{cities.map((city) => (
))}
-
+
))}
-
+
);
}
diff --git a/samples/inputs/button-group/states/src/ButtonGroupInteractionStates.css b/samples/inputs/button-group/states/src/ButtonGroupInteractionStates.css
deleted file mode 100644
index b64aef2ce9..0000000000
--- a/samples/inputs/button-group/states/src/ButtonGroupInteractionStates.css
+++ /dev/null
@@ -1,37 +0,0 @@
-igc-ripple {
- --color: gray;
-}
-
-.button-group-interaction-states {
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
- gap: 20px;
- padding: 20px;
-}
-
-.button-group-interaction-states-row {
- display: grid;
- grid-template-columns: 120px 160px 160px;
- align-items: center;
- gap: 16px;
-}
-
-.button-group-interaction-states .row-label,
-.button-group-interaction-states .column-label {
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
- text-align: center;
-}
-
-.button-group-interaction-states-row igc-button-group:not([disabled]) igc-toggle-button[selected]::part(toggle) {
- background: var(--item-active-background);
- border-color: var(--item-active-border-color);
- color: var(--item-selected-text-color);
-}
\ No newline at end of file
diff --git a/samples/inputs/button-group/states/src/index.css b/samples/inputs/button-group/states/src/index.css
index 1f53b8aa05..fde4086238 100644
--- a/samples/inputs/button-group/states/src/index.css
+++ b/samples/inputs/button-group/states/src/index.css
@@ -1,2 +1,88 @@
-/* shared styles are loaded from: */
-/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
\ No newline at end of file
+.sbSwitch {
+ container-type: inline-size;
+ display: grid;
+ grid-template-columns: minmax(0, 1fr);
+ align-content: center;
+ height: 100vh;
+}
+
+.states-matrix {
+ --state-columns: 2;
+
+ display: grid;
+ grid-template-columns: auto repeat(var(--state-columns), minmax(7.5rem, 1fr));
+ gap: 1rem;
+ inline-size: 100%;
+ max-inline-size: 32.5rem;
+ margin-inline: auto;
+}
+
+.states-row {
+ display: grid;
+ grid-column: 1 / -1;
+ grid-template-columns: subgrid;
+ align-items: center;
+}
+
+.row-label,
+.column-label,
+.cell-label {
+ color: var(--ig-gray-600);
+ font-family: "Aktiv Grotesk", sans-serif;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0.3px;
+}
+
+.column-label,
+.cell-label {
+ text-align: center;
+}
+
+.cell-label {
+ display: none;
+}
+
+.state-cell {
+ display: grid;
+ gap: 0.25rem;
+}
+
+@container (width < 24rem) {
+ .states-matrix {
+ grid-template-columns: minmax(0, 1fr);
+ }
+
+ .states-row {
+ grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
+ column-gap: 0.5rem;
+ }
+
+ header.states-row {
+ display: none;
+ }
+
+ .row-label {
+ grid-column: 1 / -1;
+ }
+
+ .cell-label {
+ display: block;
+ text-align: start;
+ margin-block-start: 1rem;
+ }
+}
+
+/* WARNING START: Demo overrides only. Do not copy to production. */
+/* Forced state classes are used here solely to present all component states visually. */
+igc-button-group {
+ pointer-events: none;
+}
+
+igc-toggle-button:not([disabled])[selected]::part(toggle) {
+ background: var(--item-active-background);
+ border-color: var(--item-active-border-color);
+ color: var(--item-selected-text-color);
+}
+/* WARNING END */
\ No newline at end of file
diff --git a/samples/inputs/button-group/states/src/index.tsx b/samples/inputs/button-group/states/src/index.tsx
index 77e39628a2..9e9dedd08a 100644
--- a/samples/inputs/button-group/states/src/index.tsx
+++ b/samples/inputs/button-group/states/src/index.tsx
@@ -2,7 +2,6 @@ import React from 'react';
import ReactDOM from 'react-dom/client';
import { IgrButtonGroup, IgrRipple, IgrToggleButton } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/material.css';
-import './ButtonGroupInteractionStates.css';
import './index.css';
const rows: Array<{ label: string; selected: boolean }> = [
@@ -12,32 +11,38 @@ const rows: Array<{ label: string; selected: boolean }> = [
export default function ButtonGroupInteractionStates(): JSX.Element {
return (
-
-
+
{rows.map((row) => (
-
+
{row.label}
-
-
- Device
-
-
-
-
-
- Cloud
-
-
-
+
+ Enabled
+
+
+ Device
+
+
+
+
+
+ Disabled
+
+
+ Cloud
+
+
+
+
))}
-
+
);
}
diff --git a/samples/inputs/button-group/styling/src/ButtonGroupStyling.css b/samples/inputs/button-group/styling/src/ButtonGroupStyling.css
deleted file mode 100644
index 22c9d20f42..0000000000
--- a/samples/inputs/button-group/styling/src/ButtonGroupStyling.css
+++ /dev/null
@@ -1,32 +0,0 @@
-igc-ripple {
- --color: gray;
-}
-
-.button-group-styling {
- display: flex;
- align-items: center;
- justify-content: center;
- min-height: 7rem;
-}
-
-.button-group-styling igc-button-group {
- width: 420px;
- border: 2px solid #4da3e8;
- border-radius: 4px;
- overflow: hidden;
-}
-
-.button-group-styling igc-toggle-button::part(toggle) {
- color: #4a5a66;
- background: #cfe8fb;
- border-color: #4da3e8;
-}
-
-.button-group-styling igc-toggle-button::part(toggle):hover {
- background: #b3daf8;
-}
-
-.button-group-styling igc-toggle-button[selected]::part(toggle) {
- color: #2f4d6a;
- background: #6db3ea;
-}
\ No newline at end of file
diff --git a/samples/inputs/button-group/styling/src/index.css b/samples/inputs/button-group/styling/src/index.css
index 1f53b8aa05..e676fef095 100644
--- a/samples/inputs/button-group/styling/src/index.css
+++ b/samples/inputs/button-group/styling/src/index.css
@@ -1,2 +1,24 @@
-/* shared styles are loaded from: */
-/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
\ No newline at end of file
+igc-button-group {
+ display: inline-block;
+ width: 100%;
+ max-width: 25rem;
+}
+
+.sbSwitch {
+ display: grid;
+ place-items: center;
+ height: 100vh;
+
+ --ig-button-group-border-radius: 4px;
+ --ig-button-group-item-text-color: #4a5a66;
+ --ig-button-group-item-background: #cfe8fb;
+ --ig-button-group-item-border-color: #4da3e8;
+ --ig-button-group-item-hover-text-color: #4a5a66;
+ --ig-button-group-item-hover-background: #b3daf8;
+ --ig-button-group-item-hover-border-color: #4da3e8;
+ --ig-button-group-item-selected-text-color: #2f4d6a;
+ --ig-button-group-item-selected-background: #6db3ea;
+ --ig-button-group-item-selected-border-color: #4da3e8;
+ --ig-button-group-item-selected-hover-text-color: #2f4d6a;
+ --ig-button-group-item-selected-hover-background: #6db3ea;
+}
diff --git a/samples/inputs/button-group/styling/src/index.tsx b/samples/inputs/button-group/styling/src/index.tsx
index 61f3d984f9..5949382503 100644
--- a/samples/inputs/button-group/styling/src/index.tsx
+++ b/samples/inputs/button-group/styling/src/index.tsx
@@ -2,27 +2,24 @@ import React from 'react';
import ReactDOM from 'react-dom/client';
import { IgrButtonGroup, IgrRipple, IgrToggleButton } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/material.css';
-import './ButtonGroupStyling.css';
import './index.css';
const layouts = ['Left', 'Center', 'Right'];
export default function ButtonGroupStyling(): JSX.Element {
return (
-
-
- {layouts.map((layout) => (
-
- {layout}
-
-
- ))}
-
-
+
+ {layouts.map((layout) => (
+
+ {layout}
+
+
+ ))}
+
);
}
diff --git a/samples/inputs/button-group/tailwind-styling/src/index.css b/samples/inputs/button-group/tailwind-styling/src/index.css
index 6ff2900474..cfaa860e96 100644
--- a/samples/inputs/button-group/tailwind-styling/src/index.css
+++ b/samples/inputs/button-group/tailwind-styling/src/index.css
@@ -1,37 +1,15 @@
-/* shared styles are loaded from: */
-/* https://dl.infragistics.com/x/css/samples/shared.v8.css */
-
-@layer theme, base, components, utilities;
+@layer theme, utilities;
@import "tailwindcss/theme.css" layer(theme);
@import "tailwindcss/utilities.css" layer(utilities);
-igc-ripple {
- --color: gray;
-}
-
-.button-group-center {
- display: flex;
- align-items: center;
- justify-content: center;
- min-height: 7rem;
-}
-
-.button-group-style {
- width: 420px;
- max-width: 100%;
-}
-
-.button-group-style igc-toggle-button::part(toggle) {
- color: var(--color-violet-700);
- background: var(--color-white);
- border-color: var(--color-violet-300);
-}
-
-.button-group-style igc-toggle-button::part(toggle):hover {
- background: var(--color-fuchsia-100);
+.sbSwitch {
+ display: grid;
+ place-items: center;
+ height: 100vh;
}
-.button-group-style igc-toggle-button[selected]::part(toggle) {
- color: var(--color-white);
- background: var(--color-violet-600);
+igc-button-group {
+ display: inline-block;
+ width: 100%;
+ max-width: 25rem;
}
diff --git a/samples/inputs/button-group/tailwind-styling/src/index.tsx b/samples/inputs/button-group/tailwind-styling/src/index.tsx
index 3f4363a7c7..0a5a3a4d60 100644
--- a/samples/inputs/button-group/tailwind-styling/src/index.tsx
+++ b/samples/inputs/button-group/tailwind-styling/src/index.tsx
@@ -8,20 +8,18 @@ const views = ['Day', 'Week', 'Month'];
export default function ButtonGroupTailwindStyling(): JSX.Element {
return (
-
-
- {views.map((view) => (
-
- {view}
-
-
- ))}
-
-
+
+ {views.map((view) => (
+
+ {view}
+
+
+ ))}
+
);
}