Skip to content

Prepare for SLDS2 #485

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 324 commits into from
Jul 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
324 commits
Select commit Hold shift + click to select a range
3cc3506
Merge branch 'support-slds-2-tree-tree-node' into support-slds-2-tabs
msmx-mnakagawa Jun 10, 2025
6775f9b
(Tabs): make `tabId` and `tabItemId` unique across each tab
msmx-mnakagawa Jun 10, 2025
004d394
Merge branch 'support-slds-2' into support-slds-2-form-element-field-set
msmx-mnakagawa Jun 10, 2025
cf3dd66
Merge branch 'support-slds-2' into support-slds-2-table
msmx-mnakagawa Jun 11, 2025
d3b5d1f
(Table): remove all the `scope` attributes
msmx-mnakagawa Jun 11, 2025
d1d72d8
Merge branch 'support-slds-2' into support-slds-2-tabs
msmx-mnakagawa Jun 11, 2025
8020109
Revert "(TreeNode): remove `tabIndex`es that differ from the existing…
msmx-mnakagawa Jun 11, 2025
613c568
Revert "(TreeNode): remove the `aria-hidden` that may prevent a11y im…
msmx-mnakagawa Jun 11, 2025
fbfd6df
Revert "(TreeNode): remove implicit `title` setting"
msmx-mnakagawa Jun 11, 2025
9bd19ac
Revert "(TreeNode): add `title` prop to item label"
msmx-mnakagawa Jun 11, 2025
c26f2fe
Revert "(TreeNode): remove a switch that wouldn't be required"
msmx-mnakagawa Jun 11, 2025
1114b2e
Revert "(TreeNode): revert mistakenly added button size"
msmx-mnakagawa Jun 11, 2025
4589d04
Revert "(TreeNode): update markups"
msmx-mnakagawa Jun 11, 2025
7637fb0
Revert "(TreeNode): improve a11y"
msmx-mnakagawa Jun 11, 2025
52605ad
Revert "(Tree): update classnames"
msmx-mnakagawa Jun 11, 2025
1bce255
Revert "(Tree): improve a11y"
msmx-mnakagawa Jun 11, 2025
8341462
Merge branch 'support-slds-2' into support-slds-2-text
msmx-mnakagawa Jun 11, 2025
746cd92
(Text): revert changes in `PageHeader.tsx`
msmx-mnakagawa Jun 11, 2025
e938990
(Table): remove unused `.slds-assistive-text`
msmx-mnakagawa Jun 11, 2025
635703c
(Table): remove directly added style
msmx-mnakagawa Jun 11, 2025
a939faf
(Table): wrap `Icon` with container, following docs
msmx-mnakagawa Jun 11, 2025
e8dfc9d
(Table): apply `.slds-table_resizable-cols` and remove `.slds-table_c…
msmx-mnakagawa Jun 11, 2025
2116765
Merge pull request #477 from mashmatrix/support-slds-2-table
stomita Jun 12, 2025
c85f24a
Merge pull request #473 from mashmatrix/support-slds-2-tree-tree-node
stomita Jun 12, 2025
b3383e4
Merge pull request #460 from mashmatrix/support-slds-2-text
stomita Jun 12, 2025
129c918
Merge pull request #463 from mashmatrix/support-slds-2-media-object
stomita Jun 12, 2025
92ba8b4
Merge branch 'support-slds-2' into support-slds-2-tabs
msmx-mnakagawa Jun 12, 2025
8404ed0
Revert "Revert "(Tree): improve a11y""
msmx-mnakagawa Jun 12, 2025
1ac4e09
Revert "Revert "(Tree): update classnames""
msmx-mnakagawa Jun 12, 2025
038b3bb
Revert "Revert "(TreeNode): improve a11y""
msmx-mnakagawa Jun 12, 2025
de41656
Revert "Revert "(TreeNode): update markups""
msmx-mnakagawa Jun 12, 2025
4aee558
Revert "Revert "(TreeNode): revert mistakenly added button size""
msmx-mnakagawa Jun 12, 2025
9c287d1
Revert "Revert "(TreeNode): remove a switch that wouldn't be required""
msmx-mnakagawa Jun 12, 2025
53b0c13
Revert "Revert "(TreeNode): add `title` prop to item label""
msmx-mnakagawa Jun 12, 2025
f69aa7e
Revert "Revert "(TreeNode): remove implicit `title` setting""
msmx-mnakagawa Jun 12, 2025
aaf7222
Revert "Revert "(TreeNode): remove the `aria-hidden` that may prevent…
msmx-mnakagawa Jun 12, 2025
2ad814c
Revert "Revert "(TreeNode): remove `tabIndex`es that differ from the …
msmx-mnakagawa Jun 12, 2025
982b4c7
Merge pull request #462 from mashmatrix/support-slds-2-modal
stomita Jun 12, 2025
5d62cb0
Merge pull request #475 from mashmatrix/support-slds-2-popover
stomita Jun 12, 2025
afd0bc4
Merge pull request #479 from mashmatrix/support-slds-2-tabs
stomita Jun 12, 2025
b11ae01
Merge branch 'support-slds-2' into support-slds-2-form-element-field-set
msmx-mnakagawa Jun 12, 2025
2182d63
(FormElement): rename `htmlFor` with `controlId`
msmx-mnakagawa Jun 12, 2025
a7218a2
Merge branch 'support-slds-2' into support-slds-2-dropdown-menu-dropd…
msmx-mnakagawa Jun 12, 2025
b5009c9
(DropdownButton): rename duprecated `.slds-button-space-left` with `.…
msmx-mnakagawa Jun 12, 2025
42a8b4c
(PageHeader): update markups significantly
msmx-mnakagawa Jun 5, 2025
bdeedbc
Merge branch 'master' into support-slds-2
msmx-mnakagawa Jun 12, 2025
839ab24
Merge branch 'support-slds-2' into support-slds-2-notification
msmx-mnakagawa Jun 12, 2025
4997a59
(Notification): remove duplicated `.slds-assistive-text`
msmx-mnakagawa Jun 12, 2025
791848b
(Notification): split a markup based on its `type`
msmx-mnakagawa Jun 13, 2025
22d4b0f
Merge branch 'master' into support-slds-2
msmx-mnakagawa Jun 13, 2025
831dd05
Merge branch 'support-slds-2' into support-slds-2-notification
msmx-mnakagawa Jun 13, 2025
b3d9288
Merge pull request #466 from mashmatrix/support-slds-2-form-element-f…
stomita Jun 13, 2025
4272771
(Toggle): pass `id` as `controlId`
msmx-mnakagawa May 30, 2025
fa9c314
(Toggle): remove undocumented `aria-live` attribute
msmx-mnakagawa May 30, 2025
000f488
(Toggle): handle `aria-describedby`
msmx-mnakagawa May 30, 2025
6145d4e
(Select): pass `id` as `controlId`
msmx-mnakagawa May 30, 2025
da98ae1
(Select): insert `.slds-select_container` inside the `FormElement`
msmx-mnakagawa May 30, 2025
f8b18fa
(Radio): update markup
msmx-mnakagawa May 30, 2025
4bde0ab
(Checkbox): update markup
msmx-mnakagawa May 30, 2025
8c20590
(Checkbox, CheckboxGroup): handle a11y
msmx-mnakagawa May 30, 2025
d506fe6
(Radio, RadioGroup): improve a11y
msmx-mnakagawa Jun 13, 2025
67c17c8
(Input): improve a11y
msmx-mnakagawa May 30, 2025
571ab0f
(Textarea): update markup for `readOnly`
msmx-mnakagawa May 30, 2025
84094cd
(Textarea): update a classname
msmx-mnakagawa May 30, 2025
aeeaae8
(Textarea): improve a11y
msmx-mnakagawa May 30, 2025
3895a68
(DateInput): pass id as controlId
msmx-mnakagawa Jun 13, 2025
434a501
(DateInput): update classnames
msmx-mnakagawa Jun 3, 2025
d27457c
(DateInput): improve a11y
msmx-mnakagawa Jun 3, 2025
226d03f
(Datepicker): update markups and classnames
msmx-mnakagawa Jun 3, 2025
d2d898d
(Datepicker): improve a11y
msmx-mnakagawa Jun 3, 2025
214c35d
(Picklist): update markups to combobox pattern
msmx-mnakagawa Jun 13, 2025
4dd62f9
(Picklist): update classnames for dropdown sizing
msmx-mnakagawa Jun 4, 2025
18274d8
(Picklist): improve a11y for disabled state
msmx-mnakagawa Jun 4, 2025
6730e1c
(Form): update markups
msmx-mnakagawa Jun 10, 2025
c563045
(Form): apply form type to each form element
msmx-mnakagawa Jun 10, 2025
0746be9
(Icon): add `xx-small` size
msmx-mnakagawa Jun 5, 2025
7dbc121
(Spinner): add `x-small` size
msmx-mnakagawa Jun 5, 2025
0d68f52
(Spinner): add a `layout` prop
msmx-mnakagawa Jun 5, 2025
e761b0e
(Lookup): implement basic SLDS-compliant combobox pattern
msmx-mnakagawa Jun 5, 2025
d69e781
(Lookup): improve accessibility with unified a11y attributes
msmx-mnakagawa Jun 5, 2025
c13b711
(Lookup): implement Multi Entity Lookup with scope selection
msmx-mnakagawa Jun 5, 2025
c7f0cdf
(Lookup): unify Icon component usage with container prop
msmx-mnakagawa Jun 5, 2025
6c2fe84
(Lookup): implement SLDS-compliant selected state markup
msmx-mnakagawa Jun 5, 2025
947a1a2
(Lookup): add iconAlign feature and restore Stories functionality
msmx-mnakagawa Jun 5, 2025
296b514
(Lookup): apply rest updates
msmx-mnakagawa Jun 5, 2025
4edd315
Merge pull request #474 from mashmatrix/support-slds-2-dropdown-menu-…
stomita Jun 17, 2025
b513781
Merge pull request #483 from mashmatrix/support-slds-2-page-header
stomita Jun 17, 2025
3a5ff8b
Merge branch 'support-slds-2' into support-slds-2-input
msmx-mnakagawa Jun 17, 2025
d67ae9d
(Input): use `useId()` as prefixes
msmx-mnakagawa Jun 17, 2025
c0e4280
Merge branch 'support-slds-2' into support-slds-2-toggle
msmx-mnakagawa Jun 17, 2025
6113bbd
(Toggle): revert unnecessary attribute changes
msmx-mnakagawa Jun 17, 2025
01ab0d7
Merge branch 'support-slds-2' into support-slds-2-select
msmx-mnakagawa Jun 17, 2025
a32dd17
(Select): wrap a select element with a container even when no label i…
msmx-mnakagawa Jun 17, 2025
94eae60
Merge branch 'support-slds-2' into support-slds-2-radio-radio-group
msmx-mnakagawa Jun 17, 2025
03449e5
(Radio): pass `id` explicitly to make `label` work fine
msmx-mnakagawa Jun 17, 2025
a27887e
Merge branch 'support-slds-2' into support-slds-2-checkbox-checkbox-g…
msmx-mnakagawa Jun 17, 2025
3a49bac
(Checkbox): pass `id` surely to make `label` work fine
msmx-mnakagawa Jun 17, 2025
21eef39
Merge branch 'support-slds-2' into support-slds-2-textarea
msmx-mnakagawa Jun 17, 2025
78514d5
(Textarea): pass `controlId` instead of `htmlFor`
msmx-mnakagawa Jun 17, 2025
4dc475d
(Textarea): add `htmlReadOnly` prop and a corresponding story, follow…
msmx-mnakagawa Jun 17, 2025
a6aab95
(Textarea): add attributes to the static `Text`, following `Input`
msmx-mnakagawa Jun 17, 2025
5ac7ffe
Merge branch 'support-slds-2' into support-slds-2-date-input-datepicker
msmx-mnakagawa Jun 17, 2025
32b8fca
(DateInput, DatePicker): remove unnecessary a11y attributes
msmx-mnakagawa Jun 17, 2025
c89d412
Merge branch 'support-slds-2' into support-slds-2-picklist
msmx-mnakagawa Jun 17, 2025
5718342
(Picklist): add a `scrollIntoView()` behavoir
msmx-mnakagawa Jun 17, 2025
a4f0c44
(Picklist): refactor to use `optionIdPrefix`
msmx-mnakagawa Jun 17, 2025
54c42eb
Merge branch 'support-slds-2' into support-slds-2-form
msmx-mnakagawa Jun 18, 2025
65b5886
Revert "(Form): apply form type to each form element"
msmx-mnakagawa Jun 18, 2025
f5db4ef
Merge branch 'support-slds-2' into support-slds-2-notification
msmx-mnakagawa Jun 18, 2025
4af32c7
reflect the spec
msmx-mnakagawa Jun 18, 2025
722c222
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jun 18, 2025
610776d
(Picklist): make `getPrevValue()` and `getNextValue()` not wrap around
msmx-mnakagawa Jun 18, 2025
52ff2a4
(Picklist): add Tab / Shift + Tab support
msmx-mnakagawa Jun 18, 2025
1750dd0
(Lookup): make `getPrevValue()` and `getNextValue()` not wrap around
msmx-mnakagawa Jun 18, 2025
2352af6
(Lookup): add Tab / Shift + Tab support
msmx-mnakagawa Jun 18, 2025
87d3bef
(Lookup): add a `scrollIntoView()` behavoir
msmx-mnakagawa Jun 18, 2025
76aaf73
(Lookup): add `onScopeKeyDown()`
msmx-mnakagawa Jun 18, 2025
3c7145a
(Lookup): refactor `scrollIntoView()` logic
msmx-mnakagawa Jun 18, 2025
4dc553d
(Lookup): refactor keyboard handlers
msmx-mnakagawa Jun 19, 2025
20eff7f
(Lookup): tweak icon sizes
msmx-mnakagawa Jun 19, 2025
a3df654
(Lookup): refactor to use `optionIdPrefix`
msmx-mnakagawa Jun 19, 2025
1cf0c6e
(Lookup): add a space key support
msmx-mnakagawa Jun 19, 2025
9f48228
(Lookup): enable skipping selections
msmx-mnakagawa Jun 19, 2025
896364e
Merge pull request #468 from mashmatrix/support-slds-2-select
stomita Jun 19, 2025
356ca4a
Merge branch 'support-slds-2' into support-slds-2-picklist
msmx-mnakagawa Jun 19, 2025
a61c532
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jun 19, 2025
5339bd6
Merge pull request #469 from mashmatrix/support-slds-2-radio-radio-group
stomita Jun 19, 2025
72353ea
Merge pull request #470 from mashmatrix/support-slds-2-checkbox-check…
stomita Jun 19, 2025
927a809
Merge branch 'support-slds-2' into support-slds-2-toggle
msmx-mnakagawa Jun 19, 2025
7636047
Merge branch 'support-slds-2' into support-slds-2-toggle
msmx-mnakagawa Jun 19, 2025
f5c8377
(Toggle): remove unnecessary attributes
msmx-mnakagawa Jun 19, 2025
9cb1257
Merge branch 'support-slds-2' into support-slds-2-input
msmx-mnakagawa Jun 19, 2025
4cb3806
Merge pull request #480 from mashmatrix/support-slds-2-notification
stomita Jun 19, 2025
2014326
Merge pull request #488 from mashmatrix/support-slds-2-form
stomita Jun 19, 2025
432a147
(Input): rename ids more descriptive
msmx-mnakagawa Jun 19, 2025
a86434e
(Input): switch to specify `labelId` based on whether `label` exists
msmx-mnakagawa Jun 19, 2025
7c89da9
(Input): add a fallback for an empty string
msmx-mnakagawa Jun 19, 2025
88f3f0e
Merge branch 'support-slds-2' into support-slds-2-picklist
msmx-mnakagawa Jun 19, 2025
1da593e
use `DropdownMenu` to delegate keyboard handlers
msmx-mnakagawa Jun 19, 2025
2b8cfec
(Lookup): refactor to divide sub components
msmx-mnakagawa Jun 19, 2025
6eadf5e
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jun 19, 2025
ecf43a5
restore the existing implementation as much as possible
msmx-mnakagawa Jun 19, 2025
9742d12
(Input): remove `aria-labelledby` for consistency
msmx-mnakagawa Jun 19, 2025
961c313
(Tree): remove `aria-labelledby` for consistency
msmx-mnakagawa Jun 19, 2025
03633dd
(Tabs): remove `aria-labelledby` for consistency
msmx-mnakagawa Jun 19, 2025
3932ea3
Merge branch 'support-slds-2' into support-slds-2-date-input-datepicker
msmx-mnakagawa Jun 19, 2025
6e27a16
(Datepicker): remove incorrect `aria-multiselectable`
msmx-mnakagawa Jun 19, 2025
13fe21d
(Picklist): remove `aria-labelledby` for concistency
msmx-mnakagawa Jun 19, 2025
5edc2d8
(Lookup): remove `aria-labelledby` for consistency
msmx-mnakagawa Jun 19, 2025
78a7f0f
(Lookup): remove `scopeId` that wouldn't be necessary
msmx-mnakagawa Jun 19, 2025
417ca6e
(Lookup): pass `comboboxId` as `controlId`
msmx-mnakagawa Jun 19, 2025
c92f98e
Merge pull request #472 from mashmatrix/support-slds-2-textarea
stomita Jun 19, 2025
cb5c907
Merge pull request #476 from mashmatrix/support-slds-2-date-input-dat…
stomita Jun 19, 2025
399692e
Merge pull request #467 from mashmatrix/support-slds-2-toggle
stomita Jun 19, 2025
1af6b84
Merge pull request #471 from mashmatrix/support-slds-2-input
stomita Jun 19, 2025
df4398d
Revert "restore the existing implementation as much as possible"
msmx-mnakagawa Jun 19, 2025
dfe1d79
Revert "use `DropdownMenu` to delegate keyboard handlers"
msmx-mnakagawa Jun 19, 2025
e1721e4
(Picklit): simplify scrolling logic
msmx-mnakagawa Jun 19, 2025
0cdebf9
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jun 19, 2025
de94337
(Picklist): enable to open a picklist with `Tab` key
msmx-mnakagawa Jun 19, 2025
4c586c0
(Lookup): tweak keyboeard logic
msmx-mnakagawa Jun 20, 2025
bf62197
(Lookup): put divided components directly
msmx-mnakagawa Jun 20, 2025
2078825
(Lookup): rename `isIgnoreTabNavigation` with `isTabNavigationIgnored`
msmx-mnakagawa Jun 20, 2025
4ef6024
(Lookup): reimplement `createKeyHandler()` with a hook
msmx-mnakagawa Jun 20, 2025
3664759
(Lookup): (scope) mitigate re-rendering by capsulating state changes
msmx-mnakagawa Jun 20, 2025
64c8394
Merge branch 'support-slds-2' into support-slds-2-area-labelledby
msmx-mnakagawa Jun 20, 2025
7ee9d46
Merge pull request #489 from mashmatrix/support-slds-2-area-labelledby
stomita Jun 23, 2025
2bc8eab
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jun 25, 2025
b1edc8a
Merge branch 'support-slds-2' into support-slds-2-picklist
msmx-mnakagawa Jun 25, 2025
906c378
(Picklist): handle deeply nested children
msmx-mnakagawa Jun 26, 2025
1d1e691
(Picklist): consider `disabled`
msmx-mnakagawa Jun 26, 2025
f099a9a
(Picklist): reduce the number of unnecessary recalculation
msmx-mnakagawa Jun 26, 2025
74368a5
(Lookup): show `listHeader` and `listFooter` consistently
msmx-mnakagawa Jun 26, 2025
cbe1da7
(Lookup): pass static classNames statically
msmx-mnakagawa Jun 26, 2025
69dfbf0
(Lookup): memorize `optionValues`
msmx-mnakagawa Jun 26, 2025
4fa28d9
(Lookup): refactor variable names for clarity
msmx-mnakagawa Jun 26, 2025
1e8a52d
Merge pull request #481 from mashmatrix/support-slds-2-picklist
stomita Jul 1, 2025
efbeafc
Merge branch 'support-slds-2' into support-slds-2-lookup
msmx-mnakagawa Jul 1, 2025
d15c4ec
(Lookup): make disabled style for the scope select visible
msmx-mnakagawa Jul 1, 2025
c591e06
Merge pull request #482 from mashmatrix/support-slds-2-lookup
stomita Jul 1, 2025
fdc4e0d
(Icon): update icon types
msmx-mnakagawa Jun 6, 2025
189b004
(Icon): update markups and classnames
msmx-mnakagawa Jun 6, 2025
b05c36d
(Button): update markups and classnames
msmx-mnakagawa Jun 6, 2025
df1c712
(Button): add new button types
msmx-mnakagawa Jun 13, 2025
4e27579
(Button): reflect `iconSize` to `ButtonIcon`
msmx-mnakagawa Jun 13, 2025
096208e
(Button): remove unused classnames
msmx-mnakagawa Jun 13, 2025
90902c8
(Icon): update an interface about `container`
msmx-mnakagawa Jun 13, 2025
b78c6a6
(Icon): improve a category icon classname
msmx-mnakagawa Jun 13, 2025
73109a9
(Icon): add `title`, `currentColor`, and `flip` props
msmx-mnakagawa Jun 13, 2025
1d538cc
(Icon, Button): remove unnecessary `eslint-disable-` comments
msmx-mnakagawa Jul 2, 2025
9ea3e18
(Icon): update a naming convention
msmx-mnakagawa Jul 2, 2025
dd31946
(Datepicker): remove unnecessary `eslint-disable-` comments
msmx-mnakagawa Jul 2, 2025
2938aa7
(Modal): remove an unnecessary `eslint-disable-` comment
msmx-mnakagawa Jul 2, 2025
87ab6e1
Revert "(Icon): update icon types"
msmx-mnakagawa Jul 3, 2025
288d955
(Icon, Button): unify `SvgButtonIcon` with `SvgIcon`
msmx-mnakagawa Jul 3, 2025
ca09ade
Merge pull request #490 from mashmatrix/support-slds-2-remove-eslint-…
stomita Jul 3, 2025
ef99975
(Icon): reflect interface update to stories
msmx-mnakagawa Jul 3, 2025
5a141a3
Merge branch 'support-slds-2' into support-slds-2-icon-button
msmx-mnakagawa Jul 3, 2025
49a0628
(Button): change the order of properties
msmx-mnakagawa Jul 7, 2025
da113a2
(Icon): replace `circleContainer` with `container`
msmx-mnakagawa Jul 7, 2025
8235e6f
(Icon): make `textColor` and `currentColor` mutually exclusive
msmx-mnakagawa Jul 7, 2025
9bef3e3
(Icon): add the `Current Color` story
msmx-mnakagawa Jul 7, 2025
f57f21b
(Icon): unify the `label` into the `title`
msmx-mnakagawa Jul 7, 2025
893d631
remove duplicated type definitions
msmx-mnakagawa Jul 9, 2025
bf49d8d
Merge pull request #486 from mashmatrix/support-slds-2-icon-button
stomita Jul 10, 2025
6f74822
(Icon): avoid deprecated classnames
msmx-mnakagawa Jul 10, 2025
3477d9c
(Picklist): restore the `buttonRef` prop
msmx-mnakagawa Jul 10, 2025
43d6fec
(Button): remove unnecessary `icon-bare` type
msmx-mnakagawa Jul 10, 2025
8cd9535
(Utility): replace deprecated margin and padding utilities
msmx-mnakagawa Jul 10, 2025
6fa01be
(Datepicker): replace deprecated `slds-disabled-text` with `slds-colo…
msmx-mnakagawa Jul 10, 2025
e47e581
(Icon): avoid applying unused classname `slds-icon_medium`
msmx-mnakagawa Jul 10, 2025
bb7a287
(Lookup): remove unused classnames
msmx-mnakagawa Jul 10, 2025
11b4bdb
Revert "(Lookup): remove unused classnames"
msmx-mnakagawa Jul 10, 2025
9a84e05
(Picklist): normalize markups around `Icon`
msmx-mnakagawa Jul 10, 2025
3d1e26c
(Picklist): restore the `icon` prop
msmx-mnakagawa Jul 11, 2025
8309f9e
(Picklist): restore the `divider` prop
msmx-mnakagawa Jul 11, 2025
9d8c620
(Picklist): rename `buttonRef` with `inputRef`
msmx-mnakagawa Jul 18, 2025
38195da
(Picklist): restore the `onClick` prop
msmx-mnakagawa Jul 14, 2025
35a62a5
(Picklist): restore the `iconRight` prop
msmx-mnakagawa Jul 15, 2025
5fd7aff
(Button): pass `alt` prop only as `title`
msmx-mnakagawa Jul 14, 2025
aa76ab8
(Tabs): add the `alt` prop instead of the `title`
msmx-mnakagawa Jul 15, 2025
55a4b06
(Notificaion): apply `currentColor`
msmx-mnakagawa Jul 15, 2025
6190e69
(Picklist): introduce `AutoAlign`
msmx-mnakagawa Jul 14, 2025
7182b28
(Picklist): remove the number of selected values from the label
msmx-mnakagawa Jul 16, 2025
93fc5c2
(Picklist): escape all the selector string
msmx-mnakagawa Jul 16, 2025
9bef1d0
(Picklist): add `.react-slds-picklist`
msmx-mnakagawa Jul 15, 2025
7c8508d
(Picklist): add `useInitComponentStyle()`
msmx-mnakagawa Jul 18, 2025
54a688e
(Lookup): introduce `AutoAlign`
msmx-mnakagawa Jul 15, 2025
6900cfe
(Lookup): execute `onLookupRequest()` as the `master` branch
msmx-mnakagawa Jul 16, 2025
1c78f20
(Lookup): set the initial scope
msmx-mnakagawa Jul 18, 2025
44a10e3
(Lookup): use scope value instead of its label
msmx-mnakagawa Jul 18, 2025
7ddfb0f
(Lookup): introduce `onSearchIconClick`
msmx-mnakagawa Jul 18, 2025
41aaf78
(Lookup): manage when to run `onComplete()`
msmx-mnakagawa Jul 18, 2025
39a307d
(Lookup): add `.react-slds-lookup`
msmx-mnakagawa Jul 15, 2025
6b0c318
(Lookup): add `useInitComponentStyle()`
msmx-mnakagawa Jul 18, 2025
1520924
(Button): restrict when to show `title` attribute
msmx-mnakagawa Jul 18, 2025
1c6f3ad
Merge pull request #492 from mashmatrix/support-slds-2-restore-props
stomita Jul 18, 2025
dc3937f
Merge branch 'support-slds-2' into fix-issues-with-external-app
msmx-mnakagawa Jul 18, 2025
0cd2296
Revert "(Utility): replace deprecated margin and padding utilities"
msmx-mnakagawa Jul 18, 2025
c2ef2c8
(Picklist): reconfigure props around `AutoAlign`
msmx-mnakagawa Jul 18, 2025
b3ceb0c
(Lookup): reconfigure props around `AutoAlign`
msmx-mnakagawa Jul 18, 2025
a498bec
(Picklist, Lookup): resolve VRT issues
msmx-mnakagawa Jul 21, 2025
b5235cd
Merge branch 'support-slds-2' into support-slds-2-apply-slds-linter
msmx-mnakagawa Jul 23, 2025
55fa1e9
Revert "(Icon): avoid deprecated classnames"
msmx-mnakagawa Jul 23, 2025
28744b8
(Datepicker): apply `slds-day_adjacent-month` to disabled dates as well
msmx-mnakagawa Jul 23, 2025
bf33bee
Merge pull request #491 from mashmatrix/support-slds-2-apply-slds-linter
stomita Jul 23, 2025
3ffebf0
Merge branch 'support-slds-2' into fix-issues-with-external-app
msmx-mnakagawa Jul 23, 2025
792a256
Revert "(Picklist): add `useInitComponentStyle()`"
msmx-mnakagawa Jul 24, 2025
a14a2d6
(Picklist, Lookup): reflect `alignment`
msmx-mnakagawa Jul 24, 2025
e4fa298
Merge pull request #493 from mashmatrix/fix-issues-with-external-app
stomita Jul 24, 2025
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
15 changes: 12 additions & 3 deletions src/scripts/Badge.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,25 @@ import classnames from 'classnames';
*
*/
export type BadgeProps = {
type?: 'default' | 'shade' | 'inverse';
type?: 'inverse' | 'lightest' | 'success' | 'warning' | 'error';
label?: string;
} & HTMLAttributes<HTMLSpanElement>;

/**
*
*/
export const Badge: FC<BadgeProps> = ({ type, label, ...props }) => {
const typeClassName = type ? `slds-theme_${type}` : null;
const badgeClassNames = classnames('slds-badge', typeClassName);
const typeClassName = /^(inverse|lightest)$/.test(type ?? '')
? `slds-badge_${type}`
: null;
const themeClassName = /^(success|warning|error)$/.test(type ?? '')
? `slds-theme_${type}`
: null;
const badgeClassNames = classnames(
'slds-badge',
typeClassName,
themeClassName
);
return (
<span className={badgeClassNames} {...props}>
{label || props.children}
Expand Down
25 changes: 7 additions & 18 deletions src/scripts/BreadCrumbs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ export const Crumb: FC<CrumbProps> = ({
...props
}) => {
const text = children;
const cClassName = classnames(
'slds-list__item slds-text-heading_label',
className
);
const cClassName = classnames('slds-breadcrumb__item', className);

return (
<li {...props} className={cClassName}>
Expand All @@ -33,34 +30,26 @@ export const Crumb: FC<CrumbProps> = ({
/**
*
*/
export type BreadCrumbsProps = {
label?: string;
} & HTMLAttributes<HTMLElement>;
export type BreadCrumbsProps = HTMLAttributes<HTMLElement>;

/**
*
*/
export const BreadCrumbs: FC<BreadCrumbsProps> = ({
label,
className,
children,
...props
}) => {
const oClassName = classnames(
'slds-breadcrumb slds-list_horizontal',
'slds-breadcrumb',
'slds-list_horizontal',
'slds-wrap',
className
);

return (
<nav {...props} role='navigation'>
{label ? (
<p id='bread-crumb-label' className='slds-assistive-text'>
{label}
</p>
) : null}
<ol className={oClassName} aria-labelledby='bread-crumb-label'>
{children}
</ol>
<nav {...props} role='navigation' aria-label='Breadcrumbs'>
<ol className={oClassName}>{children}</ol>
</nav>
);
};
50 changes: 25 additions & 25 deletions src/scripts/Button.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import React, { FC, ReactNode, ButtonHTMLAttributes, Ref, useRef } from 'react';
import classnames from 'classnames';
import { Icon } from './Icon';
import { SvgIcon, IconCategory } from './Icon';
import { Spinner } from './Spinner';
import { useEventCallback, useMergeRefs } from './hooks';

export type ButtonType =
| 'neutral'
| 'brand'
| 'outline-brand'
| 'destructive'
| 'text-destructive'
| 'success'
| 'inverse'
| 'icon'
| 'icon-bare'
| 'icon-container'
| 'icon-inverse'
| 'icon-more'
Expand All @@ -31,6 +33,7 @@ export type ButtonIconMoreSize = 'x-small' | 'small' | 'medium' | 'large';
*/
export type ButtonIconProps = {
className?: string;
category?: IconCategory;
icon: string;
align?: ButtonIconAlign;
size?: ButtonIconSize;
Expand All @@ -43,9 +46,9 @@ export type ButtonIconProps = {
*/
export const ButtonIcon: FC<ButtonIconProps> = ({
icon,
category = 'utility',
align,
size,
inverse,
className,
style,
...props
Expand All @@ -56,19 +59,22 @@ export const ButtonIcon: FC<ButtonIconProps> = ({
: null;
const sizeClassName =
size && ICON_SIZES.indexOf(size) >= 0 ? `slds-button__icon_${size}` : null;
const inverseClassName = inverse ? 'slds-button__icon_inverse' : null;
const iconClassNames = classnames(
'slds-button__icon',
alignClassName,
sizeClassName,
inverseClassName,
className
);

if (icon.indexOf(':') > 0) {
[category, icon] = icon.split(':') as [IconCategory, string];
}

return (
<Icon
<SvgIcon
className={iconClassNames}
icon={icon}
textColor={null}
category={category}
pointerEvents='none'
style={style}
{...props}
Expand Down Expand Up @@ -118,6 +124,7 @@ export const Button: FC<ButtonProps> = (props) => {
buttonRef: buttonRef_,
iconMoreSize: iconMoreSize_,
onClick: onClick_,
tabIndex,
...rprops
} = props;

Expand All @@ -135,19 +142,24 @@ export const Button: FC<ButtonProps> = (props) => {
onClick_?.(e);
});

const content = children || label;
const isIconOnly = type && /^icon-/.test(type) && icon && !content;

const typeClassName = type ? `slds-button_${type}` : null;
const btnClassNames = classnames(className, 'slds-button', typeClassName, {
'slds-is-selected': selected,
['slds-button_icon']: /^icon-/.test(type ?? ''),
[`slds-button_icon-${size ?? ''}`]:
/^(x-small|small)$/.test(size ?? '') && /^icon-/.test(type ?? ''),
});

const buttonContent = (
// eslint-disable-next-line react/button-has-type
return (
<button
ref={buttonRef}
className={btnClassNames}
type={htmlType}
title={isIconOnly || alt ? alt : undefined}
tabIndex={tabIndex ?? -1}
{...rprops}
onClick={onClick}
>
Expand All @@ -159,7 +171,7 @@ export const Button: FC<ButtonProps> = (props) => {
inverse={inverse}
/>
) : undefined}
{children || label}
{content}
{icon && iconAlign === 'right' ? (
<ButtonIcon
icon={icon}
Expand All @@ -171,22 +183,10 @@ export const Button: FC<ButtonProps> = (props) => {
{iconMore ? (
<ButtonIcon icon={iconMore} align='right' size={iconMoreSize} />
) : undefined}
{alt ? <span className='slds-assistive-text'>{alt}</span> : undefined}
{isIconOnly || alt ? (
<span className='slds-assistive-text'>{alt ?? icon}</span>
) : undefined}
{loading ? <Spinner /> : undefined}
</button>
);

if (props.tabIndex != null) {
return (
<span
className='react-slds-button-focus-wrapper'
style={{ outline: 0 }}
tabIndex={-1}
>
{buttonContent}
</span>
);
}

return buttonContent;
};
31 changes: 22 additions & 9 deletions src/scripts/Checkbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ import React, {
FC,
InputHTMLAttributes,
Ref,
useId,
useContext,
ReactNode,
} from 'react';
import classnames from 'classnames';
import { FormElement, FormElementProps } from './FormElement';
import { FormElement } from './FormElement';
import { CheckboxGroupContext, CheckboxValueType } from './CheckboxGroup';

/**
Expand All @@ -15,7 +16,6 @@ import { CheckboxGroupContext, CheckboxValueType } from './CheckboxGroup';
export type CheckboxProps = {
label?: string;
required?: boolean;
error?: FormElementProps['error'];
cols?: number;
name?: string;
value?: CheckboxValueType;
Expand All @@ -33,10 +33,10 @@ export type CheckboxProps = {
export const Checkbox: FC<CheckboxProps> = (props) => {
const {
type, // eslint-disable-line @typescript-eslint/no-unused-vars
id: id_,
className,
label,
required,
error,
cols,
tooltip,
tooltipIcon,
Expand All @@ -45,22 +45,35 @@ export const Checkbox: FC<CheckboxProps> = (props) => {
children,
...rprops
} = props;
const { grouped } = useContext(CheckboxGroupContext);

const prefix = useId();
const id = id_ ?? `${prefix}-id`;

const { grouped, error, errorId } = useContext(CheckboxGroupContext);
const formElemProps = {
required,
error,
errorId,
cols,
tooltip,
tooltipIcon,
elementRef,
};
const checkClassNames = classnames(className, 'slds-checkbox');
const check = (
<label className={checkClassNames}>
<input ref={inputRef} type='checkbox' {...rprops} />
<span className='slds-checkbox_faux' />
<span className='slds-form-element__label'>{label || children}</span>
</label>
<div className={checkClassNames}>
<input
ref={inputRef}
type='checkbox'
{...rprops}
id={id}
aria-describedby={error ? errorId : undefined}
/>
<label className='slds-checkbox__label' htmlFor={id}>
<span className='slds-checkbox_faux' />
<span className='slds-form-element__label'>{label || children}</span>
</label>
</div>
);
return grouped ? (
check
Expand Down
24 changes: 20 additions & 4 deletions src/scripts/CheckboxGroup.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React, {
useId,
createContext,
FieldsetHTMLAttributes,
Ref,
Expand All @@ -23,7 +24,11 @@ export type CheckboxValueType = string | number;
/**
*
*/
export const CheckboxGroupContext = createContext<{ grouped?: boolean }>({});
export const CheckboxGroupContext = createContext<{
grouped?: boolean;
error?: FormElementProps['error'];
errorId?: string;
}>({});

/**
*
Expand Down Expand Up @@ -107,19 +112,25 @@ export const CheckboxGroup = createFC<
? error.message
: undefined
: undefined;
const grpCtx = useMemo(() => ({ grouped: true }), []);

const errorId = useId();
const grpCtx = useMemo(
() => ({ grouped: true, error, errorId }),
[error, errorId]
);

return (
<fieldset
ref={elementRef}
className={grpClassNames}
style={grpStyles}
aria-required={required}
{...rprops}
onChange={onChange}
>
<legend className='slds-form-element__label'>
{required ? (
<abbr className='slds-required' title='required'>
<abbr className='slds-required' title='required' aria-hidden='true'>
*
</abbr>
) : undefined}
Expand All @@ -135,7 +146,12 @@ export const CheckboxGroup = createFC<
{children}
</CheckboxGroupContext.Provider>
{errorMessage ? (
<div className='slds-form-element__help'>{errorMessage}</div>
<div
className='slds-form-element__help'
id={error ? errorId : undefined}
>
{errorMessage}
</div>
) : undefined}
</div>
</fieldset>
Expand Down
13 changes: 11 additions & 2 deletions src/scripts/DateInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ export const DateInput = createFC<DateInputProps, { isFormElement: boolean }>(
});

const formElemProps = {
id,
controlId: id,
cols,
label,
required,
Expand All @@ -333,7 +333,16 @@ export const DateInput = createFC<DateInputProps, { isFormElement: boolean }>(
};
return (
<FormElement {...formElemProps}>
<div className={classnames(className, 'slds-dropdown-trigger')}>
<div
className={classnames(
className,
'slds-dropdown-trigger',
'slds-dropdown-trigger_click',
{
'slds-is-open': opened,
}
)}
>
<div className='slds-input-has-icon slds-input-has-icon_right'>
<Input
inputRef={inputRef}
Expand Down
Loading