Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
112b1d4
[BOOKINGSG-9121][Nghi] rename style files
nghitb Apr 13, 2026
a53c721
[BOOKINGSG-9121][Nghi] migrate tokens
nghitb Apr 13, 2026
8023c9d
[BOOKINGSG-9121][Nghi] convert transient props to class based for tog…
nghitb Apr 14, 2026
54cf034
[BOOKINGSG-9121][Nghi] remove style component props for toggle-icon
nghitb Apr 14, 2026
4e70854
[BOOKINGSG-9121][Nghi] convert transient props to class based for toggle
nghitb Apr 15, 2026
cf785c2
[BOOKINGSG-9121][Nghi] convert styled components to linaria css for t…
nghitb Apr 15, 2026
51a1486
[BOOKINGSG-9121][Nghi] convert styled components to linaria css for t…
nghitb Apr 16, 2026
db88536
[BOOKINGSG-9121][Nghi] Merge branch 'pre-release/v4' into BOOKINGSG-9121
nghitb Apr 16, 2026
e625a78
[BOOKINGSG-9121][Nghi] clean up code and modify for more readable code
nghitb Apr 17, 2026
3707f9c
[BOOKINGSG-9121][Nghi] update to cover test
nghitb Apr 17, 2026
70b0272
[BOOKINGSG-9121][Nghi] remove selected style
nghitb Apr 17, 2026
82bafb9
[BOOKINGSG-9121][Nghi] create generic styling to remove duplicate sty…
nghitb Apr 17, 2026
c0e6131
[BOOKINGSG-9121][Nghi] add e2e tests
nghitb Apr 17, 2026
c8e8ec3
[BOOKINGSG-9121][Nghi] add e2e unit test
nghitb Apr 17, 2026
e2d8e58
[BOOKINGSG-9121][Nghi] re-modify import and get classname state function
nghitb Apr 20, 2026
c04dc20
[BOOKINGSG-9121][Nghi] Change file e2e tests to type based
nghitb Apr 20, 2026
563aa78
[BOOKINGSG-9121][Nghi] fix Typography import and toggleContainerError…
nghitb Apr 20, 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
207 changes: 207 additions & 0 deletions e2e/nextjs-app/src/app/components/toggle/checkbox.e2e.tsx
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commit the snapshots after they are generated

Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
"use client";
import { Toggle } from "@lifesg/react-design-system/toggle";

export default function Story() {
return (
<div className="story-column-container">
{/* bordered + indicator */}
<div className="story-row-container">
<Toggle type="checkbox" indicator>
Bordered + indicator
</Toggle>
<Toggle type="checkbox" indicator checked>
Bordered + indicator checked
</Toggle>
<Toggle type="checkbox" indicator disabled>
Bordered + indicator disabled
</Toggle>
<Toggle type="checkbox" indicator checked disabled>
Bordered + indicator checked disabled
</Toggle>
<Toggle type="checkbox" indicator error>
Bordered + indicator error
</Toggle>
<Toggle type="checkbox" indicator error disabled>
Bordered + indicator error disabled
</Toggle>
</div>

{/* bordered + no indicator */}
<div className="story-row-container">
<Toggle type="checkbox">Bordered</Toggle>
<Toggle type="checkbox" checked>
Bordered checked
</Toggle>
<Toggle type="checkbox" disabled>
Bordered disabled
</Toggle>
<Toggle type="checkbox" checked disabled>
Bordered checked disabled
</Toggle>
<Toggle type="checkbox" error>
Bordered error
</Toggle>
<Toggle type="checkbox" error disabled>
Bordered error disabled
</Toggle>
</div>

{/* no-border + indicator */}
<div className="story-row-container">
<Toggle type="checkbox" indicator styleType="no-border">
No-border + indicator
</Toggle>
<Toggle type="checkbox" indicator styleType="no-border" checked>
No-border + indicator checked
</Toggle>
<Toggle
type="checkbox"
indicator
styleType="no-border"
disabled
>
No-border + indicator disabled
</Toggle>
<Toggle
type="checkbox"
indicator
styleType="no-border"
checked
disabled
>
No-border + indicator checked disabled
</Toggle>
<Toggle type="checkbox" indicator styleType="no-border" error>
No-border + indicator error
</Toggle>
<Toggle
type="checkbox"
indicator
styleType="no-border"
error
disabled
>
No-border + indicator error disabled
</Toggle>
</div>

{/* no-border + no indicator */}
<div className="story-row-container">
<Toggle type="checkbox" styleType="no-border">
No-border
</Toggle>
<Toggle type="checkbox" styleType="no-border" checked>
No-border checked
</Toggle>
<Toggle type="checkbox" styleType="no-border" disabled>
No-border disabled
</Toggle>
<Toggle type="checkbox" styleType="no-border" checked disabled>
No-border checked disabled
</Toggle>
<Toggle type="checkbox" styleType="no-border" error>
No-border error
</Toggle>
<Toggle type="checkbox" styleType="no-border" error disabled>
No-border error disabled
</Toggle>
</div>

{/* with sub label */}
<div className="story-row-container">
<Toggle
type="checkbox"
indicator
subLabel="This is a sub label"
>
With sub label
</Toggle>
<Toggle
type="checkbox"
indicator
checked
subLabel="This is a sub label"
>
With sub label checked
</Toggle>
<Toggle
type="checkbox"
indicator
disabled
subLabel="This is a sub label"
>
With sub label disabled
</Toggle>
</div>

{/* with composite section */}
<div className="story-row-container">
<Toggle
type="checkbox"
indicator
compositeSection={{
children: <p>Composite section content</p>,
collapsible: true,
initialExpanded: false,
}}
>
With composite (collapsed)
</Toggle>
<Toggle
type="checkbox"
indicator
checked
compositeSection={{
children: <p>Composite section content</p>,
collapsible: true,
initialExpanded: true,
}}
>
With composite (expanded)
</Toggle>
</div>

<div className="story-row-container">
<Toggle
type="checkbox"
indicator
error
compositeSection={{
children: <p>Composite section content</p>,
collapsible: true,
initialExpanded: false,
errors: ["Error item 1", "Error item 2"],
}}
>
With composite errors (collapsed)
</Toggle>
<Toggle
type="checkbox"
indicator
error
compositeSection={{
children: <p>Composite section content</p>,
collapsible: true,
initialExpanded: true,
errors: ["Error item 1", "Error item 2"],
}}
>
With composite errors (expanded)
</Toggle>
</div>

{/* removable */}
<div className="story-row-container">
<Toggle type="checkbox" indicator removable>
Removable unchecked
</Toggle>
<Toggle type="checkbox" indicator removable checked>
Removable checked
</Toggle>
<Toggle type="checkbox" indicator removable disabled>
Removable disabled
</Toggle>
</div>
</div>
);
}
106 changes: 106 additions & 0 deletions e2e/nextjs-app/src/app/components/toggle/no.e2e.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
"use client";
import { Toggle } from "@lifesg/react-design-system/toggle";

export default function Story() {
return (
<div className="story-column-container">
{/* bordered + indicator */}
<div className="story-row-container">
<Toggle type="no" indicator>
Bordered + indicator
</Toggle>
<Toggle type="no" indicator checked>
Bordered + indicator checked
</Toggle>
<Toggle type="no" indicator disabled>
Bordered + indicator disabled
</Toggle>
<Toggle type="no" indicator checked disabled>
Bordered + indicator checked disabled
</Toggle>
<Toggle type="no" indicator error>
Bordered + indicator error
</Toggle>
<Toggle type="no" indicator error disabled>
Bordered + indicator error disabled
</Toggle>
</div>

{/* bordered + no indicator */}
<div className="story-row-container">
<Toggle type="no">Bordered</Toggle>
<Toggle type="no" checked>
Bordered checked
</Toggle>
<Toggle type="no" disabled>
Bordered disabled
</Toggle>
<Toggle type="no" checked disabled>
Bordered checked disabled
</Toggle>
<Toggle type="no" error>
Bordered error
</Toggle>
<Toggle type="no" error disabled>
Bordered error disabled
</Toggle>
</div>

{/* no-border + indicator */}
<div className="story-row-container">
<Toggle type="no" indicator styleType="no-border">
No-border + indicator
</Toggle>
<Toggle type="no" indicator styleType="no-border" checked>
No-border + indicator checked
</Toggle>
<Toggle type="no" indicator styleType="no-border" disabled>
No-border + indicator disabled
</Toggle>
<Toggle
type="no"
indicator
styleType="no-border"
checked
disabled
>
No-border + indicator checked disabled
</Toggle>
<Toggle type="no" indicator styleType="no-border" error>
No-border + indicator error
</Toggle>
<Toggle
type="no"
indicator
styleType="no-border"
error
disabled
>
No-border + indicator error disabled
</Toggle>
</div>

{/* no-border + no indicator */}
<div className="story-row-container">
<Toggle type="no" styleType="no-border">
No-border
</Toggle>
<Toggle type="no" styleType="no-border" checked>
No-border checked
</Toggle>
<Toggle type="no" styleType="no-border" disabled>
No-border disabled
</Toggle>
<Toggle type="no" styleType="no-border" checked disabled>
No-border checked disabled
</Toggle>
<Toggle type="no" styleType="no-border" error>
No-border error
</Toggle>
<Toggle type="no" styleType="no-border" error disabled>
No-border error disabled
</Toggle>
</div>
</div>
);
}
Loading