@mks2508/mks-ui 0.5.7 → 0.6.0
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.
- package/dist/react-ui/index.js +2 -2
- package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts +2 -0
- package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.js +173 -43
- package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.styles.js +1 -0
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +20 -1
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/index.d.ts +28 -7
- package/dist/react-ui/ui/Dialog/index.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/index.js +32 -5
- package/dist/react-ui/ui/DynamicToggle/{DynamicToggle-DOR3Ld-k.css → DynamicToggle-DJLwEkHr.css} +12 -19
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +12 -20
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -0
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.js +7 -1
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +55 -31
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.d.ts +9 -3
- package/dist/react-ui/ui/DynamicToggle/index.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.js +47 -34
- package/dist/react-ui/ui/index.js +1 -1
- package/package.json +52 -13
- package/src/assets/react.svg +0 -1
- package/src/core/index.ts +0 -7
- package/src/core/types.ts +0 -82
- package/src/css.d.ts +0 -7
- package/src/index.css +0 -129
- package/src/index.ts +0 -29
- package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +0 -278
- package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +0 -97
- package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +0 -155
- package/src/react-ui/blocks/Terminal/Terminal.theme.ts +0 -80
- package/src/react-ui/blocks/Terminal/Terminal.types.ts +0 -438
- package/src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts +0 -38
- package/src/react-ui/blocks/Terminal/TerminalDisplay.tsx +0 -254
- package/src/react-ui/blocks/Terminal/TerminalDisplay.types.ts +0 -73
- package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +0 -269
- package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +0 -326
- package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +0 -230
- package/src/react-ui/blocks/Terminal/XTermAdapter.ts +0 -163
- package/src/react-ui/blocks/Terminal/chrome.ts +0 -25
- package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +0 -316
- package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +0 -218
- package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +0 -386
- package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +0 -67
- package/src/react-ui/blocks/Terminal/components/index.ts +0 -10
- package/src/react-ui/blocks/Terminal/display.ts +0 -46
- package/src/react-ui/blocks/Terminal/hooks/index.ts +0 -22
- package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +0 -229
- package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +0 -292
- package/src/react-ui/blocks/Terminal/index.ts +0 -111
- package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +0 -330
- package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +0 -242
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +0 -202
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +0 -140
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +0 -68
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +0 -85
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +0 -383
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +0 -439
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +0 -550
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +0 -259
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.ts +0 -75
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +0 -266
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +0 -82
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +0 -112
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +0 -178
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +0 -203
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +0 -252
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +0 -334
- package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +0 -261
- package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +0 -248
- package/src/react-ui/blocks/Terminal/panel/index.ts +0 -72
- package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +0 -59
- package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +0 -59
- package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +0 -180
- package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +0 -248
- package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +0 -283
- package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +0 -686
- package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +0 -466
- package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +0 -343
- package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +0 -167
- package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +0 -348
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +0 -251
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +0 -390
- package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +0 -320
- package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +0 -20
- package/src/react-ui/blocks/Terminal/parsing/index.ts +0 -69
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +0 -68
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +0 -436
- package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +0 -14
- package/src/react-ui/blocks/index.ts +0 -11
- package/src/react-ui/components/MorphingPopover/MorphingPopover.types.ts +0 -49
- package/src/react-ui/components/MorphingPopover/index.tsx +0 -186
- package/src/react-ui/components/MorphingPopover/morphing-popover.module.css +0 -153
- package/src/react-ui/components/index.ts +0 -9
- package/src/react-ui/hooks/Animation/UseAutoHeight.tsx +0 -123
- package/src/react-ui/hooks/DOM/UseIsInView.tsx +0 -44
- package/src/react-ui/hooks/Formatting/UseListFormat.ts +0 -134
- package/src/react-ui/hooks/State/UseControlledState.tsx +0 -57
- package/src/react-ui/hooks/State/UseDataState.tsx +0 -76
- package/src/react-ui/hooks/index.ts +0 -20
- package/src/react-ui/icons/index.ts +0 -12
- package/src/react-ui/icons/lucide-animated/activity.tsx +0 -109
- package/src/react-ui/icons/lucide-animated/arrow-down-to-line.tsx +0 -51
- package/src/react-ui/icons/lucide-animated/arrow-up.tsx +0 -50
- package/src/react-ui/icons/lucide-animated/bell-electric.tsx +0 -124
- package/src/react-ui/icons/lucide-animated/bell.tsx +0 -93
- package/src/react-ui/icons/lucide-animated/bot.tsx +0 -122
- package/src/react-ui/icons/lucide-animated/box.tsx +0 -117
- package/src/react-ui/icons/lucide-animated/check.tsx +0 -21
- package/src/react-ui/icons/lucide-animated/circle-check.tsx +0 -107
- package/src/react-ui/icons/lucide-animated/delete.tsx +0 -133
- package/src/react-ui/icons/lucide-animated/download.tsx +0 -99
- package/src/react-ui/icons/lucide-animated/edit-2.tsx +0 -21
- package/src/react-ui/icons/lucide-animated/globe.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/home.tsx +0 -103
- package/src/react-ui/icons/lucide-animated/index.ts +0 -38
- package/src/react-ui/icons/lucide-animated/layers.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +0 -143
- package/src/react-ui/icons/lucide-animated/list.tsx +0 -54
- package/src/react-ui/icons/lucide-animated/package.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/palette.tsx +0 -25
- package/src/react-ui/icons/lucide-animated/plus.tsx +0 -92
- package/src/react-ui/icons/lucide-animated/refresh-cw.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/rocket.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/save.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/search.tsx +0 -94
- package/src/react-ui/icons/lucide-animated/settings.tsx +0 -92
- package/src/react-ui/icons/lucide-animated/terminal.tsx +0 -46
- package/src/react-ui/icons/lucide-animated/trash-2.tsx +0 -25
- package/src/react-ui/icons/lucide-animated/trending-down.tsx +0 -151
- package/src/react-ui/icons/lucide-animated/trending-up.tsx +0 -150
- package/src/react-ui/icons/lucide-animated/type.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/upload.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/x.tsx +0 -102
- package/src/react-ui/index.ts +0 -30
- package/src/react-ui/lib/get-strict-context.tsx +0 -56
- package/src/react-ui/lib/icon-wrapper.tsx +0 -70
- package/src/react-ui/lib/index.ts +0 -9
- package/src/react-ui/lib/utils.ts +0 -24
- package/src/react-ui/primitives/AutoHeight/index.tsx +0 -74
- package/src/react-ui/primitives/CountingNumber/index.tsx +0 -147
- package/src/react-ui/primitives/Highlight/Highlight.types.ts +0 -136
- package/src/react-ui/primitives/Highlight/index.tsx +0 -577
- package/src/react-ui/primitives/Slot/index.tsx +0 -128
- package/src/react-ui/primitives/index.ts +0 -16
- package/src/react-ui/primitives/waapi/Gooey/Gooey.types.ts +0 -141
- package/src/react-ui/primitives/waapi/Gooey/GooeyCanvas.tsx +0 -217
- package/src/react-ui/primitives/waapi/Gooey/GooeyFilter.tsx +0 -77
- package/src/react-ui/primitives/waapi/Gooey/MorphPath.tsx +0 -58
- package/src/react-ui/primitives/waapi/Gooey/gooey-utils.ts +0 -253
- package/src/react-ui/primitives/waapi/Gooey/index.ts +0 -50
- package/src/react-ui/primitives/waapi/Gooey/useMorphPath.ts +0 -48
- package/src/react-ui/primitives/waapi/Morph/Morph.types.ts +0 -106
- package/src/react-ui/primitives/waapi/Morph/MorphContext.tsx +0 -21
- package/src/react-ui/primitives/waapi/Morph/index.tsx +0 -56
- package/src/react-ui/primitives/waapi/Morph/techniques/index.ts +0 -12
- package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +0 -89
- package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +0 -176
- package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +0 -87
- package/src/react-ui/primitives/waapi/Morph/useMorph.ts +0 -101
- package/src/react-ui/primitives/waapi/Reorder/Reorder.types.ts +0 -177
- package/src/react-ui/primitives/waapi/Reorder/index.tsx +0 -260
- package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +0 -47
- package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +0 -209
- package/src/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.ts +0 -104
- package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.ts +0 -14
- package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.ts +0 -84
- package/src/react-ui/primitives/waapi/SlidingNumber/index.tsx +0 -474
- package/src/react-ui/primitives/waapi/SlidingText/SlidingText.styles.ts +0 -32
- package/src/react-ui/primitives/waapi/SlidingText/SlidingText.types.ts +0 -69
- package/src/react-ui/primitives/waapi/SlidingText/index.tsx +0 -140
- package/src/react-ui/primitives/waapi/core/animationConstants.ts +0 -215
- package/src/react-ui/primitives/waapi/core/index.ts +0 -53
- package/src/react-ui/primitives/waapi/core/types.ts +0 -200
- package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +0 -430
- package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +0 -81
- package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +0 -138
- package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +0 -106
- package/src/react-ui/primitives/waapi/index.ts +0 -139
- package/src/react-ui/styles/animations.css +0 -369
- package/src/react-ui/ui/Accordion/Accordion.styles.ts +0 -72
- package/src/react-ui/ui/Accordion/Accordion.types.ts +0 -199
- package/src/react-ui/ui/Accordion/index.tsx +0 -362
- package/src/react-ui/ui/AlertDialog/AlertDialog.styles.ts +0 -38
- package/src/react-ui/ui/AlertDialog/AlertDialog.types.ts +0 -296
- package/src/react-ui/ui/AlertDialog/index.tsx +0 -540
- package/src/react-ui/ui/Badge/Badge.styles.ts +0 -43
- package/src/react-ui/ui/Badge/Badge.types.ts +0 -26
- package/src/react-ui/ui/Badge/index.tsx +0 -34
- package/src/react-ui/ui/Button/Button.styles.ts +0 -57
- package/src/react-ui/ui/Button/Button.types.ts +0 -63
- package/src/react-ui/ui/Button/index.tsx +0 -155
- package/src/react-ui/ui/Card/Card.styles.ts +0 -32
- package/src/react-ui/ui/Card/Card.types.ts +0 -39
- package/src/react-ui/ui/Card/index.tsx +0 -130
- package/src/react-ui/ui/Checkbox/Checkbox.styles.ts +0 -40
- package/src/react-ui/ui/Checkbox/Checkbox.types.ts +0 -98
- package/src/react-ui/ui/Checkbox/index.tsx +0 -233
- package/src/react-ui/ui/Combobox/Combobox.styles.ts +0 -34
- package/src/react-ui/ui/Combobox/Combobox.types.ts +0 -89
- package/src/react-ui/ui/Combobox/index.tsx +0 -331
- package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +0 -38
- package/src/react-ui/ui/CornerBracket/CornerBracket.types.ts +0 -15
- package/src/react-ui/ui/CornerBracket/index.tsx +0 -49
- package/src/react-ui/ui/DataCard/DataCard.styles.ts +0 -94
- package/src/react-ui/ui/DataCard/DataCard.types.ts +0 -125
- package/src/react-ui/ui/DataCard/index.tsx +0 -340
- package/src/react-ui/ui/Dialog/Dialog.styles.ts +0 -59
- package/src/react-ui/ui/Dialog/Dialog.types.ts +0 -284
- package/src/react-ui/ui/Dialog/index.tsx +0 -452
- package/src/react-ui/ui/DropdownMenu/DropdownMenu.styles.ts +0 -35
- package/src/react-ui/ui/DropdownMenu/DropdownMenu.types.ts +0 -81
- package/src/react-ui/ui/DropdownMenu/index.tsx +0 -300
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.css +0 -376
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.styles.ts +0 -85
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.types.ts +0 -180
- package/src/react-ui/ui/DynamicToggle/index.tsx +0 -316
- package/src/react-ui/ui/DynamicToggle/prototype-v7-ios.html +0 -413
- package/src/react-ui/ui/DynamicToggle/prototype-v7.html +0 -615
- package/src/react-ui/ui/DynamicToggle/prototype-v8-gooey-safari.html +0 -560
- package/src/react-ui/ui/DynamicToggle/prototype-v8b-react-structure.html +0 -227
- package/src/react-ui/ui/DynamicToggle/prototype.html +0 -419
- package/src/react-ui/ui/Field/Field.styles.ts +0 -47
- package/src/react-ui/ui/Field/Field.types.ts +0 -60
- package/src/react-ui/ui/Field/index.tsx +0 -254
- package/src/react-ui/ui/Input/Input.styles.ts +0 -11
- package/src/react-ui/ui/Input/Input.types.ts +0 -10
- package/src/react-ui/ui/Input/index.tsx +0 -32
- package/src/react-ui/ui/InputGroup/InputGroup.styles.ts +0 -53
- package/src/react-ui/ui/InputGroup/InputGroup.types.ts +0 -44
- package/src/react-ui/ui/InputGroup/index.tsx +0 -149
- package/src/react-ui/ui/Label/Label.styles.ts +0 -10
- package/src/react-ui/ui/Label/Label.types.ts +0 -9
- package/src/react-ui/ui/Label/index.tsx +0 -27
- package/src/react-ui/ui/Menu/Menu.styles.ts +0 -71
- package/src/react-ui/ui/Menu/Menu.types.ts +0 -425
- package/src/react-ui/ui/Menu/index.tsx +0 -900
- package/src/react-ui/ui/Popover/Popover.styles.ts +0 -55
- package/src/react-ui/ui/Popover/Popover.types.ts +0 -261
- package/src/react-ui/ui/Popover/index.tsx +0 -422
- package/src/react-ui/ui/Progress/Progress.styles.ts +0 -36
- package/src/react-ui/ui/Progress/Progress.types.ts +0 -162
- package/src/react-ui/ui/Progress/index.tsx +0 -254
- package/src/react-ui/ui/Select/Select.styles.ts +0 -30
- package/src/react-ui/ui/Select/Select.types.ts +0 -51
- package/src/react-ui/ui/Select/index.tsx +0 -225
- package/src/react-ui/ui/Separator/Separator.styles.ts +0 -10
- package/src/react-ui/ui/Separator/Separator.types.ts +0 -10
- package/src/react-ui/ui/Separator/index.tsx +0 -37
- package/src/react-ui/ui/Switch/Switch.styles.ts +0 -50
- package/src/react-ui/ui/Switch/Switch.types.ts +0 -155
- package/src/react-ui/ui/Switch/index.tsx +0 -253
- package/src/react-ui/ui/Tabs/Tabs.css +0 -39
- package/src/react-ui/ui/Tabs/Tabs.styles.ts +0 -148
- package/src/react-ui/ui/Tabs/Tabs.types.ts +0 -255
- package/src/react-ui/ui/Tabs/index.tsx +0 -529
- package/src/react-ui/ui/TextFlow/TextFlow.styles.ts +0 -36
- package/src/react-ui/ui/TextFlow/TextFlow.types.ts +0 -118
- package/src/react-ui/ui/TextFlow/index.tsx +0 -276
- package/src/react-ui/ui/Textarea/Textarea.styles.ts +0 -10
- package/src/react-ui/ui/Textarea/Textarea.types.ts +0 -9
- package/src/react-ui/ui/Textarea/index.tsx +0 -27
- package/src/react-ui/ui/Tooltip/Tooltip.styles.ts +0 -43
- package/src/react-ui/ui/Tooltip/Tooltip.types.ts +0 -253
- package/src/react-ui/ui/Tooltip/index.tsx +0 -394
- package/src/react-ui/ui/index.ts +0 -41
- package/src/types/css-modules.d.ts +0 -18
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import { cn } from '@/react-ui/lib/utils';
|
|
4
|
-
import { labelStyles } from './Label.styles';
|
|
5
|
-
import type { ILabelProps } from './Label.types';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Label — accessible form label element.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* <Label htmlFor="email">Email</Label>
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
function Label({ className, slots, ...props }: ILabelProps) {
|
|
16
|
-
return (
|
|
17
|
-
<label
|
|
18
|
-
data-slot="label"
|
|
19
|
-
className={cn(labelStyles.root, slots?.root, className)}
|
|
20
|
-
{...props}
|
|
21
|
-
/>
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { Label };
|
|
26
|
-
export type { ILabelProps } from './Label.types';
|
|
27
|
-
export type { LabelSlot } from './Label.styles';
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Style slots and defaults for the Menu component.
|
|
3
|
-
*
|
|
4
|
-
* Each slot maps to a visual region of the Menu. Consumers override
|
|
5
|
-
* individual slots via the `slots` prop without touching internals.
|
|
6
|
-
*
|
|
7
|
-
* @module @mks2508/mks-ui/react/ui/Menu/Menu.styles
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { menuStyles } from './Menu.styles';
|
|
12
|
-
* // menuStyles.popup => default popup classes
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import type { StyleSlots } from '@/core/types';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Union of all visual regions (slots) in the Menu component tree.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const overrides: SlotOverrides<MenuSlot> = {
|
|
24
|
-
* popup: 'bg-zinc-900 border-cyan-500/30',
|
|
25
|
-
* item: 'hover:bg-white/5',
|
|
26
|
-
* };
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export type MenuSlot =
|
|
30
|
-
| 'root'
|
|
31
|
-
| 'popup'
|
|
32
|
-
| 'trigger'
|
|
33
|
-
| 'item'
|
|
34
|
-
| 'checkboxItem'
|
|
35
|
-
| 'radioItem'
|
|
36
|
-
| 'group'
|
|
37
|
-
| 'groupLabel'
|
|
38
|
-
| 'separator'
|
|
39
|
-
| 'shortcut'
|
|
40
|
-
| 'arrow'
|
|
41
|
-
| 'highlight'
|
|
42
|
-
| 'submenuTrigger';
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Default style map for every Menu slot.
|
|
46
|
-
*
|
|
47
|
-
* Base classes are intentionally minimal so consumers can fully
|
|
48
|
-
* control the visual appearance through `slots` overrides.
|
|
49
|
-
* No colors are hardcoded -- all visuals come from consumer styles.
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* ```typescript
|
|
53
|
-
* import { menuStyles } from './Menu.styles';
|
|
54
|
-
* cn(menuStyles.popup, slots?.popup, className);
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
export const menuStyles: StyleSlots<MenuSlot> = {
|
|
58
|
-
root: '',
|
|
59
|
-
popup: '',
|
|
60
|
-
trigger: '',
|
|
61
|
-
item: '',
|
|
62
|
-
checkboxItem: '',
|
|
63
|
-
radioItem: '',
|
|
64
|
-
group: '',
|
|
65
|
-
groupLabel: '',
|
|
66
|
-
separator: '',
|
|
67
|
-
shortcut: '',
|
|
68
|
-
arrow: '',
|
|
69
|
-
highlight: '',
|
|
70
|
-
submenuTrigger: '',
|
|
71
|
-
};
|
|
@@ -1,425 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type definitions for the Menu component.
|
|
3
|
-
*
|
|
4
|
-
* All interfaces use the IPrefix convention. Type aliases do not.
|
|
5
|
-
* This module re-exports relevant types from base-ui and motion
|
|
6
|
-
* combined with the v0.2.0 SlotOverrides/IBaseConfig pattern.
|
|
7
|
-
*
|
|
8
|
-
* @module @mks2508/mks-ui/react/ui/Menu/Menu.types
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import type * as React from 'react';
|
|
12
|
-
import type { Menu as MenuPrimitive } from '@base-ui/react/menu';
|
|
13
|
-
import type { HTMLMotionProps, Transition } from 'motion/react';
|
|
14
|
-
|
|
15
|
-
import type { IBaseConfig, SlotOverrides } from '@/core/types';
|
|
16
|
-
import type { IHighlightProps, IHighlightItemProps } from '@/react-ui/primitives/Highlight';
|
|
17
|
-
import type { MenuSlot } from './Menu.styles';
|
|
18
|
-
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
// Config
|
|
21
|
-
// ---------------------------------------------------------------------------
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Configuration interface for Menu behavior and animation.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```tsx
|
|
28
|
-
* const config: IMenuConfig = {
|
|
29
|
-
* animation: { duration: 0.2, easing: 'ease-out' },
|
|
30
|
-
* };
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export interface IMenuConfig extends IBaseConfig {
|
|
34
|
-
/** Default motion transition for the popup entrance/exit. */
|
|
35
|
-
popupTransition?: Transition;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
// Context types (type aliases -- no IPrefix)
|
|
40
|
-
// ---------------------------------------------------------------------------
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Internal context carrying the highlighted (focused) item value.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* const ctx: MenuActiveValueContextType = {
|
|
48
|
-
* highlightedValue: 'edit',
|
|
49
|
-
* setHighlightedValue: (v) => {},
|
|
50
|
-
* };
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export type MenuActiveValueContextType = {
|
|
54
|
-
/** Currently highlighted item value, or null if none. */
|
|
55
|
-
highlightedValue: string | null;
|
|
56
|
-
/** Setter for the highlighted item value. */
|
|
57
|
-
setHighlightedValue: (value: string | null) => void;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Internal context for Menu open/close state.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* const ctx: MenuContextType = { isOpen: true, setIsOpen: (v) => {} };
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
export type MenuContextType = {
|
|
69
|
-
/** Whether the menu is open. */
|
|
70
|
-
isOpen: boolean | undefined;
|
|
71
|
-
/** Setter for open state, matching base-ui's onOpenChange signature. */
|
|
72
|
-
setIsOpen: IMenuProps['onOpenChange'];
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
// ---------------------------------------------------------------------------
|
|
76
|
-
// Root
|
|
77
|
-
// ---------------------------------------------------------------------------
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Props for the root Menu component.
|
|
81
|
-
* Extends base-ui Menu.Root props with slot overrides and config.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```tsx
|
|
85
|
-
* <Menu slots={{ popup: 'bg-zinc-900' }} config={{ popupTransition: { duration: 0.3 } }}>
|
|
86
|
-
* ...
|
|
87
|
-
* </Menu>
|
|
88
|
-
* ```
|
|
89
|
-
*/
|
|
90
|
-
export interface IMenuProps extends React.ComponentProps<typeof MenuPrimitive.Root> {
|
|
91
|
-
/** Partial class overrides per slot. */
|
|
92
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
93
|
-
/** Menu behavior / animation configuration. */
|
|
94
|
-
config?: IMenuConfig;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// ---------------------------------------------------------------------------
|
|
98
|
-
// Trigger
|
|
99
|
-
// ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Props for MenuTrigger -- the element that opens the menu.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* ```tsx
|
|
106
|
-
* <MenuTrigger className="px-3 py-2">Open</MenuTrigger>
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
export interface IMenuTriggerProps
|
|
110
|
-
extends React.ComponentProps<typeof MenuPrimitive.Trigger> {
|
|
111
|
-
/** Partial class overrides per slot. */
|
|
112
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// ---------------------------------------------------------------------------
|
|
116
|
-
// Portal
|
|
117
|
-
// ---------------------------------------------------------------------------
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Props for MenuPortal. Wraps AnimatePresence for enter/exit transitions.
|
|
121
|
-
* The `keepMounted` prop is managed internally.
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```tsx
|
|
125
|
-
* <MenuPortal>
|
|
126
|
-
* <MenuPositioner>...</MenuPositioner>
|
|
127
|
-
* </MenuPortal>
|
|
128
|
-
* ```
|
|
129
|
-
*/
|
|
130
|
-
export interface IMenuPortalProps
|
|
131
|
-
extends Omit<React.ComponentProps<typeof MenuPrimitive.Portal>, 'keepMounted'> {}
|
|
132
|
-
|
|
133
|
-
// ---------------------------------------------------------------------------
|
|
134
|
-
// Group / GroupLabel
|
|
135
|
-
// ---------------------------------------------------------------------------
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Props for MenuGroup -- groups related items with a label.
|
|
139
|
-
*
|
|
140
|
-
* @example
|
|
141
|
-
* ```tsx
|
|
142
|
-
* <MenuGroup>
|
|
143
|
-
* <MenuGroupLabel>Actions</MenuGroupLabel>
|
|
144
|
-
* <MenuItem>Edit</MenuItem>
|
|
145
|
-
* </MenuGroup>
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
export interface IMenuGroupProps
|
|
149
|
-
extends React.ComponentProps<typeof MenuPrimitive.Group> {
|
|
150
|
-
/** Partial class overrides per slot. */
|
|
151
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Props for MenuGroupLabel -- the label rendered above a group.
|
|
156
|
-
*
|
|
157
|
-
* @example
|
|
158
|
-
* ```tsx
|
|
159
|
-
* <MenuGroupLabel className="text-xs uppercase">Section</MenuGroupLabel>
|
|
160
|
-
* ```
|
|
161
|
-
*/
|
|
162
|
-
export interface IMenuGroupLabelProps
|
|
163
|
-
extends React.ComponentProps<typeof MenuPrimitive.GroupLabel> {
|
|
164
|
-
/** Partial class overrides per slot. */
|
|
165
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// ---------------------------------------------------------------------------
|
|
169
|
-
// Submenu
|
|
170
|
-
// ---------------------------------------------------------------------------
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Props for MenuSubmenu -- a nested menu with its own open state.
|
|
174
|
-
*
|
|
175
|
-
* @example
|
|
176
|
-
* ```tsx
|
|
177
|
-
* <MenuSubmenu>
|
|
178
|
-
* <MenuSubmenuTrigger>More...</MenuSubmenuTrigger>
|
|
179
|
-
* <MenuPortal>...</MenuPortal>
|
|
180
|
-
* </MenuSubmenu>
|
|
181
|
-
* ```
|
|
182
|
-
*/
|
|
183
|
-
export interface IMenuSubmenuProps
|
|
184
|
-
extends React.ComponentProps<typeof MenuPrimitive.SubmenuRoot> {}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Props for MenuSubmenuTrigger -- the item that opens a submenu.
|
|
188
|
-
* Combines base-ui's SubmenuTrigger props with motion HTML props.
|
|
189
|
-
*
|
|
190
|
-
* @example
|
|
191
|
-
* ```tsx
|
|
192
|
-
* <MenuSubmenuTrigger id="more-actions">More...</MenuSubmenuTrigger>
|
|
193
|
-
* ```
|
|
194
|
-
*/
|
|
195
|
-
export interface IMenuSubmenuTriggerProps
|
|
196
|
-
extends Omit<Omit<React.ComponentProps<typeof MenuPrimitive.SubmenuTrigger>, 'render'>, keyof HTMLMotionProps<'div'>>,
|
|
197
|
-
HTMLMotionProps<'div'> {
|
|
198
|
-
/** Whether the trigger is disabled. */
|
|
199
|
-
disabled?: boolean;
|
|
200
|
-
/** Partial class overrides per slot. */
|
|
201
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
// ---------------------------------------------------------------------------
|
|
205
|
-
// Highlight
|
|
206
|
-
// ---------------------------------------------------------------------------
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Props for MenuHighlight -- animated background that follows the focused item.
|
|
210
|
-
* Wraps the Highlight primitive with menu-specific defaults.
|
|
211
|
-
*
|
|
212
|
-
* @example
|
|
213
|
-
* ```tsx
|
|
214
|
-
* <MenuHighlight className="rounded-md bg-white/10" />
|
|
215
|
-
* ```
|
|
216
|
-
*/
|
|
217
|
-
export interface IMenuHighlightProps
|
|
218
|
-
extends Omit<IHighlightProps, 'controlledItems' | 'enabled' | 'hover'> {
|
|
219
|
-
/** Whether to animate on hover. */
|
|
220
|
-
animateOnHover?: boolean;
|
|
221
|
-
/** Partial class overrides per slot. */
|
|
222
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Props for MenuHighlightItem -- wraps a menu item for highlight tracking.
|
|
227
|
-
*
|
|
228
|
-
* @example
|
|
229
|
-
* ```tsx
|
|
230
|
-
* <MenuHighlightItem>
|
|
231
|
-
* <MenuItem>Edit</MenuItem>
|
|
232
|
-
* </MenuHighlightItem>
|
|
233
|
-
* ```
|
|
234
|
-
*/
|
|
235
|
-
export interface IMenuHighlightItemProps extends IHighlightItemProps {
|
|
236
|
-
/** Partial class overrides per slot. */
|
|
237
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
// ---------------------------------------------------------------------------
|
|
241
|
-
// Positioner / Popup
|
|
242
|
-
// ---------------------------------------------------------------------------
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Props for MenuPositioner -- positions the popup relative to the trigger.
|
|
246
|
-
*
|
|
247
|
-
* @example
|
|
248
|
-
* ```tsx
|
|
249
|
-
* <MenuPositioner sideOffset={8} align="start">
|
|
250
|
-
* <MenuPopup>...</MenuPopup>
|
|
251
|
-
* </MenuPositioner>
|
|
252
|
-
* ```
|
|
253
|
-
*/
|
|
254
|
-
export interface IMenuPositionerProps
|
|
255
|
-
extends React.ComponentProps<typeof MenuPrimitive.Positioner> {}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Props for MenuPopup -- the visible flyout container.
|
|
259
|
-
* Combines base-ui Popup with motion HTML props for animated entrance.
|
|
260
|
-
*
|
|
261
|
-
* @example
|
|
262
|
-
* ```tsx
|
|
263
|
-
* <MenuPopup className="rounded-lg border shadow-lg">
|
|
264
|
-
* <MenuItem>Edit</MenuItem>
|
|
265
|
-
* </MenuPopup>
|
|
266
|
-
* ```
|
|
267
|
-
*/
|
|
268
|
-
export interface IMenuPopupProps
|
|
269
|
-
extends Omit<Omit<React.ComponentProps<typeof MenuPrimitive.Popup>, 'render'>, keyof HTMLMotionProps<'div'>>,
|
|
270
|
-
HTMLMotionProps<'div'> {
|
|
271
|
-
/** Partial class overrides per slot. */
|
|
272
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
// ---------------------------------------------------------------------------
|
|
276
|
-
// Item
|
|
277
|
-
// ---------------------------------------------------------------------------
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* Props for MenuItem -- a single actionable row in the menu.
|
|
281
|
-
* Combines base-ui Item with motion HTML props.
|
|
282
|
-
*
|
|
283
|
-
* @example
|
|
284
|
-
* ```tsx
|
|
285
|
-
* <MenuItem id="edit" label="Edit">
|
|
286
|
-
* <PencilIcon /> Edit
|
|
287
|
-
* </MenuItem>
|
|
288
|
-
* ```
|
|
289
|
-
*/
|
|
290
|
-
export interface IMenuItemProps
|
|
291
|
-
extends Omit<Omit<React.ComponentProps<typeof MenuPrimitive.Item>, 'render'>, keyof HTMLMotionProps<'div'>>,
|
|
292
|
-
HTMLMotionProps<'div'> {
|
|
293
|
-
/** Partial class overrides per slot. */
|
|
294
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// ---------------------------------------------------------------------------
|
|
298
|
-
// Checkbox Item
|
|
299
|
-
// ---------------------------------------------------------------------------
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Props for MenuCheckboxItem -- a toggleable checkbox menu item.
|
|
303
|
-
*
|
|
304
|
-
* @example
|
|
305
|
-
* ```tsx
|
|
306
|
-
* <MenuCheckboxItem checked={showGrid} onCheckedChange={setShowGrid}>
|
|
307
|
-
* Show Grid
|
|
308
|
-
* </MenuCheckboxItem>
|
|
309
|
-
* ```
|
|
310
|
-
*/
|
|
311
|
-
export interface IMenuCheckboxItemProps
|
|
312
|
-
extends Omit<React.ComponentProps<typeof MenuPrimitive.CheckboxItem>, 'render'> {
|
|
313
|
-
/** Partial class overrides per slot. */
|
|
314
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Props for MenuCheckboxItemIndicator -- the check/indeterminate indicator.
|
|
319
|
-
* Combines base-ui CheckboxItemIndicator with motion HTML props.
|
|
320
|
-
*
|
|
321
|
-
* @example
|
|
322
|
-
* ```tsx
|
|
323
|
-
* <MenuCheckboxItemIndicator>
|
|
324
|
-
* <CheckIcon />
|
|
325
|
-
* </MenuCheckboxItemIndicator>
|
|
326
|
-
* ```
|
|
327
|
-
*/
|
|
328
|
-
export interface IMenuCheckboxItemIndicatorProps
|
|
329
|
-
extends Omit<
|
|
330
|
-
Omit<React.ComponentProps<typeof MenuPrimitive.CheckboxItemIndicator>, 'render'>,
|
|
331
|
-
keyof HTMLMotionProps<'div'>
|
|
332
|
-
>,
|
|
333
|
-
HTMLMotionProps<'div'> {}
|
|
334
|
-
|
|
335
|
-
// ---------------------------------------------------------------------------
|
|
336
|
-
// Radio Group / Radio Item
|
|
337
|
-
// ---------------------------------------------------------------------------
|
|
338
|
-
|
|
339
|
-
/**
|
|
340
|
-
* Props for MenuRadioGroup -- groups radio items for single-selection.
|
|
341
|
-
*
|
|
342
|
-
* @example
|
|
343
|
-
* ```tsx
|
|
344
|
-
* <MenuRadioGroup value={sortBy} onValueChange={setSortBy}>
|
|
345
|
-
* <MenuRadioItem value="name">Name</MenuRadioItem>
|
|
346
|
-
* <MenuRadioItem value="date">Date</MenuRadioItem>
|
|
347
|
-
* </MenuRadioGroup>
|
|
348
|
-
* ```
|
|
349
|
-
*/
|
|
350
|
-
export interface IMenuRadioGroupProps
|
|
351
|
-
extends React.ComponentProps<typeof MenuPrimitive.RadioGroup> {}
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Props for MenuRadioItem -- a single option within a radio group.
|
|
355
|
-
*
|
|
356
|
-
* @example
|
|
357
|
-
* ```tsx
|
|
358
|
-
* <MenuRadioItem value="name">Sort by Name</MenuRadioItem>
|
|
359
|
-
* ```
|
|
360
|
-
*/
|
|
361
|
-
export interface IMenuRadioItemProps
|
|
362
|
-
extends Omit<React.ComponentProps<typeof MenuPrimitive.RadioItem>, 'render'> {
|
|
363
|
-
/** Partial class overrides per slot. */
|
|
364
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* Props for MenuRadioItemIndicator -- the selection indicator dot/icon.
|
|
369
|
-
* Combines base-ui RadioItemIndicator with motion HTML props.
|
|
370
|
-
*
|
|
371
|
-
* @example
|
|
372
|
-
* ```tsx
|
|
373
|
-
* <MenuRadioItemIndicator>
|
|
374
|
-
* <DotIcon />
|
|
375
|
-
* </MenuRadioItemIndicator>
|
|
376
|
-
* ```
|
|
377
|
-
*/
|
|
378
|
-
export interface IMenuRadioItemIndicatorProps
|
|
379
|
-
extends Omit<
|
|
380
|
-
Omit<React.ComponentProps<typeof MenuPrimitive.RadioItemIndicator>, 'render'>,
|
|
381
|
-
keyof HTMLMotionProps<'div'>
|
|
382
|
-
>,
|
|
383
|
-
HTMLMotionProps<'div'> {}
|
|
384
|
-
|
|
385
|
-
// ---------------------------------------------------------------------------
|
|
386
|
-
// Shortcut / Arrow / Separator
|
|
387
|
-
// ---------------------------------------------------------------------------
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Props for MenuShortcut -- displays a keyboard shortcut hint.
|
|
391
|
-
*
|
|
392
|
-
* @example
|
|
393
|
-
* ```tsx
|
|
394
|
-
* <MenuShortcut>Ctrl+C</MenuShortcut>
|
|
395
|
-
* ```
|
|
396
|
-
*/
|
|
397
|
-
export interface IMenuShortcutProps extends React.ComponentProps<'span'> {
|
|
398
|
-
/** Partial class overrides per slot. */
|
|
399
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Props for MenuArrow -- the directional arrow/caret of the popup.
|
|
404
|
-
*
|
|
405
|
-
* @example
|
|
406
|
-
* ```tsx
|
|
407
|
-
* <MenuArrow className="fill-zinc-800" />
|
|
408
|
-
* ```
|
|
409
|
-
*/
|
|
410
|
-
export interface IMenuArrowProps
|
|
411
|
-
extends React.ComponentProps<typeof MenuPrimitive.Arrow> {}
|
|
412
|
-
|
|
413
|
-
/**
|
|
414
|
-
* Props for MenuSeparator -- a horizontal divider between items.
|
|
415
|
-
*
|
|
416
|
-
* @example
|
|
417
|
-
* ```tsx
|
|
418
|
-
* <MenuSeparator className="my-1 border-white/10" />
|
|
419
|
-
* ```
|
|
420
|
-
*/
|
|
421
|
-
export interface IMenuSeparatorProps
|
|
422
|
-
extends React.ComponentProps<typeof MenuPrimitive.Separator> {
|
|
423
|
-
/** Partial class overrides per slot. */
|
|
424
|
-
slots?: SlotOverrides<MenuSlot>;
|
|
425
|
-
}
|