Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2470 commits
Select commit Hold shift + click to select a range
ef031a9
[#736][BL] Added tab index for link
benjaminLeongSK Jan 29, 2026
5d3ac7c
Revert "[#736][BL] Remove old menu component"
benjaminLeongSK Jan 30, 2026
91a0531
[#736][BL] Reform old menu to be used by mobile only
benjaminLeongSK Jan 30, 2026
4d9ea8b
[#736][BL] Switched navbar to use between the correct menus
benjaminLeongSK Jan 30, 2026
8ea3c0b
Revert "[#736][BL]Change button type if theres only 1 button"
benjaminLeongSK Jan 30, 2026
f1b94f6
[#736][BL] separate props by isModal
benjaminLeongSK Feb 1, 2026
49e4703
[#736][BL] onKeyDown to be handled in navbar-items copmletely
benjaminLeongSK Feb 1, 2026
12a986f
[#736][BL] removed unnecessary code
benjaminLeongSK Feb 1, 2026
dd30723
[#736][BL] extract to helper function
benjaminLeongSK Feb 1, 2026
47f9b62
[#736][BL] Documenting new props
benjaminLeongSK Feb 1, 2026
9b861c5
[#736][BL] misc changes
benjaminLeongSK Feb 1, 2026
2967be5
[#736][BL] Fix code to use default tab behaviour
benjaminLeongSK Feb 2, 2026
2e85971
[#736][BL] Shift keyboard behaviour to menucontent
benjaminLeongSK Feb 2, 2026
4dffdc2
[#736][BL] Added test
benjaminLeongSK Feb 2, 2026
97efaaf
[#736][BL] Remove arrow nav prop
benjaminLeongSK Feb 3, 2026
6b757b9
[#736][BL] Remove comments and touch up codes
benjaminLeongSK Feb 3, 2026
beed813
[#736][BL] refactoring switch case
benjaminLeongSK Feb 3, 2026
d62d433
[#736][BL] Amend indicator to not follow focus unless submenu is opened
benjaminLeongSK Feb 4, 2026
e41a859
[#736][BL] Split component
benjaminLeongSK Feb 9, 2026
e862217
[#736][BL] Fix onFocus/onBlur behaviour
benjaminLeongSK Feb 10, 2026
62a087f
[CCUBE-1683][JON]Resolve comment
hhung2710 Feb 10, 2026
d688da9
[BOOKINGSG-8931][RL] Run Storybook 9 upgrade
qroll Feb 10, 2026
a29d3e5
[BOOKINGSG-8931][RL] Update missed out @storybook/blocks, @storybook/…
qroll Feb 10, 2026
6e0cab1
[BOOKINGSG-8931][RL] Update @storybook/react to framework specific im…
qroll Feb 10, 2026
e84cbf0
[BOOKINGSG-8931][RL] Migrate @storybook/types import to internal package
qroll Feb 10, 2026
ecc71af
[BOOKINGSG-8931][RL] Migrate storybook dark mode addon to community v…
qroll Feb 10, 2026
825d3e6
[BOOKINGSG-8931][RL] Run Storybook 10 upgrade
qroll Feb 10, 2026
ba8baf8
[BOOKINGSG-8931][RL] Update tsconfig moduleResolution, dark mode addo…
qroll Feb 10, 2026
230ef6c
[BOOKINGSG-8931][RL] Install vitest as workaround for failed Storyboo…
qroll Feb 10, 2026
076404e
[BOOKINGSG-8931][RL] Enable code panel, disable interactions panel
qroll Feb 10, 2026
f81cde3
[CCUBE-1683][JON]Resolve comment
hhung2710 Feb 11, 2026
fc3f5d1
[CCUBE-1683][RL] Update documentation
Feb 11, 2026
cfb18b7
Merge pull request #946 from LifeSG/CCUBE-1683
qroll Feb 11, 2026
040c271
[#736][BL] Refactoring base on PR comments
benjaminLeongSK Feb 12, 2026
5b93ac2
[#736][RL] Update data-testid to be unique
Feb 12, 2026
1c22fd0
[#736][RL] Fix indicator style
Feb 12, 2026
f03968a
Merge pull request #943 from LifeSG/BL/736
qroll Feb 12, 2026
aac70ed
Bump qs from 6.14.1 to 6.14.2
dependabot[bot] Feb 14, 2026
0240d0d
Merge pull request #959 from LifeSG/dependabot/npm_and_yarn/qs-6.14.2
qroll Feb 15, 2026
78e5985
[MISC][RL] Bump 3.2.0-canary.5
qroll Feb 15, 2026
715a2c1
Merge pull request #960 from LifeSG/bump-version
qroll Feb 16, 2026
b823b0c
Merge remote-tracking branch 'origin/master' into BOOKINGSG-8931
Feb 19, 2026
2594a23
[BOOKINGSG-8931][RL] Bump to latest storybook 10.2 to resolve some up…
Feb 19, 2026
6f68bc5
[MISC][RL] Bump pipeline timeout
Feb 19, 2026
e88a867
Merge pull request #957 from LifeSG/BOOKINGSG-8931
qroll Feb 20, 2026
338936c
Bump fabric from 6.7.0 to 7.2.0
dependabot[bot] Feb 20, 2026
57131f4
[MISC][RL] Fix image not staying centered after fabric update
Feb 20, 2026
0113f09
Merge pull request #962 from LifeSG/dependabot/npm_and_yarn/fabric-7.2.0
qroll Feb 20, 2026
e1352a9
[MISC][RL] Create V4 conventions doc
Feb 11, 2026
ebb8357
[MISC][RL] Update default PR template and add PR template for V4 comp…
Feb 11, 2026
cc8902a
[MISC][RL] Add workaround to select PR template
Feb 20, 2026
dea4125
[#876][BL] Changed dropdown to shared version
benjaminLeongSK Feb 4, 2026
395642d
[#876][BL] Update storybook props
benjaminLeongSK Feb 4, 2026
591c12e
[#876][BL] Added test
benjaminLeongSK Feb 4, 2026
b4a7a45
[#876][BL] Fix PR comments
benjaminLeongSK Feb 10, 2026
2b8c86d
[#876][BL] Migrate types and fix test
benjaminLeongSK Feb 10, 2026
04f4ff3
[#876][BL] Remove listStyleWidth
benjaminLeongSK Feb 12, 2026
fa3b4e8
[#876][BL] Add testId for dropdown
benjaminLeongSK Feb 12, 2026
40e48b9
[#876][BL] Add keydown navigation for range select and update test
benjaminLeongSK Feb 12, 2026
3658037
[#876][BL] Remove unused
benjaminLeongSK Feb 12, 2026
764b9f0
[#876][BL] Fix test
benjaminLeongSK Feb 12, 2026
3788c1f
[#876][BL] Fix focus error when moving from 1st dropdown to 2nd
benjaminLeongSK Feb 17, 2026
3cc8691
[#876][BL] Fix test
benjaminLeongSK Feb 17, 2026
d1f5cb3
[#876][BL] Refactor focus error fix
benjaminLeongSK Feb 20, 2026
60f4d83
[#876][BL] Restore useEffect and removed ref
benjaminLeongSK Feb 20, 2026
02c1637
[#876][BL] Fixed test and keyboardPress logic
benjaminLeongSK Feb 20, 2026
d2cdc52
[MISC][RL] Include link for Figma
Feb 23, 2026
cb3639d
[#882][BL] Add accesibility for linklist
benjaminLeongSK Feb 23, 2026
28f6857
[#876][BL] Remove useeffect
benjaminLeongSK Feb 23, 2026
20074ba
[#876][RL] Minor coding style tweaks
Feb 20, 2026
f716d76
[MISC][RL] Group dropdown props
Feb 23, 2026
3a56145
Merge pull request #948 from LifeSG/BL/876
qroll Feb 23, 2026
81aa603
[MISC][RL] Fix mismatched tags in code example
Feb 23, 2026
cf29a8f
Merge pull request #961 from LifeSG/v4-prep
qroll Feb 24, 2026
69e4a78
[#882][BL] Fix MR comments
benjaminLeongSK Feb 24, 2026
6856e49
[#882]BL] Minor MR fix
benjaminLeongSK Feb 26, 2026
a7eff64
[#883][BL] update accessibility for error description
benjaminLeongSK Feb 26, 2026
17cfa1e
[#883][BL] Added logic to handle reminder base on interval
benjaminLeongSK Feb 26, 2026
a2331f6
Bump rollup from 3.29.5 to 3.30.0
dependabot[bot] Feb 26, 2026
3a51e8c
[#883][BL] Extracted reminder logic to own file
benjaminLeongSK Feb 26, 2026
5232277
[#883][BL] Update story to have countdown and reminderInterval defaul…
benjaminLeongSK Feb 26, 2026
ddbf61e
[#883][BL] Fix test cases
benjaminLeongSK Feb 26, 2026
d7bf8a3
Merge pull request #966 from LifeSG/dependabot/npm_and_yarn/rollup-3.…
qroll Feb 26, 2026
1177d90
[#883][BL] Fix MR comments
benjaminLeongSK Feb 27, 2026
52b3933
[#882][BL] Fix MR comments
benjaminLeongSK Feb 27, 2026
1d0af26
Merge pull request #963 from LifeSG/BL/882
qroll Feb 27, 2026
6b0f654
[MISC][RL] v3.3.0-canary.1
Feb 27, 2026
eaab48f
[#883][BL] Code Fix
benjaminLeongSK Feb 27, 2026
92238a1
Merge pull request #969 from LifeSG/bump-version
qroll Feb 27, 2026
02f4364
Bump minimatch
dependabot[bot] Feb 27, 2026
3218132
Merge pull request #970 from LifeSG/dependabot/npm_and_yarn/multi-633…
qroll Mar 2, 2026
c95174f
Merge pull request #967 from LifeSG/BL/883
qroll Mar 2, 2026
9f670c2
[MISC][GW] Upgrade Storybook from v7 to v10
ginweelow Mar 2, 2026
a3e9ff8
[MISC][GW] Add DS instructions and component catalog
ginweelow Mar 2, 2026
f3e8780
[#884][BL] Convert readonly to button
benjaminLeongSK Mar 4, 2026
a3e6299
[BOOKINGSG-8951][LS] Expose otp input ref and new props
lionel-sim Mar 4, 2026
bde9c6c
[BOOKINGSG-8951][LS] Add tests
lionel-sim Mar 4, 2026
2da61b7
[#884][BL] Remove accessiblelabel prop and add aria label for readonly
benjaminLeongSK Mar 4, 2026
df83492
[#884][BL] Create unique id for fields
benjaminLeongSK Mar 4, 2026
ddf09d8
[BOOKINGSG-8951][LS] Update props table and resolve comments
lionel-sim Mar 4, 2026
fde5c6c
[#884][BL] Handle focus after unmask is clicked
benjaminLeongSK Mar 4, 2026
d83cb67
Merge pull request #975 from LifeSG/BOOKINGSG-8951
qroll Mar 4, 2026
75fe5dc
[MISC][RL] v3.3.0-canary.2
Mar 4, 2026
10280e3
Merge pull request #977 from LifeSG/bump-version
qroll Mar 4, 2026
ddf10fb
[#884][BL] Handle focus for readonly masking
benjaminLeongSK Mar 4, 2026
76ab69b
[#884][BL] Hide aria label for icon
benjaminLeongSK Mar 4, 2026
746a5bf
[#884][BL] Add correct aria label for readonly
benjaminLeongSK Mar 4, 2026
5fd28c0
[#884][BL] Amend test cases
benjaminLeongSK Mar 4, 2026
5812eaf
Bump dompurify and @types/dompurify
dependabot[bot] Mar 4, 2026
263a934
Bump svgo from 2.8.0 to 2.8.2
dependabot[bot] Mar 5, 2026
67673f9
[#878][BL] Migrate timepicker to use shared dropdown
benjaminLeongSK Feb 5, 2026
27526b6
[#878][BL] Match figma design
benjaminLeongSK Feb 5, 2026
e73e162
[#878][BL] Update storybook props
benjaminLeongSK Feb 5, 2026
ec1a614
[#878][BL] Added test cases
benjaminLeongSK Feb 5, 2026
a0834d1
[#878][BL] misc changes
benjaminLeongSK Feb 10, 2026
aa9dcde
[#878][BL] Remove animation
benjaminLeongSK Feb 11, 2026
d4e02cc
[#878][BL] Fix MR comments
benjaminLeongSK Feb 22, 2026
0f2ea91
[#878][BL] Fix focus bring the page to the top
benjaminLeongSK Feb 22, 2026
87eea75
[#878][BL] Fix MR comments
benjaminLeongSK Feb 24, 2026
a0664eb
[#880][BL] Migrate dial picker to shared dropdown
benjaminLeongSK Feb 12, 2026
8ebc212
[#880][BL] Updated props table
benjaminLeongSK Feb 12, 2026
e535e92
[#880][BL] Added test cases
benjaminLeongSK Feb 12, 2026
6040063
[#880][BL] Fix focus and PR comments
benjaminLeongSK Feb 24, 2026
36799b4
[#880]BL] Minor MR fix and add test case
benjaminLeongSK Feb 26, 2026
ed7740d
[#880][BL] Fix test cases
benjaminLeongSK Mar 3, 2026
892ffa8
Merge pull request #983 from LifeSG/time-picker-long-lived
qroll Mar 5, 2026
3f4842b
Merge pull request #982 from LifeSG/dependabot/npm_and_yarn/svgo-2.8.2
qroll Mar 5, 2026
03a8bae
Merge pull request #981 from LifeSG/dependabot/npm_and_yarn/multi-917…
qroll Mar 6, 2026
2940c07
Bump dompurify from 3.2.5 to 3.3.2
dependabot[bot] Mar 6, 2026
e7b22be
Merge pull request #987 from LifeSG/dependabot/npm_and_yarn/dompurify…
qroll Mar 6, 2026
092e0c3
[#884][BL] Fix MR comments
benjaminLeongSK Mar 7, 2026
2453be6
[#884][BL] Add overflow style for span
benjaminLeongSK Mar 9, 2026
5ad654a
[MOL-20666][DC] added optional counterOffset for timeline with tests
Mar 9, 2026
e3d3bcc
[MOL-20666][DC] update storybook docs for timeline
Mar 9, 2026
40b5202
[#884][BL] Remove padding
benjaminLeongSK Mar 9, 2026
eaff6d6
[#884][BL] Remove blur on masking
benjaminLeongSK Mar 9, 2026
fae22cd
Merge pull request #980 from LifeSG/BL/884
qroll Mar 10, 2026
346a93d
[#889][BL] Added accessibility feature
benjaminLeongSK Mar 7, 2026
368b3b9
[#889][BL] Update test cases
benjaminLeongSK Mar 7, 2026
c17e6fb
[#889][BL] Fix MR comments
benjaminLeongSK Mar 10, 2026
80173da
[#889][BL] Fix test cases
benjaminLeongSK Mar 10, 2026
5cfebb3
[#889][BL] Fix forward ref console error in testcases
benjaminLeongSK Mar 10, 2026
a53a9b9
[MOL-20666][DC] update testId to exclude offset and fix tests
Mar 10, 2026
2c3b382
[BOOKINGSG-9056][LS] Fix popover trigger dismissing when sibling port…
lionel-sim Mar 10, 2026
09c83d1
[MOL-20666][DC] remove redundant test
Mar 10, 2026
8b56354
Merge pull request #993 from LifeSG/MOL-20666/update-timeline-with-nu…
qroll Mar 10, 2026
fc97fac
[BOOKINGSG-9056][LS] Add canvas for nested popover
lionel-sim Mar 10, 2026
73ea05e
[#879][BL] Added accessibility for timepicker
benjaminLeongSK Mar 10, 2026
6728974
[#879][BL] Remove labels
benjaminLeongSK Mar 10, 2026
bd00205
[MISC][RL] Update docs
qroll Mar 10, 2026
29bf0c6
Merge pull request #997 from LifeSG/BOOKINGSG-9056
qroll Mar 10, 2026
6cc6a64
[MISC][RL] v3.3.0-canary.3
Mar 11, 2026
7f5b5c9
Merge pull request #1000 from LifeSG/bump-version
qroll Mar 11, 2026
7b34ad6
[MISC][RL] Tweak template to match latest conventions
Mar 11, 2026
50a505c
[CCUBE-1988][HUY] Add button type to otp verfication buttons to preve…
Mar 11, 2026
6335bc5
Merge pull request #1001 from LifeSG/v4-prep
qroll Mar 11, 2026
563b473
[CCUBE-1988][HUY] Replace useTheme with useContext(ThemeProvider) for…
Mar 11, 2026
a30f4a7
[#889][BL] Fix slider not working on android talkback
benjaminLeongSK Mar 11, 2026
2d2eb92
[#889][BL] Minor fixes
benjaminLeongSK Mar 11, 2026
3657cb4
[#889][BL] Amend test cases
benjaminLeongSK Mar 11, 2026
02edd41
Merge pull request #990 from LifeSG/BL/889
qroll Mar 11, 2026
aa3144a
Merge pull request #1002 from LifeSG/CCUBE-1988
qroll Mar 11, 2026
b3e455b
[#879][BL] Fix MR comments
benjaminLeongSK Mar 11, 2026
ec1aac0
[#879][BL] Amend id
benjaminLeongSK Mar 12, 2026
08d3102
[MISC][RL] Fix unintended scroll jump after forced modal dismissal on…
Mar 12, 2026
7ad075f
Merge pull request #998 from LifeSG/BL/879
qroll Mar 12, 2026
0545183
[#877][BL] Make individual selector tabable
benjaminLeongSK Mar 5, 2026
eeadc30
[#877][BL] Added accessibility text upon rendering dropdownlist
benjaminLeongSK Mar 5, 2026
41b0eb7
[#877][BL] Make id unique
benjaminLeongSK Mar 5, 2026
1cc6a78
[#877][BL] Fix focus for disabled and readonly
benjaminLeongSK Mar 5, 2026
985ae3d
[#877][BL] Fix test case
benjaminLeongSK Mar 5, 2026
e85efe5
[#877][BL] Fix voiceover for windows
benjaminLeongSK Mar 6, 2026
37ac4be
[#877][BL] Fix voiceover for android
benjaminLeongSK Mar 6, 2026
f454c7d
[#877][BL] Fix MR comments
benjaminLeongSK Mar 9, 2026
352758d
[#877][BL] Create new util for live announcements
benjaminLeongSK Mar 9, 2026
4b79ee8
[#877][BL] Fix test cases
benjaminLeongSK Mar 9, 2026
0bc375b
[#877][BL] Replace util with react-aria liveannouncer
benjaminLeongSK Mar 10, 2026
70b7e00
[#877][BL] Add styling for darkmode
benjaminLeongSK Mar 10, 2026
e85356d
[#877][BL] Replaced live-announcer
benjaminLeongSK Mar 11, 2026
0a435b5
[#877][BL] Fix android voice over
benjaminLeongSK Mar 11, 2026
94458a7
[#877][BL] MR fixes
benjaminLeongSK Mar 12, 2026
8cec2cd
Merge pull request #986 from LifeSG/BL/877
qroll Mar 12, 2026
2169e7c
[#885][BL] Install live-announcer
benjaminLeongSK Mar 10, 2026
76233a6
[#885][BL] Added accessibility features for slider
benjaminLeongSK Mar 10, 2026
f9dccb6
[#885][BL] Code fixes and clean up
benjaminLeongSK Mar 12, 2026
60f5ba3
[#885][BL] Fix MR comments
benjaminLeongSK Mar 12, 2026
67a1eba
[#855][BL] Fix sync package-lock with package.json
benjaminLeongSK Mar 12, 2026
83a6965
[#885][BL] Add additional aria props and hide instructions if disable…
benjaminLeongSK Mar 13, 2026
abcc760
[MISC][RL] Add further guards and rename for better specififity
Mar 13, 2026
d53562d
[MISC][RL] Resync lockfile
Mar 13, 2026
8fe8443
Merge pull request #1007 from LifeSG/fix-modal-jump
qroll Mar 13, 2026
f1f6cc0
Merge pull request #999 from LifeSG/BL/885
qroll Mar 13, 2026
51b2e12
[#886][BL] Amend id for form slider
benjaminLeongSK Mar 14, 2026
0c9abad
[#886][BL] Remove default id
benjaminLeongSK Mar 14, 2026
541753d
[#886][BL] Remove label for 1 slider
benjaminLeongSK Mar 15, 2026
d094c45
[#886][BL] Amend inputId
benjaminLeongSK Mar 16, 2026
321d14b
Merge pull request #1011 from LifeSG/BL/886
qroll Mar 16, 2026
03a3da8
feat(calendar): add multi-select variant
qizhen-palo Mar 10, 2026
7661c06
[MISC][RL] Update docs
Mar 16, 2026
cb254da
Merge pull request #995 from LifeSG/add-calendar-multi-select
qroll Mar 17, 2026
855436c
[MISC][GW] Updated jsdoc prompt and generate-catalog script
ginweelow Mar 17, 2026
5cce9b2
[#881][BL] Remove aria labels from button
benjaminLeongSK Mar 13, 2026
7cb19e3
[#881][BL] Add accessibility for dial picker variant
benjaminLeongSK Mar 13, 2026
d7459a9
[#881][BL] Add accessibility for combobox variant
benjaminLeongSK Mar 13, 2026
b31d786
[#881][BL] Fix test cases
benjaminLeongSK Mar 13, 2026
894566d
[#881][BL] Aria changes
benjaminLeongSK Mar 17, 2026
51dc674
[#881][BL] Pass aria invalid prop
benjaminLeongSK Mar 17, 2026
eeecf46
[#881][BL] Remove undefined from aria
benjaminLeongSK Mar 17, 2026
8f05d17
[MISC][HUY] Expose theme navbar and theme button to consumer
Mar 17, 2026
6a464aa
Merge pull request #1010 from LifeSG/BL/881
qroll Mar 17, 2026
f8cfe43
[MISC][HUY] Expose ThemeComponent including ThemeButton and ThemeNavbar
Mar 17, 2026
ca9c9cc
Merge pull request #1014 from LifeSG/misc-expose-navbar
qroll Mar 17, 2026
20da075
[MISC][RL] v3.3.0-canary.4
Mar 17, 2026
beedc67
[#887][BL] Add missing accessibility features
benjaminLeongSK Mar 14, 2026
696c18e
[#887][BL] Remove default id
benjaminLeongSK Mar 14, 2026
5a20fb5
[#887][BL] Amend inputId
benjaminLeongSK Mar 16, 2026
5831739
[#887][BL] Forward aria props
benjaminLeongSK Mar 16, 2026
eadd4d0
[#887][BL] Added range percentage aria description
benjaminLeongSK Mar 16, 2026
c344191
[#887][BL] Shift announcer logic to histogram slider
benjaminLeongSK Mar 16, 2026
7caaeb5
[#887][BL] Move description into SliderThumb
benjaminLeongSK Mar 18, 2026
2479813
Merge pull request #1015 from LifeSG/bump-version
qroll Mar 18, 2026
d332a34
Merge pull request #1012 from LifeSG/BL/887
qroll Mar 19, 2026
e66795a
[MISC][RL] Fix incorrect text colour for tab item
Mar 19, 2026
df2c717
Merge pull request #1019 from LifeSG/fix-tab-colour
qroll Mar 19, 2026
3ff408b
[#888][BL] Make modalV2 compatible for fullscreen image carousel
benjaminLeongSK Mar 11, 2026
25c8406
[#888][BL] Add accessibility features
benjaminLeongSK Mar 11, 2026
acc9a39
[#888][BL] Fix MR comments
benjaminLeongSK Mar 13, 2026
f9a18ae
[#888][BL] Added announcer for image
benjaminLeongSK Mar 17, 2026
f035900
[#888][BL] Fix MR comments
benjaminLeongSK Mar 18, 2026
c642a0c
[#888][BL] Refactor styling
benjaminLeongSK Mar 19, 2026
e6f0856
[#888][BL] Created util to replace handling of announcer function
benjaminLeongSK Mar 19, 2026
d61bb5a
[#888][BL] Amend path and names
benjaminLeongSK Mar 20, 2026
d1513c6
Merge pull request #1005 from LifeSG/BL/888
qroll Mar 20, 2026
2d8fe61
[MISC][RL] v3.3.0-canary.5
Mar 20, 2026
b64d06b
Merge pull request #1021 from LifeSG/bump-version
qroll Mar 20, 2026
67b70f0
[slider-talkback-accessibility-fix][BL] Fix slider interaction on and…
benjaminLeongSK Mar 18, 2026
776f31b
[slider-talkback-accessibility-fix][BL] Fix MR comments
benjaminLeongSK Mar 20, 2026
692caca
[MISC][GW] add jsdocs
ginweelow Mar 22, 2026
e80aaa4
[MISC][RL] Minor code convention fixes
qroll Mar 23, 2026
287ab99
[slider-talkback-accessibility-fix][BL] Added back ariadescription fo…
benjaminLeongSK Mar 24, 2026
dad05f7
Merge pull request #1016 from LifeSG/slider-talkback-accessibility-fix
qroll Mar 24, 2026
04699cf
[MISC][GW] Fix Storybook MDX: move Meta import to @storybook/blocks, …
ginweelow Mar 24, 2026
99ec54a
Merge remote-tracking branch 'origin/master' into structure-experiments
ginweelow Mar 24, 2026
3b66d93
[MISC][GW] Fix post-merge import paths: update to V2_Color and V2_Tex…
ginweelow Mar 24, 2026
22db732
[MISC][GW] Add JSDoc to all component types.ts files (83 components)
ginweelow Mar 25, 2026
000425f
[MISC][GW] Fix Storybook: restore text.style.tsx with v2 imports, fix…
ginweelow Mar 25, 2026
861938c
[MISC][GW] Fix autodocs conflict: remove autodocs tag from button and…
ginweelow Mar 25, 2026
a9e330a
[MISC][GW] Migrate all props-tables to PropTableTabs
ginweelow Mar 25, 2026
7c53bce
[MISC][GW] Filter HTML-inherited props; all tabs use ApiTable; fix ty…
ginweelow Mar 26, 2026
f988f67
[MISC][GW] Add @testing-library/dom dev dep; update .gitignore
ginweelow Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
89 changes: 0 additions & 89 deletions .eslintrc

This file was deleted.

26 changes: 26 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
**Type of changes**

<!-- Put an `x` in the items that apply -->

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing apis or functionality to change)

**Description of changes**

- Link to [ticket](url)
- Link to [Figma](url)
- Description of changes

**Checklist**

<!-- Put an `x` in items that apply -->

- [ ] Changes follow the project guidelines in [CONTRIBUTING.md](https://github.com/LifeSG/react-design-system/blob/master/CONTRIBUTING.md) and [CONVENTIONS.md](https://github.com/LifeSG/react-design-system/blob/master/CONVENTIONS.md)
- [ ] Looks good on mobile and tablet
- [ ] Updated documentation
- [ ] Added/updated tests

**Screenshots**

<!-- Include a screenshot or video recording of visual changes -->
24 changes: 24 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/v4_component.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
**Checklist**

<!-- Put an `x` in all the items that apply, ~~strikethrough~~ items that are not applicable -->

- [ ] Migrated the component styles
- [ ] `className` is chained correctly with `clsx`
- [ ] User style prop is set as CSS variable
- [ ] Changes follow the project guidelines in [CONVENTIONS_V4.md](https://github.com/LifeSG/react-design-system/blob/master/CONVENTIONS_V4.md)
- [ ] Updated Storybook documentation
- [ ] Added/updated unit tests
- [ ] Added visual tests
- [ ] Listed breaking changes

**Breaking changes**

<!-- Remove this section if not required -->

List breaking style or api changes to be added to the migration docs

**Additional information**

<!-- Remove this section if not required -->

Provide additional information that might be useful to the reviewer
108 changes: 108 additions & 0 deletions .github/instructions/design-system-components.instructions.md
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

main instruction file that reads from the catalog

Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
description: "Component catalog and usage rules for @lifesg/react-design-system — consult foundations tokens first, then the component catalog, before writing any custom UI code."
applyTo: "**/*.{tsx,ts,jsx,js}"
---

This project uses **@lifesg/react-design-system**.

## Step 1 — Use foundations first

Before writing any custom styles or reaching for a third-party library, use the design system's foundation tokens. All styling must go through **styled-components** using these foundations. Never use inline styles, plain CSS, hardcoded hex values, or raw px/rem sizes.

### Colors

```tsx
import { Color } from "@lifesg/react-design-system/color";
import { DesignToken } from "@lifesg/react-design-system/design-token";
import styled from "styled-components";

const Card = styled.div`
background: ${Color.Neutral[8]};
border: 1px solid ${Color.Neutral[5]};
box-shadow: ${DesignToken.ElevationBoxShadow};
`;
```

### Typography

```tsx
import { Text, TextStyleHelper } from "@lifesg/react-design-system/text";
import { Color } from "@lifesg/react-design-system/color";
import styled from "styled-components";

// In JSX — use Text components directly
<Text.H1>Heading</Text.H1>
<Text.Body>Body copy</Text.Body>

// In styled-components — use TextStyleHelper
const Label = styled.span`
${TextStyleHelper.getTextStyle("Body", "regular")}
color: ${Color.Neutral[1]};
`;
```

### Responsive / media queries

```tsx
import { MediaQuery } from "@lifesg/react-design-system/media";
import styled from "styled-components";

const Wrapper = styled.div`
padding: 2rem;

${MediaQuery.MaxWidth.tablet} {
padding: 1rem;
}
`;
```

Available breakpoints (via `MediaQuery.MaxWidth` and `MediaQuery.MinWidth`): `mobileS`, `mobileM`, `mobileL`, `tablet`, `desktopM`, `desktopL`, `desktop4k`.

### Layout

```tsx
import { Layout } from "@lifesg/react-design-system/layout";

<Layout.Section>
<Layout.Container>
<Layout.Content>...</Layout.Content>
</Layout.Container>
</Layout.Section>;
```

### Spacing / gaps

There is no spacing token object — use multiples of `0.5rem` (8px grid). Prefer CSS `gap` in flex/grid containers over `margin` on individual children.

```tsx
const Row = styled.div`
display: flex;
gap: 1rem; /* 16px */
padding: 1.5rem; /* 24px */
`;
```

---

## Step 2 — Use the component catalog

The machine-readable catalog lives at:

```
node_modules/@lifesg/react-design-system/component-catalog.json
```

**Always read this file before writing any component code.** Each entry contains:

| Field | Purpose |
| ------------- | -------------------------------------------------------- |
| `name` | Component name |
| `importPath` | Exact import path to use |
| `description` | What the component does |
| `searchKeys` | Intent keywords — match these against the user's request |

**Rules:**

1. Read the catalog and match `searchKeys` against the user's intent to find the right component.
2. Use the exact `importPath` — never import from the package root.
3. Prefer components from this design system over third-party alternatives or custom implementations.
Loading