@imfusion/web-ui 0.11.1-dev.62.gfcd31b6e → 0.11.1-dev.65.g9b6bba80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6968,445 +6968,533 @@
6968
6968
  },
6969
6969
  "subComponents": []
6970
6970
  },
6971
- "meter": {
6971
+ "menu": {
6972
6972
  "root": {
6973
- "name": "Meter.Root",
6974
- "description": "Meter.Root — read-only measurement of a value within a known range.\n\nWithout a visible `Meter.Label`, name the meter with `aria-label`.",
6973
+ "name": "Menu.Root",
6974
+ "description": "Menu.Root — container that manages open state and the menu tree.",
6975
6975
  "props": [
6976
6976
  {
6977
- "name": "aria-valuetext",
6977
+ "name": "actionsRef",
6978
6978
  "required": false,
6979
- "type": "string",
6979
+ "type": "RefObject<MenuRootActions | null>",
6980
6980
  "defaultValue": null,
6981
- "description": "A string value that provides a user-friendly name for `aria-valuenow`, the current value of the meter."
6981
+ "description": "A ref to imperative actions.\n- `unmount`: Manually unmounts the menu.\n Call this after any externally controlled closing animation finishes.\n- `close`: When specified, the menu can be closed imperatively."
6982
6982
  },
6983
6983
  {
6984
- "name": "className",
6984
+ "name": "children",
6985
6985
  "required": false,
6986
- "type": "string | ((state: MeterRootState) => string)",
6986
+ "type": "ReactNode | PayloadChildRenderFunction<Payload>",
6987
6987
  "defaultValue": null,
6988
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
6988
+ "description": "The content of the popover.\nThis can be a regular React node or a render function that receives the `payload` of the active trigger."
6989
6989
  },
6990
6990
  {
6991
- "name": "format",
6991
+ "name": "closeParentOnEsc",
6992
6992
  "required": false,
6993
- "type": "NumberFormatOptions",
6994
- "defaultValue": null,
6995
- "description": "Options to format the value."
6993
+ "type": "boolean",
6994
+ "defaultValue": "false",
6995
+ "description": "When in a submenu, determines whether pressing the Escape key\ncloses the entire menu, or only the current child menu."
6996
6996
  },
6997
6997
  {
6998
- "name": "getAriaValueText",
6998
+ "name": "defaultOpen",
6999
6999
  "required": false,
7000
- "type": "(formattedValue: string, value: number) => string",
7000
+ "type": "boolean",
7001
+ "defaultValue": "false",
7002
+ "description": "Whether the menu is initially open.\n\nTo render a controlled menu, use the `open` prop instead."
7003
+ },
7004
+ {
7005
+ "name": "defaultTriggerId",
7006
+ "required": false,
7007
+ "type": "string | null",
7001
7008
  "defaultValue": null,
7002
- "description": "A function that returns a string value that provides a human-readable text alternative for `aria-valuenow`, the current value of the meter."
7009
+ "description": "ID of the trigger that the popover is associated with.\nThis is useful in conjunction with the `defaultOpen` prop to create an initially open popover."
7003
7010
  },
7004
7011
  {
7005
- "name": "locale",
7012
+ "name": "disabled",
7006
7013
  "required": false,
7007
- "type": "LocalesArgument",
7014
+ "type": "boolean",
7015
+ "defaultValue": "false",
7016
+ "description": "Whether the component should ignore user interaction."
7017
+ },
7018
+ {
7019
+ "name": "handle",
7020
+ "required": false,
7021
+ "type": "MenuHandle<Payload>",
7008
7022
  "defaultValue": null,
7009
- "description": "The locale used by `Intl.NumberFormat` when formatting the value.\nDefaults to the user's runtime locale."
7023
+ "description": "A handle to associate the menu with a trigger.\nIf specified, allows external triggers to control the menu's open state."
7010
7024
  },
7011
7025
  {
7012
- "name": "max",
7026
+ "name": "highlightItemOnHover",
7013
7027
  "required": false,
7014
- "type": "number",
7015
- "defaultValue": "100",
7016
- "description": "The maximum value"
7028
+ "type": "boolean",
7029
+ "defaultValue": "true",
7030
+ "description": "Whether moving the pointer over items should highlight them.\nDisabling this prop allows CSS `:hover` to be differentiated from the `:focus` (`data-highlighted`) state."
7017
7031
  },
7018
7032
  {
7019
- "name": "min",
7033
+ "name": "loopFocus",
7020
7034
  "required": false,
7021
- "type": "number",
7022
- "defaultValue": "0",
7023
- "description": "The minimum value"
7035
+ "type": "boolean",
7036
+ "defaultValue": "true",
7037
+ "description": "Whether to loop keyboard focus back to the first item\nwhen the end of the list is reached while using the arrow keys."
7024
7038
  },
7025
7039
  {
7026
- "name": "ref",
7040
+ "name": "modal",
7027
7041
  "required": false,
7028
- "type": "Ref<HTMLDivElement>",
7042
+ "type": "boolean",
7043
+ "defaultValue": "true",
7044
+ "description": "Determines if the menu enters a modal state when open.\n- `true`: user interaction is limited to the menu: document page scroll is locked and pointer interactions on outside elements are disabled.\n- `false`: user interaction with the rest of the document is allowed."
7045
+ },
7046
+ {
7047
+ "name": "onOpenChange",
7048
+ "required": false,
7049
+ "type": "(\n open: boolean,\n eventDetails: MenuRootChangeEventDetails\n) => void",
7029
7050
  "defaultValue": null,
7030
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7051
+ "description": "Event handler called when the menu is opened or closed."
7031
7052
  },
7032
7053
  {
7033
- "name": "render",
7054
+ "name": "onOpenChangeComplete",
7034
7055
  "required": false,
7035
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterRootState>",
7056
+ "type": "(open: boolean) => void",
7036
7057
  "defaultValue": null,
7037
- "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7058
+ "description": "Event handler called after any animations complete when the menu is closed."
7038
7059
  },
7039
7060
  {
7040
- "name": "style",
7061
+ "name": "open",
7041
7062
  "required": false,
7042
- "type": "| CSSProperties\n| ((state: MeterRootState) => CSSProperties)",
7063
+ "type": "boolean",
7043
7064
  "defaultValue": null,
7044
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7065
+ "description": "Whether the menu is currently open."
7045
7066
  },
7046
7067
  {
7047
- "name": "value",
7048
- "required": true,
7049
- "type": "number",
7068
+ "name": "orientation",
7069
+ "required": false,
7070
+ "type": "MenuRootOrientation",
7071
+ "defaultValue": "vertical",
7072
+ "description": "The visual orientation of the menu.\nControls whether roving focus uses up/down or left/right arrow keys."
7073
+ },
7074
+ {
7075
+ "name": "triggerId",
7076
+ "required": false,
7077
+ "type": "string | null",
7050
7078
  "defaultValue": null,
7051
- "description": "The current value."
7079
+ "description": "ID of the trigger that the popover is associated with.\nThis is useful in conjunction with the `open` prop to create a controlled popover.\nThere's no need to specify this prop when the popover is uncontrolled (that is, when the `open` prop is not set)."
7052
7080
  }
7053
7081
  ]
7054
7082
  },
7055
7083
  "subComponents": [
7056
7084
  {
7057
- "name": "Meter.Indicator",
7058
- "description": "Meter.Indicator — filled portion of the track up to the value.",
7085
+ "name": "Menu.Arrow",
7086
+ "description": "Menu.Arrow — pointer arrow anchored to the popup edge.",
7059
7087
  "props": [
7060
7088
  {
7061
7089
  "name": "className",
7062
7090
  "required": false,
7063
- "type": "string | ((state: MeterIndicatorState) => string)",
7091
+ "type": "string | ((state: MenuArrowState) => string)",
7064
7092
  "defaultValue": null,
7065
7093
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7066
7094
  },
7067
7095
  {
7068
7096
  "name": "ref",
7069
7097
  "required": false,
7070
- "type": "Ref<HTMLDivElement>",
7098
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7071
7099
  "defaultValue": null,
7072
7100
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7073
7101
  },
7074
7102
  {
7075
7103
  "name": "render",
7076
7104
  "required": false,
7077
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterIndicatorState>",
7105
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuArrowState>",
7078
7106
  "defaultValue": null,
7079
7107
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7080
7108
  },
7081
7109
  {
7082
7110
  "name": "style",
7083
7111
  "required": false,
7084
- "type": "| CSSProperties\n| ((state: MeterIndicatorState) => CSSProperties)",
7112
+ "type": "| CSSProperties\n| ((state: MenuArrowState) => CSSProperties)",
7085
7113
  "defaultValue": null,
7086
7114
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7087
7115
  }
7088
7116
  ]
7089
7117
  },
7090
7118
  {
7091
- "name": "Meter.Label",
7092
- "description": "Meter.Label — accessible label for the meter.",
7119
+ "name": "Menu.Backdrop",
7120
+ "description": "Menu.Backdrop — overlay beneath the menu.",
7093
7121
  "props": [
7094
7122
  {
7095
7123
  "name": "className",
7096
7124
  "required": false,
7097
- "type": "string | ((state: MeterLabelState) => string)",
7125
+ "type": "string | ((state: MenuBackdropState) => string)",
7098
7126
  "defaultValue": null,
7099
7127
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7100
7128
  },
7101
7129
  {
7102
7130
  "name": "ref",
7103
7131
  "required": false,
7104
- "type": "Ref<HTMLDivElement>",
7132
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7105
7133
  "defaultValue": null,
7106
7134
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7107
7135
  },
7108
7136
  {
7109
7137
  "name": "render",
7110
7138
  "required": false,
7111
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterLabelState>",
7139
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuBackdropState>",
7112
7140
  "defaultValue": null,
7113
7141
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7114
7142
  },
7115
7143
  {
7116
7144
  "name": "style",
7117
7145
  "required": false,
7118
- "type": "| CSSProperties\n| ((state: MeterLabelState) => CSSProperties)",
7146
+ "type": "| CSSProperties\n| ((state: MenuBackdropState) => CSSProperties)",
7119
7147
  "defaultValue": null,
7120
7148
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7121
7149
  }
7122
7150
  ]
7123
7151
  },
7124
7152
  {
7125
- "name": "Meter.Track",
7126
- "description": "Meter.Track — the full range.",
7153
+ "name": "Menu.CheckboxItem",
7154
+ "description": "Menu.CheckboxItem — a row that toggles a setting. It draws its check in the trailing cell, after the badge.",
7127
7155
  "props": [
7156
+ {
7157
+ "name": "badge",
7158
+ "required": false,
7159
+ "type": "ReactNode",
7160
+ "defaultValue": null,
7161
+ "description": "Trailing label. A string or number renders as small mono text; any other node renders as given, such as a `Chip`."
7162
+ },
7163
+ {
7164
+ "name": "checked",
7165
+ "required": false,
7166
+ "type": "boolean",
7167
+ "defaultValue": null,
7168
+ "description": "Whether the checkbox item is currently ticked.\n\nTo render an uncontrolled checkbox item, use the `defaultChecked` prop instead."
7169
+ },
7128
7170
  {
7129
7171
  "name": "className",
7130
7172
  "required": false,
7131
- "type": "string | ((state: MeterTrackState) => string)",
7173
+ "type": "| string\n| ((state: MenuCheckboxItemState) => string)",
7132
7174
  "defaultValue": null,
7133
7175
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7134
7176
  },
7177
+ {
7178
+ "name": "closeOnClick",
7179
+ "required": false,
7180
+ "type": "boolean",
7181
+ "defaultValue": "false",
7182
+ "description": "Whether to close the menu when the item is clicked."
7183
+ },
7184
+ {
7185
+ "name": "defaultChecked",
7186
+ "required": false,
7187
+ "type": "boolean",
7188
+ "defaultValue": "false",
7189
+ "description": "Whether the checkbox item is initially ticked.\n\nTo render a controlled checkbox item, use the `checked` prop instead."
7190
+ },
7191
+ {
7192
+ "name": "description",
7193
+ "required": false,
7194
+ "type": "ReactNode",
7195
+ "defaultValue": null,
7196
+ "description": "Muted second line under the text."
7197
+ },
7198
+ {
7199
+ "name": "disabled",
7200
+ "required": false,
7201
+ "type": "boolean",
7202
+ "defaultValue": "false",
7203
+ "description": "Whether the component should ignore user interaction."
7204
+ },
7205
+ {
7206
+ "name": "icon",
7207
+ "required": false,
7208
+ "type": "ReactNode",
7209
+ "defaultValue": null,
7210
+ "description": "Glyph in the lead cell, such as `<Icon glyph={Plus} size={16} aria-hidden />`. A menu where no item has one drops the cell."
7211
+ },
7212
+ {
7213
+ "name": "id",
7214
+ "required": false,
7215
+ "type": "string",
7216
+ "defaultValue": null,
7217
+ "description": "@ignore"
7218
+ },
7219
+ {
7220
+ "name": "label",
7221
+ "required": false,
7222
+ "type": "string",
7223
+ "defaultValue": null,
7224
+ "description": "Overrides the text label to use when the item is matched during keyboard text navigation."
7225
+ },
7226
+ {
7227
+ "name": "nativeButton",
7228
+ "required": false,
7229
+ "type": "boolean",
7230
+ "defaultValue": "true",
7231
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (for example, `<div>`)."
7232
+ },
7233
+ {
7234
+ "name": "onCheckedChange",
7235
+ "required": false,
7236
+ "type": "(\n checked: boolean,\n eventDetails: MenuRootChangeEventDetails\n) => void",
7237
+ "defaultValue": null,
7238
+ "description": "Event handler called when the checkbox item is ticked or unticked."
7239
+ },
7240
+ {
7241
+ "name": "onClick",
7242
+ "required": false,
7243
+ "type": "(\n event: BaseUIEvent<MouseEvent<HTMLDivElement, MouseEvent>>\n) => void",
7244
+ "defaultValue": null,
7245
+ "description": "The click handler for the menu item."
7246
+ },
7135
7247
  {
7136
7248
  "name": "ref",
7137
7249
  "required": false,
7138
- "type": "Ref<HTMLDivElement>",
7250
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7139
7251
  "defaultValue": null,
7140
7252
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7141
7253
  },
7142
7254
  {
7143
7255
  "name": "render",
7144
7256
  "required": false,
7145
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterTrackState>",
7257
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuCheckboxItemState>",
7146
7258
  "defaultValue": null,
7147
7259
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7148
7260
  },
7149
7261
  {
7150
7262
  "name": "style",
7151
7263
  "required": false,
7152
- "type": "| CSSProperties\n| ((state: MeterTrackState) => CSSProperties)",
7264
+ "type": "| CSSProperties\n| ((state: MenuCheckboxItemState) => CSSProperties)",
7153
7265
  "defaultValue": null,
7154
7266
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7155
7267
  }
7156
7268
  ]
7157
7269
  },
7158
7270
  {
7159
- "name": "Meter.Value",
7160
- "description": "Meter.Value — formatted readout of the current value.",
7271
+ "name": "Menu.CheckboxItemIndicator",
7272
+ "description": "Menu.CheckboxItemIndicator — marks a ticked checkbox row. A wrapped `CheckboxItem` renders one itself.",
7161
7273
  "props": [
7162
7274
  {
7163
7275
  "name": "className",
7164
7276
  "required": false,
7165
- "type": "string | ((state: MeterValueState) => string)",
7277
+ "type": "| string\n| ((state: MenuCheckboxItemIndicatorState) => string)",
7166
7278
  "defaultValue": null,
7167
7279
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7168
7280
  },
7281
+ {
7282
+ "name": "keepMounted",
7283
+ "required": false,
7284
+ "type": "boolean",
7285
+ "defaultValue": "false",
7286
+ "description": "Whether to keep the HTML element in the DOM when the checkbox item is not checked."
7287
+ },
7169
7288
  {
7170
7289
  "name": "ref",
7171
7290
  "required": false,
7172
- "type": "Ref<HTMLDivElement>",
7291
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7173
7292
  "defaultValue": null,
7174
7293
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7175
7294
  },
7176
7295
  {
7177
7296
  "name": "render",
7178
7297
  "required": false,
7179
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterValueState>",
7298
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n MenuCheckboxItemIndicatorState\n >",
7180
7299
  "defaultValue": null,
7181
7300
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7182
7301
  },
7183
7302
  {
7184
7303
  "name": "style",
7185
7304
  "required": false,
7186
- "type": "| CSSProperties\n| ((state: MeterValueState) => CSSProperties)",
7305
+ "type": "| CSSProperties\n| ((\n state: MenuCheckboxItemIndicatorState\n ) => CSSProperties)",
7187
7306
  "defaultValue": null,
7188
7307
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7189
7308
  }
7190
7309
  ]
7191
- }
7192
- ]
7193
- },
7194
- "navigation-menu": {
7195
- "root": {
7196
- "name": "NavigationMenu.Root",
7197
- "description": "NavigationMenu.Root — groups all parts and manages which item is open.\nRenders a `<nav>`.",
7198
- "props": [
7199
- {
7200
- "name": "actionsRef",
7201
- "required": false,
7202
- "type": "RefObject<NavigationMenuRootActions | null>",
7203
- "defaultValue": null,
7204
- "description": "A ref to imperative actions."
7205
- },
7206
- {
7207
- "name": "className",
7208
- "required": false,
7209
- "type": "| string\n| ((state: NavigationMenuRootState) => string)",
7210
- "defaultValue": null,
7211
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7212
- },
7213
- {
7214
- "name": "closeDelay",
7215
- "required": false,
7216
- "type": "number",
7217
- "defaultValue": "50",
7218
- "description": "How long to wait before closing the navigation popup. Specified in milliseconds."
7219
- },
7220
- {
7221
- "name": "defaultValue",
7222
- "required": false,
7223
- "type": "Value | null",
7224
- "defaultValue": "null",
7225
- "description": "The uncontrolled value of the item that should be initially selected.\n\nTo render a controlled navigation menu, use the `value` prop instead."
7226
- },
7227
- {
7228
- "name": "delay",
7229
- "required": false,
7230
- "type": "number",
7231
- "defaultValue": "50",
7232
- "description": "How long to wait before opening the navigation popup. Specified in milliseconds."
7233
- },
7234
- {
7235
- "name": "onOpenChangeComplete",
7236
- "required": false,
7237
- "type": "(open: boolean) => void",
7238
- "defaultValue": null,
7239
- "description": "Event handler called after any animations complete when the navigation menu is closed."
7240
- },
7241
- {
7242
- "name": "onValueChange",
7243
- "required": false,
7244
- "type": "(\n value: Value | null,\n eventDetails: NavigationMenuRootChangeEventDetails\n) => void",
7245
- "defaultValue": null,
7246
- "description": "Callback fired when the value changes."
7247
- },
7248
- {
7249
- "name": "orientation",
7250
- "required": false,
7251
- "type": "Orientation",
7252
- "defaultValue": "horizontal",
7253
- "description": "Layout of the menu. `horizontal` is a top nav bar; `vertical` stacks the\nwhole menu into a side rail with flyouts opening to the side."
7254
- },
7255
- {
7256
- "name": "ref",
7257
- "required": false,
7258
- "type": "Ref<HTMLElement>",
7259
- "defaultValue": null,
7260
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7261
- },
7262
- {
7263
- "name": "render",
7264
- "required": false,
7265
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuRootState>",
7266
- "defaultValue": null,
7267
- "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7268
- },
7269
- {
7270
- "name": "style",
7271
- "required": false,
7272
- "type": "| CSSProperties\n| ((state: NavigationMenuRootState) => CSSProperties)",
7273
- "defaultValue": null,
7274
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7275
- },
7276
- {
7277
- "name": "value",
7278
- "required": false,
7279
- "type": "Value | null",
7280
- "defaultValue": "null",
7281
- "description": "The controlled value of the navigation menu item that should be currently open.\nWhen non-nullish, the menu will be open. When nullish, the menu will be closed.\n\nTo render an uncontrolled navigation menu, use the `defaultValue` prop instead."
7282
- }
7283
- ]
7284
- },
7285
- "subComponents": [
7310
+ },
7286
7311
  {
7287
- "name": "NavigationMenu.Arrow",
7288
- "description": "NavigationMenu.Arrow — a pointer anchored to the popup edge. Receives data-side for orientation. Renders a `<div>`.",
7312
+ "name": "Menu.Group",
7313
+ "description": "Menu.Group — groups related rows under a `GroupLabel`.",
7289
7314
  "props": [
7315
+ {
7316
+ "name": "children",
7317
+ "required": false,
7318
+ "type": "ReactNode",
7319
+ "defaultValue": null,
7320
+ "description": "The content of the component."
7321
+ },
7290
7322
  {
7291
7323
  "name": "className",
7292
7324
  "required": false,
7293
- "type": "| string\n| ((state: NavigationMenuArrowState) => string)",
7325
+ "type": "string | ((state: MenuGroupState) => string)",
7294
7326
  "defaultValue": null,
7295
7327
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7296
7328
  },
7297
7329
  {
7298
7330
  "name": "ref",
7299
7331
  "required": false,
7300
- "type": "Ref<HTMLElement>",
7332
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7301
7333
  "defaultValue": null,
7302
7334
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7303
7335
  },
7304
7336
  {
7305
7337
  "name": "render",
7306
7338
  "required": false,
7307
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuArrowState>",
7339
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuGroupState>",
7308
7340
  "defaultValue": null,
7309
7341
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7310
7342
  },
7311
7343
  {
7312
7344
  "name": "style",
7313
7345
  "required": false,
7314
- "type": "| CSSProperties\n| ((state: NavigationMenuArrowState) => CSSProperties)",
7346
+ "type": "| CSSProperties\n| ((state: MenuGroupState) => CSSProperties)",
7315
7347
  "defaultValue": null,
7316
7348
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7317
7349
  }
7318
7350
  ]
7319
7351
  },
7320
7352
  {
7321
- "name": "NavigationMenu.Backdrop",
7322
- "description": "NavigationMenu.Backdrop — overlay beneath the popup. Receives data-open/data-closed for transitions. Renders a `<div>`.",
7353
+ "name": "Menu.GroupLabel",
7354
+ "description": "Menu.GroupLabel — accessible label of a `Group`.",
7323
7355
  "props": [
7324
7356
  {
7325
7357
  "name": "className",
7326
7358
  "required": false,
7327
- "type": "| string\n| ((state: NavigationMenuBackdropState) => string)",
7359
+ "type": "string | ((state: MenuGroupLabelState) => string)",
7328
7360
  "defaultValue": null,
7329
7361
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7330
7362
  },
7331
7363
  {
7332
7364
  "name": "ref",
7333
7365
  "required": false,
7334
- "type": "Ref<HTMLElement>",
7366
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7335
7367
  "defaultValue": null,
7336
7368
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7337
7369
  },
7338
7370
  {
7339
7371
  "name": "render",
7340
7372
  "required": false,
7341
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuBackdropState\n >",
7373
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuGroupLabelState>",
7342
7374
  "defaultValue": null,
7343
7375
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7344
7376
  },
7345
7377
  {
7346
7378
  "name": "style",
7347
7379
  "required": false,
7348
- "type": "| CSSProperties\n| ((state: NavigationMenuBackdropState) => CSSProperties)",
7380
+ "type": "| CSSProperties\n| ((state: MenuGroupLabelState) => CSSProperties)",
7349
7381
  "defaultValue": null,
7350
7382
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7351
7383
  }
7352
7384
  ]
7353
7385
  },
7354
7386
  {
7355
- "name": "NavigationMenu.Content",
7356
- "description": "NavigationMenu.Content — an item's flyout body; moved into the shared Popup when active. Renders a `<div>`.",
7387
+ "name": "Menu.Item",
7388
+ "description": "Menu.Item — an action row. Without `label`, a string `children` is the text typeahead matches.",
7357
7389
  "props": [
7390
+ {
7391
+ "name": "badge",
7392
+ "required": false,
7393
+ "type": "ReactNode",
7394
+ "defaultValue": null,
7395
+ "description": "Trailing label. A string or number renders as small mono text; any other node renders as given, such as a `Chip`."
7396
+ },
7358
7397
  {
7359
7398
  "name": "className",
7360
7399
  "required": false,
7361
- "type": "| string\n| ((state: NavigationMenuContentState) => string)",
7400
+ "type": "string | ((state: MenuItemState) => string)",
7362
7401
  "defaultValue": null,
7363
7402
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7364
7403
  },
7365
7404
  {
7366
- "name": "keepMounted",
7405
+ "name": "closeOnClick",
7406
+ "required": false,
7407
+ "type": "boolean",
7408
+ "defaultValue": "true",
7409
+ "description": "Whether to close the menu when the item is clicked."
7410
+ },
7411
+ {
7412
+ "name": "description",
7413
+ "required": false,
7414
+ "type": "ReactNode",
7415
+ "defaultValue": null,
7416
+ "description": "Muted second line under the text."
7417
+ },
7418
+ {
7419
+ "name": "disabled",
7367
7420
  "required": false,
7368
7421
  "type": "boolean",
7369
7422
  "defaultValue": "false",
7370
- "description": "Whether to keep the content mounted in the DOM while the popup is closed.\nEnsures the content is present during server-side rendering for web crawlers."
7423
+ "description": "Whether the component should ignore user interaction."
7424
+ },
7425
+ {
7426
+ "name": "icon",
7427
+ "required": false,
7428
+ "type": "ReactNode",
7429
+ "defaultValue": null,
7430
+ "description": "Glyph in the lead cell, such as `<Icon glyph={Plus} size={16} aria-hidden />`. A menu where no item has one drops the cell."
7431
+ },
7432
+ {
7433
+ "name": "id",
7434
+ "required": false,
7435
+ "type": "string",
7436
+ "defaultValue": null,
7437
+ "description": "@ignore"
7438
+ },
7439
+ {
7440
+ "name": "label",
7441
+ "required": false,
7442
+ "type": "string",
7443
+ "defaultValue": null,
7444
+ "description": "Overrides the text label to use when the item is matched during keyboard text navigation."
7445
+ },
7446
+ {
7447
+ "name": "nativeButton",
7448
+ "required": false,
7449
+ "type": "boolean",
7450
+ "defaultValue": "true",
7451
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (for example, `<div>`)."
7452
+ },
7453
+ {
7454
+ "name": "onClick",
7455
+ "required": false,
7456
+ "type": "(\n event: BaseUIEvent<MouseEvent<HTMLDivElement, MouseEvent>>\n) => void",
7457
+ "defaultValue": null,
7458
+ "description": "The click handler for the menu item."
7371
7459
  },
7372
7460
  {
7373
7461
  "name": "ref",
7374
7462
  "required": false,
7375
- "type": "Ref<HTMLElement>",
7463
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7376
7464
  "defaultValue": null,
7377
7465
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7378
7466
  },
7379
7467
  {
7380
7468
  "name": "render",
7381
7469
  "required": false,
7382
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuContentState\n >",
7470
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuItemState>",
7383
7471
  "defaultValue": null,
7384
7472
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7385
7473
  },
7386
7474
  {
7387
7475
  "name": "style",
7388
7476
  "required": false,
7389
- "type": "| CSSProperties\n| ((state: NavigationMenuContentState) => CSSProperties)",
7477
+ "type": "| CSSProperties\n| ((state: MenuItemState) => CSSProperties)",
7390
7478
  "defaultValue": null,
7391
7479
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7392
7480
  }
7393
7481
  ]
7394
7482
  },
7395
7483
  {
7396
- "name": "NavigationMenu.FlyoutLink",
7397
- "description": "NavigationMenu.FlyoutLink — a quiet text link inside a flyout `Content`, the lightweight\nalternative to `LinkCard`. Renders an `<a>`; a trailing `ArrowRight` slides in on hover/focus,\nand the current page is marked in primary. A custom `render` omits the icon.",
7484
+ "name": "Menu.LinkItem",
7485
+ "description": "Menu.LinkItem — a row that renders an `<a>`. Pass a router link as `render`.",
7398
7486
  "props": [
7399
7487
  {
7400
- "name": "active",
7488
+ "name": "badge",
7401
7489
  "required": false,
7402
- "type": "boolean",
7403
- "defaultValue": "false",
7404
- "description": "Whether the link is the currently active page."
7490
+ "type": "ReactNode",
7491
+ "defaultValue": null,
7492
+ "description": "Trailing label. A string or number renders as small mono text; any other node renders as given, such as a `Chip`."
7405
7493
  },
7406
7494
  {
7407
7495
  "name": "className",
7408
7496
  "required": false,
7409
- "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
7497
+ "type": "string | ((state: MenuLinkItemState) => string)",
7410
7498
  "defaultValue": null,
7411
7499
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7412
7500
  },
@@ -7415,512 +7503,1808 @@
7415
7503
  "required": false,
7416
7504
  "type": "boolean",
7417
7505
  "defaultValue": "false",
7418
- "description": "Whether to close the navigation menu when the link is clicked."
7506
+ "description": "Whether to close the menu when the item is clicked."
7419
7507
  },
7420
7508
  {
7421
- "name": "ref",
7509
+ "name": "description",
7422
7510
  "required": false,
7423
- "type": "Ref<HTMLElement>",
7511
+ "type": "ReactNode",
7424
7512
  "defaultValue": null,
7425
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7513
+ "description": "Muted second line under the text."
7426
7514
  },
7427
7515
  {
7428
- "name": "render",
7516
+ "name": "icon",
7429
7517
  "required": false,
7430
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
7518
+ "type": "ReactNode",
7431
7519
  "defaultValue": null,
7432
- "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7520
+ "description": "Glyph in the lead cell, such as `<Icon glyph={Plus} size={16} aria-hidden />`. A menu where no item has one drops the cell."
7433
7521
  },
7434
7522
  {
7435
- "name": "style",
7523
+ "name": "id",
7436
7524
  "required": false,
7437
- "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
7525
+ "type": "string",
7438
7526
  "defaultValue": null,
7439
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7440
- }
7441
- ]
7442
- },
7443
- {
7444
- "name": "NavigationMenu.Icon",
7445
- "description": "NavigationMenu.Icon — a chevron/marker that rotates when its trigger is open. Renders a `<span>`.",
7446
- "props": [
7527
+ "description": "@ignore"
7528
+ },
7447
7529
  {
7448
- "name": "className",
7530
+ "name": "label",
7449
7531
  "required": false,
7450
- "type": "| string\n| ((state: NavigationMenuIconState) => string)",
7532
+ "type": "string",
7451
7533
  "defaultValue": null,
7452
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7534
+ "description": "Overrides the text label to use when the item is matched during keyboard text navigation."
7453
7535
  },
7454
7536
  {
7455
7537
  "name": "ref",
7456
7538
  "required": false,
7457
- "type": "Ref<HTMLElement>",
7539
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7458
7540
  "defaultValue": null,
7459
7541
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7460
7542
  },
7461
7543
  {
7462
7544
  "name": "render",
7463
7545
  "required": false,
7464
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuIconState>",
7546
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuLinkItemState>",
7465
7547
  "defaultValue": null,
7466
7548
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7467
7549
  },
7468
7550
  {
7469
7551
  "name": "style",
7470
7552
  "required": false,
7471
- "type": "| CSSProperties\n| ((state: NavigationMenuIconState) => CSSProperties)",
7553
+ "type": "| CSSProperties\n| ((state: MenuLinkItemState) => CSSProperties)",
7472
7554
  "defaultValue": null,
7473
7555
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7474
7556
  }
7475
7557
  ]
7476
7558
  },
7477
7559
  {
7478
- "name": "NavigationMenu.InlineSubmenu",
7479
- "description": "NavigationMenu.InlineSubmenu — a master/detail submenu that stays inside one\nflyout: a category rail beside (or, on narrow viewports, above) its detail.\n\nA curated partial over the namespace's own primitives (a nested vertical\n`Root` without a `Portal`, plus the rail/detail layout). Drop it directly\ninside a `NavigationMenu.Content`. Switches from a tab strip to a side rail\nat `md` — no work for the consumer, no container queries.",
7560
+ "name": "Menu.Popup",
7561
+ "description": "Menu.Popup — the visible surface of the menu. Its `size` sets the density of every item inside.",
7480
7562
  "props": [
7481
7563
  {
7482
- "name": "defaultValue",
7564
+ "name": "className",
7483
7565
  "required": false,
7484
- "type": "string",
7566
+ "type": "string | ((state: MenuPopupState) => string)",
7485
7567
  "defaultValue": null,
7486
- "description": "Which category is open initially (uncontrolled)."
7568
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7487
7569
  },
7488
7570
  {
7489
- "name": "items",
7490
- "required": true,
7491
- "type": "readonly InlineSubmenuItem[]",
7571
+ "name": "finalFocus",
7572
+ "required": false,
7573
+ "type": "| boolean\n| RefObject<HTMLElement | null>\n| ((\n closeType: InteractionType\n ) => boolean | void | HTMLElement | null)",
7492
7574
  "defaultValue": null,
7493
- "description": "The categories: each is a rail entry with its detail pane."
7494
- }
7495
- ]
7496
- },
7497
- {
7498
- "name": "NavigationMenu.InlineSubmenuItem",
7499
- "description": "One category in an `InlineSubmenu` — a rail entry plus its detail pane.",
7500
- "props": []
7501
- },
7502
- {
7503
- "name": "NavigationMenu.Item",
7504
- "description": "NavigationMenu.Item — a single item in the list. Renders a `<li>`.",
7505
- "props": [
7575
+ "description": "Determines the element to focus when the menu is closed.\n\n- `false`: Do not move focus.\n- `true`: Move focus based on the default behavior (trigger or previously focused element).\n- `RefObject`: Move focus to the ref element.\n- `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).\n Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing."
7576
+ },
7506
7577
  {
7507
- "name": "className",
7578
+ "name": "id",
7508
7579
  "required": false,
7509
- "type": "| string\n| ((state: NavigationMenuItemState) => string)",
7580
+ "type": "string",
7510
7581
  "defaultValue": null,
7511
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7582
+ "description": "@ignore"
7512
7583
  },
7513
7584
  {
7514
7585
  "name": "ref",
7515
7586
  "required": false,
7516
- "type": "Ref<HTMLElement>",
7587
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7517
7588
  "defaultValue": null,
7518
7589
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7519
7590
  },
7520
7591
  {
7521
7592
  "name": "render",
7522
7593
  "required": false,
7523
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuItemState>",
7594
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuPopupState>",
7524
7595
  "defaultValue": null,
7525
7596
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7526
7597
  },
7527
7598
  {
7528
- "name": "style",
7599
+ "name": "size",
7529
7600
  "required": false,
7530
- "type": "| CSSProperties\n| ((state: NavigationMenuItemState) => CSSProperties)",
7531
- "defaultValue": null,
7532
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7601
+ "type": "\"sm\" | \"md\" | null",
7602
+ "defaultValue": "sm",
7603
+ "description": "Row density: `sm` is dense with hairlines between rows that have a description, `md` is roomier. A submenu popup sets its own."
7533
7604
  },
7534
7605
  {
7535
- "name": "value",
7606
+ "name": "style",
7536
7607
  "required": false,
7537
- "type": "any",
7608
+ "type": "| CSSProperties\n| ((state: MenuPopupState) => CSSProperties)",
7538
7609
  "defaultValue": null,
7539
- "description": "A unique value that identifies this navigation menu item.\nIf no value is provided, a unique ID will be generated automatically.\nUse when controlling the navigation menu programmatically."
7610
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7540
7611
  }
7541
7612
  ]
7542
7613
  },
7543
7614
  {
7544
- "name": "NavigationMenu.Link",
7545
- "description": "NavigationMenu.Link — a top-strip (rail) link: a peer of `Trigger` for a\nsection that navigates directly instead of opening a flyout. Renders an `<a>`.\nFor a link inside a flyout, use `NavigationMenu.FlyoutLink`.",
7615
+ "name": "Menu.Portal",
7616
+ "description": "Menu.Portal — renders the positioner in a portal outside the main document flow.",
7546
7617
  "props": [
7547
7618
  {
7548
- "name": "active",
7619
+ "name": "className",
7549
7620
  "required": false,
7550
- "type": "boolean",
7551
- "defaultValue": "false",
7552
- "description": "Whether the link is the currently active page."
7621
+ "type": "string | ((state: MenuPortalState) => string)",
7622
+ "defaultValue": null,
7623
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7553
7624
  },
7554
7625
  {
7555
- "name": "className",
7626
+ "name": "container",
7556
7627
  "required": false,
7557
- "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
7628
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
7558
7629
  "defaultValue": null,
7559
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7630
+ "description": "A parent element to render the portal element into."
7560
7631
  },
7561
7632
  {
7562
- "name": "closeOnClick",
7633
+ "name": "keepMounted",
7563
7634
  "required": false,
7564
7635
  "type": "boolean",
7565
7636
  "defaultValue": "false",
7566
- "description": "Whether to close the navigation menu when the link is clicked."
7637
+ "description": "Whether to keep the portal mounted in the DOM while the popup is hidden."
7567
7638
  },
7568
7639
  {
7569
7640
  "name": "ref",
7570
7641
  "required": false,
7571
- "type": "Ref<HTMLElement>",
7642
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7572
7643
  "defaultValue": null,
7573
7644
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7574
7645
  },
7575
7646
  {
7576
7647
  "name": "render",
7577
7648
  "required": false,
7578
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
7649
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuPortalState>",
7579
7650
  "defaultValue": null,
7580
7651
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7581
7652
  },
7582
7653
  {
7583
7654
  "name": "style",
7584
7655
  "required": false,
7585
- "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
7656
+ "type": "| CSSProperties\n| ((state: MenuPortalState) => CSSProperties)",
7586
7657
  "defaultValue": null,
7587
7658
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7588
7659
  }
7589
7660
  ]
7590
7661
  },
7591
7662
  {
7592
- "name": "NavigationMenu.LinkCard",
7593
- "description": "NavigationMenu.LinkCard — a rich flyout entry (optional image + title +\ndescription) for the bigger menus. Built on the `Card` primitive (like\n`ChipLink` is built on `Chip`): it composes `Card.Root`/`Image`/`Header`/\n`Content` for the surface and layout, and adds the nav-specific state — a\nthick primary bar along the card's bottom edge on hover and when active. Use\nwhere a plain `NavigationMenu.FlyoutLink` is too sparse.",
7663
+ "name": "Menu.Positioner",
7664
+ "description": "Menu.Positioner — positions the popup relative to the trigger.",
7594
7665
  "props": [
7595
7666
  {
7596
- "name": "active",
7597
- "required": false,
7598
- "type": "boolean",
7599
- "defaultValue": "false",
7600
- "description": "Whether the link is the currently active page."
7601
- },
7602
- {
7603
- "name": "className",
7667
+ "name": "align",
7604
7668
  "required": false,
7605
- "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
7606
- "defaultValue": null,
7607
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7669
+ "type": "Align",
7670
+ "defaultValue": "center",
7671
+ "description": "How to align the popup relative to the specified side."
7608
7672
  },
7609
7673
  {
7610
- "name": "closeOnClick",
7674
+ "name": "alignOffset",
7611
7675
  "required": false,
7612
- "type": "boolean",
7613
- "defaultValue": "false",
7614
- "description": "Whether to close the navigation menu when the link is clicked."
7676
+ "type": "number | OffsetFunction",
7677
+ "defaultValue": "0",
7678
+ "description": "Additional offset along the alignment axis in pixels.\nAlso accepts a function that returns the offset to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n alignOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.width\n : anchor.height;\n }}\n/>\n```"
7615
7679
  },
7616
7680
  {
7617
- "name": "description",
7681
+ "name": "anchor",
7618
7682
  "required": false,
7619
- "type": "ReactNode",
7683
+ "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
7620
7684
  "defaultValue": null,
7621
- "description": "Supporting line beneath the title."
7685
+ "description": "An element to position the popup against.\nBy default, the popup will be positioned against the trigger."
7622
7686
  },
7623
7687
  {
7624
- "name": "image",
7688
+ "name": "arrowPadding",
7625
7689
  "required": false,
7626
- "type": "string",
7627
- "defaultValue": null,
7628
- "description": "Optional media — renders an edge-to-edge image above the text."
7690
+ "type": "number",
7691
+ "defaultValue": "5",
7692
+ "description": "Minimum distance to maintain between the arrow and the edges of the popup.\n\nUse it to prevent the arrow element from hanging out of the rounded corners of a popup."
7629
7693
  },
7630
7694
  {
7631
- "name": "imageAlt",
7695
+ "name": "className",
7632
7696
  "required": false,
7633
- "type": "string",
7634
- "defaultValue": "",
7635
- "description": "Alt text for `image`."
7697
+ "type": "string | ((state: MenuPositionerState) => string)",
7698
+ "defaultValue": null,
7699
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7636
7700
  },
7637
7701
  {
7638
- "name": "ref",
7702
+ "name": "collisionAvoidance",
7639
7703
  "required": false,
7640
- "type": "Ref<HTMLElement>",
7704
+ "type": "CollisionAvoidance",
7641
7705
  "defaultValue": null,
7642
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7706
+ "description": "Determines how to handle collisions when positioning the popup.\n\n`side` controls overflow on the preferred placement axis (`top`/`bottom` or `left`/`right`):\n- `'flip'`: keep the requested side when it fits; otherwise try the opposite side\n (`top` and `bottom`, or `left` and `right`).\n- `'shift'`: never change side; keep the requested side and move the popup within\n the clipping boundary so it stays visible.\n- `'none'`: do not correct side-axis overflow.\n\n`align` controls overflow on the alignment axis (`start`/`center`/`end`):\n- `'flip'`: keep side, but swap `start` and `end` when the requested alignment overflows.\n- `'shift'`: keep side and requested alignment, then nudge the popup along the\n alignment axis to fit.\n- `'none'`: do not correct alignment-axis overflow.\n\n`fallbackAxisSide` controls fallback behavior on the perpendicular axis when the\npreferred axis cannot fit:\n- `'start'`: allow perpendicular fallback and try the logical start side first\n (`top` before `bottom`, or `left` before `right` in LTR).\n- `'end'`: allow perpendicular fallback and try the logical end side first\n (`bottom` before `top`, or `right` before `left` in LTR).\n- `'none'`: do not fallback to the perpendicular axis.\n\nWhen `side` is `'shift'`, explicitly setting `align` only supports `'shift'` or `'none'`.\nIf `align` is omitted, it defaults to `'flip'`.\n@example ```jsx\n<Positioner\n collisionAvoidance={{\n side: 'shift',\n align: 'shift',\n fallbackAxisSide: 'none',\n }}\n/>\n```"
7643
7707
  },
7644
7708
  {
7645
- "name": "render",
7709
+ "name": "collisionBoundary",
7646
7710
  "required": false,
7647
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
7648
- "defaultValue": null,
7649
- "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7711
+ "type": "Boundary",
7712
+ "defaultValue": "clipping-ancestors",
7713
+ "description": "An element or a rectangle that delimits the area that the popup is confined to."
7650
7714
  },
7651
7715
  {
7652
- "name": "style",
7716
+ "name": "collisionPadding",
7653
7717
  "required": false,
7654
- "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
7655
- "defaultValue": null,
7656
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7718
+ "type": "Padding",
7719
+ "defaultValue": "5",
7720
+ "description": "Additional space to maintain from the edge of the collision boundary."
7657
7721
  },
7658
7722
  {
7659
- "name": "title",
7660
- "required": true,
7661
- "type": "ReactNode",
7662
- "defaultValue": null,
7663
- "description": "Card heading — the link label."
7664
- }
7665
- ]
7666
- },
7667
- {
7668
- "name": "NavigationMenu.LinkList",
7669
- "description": "NavigationMenu.LinkList — a reset `<ul>` that lays out a flyout's `LinkCard`s\n(a responsive two-column grid that collapses to one column on narrow flyouts).\nOwns the flyout list layout so consumers wrap each card in an `<li>` and add no\nlayout styling of their own. Renders a `<ul>`.",
7670
- "props": [
7671
- {
7672
- "name": "ref",
7723
+ "name": "disableAnchorTracking",
7673
7724
  "required": false,
7674
- "type": "Ref<HTMLElement>",
7675
- "defaultValue": null,
7676
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7677
- }
7678
- ]
7679
- },
7680
- {
7681
- "name": "NavigationMenu.List",
7682
- "description": "NavigationMenu.List — the strip of items. Renders a `<ul>`.",
7683
- "props": [
7725
+ "type": "boolean",
7726
+ "defaultValue": "false",
7727
+ "description": "Whether to disable the popup from tracking any layout shift of its positioning anchor."
7728
+ },
7684
7729
  {
7685
- "name": "className",
7730
+ "name": "positionMethod",
7686
7731
  "required": false,
7687
- "type": "| string\n| ((state: NavigationMenuListState) => string)",
7688
- "defaultValue": null,
7689
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7732
+ "type": "\"absolute\" | \"fixed\"",
7733
+ "defaultValue": "absolute",
7734
+ "description": "Determines which CSS `position` property to use."
7690
7735
  },
7691
7736
  {
7692
7737
  "name": "ref",
7693
7738
  "required": false,
7694
- "type": "Ref<HTMLElement>",
7739
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7695
7740
  "defaultValue": null,
7696
7741
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7697
7742
  },
7698
7743
  {
7699
7744
  "name": "render",
7700
7745
  "required": false,
7701
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuListState>",
7746
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuPositionerState>",
7702
7747
  "defaultValue": null,
7703
7748
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7704
7749
  },
7705
7750
  {
7706
- "name": "style",
7707
- "required": false,
7708
- "type": "| CSSProperties\n| ((state: NavigationMenuListState) => CSSProperties)",
7709
- "defaultValue": null,
7710
- "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7711
- }
7712
- ]
7713
- },
7714
- {
7715
- "name": "NavigationMenu.Popup",
7716
- "description": "NavigationMenu.Popup — the shared flyout surface holding the active Content. Renders a `<nav>`.",
7717
- "props": [
7718
- {
7719
- "name": "className",
7751
+ "name": "side",
7720
7752
  "required": false,
7721
- "type": "| string\n| ((state: NavigationMenuPopupState) => string)",
7722
- "defaultValue": null,
7723
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7753
+ "type": "Side",
7754
+ "defaultValue": "bottom",
7755
+ "description": "Which side of the anchor element to align the popup against.\nMay automatically change to avoid collisions."
7724
7756
  },
7725
7757
  {
7726
- "name": "ref",
7758
+ "name": "sideOffset",
7727
7759
  "required": false,
7728
- "type": "Ref<HTMLElement>",
7729
- "defaultValue": null,
7730
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7760
+ "type": "number | OffsetFunction",
7761
+ "defaultValue": "4",
7762
+ "description": "Distance between the anchor and the popup in pixels.\nAlso accepts a function that returns the distance to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n sideOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.height\n : anchor.width;\n }}\n/>\n```"
7731
7763
  },
7732
7764
  {
7733
- "name": "render",
7765
+ "name": "sticky",
7734
7766
  "required": false,
7735
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuPopupState>",
7736
- "defaultValue": null,
7737
- "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7767
+ "type": "boolean",
7768
+ "defaultValue": "false",
7769
+ "description": "Whether to maintain the popup in the viewport after\nthe anchor element was scrolled out of view."
7738
7770
  },
7739
7771
  {
7740
7772
  "name": "style",
7741
7773
  "required": false,
7742
- "type": "| CSSProperties\n| ((state: NavigationMenuPopupState) => CSSProperties)",
7774
+ "type": "| CSSProperties\n| ((state: MenuPositionerState) => CSSProperties)",
7743
7775
  "defaultValue": null,
7744
7776
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7745
7777
  }
7746
7778
  ]
7747
7779
  },
7748
7780
  {
7749
- "name": "NavigationMenu.Portal",
7750
- "description": "NavigationMenu.Portal — renders the positioner outside the main document flow.",
7781
+ "name": "Menu.RadioGroup",
7782
+ "description": "Menu.RadioGroup — groups radio rows so one is selected.",
7751
7783
  "props": [
7784
+ {
7785
+ "name": "children",
7786
+ "required": false,
7787
+ "type": "ReactNode",
7788
+ "defaultValue": null,
7789
+ "description": "The content of the component."
7790
+ },
7752
7791
  {
7753
7792
  "name": "className",
7754
7793
  "required": false,
7755
- "type": "| string\n| ((state: NavigationMenuPortalState) => string)",
7794
+ "type": "string | ((state: MenuRadioGroupState) => string)",
7756
7795
  "defaultValue": null,
7757
7796
  "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7758
7797
  },
7759
7798
  {
7760
- "name": "container",
7799
+ "name": "defaultValue",
7761
7800
  "required": false,
7762
- "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
7801
+ "type": "any",
7763
7802
  "defaultValue": null,
7764
- "description": "A parent element to render the portal element into."
7803
+ "description": "The uncontrolled value of the radio item that should be initially selected.\n\nTo render a controlled radio group, use the `value` prop instead."
7765
7804
  },
7766
7805
  {
7767
- "name": "keepMounted",
7806
+ "name": "disabled",
7768
7807
  "required": false,
7769
7808
  "type": "boolean",
7770
7809
  "defaultValue": "false",
7771
- "description": "Whether to keep the portal mounted in the DOM while the popup is hidden."
7810
+ "description": "Whether the component should ignore user interaction."
7811
+ },
7812
+ {
7813
+ "name": "onValueChange",
7814
+ "required": false,
7815
+ "type": "(\n value: any,\n eventDetails: MenuRootChangeEventDetails\n) => void",
7816
+ "defaultValue": null,
7817
+ "description": "Function called when the selected value changes."
7772
7818
  },
7773
7819
  {
7774
7820
  "name": "ref",
7775
7821
  "required": false,
7776
- "type": "Ref<HTMLElement>",
7822
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7777
7823
  "defaultValue": null,
7778
7824
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7779
7825
  },
7780
7826
  {
7781
7827
  "name": "render",
7782
7828
  "required": false,
7783
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuPortalState>",
7829
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuRadioGroupState>",
7784
7830
  "defaultValue": null,
7785
7831
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7786
7832
  },
7787
7833
  {
7788
7834
  "name": "style",
7789
7835
  "required": false,
7790
- "type": "| CSSProperties\n| ((state: NavigationMenuPortalState) => CSSProperties)",
7836
+ "type": "| CSSProperties\n| ((state: MenuRadioGroupState) => CSSProperties)",
7791
7837
  "defaultValue": null,
7792
7838
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7839
+ },
7840
+ {
7841
+ "name": "value",
7842
+ "required": false,
7843
+ "type": "any",
7844
+ "defaultValue": null,
7845
+ "description": "The controlled value of the radio item that should be currently selected.\n\nTo render an uncontrolled radio group, use the `defaultValue` prop instead."
7793
7846
  }
7794
7847
  ]
7795
7848
  },
7796
7849
  {
7797
- "name": "NavigationMenu.Positioner",
7798
- "description": "NavigationMenu.Positioner — anchors the popup to the active trigger.\nDefaults to `align=\"start\"` (DESIGN.md §5) so the flyout reads as anchored to\nthe trigger edge rather than centered. Renders a `<div>`.",
7850
+ "name": "Menu.RadioItem",
7851
+ "description": "Menu.RadioItem — a row that selects one value of its `RadioGroup`. It draws its check in the trailing cell.",
7799
7852
  "props": [
7800
7853
  {
7801
- "name": "align",
7854
+ "name": "badge",
7802
7855
  "required": false,
7803
- "type": "Align",
7804
- "defaultValue": "start",
7805
- "description": "How to align the popup relative to the specified side."
7856
+ "type": "ReactNode",
7857
+ "defaultValue": null,
7858
+ "description": "Trailing label. A string or number renders as small mono text; any other node renders as given, such as a `Chip`."
7806
7859
  },
7807
7860
  {
7808
- "name": "alignOffset",
7861
+ "name": "className",
7809
7862
  "required": false,
7810
- "type": "number | OffsetFunction",
7811
- "defaultValue": "0",
7812
- "description": "Additional offset along the alignment axis in pixels.\nAlso accepts a function that returns the offset to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n alignOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.width\n : anchor.height;\n }}\n/>\n```"
7863
+ "type": "string | ((state: MenuRadioItemState) => string)",
7864
+ "defaultValue": null,
7865
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7813
7866
  },
7814
7867
  {
7815
- "name": "anchor",
7868
+ "name": "closeOnClick",
7816
7869
  "required": false,
7817
- "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
7818
- "defaultValue": null,
7819
- "description": "An element to position the popup against.\nBy default, the popup will be positioned against the trigger."
7870
+ "type": "boolean",
7871
+ "defaultValue": "false",
7872
+ "description": "Whether to close the menu when the item is clicked."
7820
7873
  },
7821
7874
  {
7822
- "name": "arrowPadding",
7875
+ "name": "description",
7823
7876
  "required": false,
7824
- "type": "number",
7825
- "defaultValue": "5",
7826
- "description": "Minimum distance to maintain between the arrow and the edges of the popup.\n\nUse it to prevent the arrow element from hanging out of the rounded corners of a popup."
7877
+ "type": "ReactNode",
7878
+ "defaultValue": null,
7879
+ "description": "Muted second line under the text."
7827
7880
  },
7828
7881
  {
7829
- "name": "className",
7882
+ "name": "disabled",
7830
7883
  "required": false,
7831
- "type": "| string\n| ((state: NavigationMenuPositionerState) => string)",
7832
- "defaultValue": null,
7833
- "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7884
+ "type": "boolean",
7885
+ "defaultValue": "false",
7886
+ "description": "Whether the component should ignore user interaction."
7834
7887
  },
7835
7888
  {
7836
- "name": "collisionAvoidance",
7889
+ "name": "icon",
7837
7890
  "required": false,
7838
- "type": "CollisionAvoidance",
7891
+ "type": "ReactNode",
7839
7892
  "defaultValue": null,
7840
- "description": "Determines how to handle collisions when positioning the popup.\n\n`side` controls overflow on the preferred placement axis (`top`/`bottom` or `left`/`right`):\n- `'flip'`: keep the requested side when it fits; otherwise try the opposite side\n (`top` and `bottom`, or `left` and `right`).\n- `'shift'`: never change side; keep the requested side and move the popup within\n the clipping boundary so it stays visible.\n- `'none'`: do not correct side-axis overflow.\n\n`align` controls overflow on the alignment axis (`start`/`center`/`end`):\n- `'flip'`: keep side, but swap `start` and `end` when the requested alignment overflows.\n- `'shift'`: keep side and requested alignment, then nudge the popup along the\n alignment axis to fit.\n- `'none'`: do not correct alignment-axis overflow.\n\n`fallbackAxisSide` controls fallback behavior on the perpendicular axis when the\npreferred axis cannot fit:\n- `'start'`: allow perpendicular fallback and try the logical start side first\n (`top` before `bottom`, or `left` before `right` in LTR).\n- `'end'`: allow perpendicular fallback and try the logical end side first\n (`bottom` before `top`, or `right` before `left` in LTR).\n- `'none'`: do not fallback to the perpendicular axis.\n\nWhen `side` is `'shift'`, explicitly setting `align` only supports `'shift'` or `'none'`.\nIf `align` is omitted, it defaults to `'flip'`.\n@example ```jsx\n<Positioner\n collisionAvoidance={{\n side: 'shift',\n align: 'shift',\n fallbackAxisSide: 'none',\n }}\n/>\n```"
7893
+ "description": "Glyph in the lead cell, such as `<Icon glyph={Plus} size={16} aria-hidden />`. A menu where no item has one drops the cell."
7841
7894
  },
7842
7895
  {
7843
- "name": "collisionBoundary",
7896
+ "name": "id",
7844
7897
  "required": false,
7845
- "type": "Boundary",
7846
- "defaultValue": "clipping-ancestors",
7847
- "description": "An element or a rectangle that delimits the area that the popup is confined to."
7898
+ "type": "string",
7899
+ "defaultValue": null,
7900
+ "description": "@ignore"
7848
7901
  },
7849
7902
  {
7850
- "name": "collisionPadding",
7903
+ "name": "label",
7851
7904
  "required": false,
7852
- "type": "Padding",
7853
- "defaultValue": "5",
7854
- "description": "Additional space to maintain from the edge of the collision boundary."
7905
+ "type": "string",
7906
+ "defaultValue": null,
7907
+ "description": "Overrides the text label to use when the item is matched during keyboard text navigation."
7855
7908
  },
7856
7909
  {
7857
- "name": "disableAnchorTracking",
7910
+ "name": "nativeButton",
7858
7911
  "required": false,
7859
7912
  "type": "boolean",
7860
- "defaultValue": "false",
7861
- "description": "Whether to disable the popup from tracking any layout shift of its positioning anchor."
7913
+ "defaultValue": "true",
7914
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (for example, `<div>`)."
7862
7915
  },
7863
7916
  {
7864
- "name": "positionMethod",
7917
+ "name": "onClick",
7865
7918
  "required": false,
7866
- "type": "\"absolute\" | \"fixed\"",
7867
- "defaultValue": "absolute",
7868
- "description": "Determines which CSS `position` property to use."
7919
+ "type": "(\n event: BaseUIEvent<MouseEvent<HTMLDivElement, MouseEvent>>\n) => void",
7920
+ "defaultValue": null,
7921
+ "description": "The click handler for the menu item."
7869
7922
  },
7870
7923
  {
7871
7924
  "name": "ref",
7872
7925
  "required": false,
7873
- "type": "Ref<HTMLElement>",
7926
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7874
7927
  "defaultValue": null,
7875
7928
  "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7876
7929
  },
7877
7930
  {
7878
7931
  "name": "render",
7879
7932
  "required": false,
7880
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuPositionerState\n >",
7933
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuRadioItemState>",
7881
7934
  "defaultValue": null,
7882
7935
  "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7883
7936
  },
7884
- {
7885
- "name": "side",
7886
- "required": false,
7887
- "type": "Side",
7888
- "defaultValue": "bottom",
7889
- "description": "Which side of the anchor element to align the popup against.\nMay automatically change to avoid collisions."
7890
- },
7891
- {
7892
- "name": "sideOffset",
7893
- "required": false,
7894
- "type": "number | OffsetFunction",
7895
- "defaultValue": "0",
7896
- "description": "Distance between the anchor and the popup in pixels.\nAlso accepts a function that returns the distance to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n sideOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.height\n : anchor.width;\n }}\n/>\n```"
7897
- },
7898
- {
7899
- "name": "sticky",
7900
- "required": false,
7901
- "type": "boolean",
7902
- "defaultValue": "false",
7903
- "description": "Whether to maintain the popup in the viewport after\nthe anchor element was scrolled out of view."
7904
- },
7905
7937
  {
7906
7938
  "name": "style",
7907
7939
  "required": false,
7908
- "type": "| CSSProperties\n| ((\n state: NavigationMenuPositionerState\n ) => CSSProperties)",
7940
+ "type": "| CSSProperties\n| ((state: MenuRadioItemState) => CSSProperties)",
7909
7941
  "defaultValue": null,
7910
7942
  "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7943
+ },
7944
+ {
7945
+ "name": "value",
7946
+ "required": true,
7947
+ "type": "any",
7948
+ "defaultValue": null,
7949
+ "description": "Value of the radio item.\nThis is the value that will be set in the MenuRadioGroup when the item is selected."
7911
7950
  }
7912
7951
  ]
7913
7952
  },
7914
7953
  {
7915
- "name": "NavigationMenu.Trigger",
7916
- "description": "NavigationMenu.Trigger — opens an item's flyout on hover or click. Renders a\n`<button>` with a built-in `ChevronDown` that rotates when open; pass\n`hideChevron` for a custom `Icon`, and `nested` for a trigger inside a flyout.",
7954
+ "name": "Menu.RadioItemIndicator",
7955
+ "description": "Menu.RadioItemIndicator — marks the selected radio row. A wrapped `RadioItem` renders one itself.",
7917
7956
  "props": [
7918
7957
  {
7919
- "name": "active",
7958
+ "name": "className",
7920
7959
  "required": false,
7921
- "type": "boolean",
7922
- "defaultValue": "false",
7923
- "description": "Marks this section as the current page, showing the active treatment even when its\nflyout is closed. Base UI's Trigger has no active state of its own, so this stamps\n`data-active`."
7960
+ "type": "| string\n| ((state: MenuRadioItemIndicatorState) => string)",
7961
+ "defaultValue": null,
7962
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
7963
+ },
7964
+ {
7965
+ "name": "keepMounted",
7966
+ "required": false,
7967
+ "type": "boolean",
7968
+ "defaultValue": "false",
7969
+ "description": "Whether to keep the HTML element in the DOM when the radio item is inactive."
7970
+ },
7971
+ {
7972
+ "name": "ref",
7973
+ "required": false,
7974
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
7975
+ "defaultValue": null,
7976
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
7977
+ },
7978
+ {
7979
+ "name": "render",
7980
+ "required": false,
7981
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n MenuRadioItemIndicatorState\n >",
7982
+ "defaultValue": null,
7983
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
7984
+ },
7985
+ {
7986
+ "name": "style",
7987
+ "required": false,
7988
+ "type": "| CSSProperties\n| ((state: MenuRadioItemIndicatorState) => CSSProperties)",
7989
+ "defaultValue": null,
7990
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
7991
+ }
7992
+ ]
7993
+ },
7994
+ {
7995
+ "name": "Menu.Separator",
7996
+ "description": "Menu.Separator — divider line between rows or groups.",
7997
+ "props": [
7998
+ {
7999
+ "name": "className",
8000
+ "required": false,
8001
+ "type": "string | ((state: SeparatorState) => string)",
8002
+ "defaultValue": null,
8003
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8004
+ },
8005
+ {
8006
+ "name": "orientation",
8007
+ "required": false,
8008
+ "type": "Orientation",
8009
+ "defaultValue": "horizontal",
8010
+ "description": "The orientation of the separator."
8011
+ },
8012
+ {
8013
+ "name": "ref",
8014
+ "required": false,
8015
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
8016
+ "defaultValue": null,
8017
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8018
+ },
8019
+ {
8020
+ "name": "render",
8021
+ "required": false,
8022
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SeparatorState>",
8023
+ "defaultValue": null,
8024
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8025
+ },
8026
+ {
8027
+ "name": "style",
8028
+ "required": false,
8029
+ "type": "| CSSProperties\n| ((state: SeparatorState) => CSSProperties)",
8030
+ "defaultValue": null,
8031
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8032
+ }
8033
+ ]
8034
+ },
8035
+ {
8036
+ "name": "Menu.SubmenuRoot",
8037
+ "description": "Menu.SubmenuRoot — container for a nested menu.",
8038
+ "props": [
8039
+ {
8040
+ "name": "actionsRef",
8041
+ "required": false,
8042
+ "type": "RefObject<MenuRootActions | null>",
8043
+ "defaultValue": null,
8044
+ "description": "A ref to imperative actions.\n- `unmount`: Manually unmounts the menu.\n Call this after any externally controlled closing animation finishes.\n- `close`: When specified, the menu can be closed imperatively."
8045
+ },
8046
+ {
8047
+ "name": "children",
8048
+ "required": false,
8049
+ "type": "ReactNode",
8050
+ "defaultValue": null,
8051
+ "description": "The content of the submenu."
8052
+ },
8053
+ {
8054
+ "name": "closeParentOnEsc",
8055
+ "required": false,
8056
+ "type": "boolean",
8057
+ "defaultValue": "false",
8058
+ "description": "When in a submenu, determines whether pressing the Escape key\ncloses the entire menu, or only the current child menu."
8059
+ },
8060
+ {
8061
+ "name": "defaultOpen",
8062
+ "required": false,
8063
+ "type": "boolean",
8064
+ "defaultValue": "false",
8065
+ "description": "Whether the menu is initially open.\n\nTo render a controlled menu, use the `open` prop instead."
8066
+ },
8067
+ {
8068
+ "name": "disabled",
8069
+ "required": false,
8070
+ "type": "boolean",
8071
+ "defaultValue": "false",
8072
+ "description": "Whether the component should ignore user interaction."
8073
+ },
8074
+ {
8075
+ "name": "highlightItemOnHover",
8076
+ "required": false,
8077
+ "type": "boolean",
8078
+ "defaultValue": "true",
8079
+ "description": "Whether moving the pointer over items should highlight them.\nDisabling this prop allows CSS `:hover` to be differentiated from the `:focus` (`data-highlighted`) state."
8080
+ },
8081
+ {
8082
+ "name": "loopFocus",
8083
+ "required": false,
8084
+ "type": "boolean",
8085
+ "defaultValue": "true",
8086
+ "description": "Whether to loop keyboard focus back to the first item\nwhen the end of the list is reached while using the arrow keys."
8087
+ },
8088
+ {
8089
+ "name": "onOpenChange",
8090
+ "required": false,
8091
+ "type": "(\n open: boolean,\n eventDetails: MenuRootChangeEventDetails\n) => void",
8092
+ "defaultValue": null,
8093
+ "description": "Event handler called when the menu is opened or closed."
8094
+ },
8095
+ {
8096
+ "name": "onOpenChangeComplete",
8097
+ "required": false,
8098
+ "type": "(open: boolean) => void",
8099
+ "defaultValue": null,
8100
+ "description": "Event handler called after any animations complete when the menu is closed."
8101
+ },
8102
+ {
8103
+ "name": "open",
8104
+ "required": false,
8105
+ "type": "boolean",
8106
+ "defaultValue": null,
8107
+ "description": "Whether the menu is currently open."
8108
+ },
8109
+ {
8110
+ "name": "orientation",
8111
+ "required": false,
8112
+ "type": "MenuRootOrientation",
8113
+ "defaultValue": "vertical",
8114
+ "description": "The visual orientation of the menu.\nControls whether roving focus uses up/down or left/right arrow keys."
8115
+ }
8116
+ ]
8117
+ },
8118
+ {
8119
+ "name": "Menu.SubmenuTrigger",
8120
+ "description": "Menu.SubmenuTrigger — a row that opens a nested menu. It draws a chevron in the trailing cell.",
8121
+ "props": [
8122
+ {
8123
+ "name": "badge",
8124
+ "required": false,
8125
+ "type": "ReactNode",
8126
+ "defaultValue": null,
8127
+ "description": "Trailing label. A string or number renders as small mono text; any other node renders as given, such as a `Chip`."
8128
+ },
8129
+ {
8130
+ "name": "className",
8131
+ "required": false,
8132
+ "type": "| string\n| ((state: MenuSubmenuTriggerState) => string)",
8133
+ "defaultValue": null,
8134
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8135
+ },
8136
+ {
8137
+ "name": "closeDelay",
8138
+ "required": false,
8139
+ "type": "number",
8140
+ "defaultValue": "0",
8141
+ "description": "How long to wait before closing the menu that was opened on hover.\nSpecified in milliseconds.\n\nRequires the `openOnHover` prop."
8142
+ },
8143
+ {
8144
+ "name": "delay",
8145
+ "required": false,
8146
+ "type": "number",
8147
+ "defaultValue": "100",
8148
+ "description": "How long to wait before the menu may be opened on hover. Specified in milliseconds.\n\nRequires the `openOnHover` prop."
8149
+ },
8150
+ {
8151
+ "name": "description",
8152
+ "required": false,
8153
+ "type": "ReactNode",
8154
+ "defaultValue": null,
8155
+ "description": "Muted second line under the text."
8156
+ },
8157
+ {
8158
+ "name": "disabled",
8159
+ "required": false,
8160
+ "type": "boolean",
8161
+ "defaultValue": "false",
8162
+ "description": "Whether the component should ignore user interaction."
8163
+ },
8164
+ {
8165
+ "name": "icon",
8166
+ "required": false,
8167
+ "type": "ReactNode",
8168
+ "defaultValue": null,
8169
+ "description": "Glyph in the lead cell, such as `<Icon glyph={Plus} size={16} aria-hidden />`. A menu where no item has one drops the cell."
8170
+ },
8171
+ {
8172
+ "name": "id",
8173
+ "required": false,
8174
+ "type": "string",
8175
+ "defaultValue": null,
8176
+ "description": "@ignore"
8177
+ },
8178
+ {
8179
+ "name": "label",
8180
+ "required": false,
8181
+ "type": "string",
8182
+ "defaultValue": null,
8183
+ "description": "Overrides the text label to use when the item is matched during keyboard text navigation."
8184
+ },
8185
+ {
8186
+ "name": "nativeButton",
8187
+ "required": false,
8188
+ "type": "boolean",
8189
+ "defaultValue": "true",
8190
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (for example, `<div>`)."
8191
+ },
8192
+ {
8193
+ "name": "onClick",
8194
+ "required": false,
8195
+ "type": "(\n event: BaseUIEvent<MouseEvent<HTMLDivElement, MouseEvent>>\n) => void",
8196
+ "defaultValue": null,
8197
+ "description": ""
8198
+ },
8199
+ {
8200
+ "name": "openOnHover",
8201
+ "required": false,
8202
+ "type": "boolean",
8203
+ "defaultValue": null,
8204
+ "description": "Whether the menu should also open when the trigger is hovered."
8205
+ },
8206
+ {
8207
+ "name": "ref",
8208
+ "required": false,
8209
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
8210
+ "defaultValue": null,
8211
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8212
+ },
8213
+ {
8214
+ "name": "render",
8215
+ "required": false,
8216
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuSubmenuTriggerState>",
8217
+ "defaultValue": null,
8218
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8219
+ },
8220
+ {
8221
+ "name": "style",
8222
+ "required": false,
8223
+ "type": "| CSSProperties\n| ((state: MenuSubmenuTriggerState) => CSSProperties)",
8224
+ "defaultValue": null,
8225
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8226
+ }
8227
+ ]
8228
+ },
8229
+ {
8230
+ "name": "Menu.Trigger",
8231
+ "description": "Menu.Trigger — native button that opens the menu. Pass `render={<Button />}` to use any element, such as a `Button`.",
8232
+ "props": [
8233
+ {
8234
+ "name": "className",
8235
+ "required": false,
8236
+ "type": "string | ((state: MenuTriggerState) => string)",
8237
+ "defaultValue": null,
8238
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8239
+ },
8240
+ {
8241
+ "name": "closeDelay",
8242
+ "required": false,
8243
+ "type": "number",
8244
+ "defaultValue": "0",
8245
+ "description": "How long to wait before closing the menu that was opened on hover.\nSpecified in milliseconds.\n\nRequires the `openOnHover` prop."
8246
+ },
8247
+ {
8248
+ "name": "delay",
8249
+ "required": false,
8250
+ "type": "number",
8251
+ "defaultValue": "100",
8252
+ "description": "How long to wait before the menu may be opened on hover. Specified in milliseconds.\n\nRequires the `openOnHover` prop."
8253
+ },
8254
+ {
8255
+ "name": "disabled",
8256
+ "required": false,
8257
+ "type": "boolean",
8258
+ "defaultValue": "false",
8259
+ "description": "Whether the component should ignore user interaction."
8260
+ },
8261
+ {
8262
+ "name": "handle",
8263
+ "required": false,
8264
+ "type": "MenuHandle<unknown>",
8265
+ "defaultValue": null,
8266
+ "description": "A handle to associate the trigger with a menu."
8267
+ },
8268
+ {
8269
+ "name": "nativeButton",
8270
+ "required": false,
8271
+ "type": "boolean",
8272
+ "defaultValue": "true",
8273
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (for example, `<div>`)."
8274
+ },
8275
+ {
8276
+ "name": "openOnHover",
8277
+ "required": false,
8278
+ "type": "boolean",
8279
+ "defaultValue": null,
8280
+ "description": "Whether the menu should also open when the trigger is hovered."
8281
+ },
8282
+ {
8283
+ "name": "payload",
8284
+ "required": false,
8285
+ "type": "unknown",
8286
+ "defaultValue": null,
8287
+ "description": "A payload to pass to the menu when it is opened."
8288
+ },
8289
+ {
8290
+ "name": "ref",
8291
+ "required": false,
8292
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
8293
+ "defaultValue": null,
8294
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8295
+ },
8296
+ {
8297
+ "name": "render",
8298
+ "required": false,
8299
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuTriggerState>",
8300
+ "defaultValue": null,
8301
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8302
+ },
8303
+ {
8304
+ "name": "style",
8305
+ "required": false,
8306
+ "type": "| CSSProperties\n| ((state: MenuTriggerState) => CSSProperties)",
8307
+ "defaultValue": null,
8308
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8309
+ }
8310
+ ]
8311
+ },
8312
+ {
8313
+ "name": "Menu.Viewport",
8314
+ "description": "Menu.Viewport — content wrapper that supports direction-aware transitions between triggers.",
8315
+ "props": [
8316
+ {
8317
+ "name": "children",
8318
+ "required": false,
8319
+ "type": "ReactNode",
8320
+ "defaultValue": null,
8321
+ "description": "The content to render inside the transition container."
8322
+ },
8323
+ {
8324
+ "name": "className",
8325
+ "required": false,
8326
+ "type": "string | ((state: MenuViewportState) => string)",
8327
+ "defaultValue": null,
8328
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8329
+ },
8330
+ {
8331
+ "name": "ref",
8332
+ "required": false,
8333
+ "type": "((instance: HTMLButtonElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLButtonElement | null> | ((instance: HTMLElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<...> | null",
8334
+ "defaultValue": null,
8335
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8336
+ },
8337
+ {
8338
+ "name": "render",
8339
+ "required": false,
8340
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MenuViewportState>",
8341
+ "defaultValue": null,
8342
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8343
+ },
8344
+ {
8345
+ "name": "style",
8346
+ "required": false,
8347
+ "type": "| CSSProperties\n| ((state: MenuViewportState) => CSSProperties)",
8348
+ "defaultValue": null,
8349
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8350
+ }
8351
+ ]
8352
+ }
8353
+ ]
8354
+ },
8355
+ "meter": {
8356
+ "root": {
8357
+ "name": "Meter.Root",
8358
+ "description": "Meter.Root — read-only measurement of a value within a known range.\n\nWithout a visible `Meter.Label`, name the meter with `aria-label`.",
8359
+ "props": [
8360
+ {
8361
+ "name": "aria-valuetext",
8362
+ "required": false,
8363
+ "type": "string",
8364
+ "defaultValue": null,
8365
+ "description": "A string value that provides a user-friendly name for `aria-valuenow`, the current value of the meter."
8366
+ },
8367
+ {
8368
+ "name": "className",
8369
+ "required": false,
8370
+ "type": "string | ((state: MeterRootState) => string)",
8371
+ "defaultValue": null,
8372
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8373
+ },
8374
+ {
8375
+ "name": "format",
8376
+ "required": false,
8377
+ "type": "NumberFormatOptions",
8378
+ "defaultValue": null,
8379
+ "description": "Options to format the value."
8380
+ },
8381
+ {
8382
+ "name": "getAriaValueText",
8383
+ "required": false,
8384
+ "type": "(formattedValue: string, value: number) => string",
8385
+ "defaultValue": null,
8386
+ "description": "A function that returns a string value that provides a human-readable text alternative for `aria-valuenow`, the current value of the meter."
8387
+ },
8388
+ {
8389
+ "name": "locale",
8390
+ "required": false,
8391
+ "type": "LocalesArgument",
8392
+ "defaultValue": null,
8393
+ "description": "The locale used by `Intl.NumberFormat` when formatting the value.\nDefaults to the user's runtime locale."
8394
+ },
8395
+ {
8396
+ "name": "max",
8397
+ "required": false,
8398
+ "type": "number",
8399
+ "defaultValue": "100",
8400
+ "description": "The maximum value"
8401
+ },
8402
+ {
8403
+ "name": "min",
8404
+ "required": false,
8405
+ "type": "number",
8406
+ "defaultValue": "0",
8407
+ "description": "The minimum value"
8408
+ },
8409
+ {
8410
+ "name": "ref",
8411
+ "required": false,
8412
+ "type": "Ref<HTMLDivElement>",
8413
+ "defaultValue": null,
8414
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8415
+ },
8416
+ {
8417
+ "name": "render",
8418
+ "required": false,
8419
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterRootState>",
8420
+ "defaultValue": null,
8421
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8422
+ },
8423
+ {
8424
+ "name": "style",
8425
+ "required": false,
8426
+ "type": "| CSSProperties\n| ((state: MeterRootState) => CSSProperties)",
8427
+ "defaultValue": null,
8428
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8429
+ },
8430
+ {
8431
+ "name": "value",
8432
+ "required": true,
8433
+ "type": "number",
8434
+ "defaultValue": null,
8435
+ "description": "The current value."
8436
+ }
8437
+ ]
8438
+ },
8439
+ "subComponents": [
8440
+ {
8441
+ "name": "Meter.Indicator",
8442
+ "description": "Meter.Indicator — filled portion of the track up to the value.",
8443
+ "props": [
8444
+ {
8445
+ "name": "className",
8446
+ "required": false,
8447
+ "type": "string | ((state: MeterIndicatorState) => string)",
8448
+ "defaultValue": null,
8449
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8450
+ },
8451
+ {
8452
+ "name": "ref",
8453
+ "required": false,
8454
+ "type": "Ref<HTMLDivElement>",
8455
+ "defaultValue": null,
8456
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8457
+ },
8458
+ {
8459
+ "name": "render",
8460
+ "required": false,
8461
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterIndicatorState>",
8462
+ "defaultValue": null,
8463
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8464
+ },
8465
+ {
8466
+ "name": "style",
8467
+ "required": false,
8468
+ "type": "| CSSProperties\n| ((state: MeterIndicatorState) => CSSProperties)",
8469
+ "defaultValue": null,
8470
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8471
+ }
8472
+ ]
8473
+ },
8474
+ {
8475
+ "name": "Meter.Label",
8476
+ "description": "Meter.Label — accessible label for the meter.",
8477
+ "props": [
8478
+ {
8479
+ "name": "className",
8480
+ "required": false,
8481
+ "type": "string | ((state: MeterLabelState) => string)",
8482
+ "defaultValue": null,
8483
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8484
+ },
8485
+ {
8486
+ "name": "ref",
8487
+ "required": false,
8488
+ "type": "Ref<HTMLDivElement>",
8489
+ "defaultValue": null,
8490
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8491
+ },
8492
+ {
8493
+ "name": "render",
8494
+ "required": false,
8495
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterLabelState>",
8496
+ "defaultValue": null,
8497
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8498
+ },
8499
+ {
8500
+ "name": "style",
8501
+ "required": false,
8502
+ "type": "| CSSProperties\n| ((state: MeterLabelState) => CSSProperties)",
8503
+ "defaultValue": null,
8504
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8505
+ }
8506
+ ]
8507
+ },
8508
+ {
8509
+ "name": "Meter.Track",
8510
+ "description": "Meter.Track — the full range.",
8511
+ "props": [
8512
+ {
8513
+ "name": "className",
8514
+ "required": false,
8515
+ "type": "string | ((state: MeterTrackState) => string)",
8516
+ "defaultValue": null,
8517
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8518
+ },
8519
+ {
8520
+ "name": "ref",
8521
+ "required": false,
8522
+ "type": "Ref<HTMLDivElement>",
8523
+ "defaultValue": null,
8524
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8525
+ },
8526
+ {
8527
+ "name": "render",
8528
+ "required": false,
8529
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterTrackState>",
8530
+ "defaultValue": null,
8531
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8532
+ },
8533
+ {
8534
+ "name": "style",
8535
+ "required": false,
8536
+ "type": "| CSSProperties\n| ((state: MeterTrackState) => CSSProperties)",
8537
+ "defaultValue": null,
8538
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8539
+ }
8540
+ ]
8541
+ },
8542
+ {
8543
+ "name": "Meter.Value",
8544
+ "description": "Meter.Value — formatted readout of the current value.",
8545
+ "props": [
8546
+ {
8547
+ "name": "className",
8548
+ "required": false,
8549
+ "type": "string | ((state: MeterValueState) => string)",
8550
+ "defaultValue": null,
8551
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8552
+ },
8553
+ {
8554
+ "name": "ref",
8555
+ "required": false,
8556
+ "type": "Ref<HTMLDivElement>",
8557
+ "defaultValue": null,
8558
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8559
+ },
8560
+ {
8561
+ "name": "render",
8562
+ "required": false,
8563
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, MeterValueState>",
8564
+ "defaultValue": null,
8565
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8566
+ },
8567
+ {
8568
+ "name": "style",
8569
+ "required": false,
8570
+ "type": "| CSSProperties\n| ((state: MeterValueState) => CSSProperties)",
8571
+ "defaultValue": null,
8572
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8573
+ }
8574
+ ]
8575
+ }
8576
+ ]
8577
+ },
8578
+ "navigation-menu": {
8579
+ "root": {
8580
+ "name": "NavigationMenu.Root",
8581
+ "description": "NavigationMenu.Root — groups all parts and manages which item is open.\nRenders a `<nav>`.",
8582
+ "props": [
8583
+ {
8584
+ "name": "actionsRef",
8585
+ "required": false,
8586
+ "type": "RefObject<NavigationMenuRootActions | null>",
8587
+ "defaultValue": null,
8588
+ "description": "A ref to imperative actions."
8589
+ },
8590
+ {
8591
+ "name": "className",
8592
+ "required": false,
8593
+ "type": "| string\n| ((state: NavigationMenuRootState) => string)",
8594
+ "defaultValue": null,
8595
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8596
+ },
8597
+ {
8598
+ "name": "closeDelay",
8599
+ "required": false,
8600
+ "type": "number",
8601
+ "defaultValue": "50",
8602
+ "description": "How long to wait before closing the navigation popup. Specified in milliseconds."
8603
+ },
8604
+ {
8605
+ "name": "defaultValue",
8606
+ "required": false,
8607
+ "type": "Value | null",
8608
+ "defaultValue": "null",
8609
+ "description": "The uncontrolled value of the item that should be initially selected.\n\nTo render a controlled navigation menu, use the `value` prop instead."
8610
+ },
8611
+ {
8612
+ "name": "delay",
8613
+ "required": false,
8614
+ "type": "number",
8615
+ "defaultValue": "50",
8616
+ "description": "How long to wait before opening the navigation popup. Specified in milliseconds."
8617
+ },
8618
+ {
8619
+ "name": "onOpenChangeComplete",
8620
+ "required": false,
8621
+ "type": "(open: boolean) => void",
8622
+ "defaultValue": null,
8623
+ "description": "Event handler called after any animations complete when the navigation menu is closed."
8624
+ },
8625
+ {
8626
+ "name": "onValueChange",
8627
+ "required": false,
8628
+ "type": "(\n value: Value | null,\n eventDetails: NavigationMenuRootChangeEventDetails\n) => void",
8629
+ "defaultValue": null,
8630
+ "description": "Callback fired when the value changes."
8631
+ },
8632
+ {
8633
+ "name": "orientation",
8634
+ "required": false,
8635
+ "type": "Orientation",
8636
+ "defaultValue": "horizontal",
8637
+ "description": "Layout of the menu. `horizontal` is a top nav bar; `vertical` stacks the\nwhole menu into a side rail with flyouts opening to the side."
8638
+ },
8639
+ {
8640
+ "name": "ref",
8641
+ "required": false,
8642
+ "type": "Ref<HTMLElement>",
8643
+ "defaultValue": null,
8644
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8645
+ },
8646
+ {
8647
+ "name": "render",
8648
+ "required": false,
8649
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuRootState>",
8650
+ "defaultValue": null,
8651
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8652
+ },
8653
+ {
8654
+ "name": "style",
8655
+ "required": false,
8656
+ "type": "| CSSProperties\n| ((state: NavigationMenuRootState) => CSSProperties)",
8657
+ "defaultValue": null,
8658
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8659
+ },
8660
+ {
8661
+ "name": "value",
8662
+ "required": false,
8663
+ "type": "Value | null",
8664
+ "defaultValue": "null",
8665
+ "description": "The controlled value of the navigation menu item that should be currently open.\nWhen non-nullish, the menu will be open. When nullish, the menu will be closed.\n\nTo render an uncontrolled navigation menu, use the `defaultValue` prop instead."
8666
+ }
8667
+ ]
8668
+ },
8669
+ "subComponents": [
8670
+ {
8671
+ "name": "NavigationMenu.Arrow",
8672
+ "description": "NavigationMenu.Arrow — a pointer anchored to the popup edge. Receives data-side for orientation. Renders a `<div>`.",
8673
+ "props": [
8674
+ {
8675
+ "name": "className",
8676
+ "required": false,
8677
+ "type": "| string\n| ((state: NavigationMenuArrowState) => string)",
8678
+ "defaultValue": null,
8679
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8680
+ },
8681
+ {
8682
+ "name": "ref",
8683
+ "required": false,
8684
+ "type": "Ref<HTMLElement>",
8685
+ "defaultValue": null,
8686
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8687
+ },
8688
+ {
8689
+ "name": "render",
8690
+ "required": false,
8691
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuArrowState>",
8692
+ "defaultValue": null,
8693
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8694
+ },
8695
+ {
8696
+ "name": "style",
8697
+ "required": false,
8698
+ "type": "| CSSProperties\n| ((state: NavigationMenuArrowState) => CSSProperties)",
8699
+ "defaultValue": null,
8700
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8701
+ }
8702
+ ]
8703
+ },
8704
+ {
8705
+ "name": "NavigationMenu.Backdrop",
8706
+ "description": "NavigationMenu.Backdrop — overlay beneath the popup. Receives data-open/data-closed for transitions. Renders a `<div>`.",
8707
+ "props": [
8708
+ {
8709
+ "name": "className",
8710
+ "required": false,
8711
+ "type": "| string\n| ((state: NavigationMenuBackdropState) => string)",
8712
+ "defaultValue": null,
8713
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8714
+ },
8715
+ {
8716
+ "name": "ref",
8717
+ "required": false,
8718
+ "type": "Ref<HTMLElement>",
8719
+ "defaultValue": null,
8720
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8721
+ },
8722
+ {
8723
+ "name": "render",
8724
+ "required": false,
8725
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuBackdropState\n >",
8726
+ "defaultValue": null,
8727
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8728
+ },
8729
+ {
8730
+ "name": "style",
8731
+ "required": false,
8732
+ "type": "| CSSProperties\n| ((state: NavigationMenuBackdropState) => CSSProperties)",
8733
+ "defaultValue": null,
8734
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8735
+ }
8736
+ ]
8737
+ },
8738
+ {
8739
+ "name": "NavigationMenu.Content",
8740
+ "description": "NavigationMenu.Content — an item's flyout body; moved into the shared Popup when active. Renders a `<div>`.",
8741
+ "props": [
8742
+ {
8743
+ "name": "className",
8744
+ "required": false,
8745
+ "type": "| string\n| ((state: NavigationMenuContentState) => string)",
8746
+ "defaultValue": null,
8747
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8748
+ },
8749
+ {
8750
+ "name": "keepMounted",
8751
+ "required": false,
8752
+ "type": "boolean",
8753
+ "defaultValue": "false",
8754
+ "description": "Whether to keep the content mounted in the DOM while the popup is closed.\nEnsures the content is present during server-side rendering for web crawlers."
8755
+ },
8756
+ {
8757
+ "name": "ref",
8758
+ "required": false,
8759
+ "type": "Ref<HTMLElement>",
8760
+ "defaultValue": null,
8761
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8762
+ },
8763
+ {
8764
+ "name": "render",
8765
+ "required": false,
8766
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuContentState\n >",
8767
+ "defaultValue": null,
8768
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8769
+ },
8770
+ {
8771
+ "name": "style",
8772
+ "required": false,
8773
+ "type": "| CSSProperties\n| ((state: NavigationMenuContentState) => CSSProperties)",
8774
+ "defaultValue": null,
8775
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8776
+ }
8777
+ ]
8778
+ },
8779
+ {
8780
+ "name": "NavigationMenu.FlyoutLink",
8781
+ "description": "NavigationMenu.FlyoutLink — a quiet text link inside a flyout `Content`, the lightweight\nalternative to `LinkCard`. Renders an `<a>`; a trailing `ArrowRight` slides in on hover/focus,\nand the current page is marked in primary. A custom `render` omits the icon.",
8782
+ "props": [
8783
+ {
8784
+ "name": "active",
8785
+ "required": false,
8786
+ "type": "boolean",
8787
+ "defaultValue": "false",
8788
+ "description": "Whether the link is the currently active page."
8789
+ },
8790
+ {
8791
+ "name": "className",
8792
+ "required": false,
8793
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
8794
+ "defaultValue": null,
8795
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8796
+ },
8797
+ {
8798
+ "name": "closeOnClick",
8799
+ "required": false,
8800
+ "type": "boolean",
8801
+ "defaultValue": "false",
8802
+ "description": "Whether to close the navigation menu when the link is clicked."
8803
+ },
8804
+ {
8805
+ "name": "ref",
8806
+ "required": false,
8807
+ "type": "Ref<HTMLElement>",
8808
+ "defaultValue": null,
8809
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8810
+ },
8811
+ {
8812
+ "name": "render",
8813
+ "required": false,
8814
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
8815
+ "defaultValue": null,
8816
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8817
+ },
8818
+ {
8819
+ "name": "style",
8820
+ "required": false,
8821
+ "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
8822
+ "defaultValue": null,
8823
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8824
+ }
8825
+ ]
8826
+ },
8827
+ {
8828
+ "name": "NavigationMenu.Icon",
8829
+ "description": "NavigationMenu.Icon — a chevron/marker that rotates when its trigger is open. Renders a `<span>`.",
8830
+ "props": [
8831
+ {
8832
+ "name": "className",
8833
+ "required": false,
8834
+ "type": "| string\n| ((state: NavigationMenuIconState) => string)",
8835
+ "defaultValue": null,
8836
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8837
+ },
8838
+ {
8839
+ "name": "ref",
8840
+ "required": false,
8841
+ "type": "Ref<HTMLElement>",
8842
+ "defaultValue": null,
8843
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8844
+ },
8845
+ {
8846
+ "name": "render",
8847
+ "required": false,
8848
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuIconState>",
8849
+ "defaultValue": null,
8850
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8851
+ },
8852
+ {
8853
+ "name": "style",
8854
+ "required": false,
8855
+ "type": "| CSSProperties\n| ((state: NavigationMenuIconState) => CSSProperties)",
8856
+ "defaultValue": null,
8857
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8858
+ }
8859
+ ]
8860
+ },
8861
+ {
8862
+ "name": "NavigationMenu.InlineSubmenu",
8863
+ "description": "NavigationMenu.InlineSubmenu — a master/detail submenu that stays inside one\nflyout: a category rail beside (or, on narrow viewports, above) its detail.\n\nA curated partial over the namespace's own primitives (a nested vertical\n`Root` without a `Portal`, plus the rail/detail layout). Drop it directly\ninside a `NavigationMenu.Content`. Switches from a tab strip to a side rail\nat `md` — no work for the consumer, no container queries.",
8864
+ "props": [
8865
+ {
8866
+ "name": "defaultValue",
8867
+ "required": false,
8868
+ "type": "string",
8869
+ "defaultValue": null,
8870
+ "description": "Which category is open initially (uncontrolled)."
8871
+ },
8872
+ {
8873
+ "name": "items",
8874
+ "required": true,
8875
+ "type": "readonly InlineSubmenuItem[]",
8876
+ "defaultValue": null,
8877
+ "description": "The categories: each is a rail entry with its detail pane."
8878
+ }
8879
+ ]
8880
+ },
8881
+ {
8882
+ "name": "NavigationMenu.InlineSubmenuItem",
8883
+ "description": "One category in an `InlineSubmenu` — a rail entry plus its detail pane.",
8884
+ "props": []
8885
+ },
8886
+ {
8887
+ "name": "NavigationMenu.Item",
8888
+ "description": "NavigationMenu.Item — a single item in the list. Renders a `<li>`.",
8889
+ "props": [
8890
+ {
8891
+ "name": "className",
8892
+ "required": false,
8893
+ "type": "| string\n| ((state: NavigationMenuItemState) => string)",
8894
+ "defaultValue": null,
8895
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8896
+ },
8897
+ {
8898
+ "name": "ref",
8899
+ "required": false,
8900
+ "type": "Ref<HTMLElement>",
8901
+ "defaultValue": null,
8902
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8903
+ },
8904
+ {
8905
+ "name": "render",
8906
+ "required": false,
8907
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuItemState>",
8908
+ "defaultValue": null,
8909
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8910
+ },
8911
+ {
8912
+ "name": "style",
8913
+ "required": false,
8914
+ "type": "| CSSProperties\n| ((state: NavigationMenuItemState) => CSSProperties)",
8915
+ "defaultValue": null,
8916
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8917
+ },
8918
+ {
8919
+ "name": "value",
8920
+ "required": false,
8921
+ "type": "any",
8922
+ "defaultValue": null,
8923
+ "description": "A unique value that identifies this navigation menu item.\nIf no value is provided, a unique ID will be generated automatically.\nUse when controlling the navigation menu programmatically."
8924
+ }
8925
+ ]
8926
+ },
8927
+ {
8928
+ "name": "NavigationMenu.Link",
8929
+ "description": "NavigationMenu.Link — a top-strip (rail) link: a peer of `Trigger` for a\nsection that navigates directly instead of opening a flyout. Renders an `<a>`.\nFor a link inside a flyout, use `NavigationMenu.FlyoutLink`.",
8930
+ "props": [
8931
+ {
8932
+ "name": "active",
8933
+ "required": false,
8934
+ "type": "boolean",
8935
+ "defaultValue": "false",
8936
+ "description": "Whether the link is the currently active page."
8937
+ },
8938
+ {
8939
+ "name": "className",
8940
+ "required": false,
8941
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
8942
+ "defaultValue": null,
8943
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8944
+ },
8945
+ {
8946
+ "name": "closeOnClick",
8947
+ "required": false,
8948
+ "type": "boolean",
8949
+ "defaultValue": "false",
8950
+ "description": "Whether to close the navigation menu when the link is clicked."
8951
+ },
8952
+ {
8953
+ "name": "ref",
8954
+ "required": false,
8955
+ "type": "Ref<HTMLElement>",
8956
+ "defaultValue": null,
8957
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
8958
+ },
8959
+ {
8960
+ "name": "render",
8961
+ "required": false,
8962
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
8963
+ "defaultValue": null,
8964
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
8965
+ },
8966
+ {
8967
+ "name": "style",
8968
+ "required": false,
8969
+ "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
8970
+ "defaultValue": null,
8971
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
8972
+ }
8973
+ ]
8974
+ },
8975
+ {
8976
+ "name": "NavigationMenu.LinkCard",
8977
+ "description": "NavigationMenu.LinkCard — a rich flyout entry (optional image + title +\ndescription) for the bigger menus. Built on the `Card` primitive (like\n`ChipLink` is built on `Chip`): it composes `Card.Root`/`Image`/`Header`/\n`Content` for the surface and layout, and adds the nav-specific state — a\nthick primary bar along the card's bottom edge on hover and when active. Use\nwhere a plain `NavigationMenu.FlyoutLink` is too sparse.",
8978
+ "props": [
8979
+ {
8980
+ "name": "active",
8981
+ "required": false,
8982
+ "type": "boolean",
8983
+ "defaultValue": "false",
8984
+ "description": "Whether the link is the currently active page."
8985
+ },
8986
+ {
8987
+ "name": "className",
8988
+ "required": false,
8989
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
8990
+ "defaultValue": null,
8991
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
8992
+ },
8993
+ {
8994
+ "name": "closeOnClick",
8995
+ "required": false,
8996
+ "type": "boolean",
8997
+ "defaultValue": "false",
8998
+ "description": "Whether to close the navigation menu when the link is clicked."
8999
+ },
9000
+ {
9001
+ "name": "description",
9002
+ "required": false,
9003
+ "type": "ReactNode",
9004
+ "defaultValue": null,
9005
+ "description": "Supporting line beneath the title."
9006
+ },
9007
+ {
9008
+ "name": "image",
9009
+ "required": false,
9010
+ "type": "string",
9011
+ "defaultValue": null,
9012
+ "description": "Optional media — renders an edge-to-edge image above the text."
9013
+ },
9014
+ {
9015
+ "name": "imageAlt",
9016
+ "required": false,
9017
+ "type": "string",
9018
+ "defaultValue": "",
9019
+ "description": "Alt text for `image`."
9020
+ },
9021
+ {
9022
+ "name": "ref",
9023
+ "required": false,
9024
+ "type": "Ref<HTMLElement>",
9025
+ "defaultValue": null,
9026
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9027
+ },
9028
+ {
9029
+ "name": "render",
9030
+ "required": false,
9031
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
9032
+ "defaultValue": null,
9033
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
9034
+ },
9035
+ {
9036
+ "name": "style",
9037
+ "required": false,
9038
+ "type": "| CSSProperties\n| ((state: NavigationMenuLinkState) => CSSProperties)",
9039
+ "defaultValue": null,
9040
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
9041
+ },
9042
+ {
9043
+ "name": "title",
9044
+ "required": true,
9045
+ "type": "ReactNode",
9046
+ "defaultValue": null,
9047
+ "description": "Card heading — the link label."
9048
+ }
9049
+ ]
9050
+ },
9051
+ {
9052
+ "name": "NavigationMenu.LinkList",
9053
+ "description": "NavigationMenu.LinkList — a reset `<ul>` that lays out a flyout's `LinkCard`s\n(a responsive two-column grid that collapses to one column on narrow flyouts).\nOwns the flyout list layout so consumers wrap each card in an `<li>` and add no\nlayout styling of their own. Renders a `<ul>`.",
9054
+ "props": [
9055
+ {
9056
+ "name": "ref",
9057
+ "required": false,
9058
+ "type": "Ref<HTMLElement>",
9059
+ "defaultValue": null,
9060
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9061
+ }
9062
+ ]
9063
+ },
9064
+ {
9065
+ "name": "NavigationMenu.List",
9066
+ "description": "NavigationMenu.List — the strip of items. Renders a `<ul>`.",
9067
+ "props": [
9068
+ {
9069
+ "name": "className",
9070
+ "required": false,
9071
+ "type": "| string\n| ((state: NavigationMenuListState) => string)",
9072
+ "defaultValue": null,
9073
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
9074
+ },
9075
+ {
9076
+ "name": "ref",
9077
+ "required": false,
9078
+ "type": "Ref<HTMLElement>",
9079
+ "defaultValue": null,
9080
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9081
+ },
9082
+ {
9083
+ "name": "render",
9084
+ "required": false,
9085
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuListState>",
9086
+ "defaultValue": null,
9087
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
9088
+ },
9089
+ {
9090
+ "name": "style",
9091
+ "required": false,
9092
+ "type": "| CSSProperties\n| ((state: NavigationMenuListState) => CSSProperties)",
9093
+ "defaultValue": null,
9094
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
9095
+ }
9096
+ ]
9097
+ },
9098
+ {
9099
+ "name": "NavigationMenu.Popup",
9100
+ "description": "NavigationMenu.Popup — the shared flyout surface holding the active Content. Renders a `<nav>`.",
9101
+ "props": [
9102
+ {
9103
+ "name": "className",
9104
+ "required": false,
9105
+ "type": "| string\n| ((state: NavigationMenuPopupState) => string)",
9106
+ "defaultValue": null,
9107
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
9108
+ },
9109
+ {
9110
+ "name": "ref",
9111
+ "required": false,
9112
+ "type": "Ref<HTMLElement>",
9113
+ "defaultValue": null,
9114
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9115
+ },
9116
+ {
9117
+ "name": "render",
9118
+ "required": false,
9119
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuPopupState>",
9120
+ "defaultValue": null,
9121
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
9122
+ },
9123
+ {
9124
+ "name": "style",
9125
+ "required": false,
9126
+ "type": "| CSSProperties\n| ((state: NavigationMenuPopupState) => CSSProperties)",
9127
+ "defaultValue": null,
9128
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
9129
+ }
9130
+ ]
9131
+ },
9132
+ {
9133
+ "name": "NavigationMenu.Portal",
9134
+ "description": "NavigationMenu.Portal — renders the positioner outside the main document flow.",
9135
+ "props": [
9136
+ {
9137
+ "name": "className",
9138
+ "required": false,
9139
+ "type": "| string\n| ((state: NavigationMenuPortalState) => string)",
9140
+ "defaultValue": null,
9141
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
9142
+ },
9143
+ {
9144
+ "name": "container",
9145
+ "required": false,
9146
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
9147
+ "defaultValue": null,
9148
+ "description": "A parent element to render the portal element into."
9149
+ },
9150
+ {
9151
+ "name": "keepMounted",
9152
+ "required": false,
9153
+ "type": "boolean",
9154
+ "defaultValue": "false",
9155
+ "description": "Whether to keep the portal mounted in the DOM while the popup is hidden."
9156
+ },
9157
+ {
9158
+ "name": "ref",
9159
+ "required": false,
9160
+ "type": "Ref<HTMLElement>",
9161
+ "defaultValue": null,
9162
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9163
+ },
9164
+ {
9165
+ "name": "render",
9166
+ "required": false,
9167
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuPortalState>",
9168
+ "defaultValue": null,
9169
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
9170
+ },
9171
+ {
9172
+ "name": "style",
9173
+ "required": false,
9174
+ "type": "| CSSProperties\n| ((state: NavigationMenuPortalState) => CSSProperties)",
9175
+ "defaultValue": null,
9176
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
9177
+ }
9178
+ ]
9179
+ },
9180
+ {
9181
+ "name": "NavigationMenu.Positioner",
9182
+ "description": "NavigationMenu.Positioner — anchors the popup to the active trigger.\nDefaults to `align=\"start\"` (DESIGN.md §5) so the flyout reads as anchored to\nthe trigger edge rather than centered. Renders a `<div>`.",
9183
+ "props": [
9184
+ {
9185
+ "name": "align",
9186
+ "required": false,
9187
+ "type": "Align",
9188
+ "defaultValue": "start",
9189
+ "description": "How to align the popup relative to the specified side."
9190
+ },
9191
+ {
9192
+ "name": "alignOffset",
9193
+ "required": false,
9194
+ "type": "number | OffsetFunction",
9195
+ "defaultValue": "0",
9196
+ "description": "Additional offset along the alignment axis in pixels.\nAlso accepts a function that returns the offset to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n alignOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.width\n : anchor.height;\n }}\n/>\n```"
9197
+ },
9198
+ {
9199
+ "name": "anchor",
9200
+ "required": false,
9201
+ "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
9202
+ "defaultValue": null,
9203
+ "description": "An element to position the popup against.\nBy default, the popup will be positioned against the trigger."
9204
+ },
9205
+ {
9206
+ "name": "arrowPadding",
9207
+ "required": false,
9208
+ "type": "number",
9209
+ "defaultValue": "5",
9210
+ "description": "Minimum distance to maintain between the arrow and the edges of the popup.\n\nUse it to prevent the arrow element from hanging out of the rounded corners of a popup."
9211
+ },
9212
+ {
9213
+ "name": "className",
9214
+ "required": false,
9215
+ "type": "| string\n| ((state: NavigationMenuPositionerState) => string)",
9216
+ "defaultValue": null,
9217
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
9218
+ },
9219
+ {
9220
+ "name": "collisionAvoidance",
9221
+ "required": false,
9222
+ "type": "CollisionAvoidance",
9223
+ "defaultValue": null,
9224
+ "description": "Determines how to handle collisions when positioning the popup.\n\n`side` controls overflow on the preferred placement axis (`top`/`bottom` or `left`/`right`):\n- `'flip'`: keep the requested side when it fits; otherwise try the opposite side\n (`top` and `bottom`, or `left` and `right`).\n- `'shift'`: never change side; keep the requested side and move the popup within\n the clipping boundary so it stays visible.\n- `'none'`: do not correct side-axis overflow.\n\n`align` controls overflow on the alignment axis (`start`/`center`/`end`):\n- `'flip'`: keep side, but swap `start` and `end` when the requested alignment overflows.\n- `'shift'`: keep side and requested alignment, then nudge the popup along the\n alignment axis to fit.\n- `'none'`: do not correct alignment-axis overflow.\n\n`fallbackAxisSide` controls fallback behavior on the perpendicular axis when the\npreferred axis cannot fit:\n- `'start'`: allow perpendicular fallback and try the logical start side first\n (`top` before `bottom`, or `left` before `right` in LTR).\n- `'end'`: allow perpendicular fallback and try the logical end side first\n (`bottom` before `top`, or `right` before `left` in LTR).\n- `'none'`: do not fallback to the perpendicular axis.\n\nWhen `side` is `'shift'`, explicitly setting `align` only supports `'shift'` or `'none'`.\nIf `align` is omitted, it defaults to `'flip'`.\n@example ```jsx\n<Positioner\n collisionAvoidance={{\n side: 'shift',\n align: 'shift',\n fallbackAxisSide: 'none',\n }}\n/>\n```"
9225
+ },
9226
+ {
9227
+ "name": "collisionBoundary",
9228
+ "required": false,
9229
+ "type": "Boundary",
9230
+ "defaultValue": "clipping-ancestors",
9231
+ "description": "An element or a rectangle that delimits the area that the popup is confined to."
9232
+ },
9233
+ {
9234
+ "name": "collisionPadding",
9235
+ "required": false,
9236
+ "type": "Padding",
9237
+ "defaultValue": "5",
9238
+ "description": "Additional space to maintain from the edge of the collision boundary."
9239
+ },
9240
+ {
9241
+ "name": "disableAnchorTracking",
9242
+ "required": false,
9243
+ "type": "boolean",
9244
+ "defaultValue": "false",
9245
+ "description": "Whether to disable the popup from tracking any layout shift of its positioning anchor."
9246
+ },
9247
+ {
9248
+ "name": "positionMethod",
9249
+ "required": false,
9250
+ "type": "\"absolute\" | \"fixed\"",
9251
+ "defaultValue": "absolute",
9252
+ "description": "Determines which CSS `position` property to use."
9253
+ },
9254
+ {
9255
+ "name": "ref",
9256
+ "required": false,
9257
+ "type": "Ref<HTMLElement>",
9258
+ "defaultValue": null,
9259
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
9260
+ },
9261
+ {
9262
+ "name": "render",
9263
+ "required": false,
9264
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuPositionerState\n >",
9265
+ "defaultValue": null,
9266
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
9267
+ },
9268
+ {
9269
+ "name": "side",
9270
+ "required": false,
9271
+ "type": "Side",
9272
+ "defaultValue": "bottom",
9273
+ "description": "Which side of the anchor element to align the popup against.\nMay automatically change to avoid collisions."
9274
+ },
9275
+ {
9276
+ "name": "sideOffset",
9277
+ "required": false,
9278
+ "type": "number | OffsetFunction",
9279
+ "defaultValue": "0",
9280
+ "description": "Distance between the anchor and the popup in pixels.\nAlso accepts a function that returns the distance to read the dimensions of the anchor\nand positioner elements, along with its side and alignment.\n\nThe function takes a `data` object parameter with the following properties:\n- `data.anchor`: the dimensions of the anchor element with properties `width` and `height`.\n- `data.positioner`: the dimensions of the positioner element with properties `width` and `height`.\n- `data.side`: which side of the anchor element the positioner is aligned against.\n- `data.align`: how the positioner is aligned relative to the specified side.\n@example ```jsx\n<Positioner\n sideOffset={({ side, align, anchor, positioner }) => {\n return side === 'top' || side === 'bottom'\n ? anchor.height\n : anchor.width;\n }}\n/>\n```"
9281
+ },
9282
+ {
9283
+ "name": "sticky",
9284
+ "required": false,
9285
+ "type": "boolean",
9286
+ "defaultValue": "false",
9287
+ "description": "Whether to maintain the popup in the viewport after\nthe anchor element was scrolled out of view."
9288
+ },
9289
+ {
9290
+ "name": "style",
9291
+ "required": false,
9292
+ "type": "| CSSProperties\n| ((\n state: NavigationMenuPositionerState\n ) => CSSProperties)",
9293
+ "defaultValue": null,
9294
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
9295
+ }
9296
+ ]
9297
+ },
9298
+ {
9299
+ "name": "NavigationMenu.Trigger",
9300
+ "description": "NavigationMenu.Trigger — opens an item's flyout on hover or click. Renders a\n`<button>` with a built-in `ChevronDown` that rotates when open; pass\n`hideChevron` for a custom `Icon`, and `nested` for a trigger inside a flyout.",
9301
+ "props": [
9302
+ {
9303
+ "name": "active",
9304
+ "required": false,
9305
+ "type": "boolean",
9306
+ "defaultValue": "false",
9307
+ "description": "Marks this section as the current page, showing the active treatment even when its\nflyout is closed. Base UI's Trigger has no active state of its own, so this stamps\n`data-active`."
7924
9308
  },
7925
9309
  {
7926
9310
  "name": "className",
@@ -11936,6 +13320,26 @@
11936
13320
  }
11937
13321
  ]
11938
13322
  },
13323
+ {
13324
+ "name": "Table.EmptyRow",
13325
+ "description": "Table.EmptyRow — a body row with one muted cell across all columns. `children` holds the message and an optional action.",
13326
+ "props": [
13327
+ {
13328
+ "name": "colSpan",
13329
+ "required": true,
13330
+ "type": "number",
13331
+ "defaultValue": null,
13332
+ "description": "Number of columns the message spans."
13333
+ },
13334
+ {
13335
+ "name": "ref",
13336
+ "required": false,
13337
+ "type": "Ref<HTMLTableElement>",
13338
+ "defaultValue": null,
13339
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
13340
+ }
13341
+ ]
13342
+ },
11939
13343
  {
11940
13344
  "name": "Table.Header",
11941
13345
  "description": "Table.Header — the `<thead>` section.",
@@ -11986,6 +13390,13 @@
11986
13390
  "name": "Table.Row",
11987
13391
  "description": "Table.Row — a `<tr>` in header or body.",
11988
13392
  "props": [
13393
+ {
13394
+ "name": "disabled",
13395
+ "required": false,
13396
+ "type": "boolean",
13397
+ "defaultValue": "false",
13398
+ "description": "Dims the row and takes it out of use: its select checkbox, `RowLink` and `RowButton` stop responding."
13399
+ },
11989
13400
  {
11990
13401
  "name": "ref",
11991
13402
  "required": false,
@@ -11997,7 +13408,7 @@
11997
13408
  },
11998
13409
  {
11999
13410
  "name": "Table.RowButton",
12000
- "description": "Table.RowButton — a `<button>` that stands for its whole row, such as one that opens a drawer. Use it when the row acts\ninstead of navigating; a link that goes to a page is a `Table.RowLink`.",
13411
+ "description": "Table.RowButton — a `<button>` that stands for its whole row, such as one that opens a drawer. Use it when the row acts\ninstead of navigating; a link that goes to a page is a `Table.RowLink`. In a disabled row it renders `disabled`, which\nonly takes effect when it renders a button.",
12001
13412
  "props": [
12002
13413
  {
12003
13414
  "name": "ref",
@@ -12035,6 +13446,312 @@
12035
13446
  }
12036
13447
  ]
12037
13448
  },
13449
+ {
13450
+ "name": "Table.SelectAllCell",
13451
+ "description": "Table.SelectAllCell — a `<th>` action cell with the select-all checkbox. The checkbox is named by `label` plus the\ncounter. `disabled` follows the row's `disabled` unless set.",
13452
+ "props": [
13453
+ {
13454
+ "name": "checked",
13455
+ "required": false,
13456
+ "type": "boolean",
13457
+ "defaultValue": "undefined",
13458
+ "description": "Whether the checkbox is currently ticked.\n\nTo render an uncontrolled checkbox, use the `defaultChecked` prop instead."
13459
+ },
13460
+ {
13461
+ "name": "children",
13462
+ "required": false,
13463
+ "type": "ReactNode",
13464
+ "defaultValue": null,
13465
+ "description": "The counter beside the checkbox, such as `2/4`. The app computes it."
13466
+ },
13467
+ {
13468
+ "name": "className",
13469
+ "required": false,
13470
+ "type": "string",
13471
+ "defaultValue": null,
13472
+ "description": "Reaches the `<th>`, not the checkbox."
13473
+ },
13474
+ {
13475
+ "name": "colSpan",
13476
+ "required": false,
13477
+ "type": "number",
13478
+ "defaultValue": null,
13479
+ "description": "Number of columns the cell spans, such as the select and thumbnail columns."
13480
+ },
13481
+ {
13482
+ "name": "defaultChecked",
13483
+ "required": false,
13484
+ "type": "boolean",
13485
+ "defaultValue": "false",
13486
+ "description": "Whether the checkbox is initially ticked.\n\nTo render a controlled checkbox, use the `checked` prop instead."
13487
+ },
13488
+ {
13489
+ "name": "disabled",
13490
+ "required": false,
13491
+ "type": "boolean",
13492
+ "defaultValue": "false",
13493
+ "description": "Whether the component should ignore user interaction."
13494
+ },
13495
+ {
13496
+ "name": "form",
13497
+ "required": false,
13498
+ "type": "string",
13499
+ "defaultValue": null,
13500
+ "description": "Identifies the form that owns the hidden input.\nUseful when the checkbox is rendered outside the form."
13501
+ },
13502
+ {
13503
+ "name": "id",
13504
+ "required": false,
13505
+ "type": "string",
13506
+ "defaultValue": null,
13507
+ "description": "The id of the input element."
13508
+ },
13509
+ {
13510
+ "name": "indeterminate",
13511
+ "required": false,
13512
+ "type": "boolean",
13513
+ "defaultValue": "false",
13514
+ "description": "Whether the checkbox is in a mixed state: neither ticked, nor unticked."
13515
+ },
13516
+ {
13517
+ "name": "inputRef",
13518
+ "required": false,
13519
+ "type": "Ref<HTMLInputElement>",
13520
+ "defaultValue": null,
13521
+ "description": "A ref to access the hidden `<input>` element."
13522
+ },
13523
+ {
13524
+ "name": "label",
13525
+ "required": false,
13526
+ "type": "string",
13527
+ "defaultValue": "Select all",
13528
+ "description": "Names the checkbox for assistive tech; the counter follows it."
13529
+ },
13530
+ {
13531
+ "name": "name",
13532
+ "required": false,
13533
+ "type": "string",
13534
+ "defaultValue": "undefined",
13535
+ "description": "Identifies the field when a form is submitted."
13536
+ },
13537
+ {
13538
+ "name": "nativeButton",
13539
+ "required": false,
13540
+ "type": "boolean",
13541
+ "defaultValue": "false",
13542
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `true` if the rendered element is a native button."
13543
+ },
13544
+ {
13545
+ "name": "onCheckedChange",
13546
+ "required": false,
13547
+ "type": "(\n checked: boolean,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
13548
+ "defaultValue": null,
13549
+ "description": "Event handler called when the checkbox is ticked or unticked."
13550
+ },
13551
+ {
13552
+ "name": "parent",
13553
+ "required": false,
13554
+ "type": "boolean",
13555
+ "defaultValue": "false",
13556
+ "description": "Whether the checkbox controls a group of child checkboxes.\n\nMust be used in a [Checkbox Group](https://base-ui.com/react/components/checkbox-group)."
13557
+ },
13558
+ {
13559
+ "name": "readOnly",
13560
+ "required": false,
13561
+ "type": "boolean",
13562
+ "defaultValue": "false",
13563
+ "description": "Whether the user should be unable to tick or untick the checkbox."
13564
+ },
13565
+ {
13566
+ "name": "ref",
13567
+ "required": false,
13568
+ "type": "Ref<HTMLTableElement>",
13569
+ "defaultValue": null,
13570
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
13571
+ },
13572
+ {
13573
+ "name": "render",
13574
+ "required": false,
13575
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CheckboxRootState>",
13576
+ "defaultValue": null,
13577
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
13578
+ },
13579
+ {
13580
+ "name": "required",
13581
+ "required": false,
13582
+ "type": "boolean",
13583
+ "defaultValue": "false",
13584
+ "description": "Whether the user must tick the checkbox before submitting a form."
13585
+ },
13586
+ {
13587
+ "name": "style",
13588
+ "required": false,
13589
+ "type": "| CSSProperties\n| ((state: CheckboxRootState) => CSSProperties)",
13590
+ "defaultValue": null,
13591
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
13592
+ },
13593
+ {
13594
+ "name": "uncheckedValue",
13595
+ "required": false,
13596
+ "type": "string",
13597
+ "defaultValue": null,
13598
+ "description": "The value submitted with the form when the checkbox is unchecked.\nBy default, unchecked checkboxes do not submit any value, matching native checkbox behavior."
13599
+ },
13600
+ {
13601
+ "name": "value",
13602
+ "required": false,
13603
+ "type": "string",
13604
+ "defaultValue": null,
13605
+ "description": "The value of the selected checkbox."
13606
+ }
13607
+ ]
13608
+ },
13609
+ {
13610
+ "name": "Table.SelectCell",
13611
+ "description": "Table.SelectCell — a `<td>` action cell holding the row's checkbox. `checked` and `onCheckedChange` belong to the app.\n`disabled` follows the row's `disabled` unless set.",
13612
+ "props": [
13613
+ {
13614
+ "name": "aria-label",
13615
+ "required": true,
13616
+ "type": "string",
13617
+ "defaultValue": null,
13618
+ "description": "Names the checkbox, such as `Select brain_mr_t1_0142`."
13619
+ },
13620
+ {
13621
+ "name": "checked",
13622
+ "required": false,
13623
+ "type": "boolean",
13624
+ "defaultValue": "undefined",
13625
+ "description": "Whether the checkbox is currently ticked.\n\nTo render an uncontrolled checkbox, use the `defaultChecked` prop instead."
13626
+ },
13627
+ {
13628
+ "name": "className",
13629
+ "required": false,
13630
+ "type": "string",
13631
+ "defaultValue": null,
13632
+ "description": "Reaches the `<td>`, not the checkbox."
13633
+ },
13634
+ {
13635
+ "name": "defaultChecked",
13636
+ "required": false,
13637
+ "type": "boolean",
13638
+ "defaultValue": "false",
13639
+ "description": "Whether the checkbox is initially ticked.\n\nTo render a controlled checkbox, use the `checked` prop instead."
13640
+ },
13641
+ {
13642
+ "name": "disabled",
13643
+ "required": false,
13644
+ "type": "boolean",
13645
+ "defaultValue": "false",
13646
+ "description": "Whether the component should ignore user interaction."
13647
+ },
13648
+ {
13649
+ "name": "form",
13650
+ "required": false,
13651
+ "type": "string",
13652
+ "defaultValue": null,
13653
+ "description": "Identifies the form that owns the hidden input.\nUseful when the checkbox is rendered outside the form."
13654
+ },
13655
+ {
13656
+ "name": "id",
13657
+ "required": false,
13658
+ "type": "string",
13659
+ "defaultValue": null,
13660
+ "description": "The id of the input element."
13661
+ },
13662
+ {
13663
+ "name": "indeterminate",
13664
+ "required": false,
13665
+ "type": "boolean",
13666
+ "defaultValue": "false",
13667
+ "description": "Whether the checkbox is in a mixed state: neither ticked, nor unticked."
13668
+ },
13669
+ {
13670
+ "name": "inputRef",
13671
+ "required": false,
13672
+ "type": "Ref<HTMLInputElement>",
13673
+ "defaultValue": null,
13674
+ "description": "A ref to access the hidden `<input>` element."
13675
+ },
13676
+ {
13677
+ "name": "name",
13678
+ "required": false,
13679
+ "type": "string",
13680
+ "defaultValue": "undefined",
13681
+ "description": "Identifies the field when a form is submitted."
13682
+ },
13683
+ {
13684
+ "name": "nativeButton",
13685
+ "required": false,
13686
+ "type": "boolean",
13687
+ "defaultValue": "false",
13688
+ "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `true` if the rendered element is a native button."
13689
+ },
13690
+ {
13691
+ "name": "onCheckedChange",
13692
+ "required": false,
13693
+ "type": "(\n checked: boolean,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
13694
+ "defaultValue": null,
13695
+ "description": "Event handler called when the checkbox is ticked or unticked."
13696
+ },
13697
+ {
13698
+ "name": "parent",
13699
+ "required": false,
13700
+ "type": "boolean",
13701
+ "defaultValue": "false",
13702
+ "description": "Whether the checkbox controls a group of child checkboxes.\n\nMust be used in a [Checkbox Group](https://base-ui.com/react/components/checkbox-group)."
13703
+ },
13704
+ {
13705
+ "name": "readOnly",
13706
+ "required": false,
13707
+ "type": "boolean",
13708
+ "defaultValue": "false",
13709
+ "description": "Whether the user should be unable to tick or untick the checkbox."
13710
+ },
13711
+ {
13712
+ "name": "ref",
13713
+ "required": false,
13714
+ "type": "Ref<HTMLTableElement>",
13715
+ "defaultValue": null,
13716
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
13717
+ },
13718
+ {
13719
+ "name": "render",
13720
+ "required": false,
13721
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CheckboxRootState>",
13722
+ "defaultValue": null,
13723
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
13724
+ },
13725
+ {
13726
+ "name": "required",
13727
+ "required": false,
13728
+ "type": "boolean",
13729
+ "defaultValue": "false",
13730
+ "description": "Whether the user must tick the checkbox before submitting a form."
13731
+ },
13732
+ {
13733
+ "name": "style",
13734
+ "required": false,
13735
+ "type": "| CSSProperties\n| ((state: CheckboxRootState) => CSSProperties)",
13736
+ "defaultValue": null,
13737
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
13738
+ },
13739
+ {
13740
+ "name": "uncheckedValue",
13741
+ "required": false,
13742
+ "type": "string",
13743
+ "defaultValue": null,
13744
+ "description": "The value submitted with the form when the checkbox is unchecked.\nBy default, unchecked checkboxes do not submit any value, matching native checkbox behavior."
13745
+ },
13746
+ {
13747
+ "name": "value",
13748
+ "required": false,
13749
+ "type": "string",
13750
+ "defaultValue": null,
13751
+ "description": "The value of the selected checkbox."
13752
+ }
13753
+ ]
13754
+ },
12038
13755
  {
12039
13756
  "name": "Table.SortableHeaderCell",
12040
13757
  "description": "Table.SortableHeaderCell — a header cell whose label is a sort toggle,\npre-composing HeaderCell + HeaderButton so `aria-sort` and the direction\nindicator aren't re-derived per consumer. Omit `onToggle` for a plain cell.",