Skip to content
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

[Select] Create new Select component #541

Merged
merged 206 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
9e95278
[feat] Create new Select component
atomiks Aug 15, 2024
7895e31
Add selection logic
atomiks Aug 15, 2024
205882c
Remove a11y route
atomiks Aug 15, 2024
af57963
Add inner anchoring
atomiks Aug 16, 2024
2d69dd2
Fallback positioning, Backdrop and ItemIndicator components, tests
atomiks Aug 19, 2024
e181312
Update items traversal
atomiks Aug 19, 2024
8a49b3d
Fix lint
atomiks Aug 23, 2024
aa4316b
Add grouping
atomiks Aug 26, 2024
21a75d0
Rename components, handle default value
atomiks Aug 26, 2024
791ed28
Select.Value, fix anchoring issue
atomiks Aug 26, 2024
0bff94a
Add Field integration
atomiks Aug 27, 2024
4f413f6
Fix Select.Option
atomiks Aug 27, 2024
6120919
Use label for Select.Value
atomiks Aug 27, 2024
2cbcaa4
Improve touch usage
atomiks Aug 27, 2024
bb26349
Keep ancestorResize without anchor tracking
atomiks Aug 27, 2024
474d522
Update Select.Trigger instanceof test
atomiks Aug 27, 2024
8886039
Add Select.ScrollArrow
atomiks Aug 28, 2024
141a22d
Reorder namespace type
atomiks Aug 28, 2024
520aab4
Avoid issues
atomiks Aug 28, 2024
364a134
Update
atomiks Aug 30, 2024
7b7e102
Update APIs
atomiks Sep 2, 2024
822a6b6
Update fallback positioning and demos
atomiks Sep 2, 2024
df691d3
Allow instant selection of non-selected items
atomiks Sep 2, 2024
5d78aef
Change option mounting strategy
atomiks Sep 2, 2024
d736ac5
Fix selectionRef type
atomiks Sep 2, 2024
8d34e7e
Update APIs
atomiks Sep 4, 2024
ee45776
Add Icon, Arrow components
atomiks Sep 5, 2024
da16d71
Codegen
atomiks Sep 5, 2024
30cdc2d
Fix lint
atomiks Sep 5, 2024
e668001
Update Field tests
atomiks Sep 5, 2024
3c55cc9
Skip Select in JSDOM
atomiks Sep 5, 2024
6bb7adc
Fix tests
atomiks Sep 5, 2024
8fc81d2
Add ResizeObserver mock
atomiks Sep 5, 2024
b1d0abf
Remove log
atomiks Sep 5, 2024
5e0e019
Fix alignMethod checks
atomiks Sep 5, 2024
e367c59
Fix tests and lint
atomiks Sep 5, 2024
8c21e76
Fix ResizeObserver/IntersectionObserver in JSDOM
atomiks Sep 5, 2024
b253615
Remove mock
atomiks Sep 5, 2024
8be2400
Remove eslint-disable
atomiks Sep 5, 2024
a7f23dd
Codegen
atomiks Sep 6, 2024
c519832
Move to new docs
atomiks Sep 6, 2024
7082bb1
Add OptionText subcomponent
atomiks Sep 6, 2024
3ccac6a
Avoid optionTextOffset for inert positioning
atomiks Sep 6, 2024
5d6fc6f
Tests
atomiks Sep 6, 2024
fb91223
Remove pages/
atomiks Sep 6, 2024
2ba2430
Fix caret based on direction
atomiks Sep 6, 2024
b1109f9
Misc fixes, docs updates
atomiks Sep 9, 2024
ee6309e
Fix type
atomiks Sep 9, 2024
89d5ab0
Fix test dupes
atomiks Sep 9, 2024
12963d0
Fix test assertion
atomiks Sep 9, 2024
6161640
Fix useInnerOffset enabled check
atomiks Sep 9, 2024
4f73953
Fix tests
atomiks Sep 9, 2024
ae5f9e7
API updates
atomiks Sep 10, 2024
729144e
Update APIs
atomiks Sep 11, 2024
466cf5f
Fix test
atomiks Sep 11, 2024
4b52e46
Fix null default
atomiks Sep 11, 2024
3bf30e2
Docs, fixes
atomiks Sep 11, 2024
f2d8fa8
Fix prop-type
atomiks Sep 11, 2024
4bacbba
Update anatomy
atomiks Sep 11, 2024
d0d05f9
Handle async innerOffset scroll arrow visibility change
atomiks Sep 12, 2024
6819424
Add waitFor for real browsers
atomiks Sep 12, 2024
e6b7112
Add placeholder in test
atomiks Sep 12, 2024
3c0a89f
Update SelectIntroduction component name
atomiks Sep 12, 2024
1874309
Skip Enter test out of jsdom
atomiks Sep 12, 2024
2cdb698
Force fixed strategy when item-aligned
atomiks Sep 12, 2024
fb65c17
Integrate useField
atomiks Sep 17, 2024
cb70b43
Styles fixes
atomiks Sep 19, 2024
1a48ffd
Export Select
atomiks Sep 19, 2024
dded295
Update packages/mui-base/src/Select/OptionText/SelectOptionText.tsx
atomiks Sep 20, 2024
bec5433
Update packages/mui-base/src/Select/Icon/SelectIcon.tsx
atomiks Sep 20, 2024
023897e
Update packages/mui-base/src/Select/Separator/SelectSeparator.tsx
atomiks Sep 20, 2024
a1b13e7
Update packages/mui-base/src/Select/Value/SelectValue.tsx
atomiks Sep 20, 2024
5866810
Update packages/mui-base/src/Field/Root/FieldRoot.test.tsx
atomiks Sep 20, 2024
8e94ee6
Feedback
atomiks Sep 24, 2024
077ff0b
Generic Value type
atomiks Oct 1, 2024
493755e
Use Separator Root
atomiks Oct 1, 2024
06c22a5
Update
atomiks Oct 2, 2024
aad9cb9
SelectAlign demo
atomiks Oct 2, 2024
b2ef0a6
Dedupe
atomiks Oct 2, 2024
e738ac4
Remove Test
atomiks Oct 2, 2024
bdbe913
Update useButton hook usage
atomiks Oct 2, 2024
7f27eb3
Feedback
atomiks Oct 3, 2024
ffc92e9
Remove userEvent import
atomiks Oct 3, 2024
84b67b4
Handle browser autofill
atomiks Oct 3, 2024
70aa91c
Merge branch 'master' into feat/Select
atomiks Oct 3, 2024
c5716ab
Use getInertValue
atomiks Oct 3, 2024
457a249
Use render user
atomiks Oct 3, 2024
62d0bfd
Use generic interface
atomiks Oct 9, 2024
3a29e47
Merge branch 'master' into feat/Select
atomiks Oct 9, 2024
c0d6f36
Rename positionStrategy
atomiks Oct 9, 2024
f388d06
Type SelectRoot
atomiks Oct 9, 2024
f83840e
Invert inert
atomiks Oct 9, 2024
93c64a1
Fix object value warning
atomiks Oct 11, 2024
1ef2828
Handle null default value
atomiks Oct 14, 2024
022163d
Merge branch 'master' into feat/Select
atomiks Oct 14, 2024
865fc54
Merge remote-tracking branch 'upstream/master' into feat/Select
atomiks Oct 14, 2024
6852100
Merge branch 'master' into feat/Select
atomiks Oct 14, 2024
cccd3b2
Migrate new exports
atomiks Oct 14, 2024
730f6f2
Adjust positioning
atomiks Oct 15, 2024
f501553
Await 1 tick
atomiks Oct 15, 2024
b5fbe58
Use new context pattern
atomiks Oct 15, 2024
d0f9114
Specify defaults in context
atomiks Oct 15, 2024
53c3120
Change context error messages
atomiks Oct 15, 2024
d711578
Fix SelectRoot tests
atomiks Oct 15, 2024
de962c9
queryByRole
atomiks Oct 15, 2024
b1b88ad
Remove userEvent
atomiks Oct 15, 2024
e6f8a3c
findByRole
atomiks Oct 15, 2024
8965afd
Use option var
atomiks Oct 15, 2024
b8ffad0
Remove waitFor
atomiks Oct 15, 2024
5fd7cc9
Try user.click
atomiks Oct 15, 2024
10cabac
Merge remote-tracking branch 'upstream/master' into feat/Select
atomiks Oct 15, 2024
9684ce0
Skip flaky test
atomiks Oct 15, 2024
493be36
Feedback
atomiks Oct 17, 2024
857f476
Small comment
atomiks Oct 17, 2024
852bd3d
Fix Firefox close on mousedown
atomiks Oct 20, 2024
4855be2
Comment out SelectRoot tests
atomiks Oct 20, 2024
0ac906f
Comment out SelectOption tests
atomiks Oct 20, 2024
3ed69fc
Add tests back
atomiks Oct 20, 2024
261f40b
Merge remote-tracking branch 'upstream/master' into feat/Select
atomiks Oct 20, 2024
a316697
Mark internal
atomiks Oct 20, 2024
b730c73
Debug tests
atomiks Oct 20, 2024
a2ecbc0
Debug tests
atomiks Oct 21, 2024
cd46dee
Debug tests
atomiks Oct 21, 2024
01a5bb8
Debug tests
atomiks Oct 21, 2024
62c7d80
Debug tests
atomiks Oct 21, 2024
cf6e746
Debug tests
atomiks Oct 21, 2024
7107ab0
Debug tests
atomiks Oct 21, 2024
dbf134e
Debug tests
atomiks Oct 21, 2024
5f8d41a
Ignore Firefox
atomiks Oct 21, 2024
d4144dc
Debug tests
atomiks Oct 21, 2024
dc96487
Debug tests
atomiks Oct 21, 2024
95576f8
Regen SelectOption
atomiks Oct 21, 2024
ed586f8
Trigger CI
atomiks Oct 21, 2024
90b4b8e
Undo wrapper
atomiks Oct 21, 2024
7c827bf
Reapply wrapper
atomiks Oct 21, 2024
3011201
Refactor data-select to popup attributes
atomiks Oct 21, 2024
b3f2ccc
Fix tests
atomiks Oct 30, 2024
0e2218d
Update tests
atomiks Oct 30, 2024
0dbb2eb
Fix positioning
atomiks Oct 30, 2024
d6b97ec
Lockfile
atomiks Oct 30, 2024
cf91374
Dedupe
atomiks Oct 30, 2024
58acac8
Trigger CI
atomiks Oct 30, 2024
731f72d
Revert flaky test
atomiks Oct 30, 2024
c891c74
Fix fallbackChange loop
atomiks Oct 31, 2024
5d05b05
Amend comment
atomiks Oct 31, 2024
3ea318e
Remove guard
atomiks Oct 31, 2024
687ead5
Fix resize not clearing scroll lock
atomiks Oct 31, 2024
f6c0a3f
Trigger CI
atomiks Oct 31, 2024
4225fea
Remove unused code paths
atomiks Oct 31, 2024
5ef3f4f
Merge branch 'master' into feat/Select
atomiks Oct 31, 2024
9e6a925
Fix lockfile
atomiks Oct 31, 2024
946bfb0
Types
atomiks Nov 1, 2024
f1bd4c1
Fix types
atomiks Nov 1, 2024
0dc3229
Update
atomiks Nov 1, 2024
8e90dd5
Remove incorrect assertion
atomiks Nov 1, 2024
3407b07
Add perf experiment
atomiks Nov 1, 2024
2c6e832
Select perf
atomiks Nov 1, 2024
efc9d52
Select perf 2
atomiks Nov 6, 2024
94f9967
Select perf 3
atomiks Nov 6, 2024
474bbb7
Same perf demo
atomiks Nov 6, 2024
b8813a7
Select perf 4
atomiks Nov 7, 2024
013a1c9
Merge branch 'master' into feat/Select
atomiks Nov 7, 2024
5d09cf6
Fix lockfile
atomiks Nov 7, 2024
3740690
Codegen
atomiks Nov 7, 2024
112fc39
Fix docs dependencies
atomiks Nov 7, 2024
74e0086
Fix tests
atomiks Nov 7, 2024
e43e691
Revert docs change
atomiks Nov 7, 2024
dcb7521
Sync filetypes
atomiks Nov 7, 2024
1e166e9
Bug fixes
atomiks Nov 7, 2024
c5fe93c
Fix tabindex bug
atomiks Nov 7, 2024
544a053
Fix test assertion
atomiks Nov 7, 2024
e87c1ea
Fix SelectOption tests
atomiks Nov 7, 2024
f9e5930
Fix scroll arrow visibility
atomiks Nov 7, 2024
c79bcac
Bug fixes
atomiks Nov 8, 2024
489aee7
Refactor props for docs API extraction
atomiks Nov 8, 2024
ff9278e
Support alignOptionToTrigger fallback mode
atomiks Nov 8, 2024
1a2d577
Merge branch 'master' into feat/Select
atomiks Nov 8, 2024
49055f2
Bug fixes
atomiks Nov 8, 2024
3594546
Prevent re-render on initial scroll
atomiks Nov 8, 2024
027b879
Bug fixes
atomiks Nov 10, 2024
cfd185a
Bug fixes
atomiks Nov 11, 2024
686b6bd
Merge branch 'master' into feat/Select
atomiks Nov 11, 2024
11f4658
Lockfile
atomiks Nov 11, 2024
ca155d8
Dedupe
atomiks Nov 11, 2024
306f317
Remove Radix demo
atomiks Nov 11, 2024
e4333ca
Dedupe
atomiks Nov 11, 2024
0cd7c69
Lockfile
atomiks Nov 11, 2024
1c2747c
Lockfile
atomiks Nov 11, 2024
cf5ce84
Fix proptypes
atomiks Nov 11, 2024
9e6981b
Update @floating-ui/dom
atomiks Nov 11, 2024
8611e4e
Dedupe
atomiks Nov 11, 2024
8b8d90f
Skip flaky test
atomiks Nov 11, 2024
40c0027
Fix test skip
atomiks Nov 11, 2024
f6d490c
Remove onClick
atomiks Nov 11, 2024
2a52e89
Bug fixes
atomiks Nov 11, 2024
4c7301c
Refactor
atomiks Nov 11, 2024
a28965d
Remove alignOptionToTriggerRaw
atomiks Nov 11, 2024
2f80477
Merge branch 'master' into feat/Select
atomiks Nov 13, 2024
3bfd7e4
Feedback
atomiks Nov 13, 2024
6199f10
Bug fixes
atomiks Nov 13, 2024
0d5b0f3
Match default collision padding
atomiks Nov 14, 2024
f4483b7
Remove MAX_Z_INDEX
atomiks Nov 14, 2024
d8f6613
Merge branch 'master' into feat/Select
atomiks Nov 14, 2024
684a831
Manually set z-indices
atomiks Nov 14, 2024
56e6e98
Fix FieldRoot test locally
atomiks Nov 14, 2024
18ef2e8
Fix onMatch closed typeahead value setting
atomiks Nov 14, 2024
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
18 changes: 18 additions & 0 deletions docs/data/api/select-arrow.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"hideWhenUncentered": { "type": { "name": "bool" }, "default": "false" },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectArrow",
"imports": ["import { Select } from '@base_ui/react/Select';\nconst SelectArrow = Select.Arrow;"],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectArrow",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Arrow/SelectArrow.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
24 changes: 24 additions & 0 deletions docs/data/api/select-backdrop.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"container": {
"type": { "name": "union", "description": "HTML element<br>&#124;&nbsp;func" },
"default": "false"
},
"keepMounted": { "type": { "name": "bool" }, "default": "false" },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectBackdrop",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectBackdrop = Select.Backdrop;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectBackdrop",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Backdrop/SelectBackdrop.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
19 changes: 19 additions & 0 deletions docs/data/api/select-group-label.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectGroupLabel",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectGroupLabel = Select.GroupLabel;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectGroupLabel",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/GroupLabel/SelectGroupLabel.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
17 changes: 17 additions & 0 deletions docs/data/api/select-group.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectGroup",
"imports": ["import { Select } from '@base_ui/react/Select';\nconst SelectGroup = Select.Group;"],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectGroup",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Group/SelectGroup.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
17 changes: 17 additions & 0 deletions docs/data/api/select-icon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectIcon",
"imports": ["import { Select } from '@base_ui/react/Select';\nconst SelectIcon = Select.Icon;"],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectIcon",
"forwardsRefTo": "HTMLSpanElement",
"filename": "/packages/mui-base/src/Select/Icon/SelectIcon.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
19 changes: 19 additions & 0 deletions docs/data/api/select-option-group-label.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectOptionGroupLabel",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectOptionGroupLabel = Select.OptionGroupLabel;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectOptionGroupLabel",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/OptionGroupLabel/SelectOptionGroupLabel.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
19 changes: 19 additions & 0 deletions docs/data/api/select-option-group.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectOptionGroup",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectOptionGroup = Select.OptionGroup;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectOptionGroup",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/OptionGroup/SelectOptionGroup.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
20 changes: 20 additions & 0 deletions docs/data/api/select-option-indicator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"keepMounted": { "type": { "name": "bool" }, "default": "false" },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectOptionIndicator",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectOptionIndicator = Select.OptionIndicator;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectOptionIndicator",
"forwardsRefTo": "HTMLSpanElement",
"filename": "/packages/mui-base/src/Select/OptionIndicator/SelectOptionIndicator.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
16 changes: 16 additions & 0 deletions docs/data/api/select-option-text.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"props": {},
"name": "SelectOptionText",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectOptionText = Select.OptionText;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectOptionText",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/OptionText/SelectOptionText.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
20 changes: 20 additions & 0 deletions docs/data/api/select-option.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"props": {
"disabled": { "type": { "name": "bool" }, "default": "false" },
"label": { "type": { "name": "string" } },
"value": { "type": { "name": "any" }, "default": "null" }
},
"name": "SelectOption",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectOption = Select.Option;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectOption",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Option/SelectOption.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
18 changes: 18 additions & 0 deletions docs/data/api/select-popup.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"id": { "type": { "name": "string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectPopup",
"imports": ["import { Select } from '@base_ui/react/Select';\nconst SelectPopup = Select.Popup;"],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectPopup",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Popup/SelectPopup.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
69 changes: 69 additions & 0 deletions docs/data/api/select-positioner.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"props": {
"alignment": {
"type": {
"name": "enum",
"description": "'center'<br>&#124;&nbsp;'end'<br>&#124;&nbsp;'start'"
},
"default": "'start'"
},
"alignmentOffset": { "type": { "name": "number" }, "default": "0" },
"anchor": {
"type": {
"name": "union",
"description": "(props, propName) => {\n if (props[propName] == null) {\n return new Error(`Prop '${propName}' is required but wasn't specified`);\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n}<br>&#124;&nbsp;func<br>&#124;&nbsp;{ contextElement?: (props, propName) => {\n if (props[propName] == null) {\n return null;\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n}, getBoundingClientRect: func, getClientRects?: func }<br>&#124;&nbsp;{ current?: (props, propName) => {\n if (props[propName] == null) {\n return null;\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n} }"
}
},
"arrowPadding": { "type": { "name": "number" }, "default": "5" },
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"collisionBoundary": {
"type": {
"name": "union",
"description": "'clippingAncestors'<br>&#124;&nbsp;Array&lt;(props, propName) => {\n if (props[propName] == null) {\n return new Error(`Prop '${propName}' is required but wasn't specified`);\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n}&gt;<br>&#124;&nbsp;(props, propName) => {\n if (props[propName] == null) {\n return new Error(`Prop '${propName}' is required but wasn't specified`);\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n}<br>&#124;&nbsp;{ height: number, width: number, x: number, y: number }"
},
"default": "'clippingAncestors'"
},
"collisionPadding": {
"type": {
"name": "union",
"description": "number<br>&#124;&nbsp;{ bottom?: number, left?: number, right?: number, top?: number }"
},
"default": "5"
},
"container": {
"type": {
"name": "union",
"description": "(props, propName) => {\n if (props[propName] == null) {\n return new Error(`Prop '${propName}' is required but wasn't specified`);\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n}<br>&#124;&nbsp;{ current?: (props, propName) => {\n if (props[propName] == null) {\n return null;\n }\n if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {\n return new Error(`Expected prop '${propName}' to be of type Element`);\n }\n return null;\n} }"
}
},
"hideWhenDetached": { "type": { "name": "bool" }, "default": "false" },
"positionMethod": {
"type": { "name": "enum", "description": "'absolute'<br>&#124;&nbsp;'fixed'" },
"default": "'absolute'"
},
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } },
"side": {
"type": {
"name": "enum",
"description": "'bottom'<br>&#124;&nbsp;'left'<br>&#124;&nbsp;'right'<br>&#124;&nbsp;'top'"
},
"default": "'bottom'"
},
"sideOffset": { "type": { "name": "number" }, "default": "0" },
"sticky": { "type": { "name": "bool" }, "default": "false" },
"trackAnchor": { "type": { "name": "bool" }, "default": "true" }
},
"name": "SelectPositioner",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectPositioner = Select.Positioner;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectPositioner",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Positioner/SelectPositioner.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
26 changes: 26 additions & 0 deletions docs/data/api/select-root.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"props": {
"alignOptionToTrigger": { "type": { "name": "bool" }, "default": "true" },
"animated": { "type": { "name": "bool" }, "default": "true" },
"defaultOpen": { "type": { "name": "bool" }, "default": "false" },
"defaultValue": { "type": { "name": "any" }, "default": "null" },
"disabled": { "type": { "name": "bool" }, "default": "false" },
"name": { "type": { "name": "string" } },
"onOpenChange": { "type": { "name": "func" } },
"onValueChange": { "type": { "name": "func" } },
"open": { "type": { "name": "bool" } },
"readOnly": { "type": { "name": "bool" }, "default": "false" },
"required": { "type": { "name": "bool" }, "default": "false" },
"value": { "type": { "name": "any" } }
},
"name": "SelectRoot",
"imports": ["import { Select } from '@base_ui/react/Select';\nconst SelectRoot = Select.Root;"],
"classes": [],
"spread": true,
"themeDefaultProps": null,
"muiName": "SelectRoot",
"filename": "/packages/mui-base/src/Select/Root/SelectRoot.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
16 changes: 16 additions & 0 deletions docs/data/api/select-scroll-down-arrow.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"props": { "keepMounted": { "type": { "name": "bool" }, "default": "false" } },
"name": "SelectScrollDownArrow",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectScrollDownArrow = Select.ScrollDownArrow;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectScrollDownArrow",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/ScrollDownArrow/SelectScrollDownArrow.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
16 changes: 16 additions & 0 deletions docs/data/api/select-scroll-up-arrow.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"props": { "keepMounted": { "type": { "name": "bool" }, "default": "false" } },
"name": "SelectScrollUpArrow",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectScrollUpArrow = Select.ScrollUpArrow;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectScrollUpArrow",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/ScrollUpArrow/SelectScrollUpArrow.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
19 changes: 19 additions & 0 deletions docs/data/api/select-separator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectSeparator",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectSeparator = Select.Separator;"
],
"classes": [],
"spread": true,
"themeDefaultProps": true,
"muiName": "SelectSeparator",
"forwardsRefTo": "HTMLDivElement",
"filename": "/packages/mui-base/src/Select/Separator/SelectSeparator.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
19 changes: 19 additions & 0 deletions docs/data/api/select-trigger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"props": {
"className": { "type": { "name": "union", "description": "func<br>&#124;&nbsp;string" } },
"disabled": { "type": { "name": "bool" }, "default": "false" },
"focusableWhenDisabled": { "type": { "name": "bool" }, "default": "false" },
"label": { "type": { "name": "string" } },
"render": { "type": { "name": "union", "description": "element<br>&#124;&nbsp;func" } }
},
"name": "SelectTrigger",
"imports": [
"import { Select } from '@base_ui/react/Select';\nconst SelectTrigger = Select.Trigger;"
],
"classes": [],
"muiName": "SelectTrigger",
"filename": "/packages/mui-base/src/Select/Trigger/SelectTrigger.tsx",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/react-select/\">Select</a></li></ul>",
"cssComponent": false
}
Loading
Loading