@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.
Files changed (271) hide show
  1. package/dist/react-ui/index.js +2 -2
  2. package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts +2 -0
  3. package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts.map +1 -1
  4. package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts +1 -1
  5. package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts.map +1 -1
  6. package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.js +173 -43
  7. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts.map +1 -1
  8. package/dist/react-ui/ui/Dialog/Dialog.styles.js +1 -0
  9. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +20 -1
  10. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts.map +1 -1
  11. package/dist/react-ui/ui/Dialog/index.d.ts +28 -7
  12. package/dist/react-ui/ui/Dialog/index.d.ts.map +1 -1
  13. package/dist/react-ui/ui/Dialog/index.js +32 -5
  14. package/dist/react-ui/ui/DynamicToggle/{DynamicToggle-DOR3Ld-k.css → DynamicToggle-DJLwEkHr.css} +12 -19
  15. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +12 -20
  16. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -0
  17. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts.map +1 -1
  18. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.js +7 -1
  19. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +55 -31
  20. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts.map +1 -1
  21. package/dist/react-ui/ui/DynamicToggle/index.d.ts +9 -3
  22. package/dist/react-ui/ui/DynamicToggle/index.d.ts.map +1 -1
  23. package/dist/react-ui/ui/DynamicToggle/index.js +47 -34
  24. package/dist/react-ui/ui/index.js +1 -1
  25. package/package.json +52 -13
  26. package/src/assets/react.svg +0 -1
  27. package/src/core/index.ts +0 -7
  28. package/src/core/types.ts +0 -82
  29. package/src/css.d.ts +0 -7
  30. package/src/index.css +0 -129
  31. package/src/index.ts +0 -29
  32. package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +0 -278
  33. package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +0 -97
  34. package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +0 -155
  35. package/src/react-ui/blocks/Terminal/Terminal.theme.ts +0 -80
  36. package/src/react-ui/blocks/Terminal/Terminal.types.ts +0 -438
  37. package/src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts +0 -38
  38. package/src/react-ui/blocks/Terminal/TerminalDisplay.tsx +0 -254
  39. package/src/react-ui/blocks/Terminal/TerminalDisplay.types.ts +0 -73
  40. package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +0 -269
  41. package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +0 -326
  42. package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +0 -230
  43. package/src/react-ui/blocks/Terminal/XTermAdapter.ts +0 -163
  44. package/src/react-ui/blocks/Terminal/chrome.ts +0 -25
  45. package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +0 -316
  46. package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +0 -218
  47. package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +0 -386
  48. package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +0 -67
  49. package/src/react-ui/blocks/Terminal/components/index.ts +0 -10
  50. package/src/react-ui/blocks/Terminal/display.ts +0 -46
  51. package/src/react-ui/blocks/Terminal/hooks/index.ts +0 -22
  52. package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +0 -229
  53. package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +0 -292
  54. package/src/react-ui/blocks/Terminal/index.ts +0 -111
  55. package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +0 -330
  56. package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +0 -242
  57. package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +0 -202
  58. package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +0 -140
  59. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +0 -68
  60. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +0 -85
  61. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +0 -383
  62. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +0 -439
  63. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +0 -550
  64. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +0 -259
  65. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.ts +0 -75
  66. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +0 -266
  67. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +0 -82
  68. package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +0 -112
  69. package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +0 -178
  70. package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +0 -203
  71. package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +0 -252
  72. package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +0 -334
  73. package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +0 -261
  74. package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +0 -248
  75. package/src/react-ui/blocks/Terminal/panel/index.ts +0 -72
  76. package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +0 -59
  77. package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +0 -59
  78. package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +0 -180
  79. package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +0 -248
  80. package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +0 -283
  81. package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +0 -686
  82. package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +0 -466
  83. package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +0 -343
  84. package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +0 -167
  85. package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +0 -348
  86. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +0 -251
  87. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +0 -390
  88. package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +0 -320
  89. package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +0 -20
  90. package/src/react-ui/blocks/Terminal/parsing/index.ts +0 -69
  91. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +0 -68
  92. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +0 -436
  93. package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +0 -14
  94. package/src/react-ui/blocks/index.ts +0 -11
  95. package/src/react-ui/components/MorphingPopover/MorphingPopover.types.ts +0 -49
  96. package/src/react-ui/components/MorphingPopover/index.tsx +0 -186
  97. package/src/react-ui/components/MorphingPopover/morphing-popover.module.css +0 -153
  98. package/src/react-ui/components/index.ts +0 -9
  99. package/src/react-ui/hooks/Animation/UseAutoHeight.tsx +0 -123
  100. package/src/react-ui/hooks/DOM/UseIsInView.tsx +0 -44
  101. package/src/react-ui/hooks/Formatting/UseListFormat.ts +0 -134
  102. package/src/react-ui/hooks/State/UseControlledState.tsx +0 -57
  103. package/src/react-ui/hooks/State/UseDataState.tsx +0 -76
  104. package/src/react-ui/hooks/index.ts +0 -20
  105. package/src/react-ui/icons/index.ts +0 -12
  106. package/src/react-ui/icons/lucide-animated/activity.tsx +0 -109
  107. package/src/react-ui/icons/lucide-animated/arrow-down-to-line.tsx +0 -51
  108. package/src/react-ui/icons/lucide-animated/arrow-up.tsx +0 -50
  109. package/src/react-ui/icons/lucide-animated/bell-electric.tsx +0 -124
  110. package/src/react-ui/icons/lucide-animated/bell.tsx +0 -93
  111. package/src/react-ui/icons/lucide-animated/bot.tsx +0 -122
  112. package/src/react-ui/icons/lucide-animated/box.tsx +0 -117
  113. package/src/react-ui/icons/lucide-animated/check.tsx +0 -21
  114. package/src/react-ui/icons/lucide-animated/circle-check.tsx +0 -107
  115. package/src/react-ui/icons/lucide-animated/delete.tsx +0 -133
  116. package/src/react-ui/icons/lucide-animated/download.tsx +0 -99
  117. package/src/react-ui/icons/lucide-animated/edit-2.tsx +0 -21
  118. package/src/react-ui/icons/lucide-animated/globe.tsx +0 -23
  119. package/src/react-ui/icons/lucide-animated/home.tsx +0 -103
  120. package/src/react-ui/icons/lucide-animated/index.ts +0 -38
  121. package/src/react-ui/icons/lucide-animated/layers.tsx +0 -23
  122. package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +0 -143
  123. package/src/react-ui/icons/lucide-animated/list.tsx +0 -54
  124. package/src/react-ui/icons/lucide-animated/package.tsx +0 -24
  125. package/src/react-ui/icons/lucide-animated/palette.tsx +0 -25
  126. package/src/react-ui/icons/lucide-animated/plus.tsx +0 -92
  127. package/src/react-ui/icons/lucide-animated/refresh-cw.tsx +0 -24
  128. package/src/react-ui/icons/lucide-animated/rocket.tsx +0 -24
  129. package/src/react-ui/icons/lucide-animated/save.tsx +0 -23
  130. package/src/react-ui/icons/lucide-animated/search.tsx +0 -94
  131. package/src/react-ui/icons/lucide-animated/settings.tsx +0 -92
  132. package/src/react-ui/icons/lucide-animated/terminal.tsx +0 -46
  133. package/src/react-ui/icons/lucide-animated/trash-2.tsx +0 -25
  134. package/src/react-ui/icons/lucide-animated/trending-down.tsx +0 -151
  135. package/src/react-ui/icons/lucide-animated/trending-up.tsx +0 -150
  136. package/src/react-ui/icons/lucide-animated/type.tsx +0 -23
  137. package/src/react-ui/icons/lucide-animated/upload.tsx +0 -23
  138. package/src/react-ui/icons/lucide-animated/x.tsx +0 -102
  139. package/src/react-ui/index.ts +0 -30
  140. package/src/react-ui/lib/get-strict-context.tsx +0 -56
  141. package/src/react-ui/lib/icon-wrapper.tsx +0 -70
  142. package/src/react-ui/lib/index.ts +0 -9
  143. package/src/react-ui/lib/utils.ts +0 -24
  144. package/src/react-ui/primitives/AutoHeight/index.tsx +0 -74
  145. package/src/react-ui/primitives/CountingNumber/index.tsx +0 -147
  146. package/src/react-ui/primitives/Highlight/Highlight.types.ts +0 -136
  147. package/src/react-ui/primitives/Highlight/index.tsx +0 -577
  148. package/src/react-ui/primitives/Slot/index.tsx +0 -128
  149. package/src/react-ui/primitives/index.ts +0 -16
  150. package/src/react-ui/primitives/waapi/Gooey/Gooey.types.ts +0 -141
  151. package/src/react-ui/primitives/waapi/Gooey/GooeyCanvas.tsx +0 -217
  152. package/src/react-ui/primitives/waapi/Gooey/GooeyFilter.tsx +0 -77
  153. package/src/react-ui/primitives/waapi/Gooey/MorphPath.tsx +0 -58
  154. package/src/react-ui/primitives/waapi/Gooey/gooey-utils.ts +0 -253
  155. package/src/react-ui/primitives/waapi/Gooey/index.ts +0 -50
  156. package/src/react-ui/primitives/waapi/Gooey/useMorphPath.ts +0 -48
  157. package/src/react-ui/primitives/waapi/Morph/Morph.types.ts +0 -106
  158. package/src/react-ui/primitives/waapi/Morph/MorphContext.tsx +0 -21
  159. package/src/react-ui/primitives/waapi/Morph/index.tsx +0 -56
  160. package/src/react-ui/primitives/waapi/Morph/techniques/index.ts +0 -12
  161. package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +0 -89
  162. package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +0 -176
  163. package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +0 -87
  164. package/src/react-ui/primitives/waapi/Morph/useMorph.ts +0 -101
  165. package/src/react-ui/primitives/waapi/Reorder/Reorder.types.ts +0 -177
  166. package/src/react-ui/primitives/waapi/Reorder/index.tsx +0 -260
  167. package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +0 -47
  168. package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +0 -209
  169. package/src/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.ts +0 -104
  170. package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.ts +0 -14
  171. package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.ts +0 -84
  172. package/src/react-ui/primitives/waapi/SlidingNumber/index.tsx +0 -474
  173. package/src/react-ui/primitives/waapi/SlidingText/SlidingText.styles.ts +0 -32
  174. package/src/react-ui/primitives/waapi/SlidingText/SlidingText.types.ts +0 -69
  175. package/src/react-ui/primitives/waapi/SlidingText/index.tsx +0 -140
  176. package/src/react-ui/primitives/waapi/core/animationConstants.ts +0 -215
  177. package/src/react-ui/primitives/waapi/core/index.ts +0 -53
  178. package/src/react-ui/primitives/waapi/core/types.ts +0 -200
  179. package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +0 -430
  180. package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +0 -81
  181. package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +0 -138
  182. package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +0 -106
  183. package/src/react-ui/primitives/waapi/index.ts +0 -139
  184. package/src/react-ui/styles/animations.css +0 -369
  185. package/src/react-ui/ui/Accordion/Accordion.styles.ts +0 -72
  186. package/src/react-ui/ui/Accordion/Accordion.types.ts +0 -199
  187. package/src/react-ui/ui/Accordion/index.tsx +0 -362
  188. package/src/react-ui/ui/AlertDialog/AlertDialog.styles.ts +0 -38
  189. package/src/react-ui/ui/AlertDialog/AlertDialog.types.ts +0 -296
  190. package/src/react-ui/ui/AlertDialog/index.tsx +0 -540
  191. package/src/react-ui/ui/Badge/Badge.styles.ts +0 -43
  192. package/src/react-ui/ui/Badge/Badge.types.ts +0 -26
  193. package/src/react-ui/ui/Badge/index.tsx +0 -34
  194. package/src/react-ui/ui/Button/Button.styles.ts +0 -57
  195. package/src/react-ui/ui/Button/Button.types.ts +0 -63
  196. package/src/react-ui/ui/Button/index.tsx +0 -155
  197. package/src/react-ui/ui/Card/Card.styles.ts +0 -32
  198. package/src/react-ui/ui/Card/Card.types.ts +0 -39
  199. package/src/react-ui/ui/Card/index.tsx +0 -130
  200. package/src/react-ui/ui/Checkbox/Checkbox.styles.ts +0 -40
  201. package/src/react-ui/ui/Checkbox/Checkbox.types.ts +0 -98
  202. package/src/react-ui/ui/Checkbox/index.tsx +0 -233
  203. package/src/react-ui/ui/Combobox/Combobox.styles.ts +0 -34
  204. package/src/react-ui/ui/Combobox/Combobox.types.ts +0 -89
  205. package/src/react-ui/ui/Combobox/index.tsx +0 -331
  206. package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +0 -38
  207. package/src/react-ui/ui/CornerBracket/CornerBracket.types.ts +0 -15
  208. package/src/react-ui/ui/CornerBracket/index.tsx +0 -49
  209. package/src/react-ui/ui/DataCard/DataCard.styles.ts +0 -94
  210. package/src/react-ui/ui/DataCard/DataCard.types.ts +0 -125
  211. package/src/react-ui/ui/DataCard/index.tsx +0 -340
  212. package/src/react-ui/ui/Dialog/Dialog.styles.ts +0 -59
  213. package/src/react-ui/ui/Dialog/Dialog.types.ts +0 -284
  214. package/src/react-ui/ui/Dialog/index.tsx +0 -452
  215. package/src/react-ui/ui/DropdownMenu/DropdownMenu.styles.ts +0 -35
  216. package/src/react-ui/ui/DropdownMenu/DropdownMenu.types.ts +0 -81
  217. package/src/react-ui/ui/DropdownMenu/index.tsx +0 -300
  218. package/src/react-ui/ui/DynamicToggle/DynamicToggle.css +0 -376
  219. package/src/react-ui/ui/DynamicToggle/DynamicToggle.styles.ts +0 -85
  220. package/src/react-ui/ui/DynamicToggle/DynamicToggle.types.ts +0 -180
  221. package/src/react-ui/ui/DynamicToggle/index.tsx +0 -316
  222. package/src/react-ui/ui/DynamicToggle/prototype-v7-ios.html +0 -413
  223. package/src/react-ui/ui/DynamicToggle/prototype-v7.html +0 -615
  224. package/src/react-ui/ui/DynamicToggle/prototype-v8-gooey-safari.html +0 -560
  225. package/src/react-ui/ui/DynamicToggle/prototype-v8b-react-structure.html +0 -227
  226. package/src/react-ui/ui/DynamicToggle/prototype.html +0 -419
  227. package/src/react-ui/ui/Field/Field.styles.ts +0 -47
  228. package/src/react-ui/ui/Field/Field.types.ts +0 -60
  229. package/src/react-ui/ui/Field/index.tsx +0 -254
  230. package/src/react-ui/ui/Input/Input.styles.ts +0 -11
  231. package/src/react-ui/ui/Input/Input.types.ts +0 -10
  232. package/src/react-ui/ui/Input/index.tsx +0 -32
  233. package/src/react-ui/ui/InputGroup/InputGroup.styles.ts +0 -53
  234. package/src/react-ui/ui/InputGroup/InputGroup.types.ts +0 -44
  235. package/src/react-ui/ui/InputGroup/index.tsx +0 -149
  236. package/src/react-ui/ui/Label/Label.styles.ts +0 -10
  237. package/src/react-ui/ui/Label/Label.types.ts +0 -9
  238. package/src/react-ui/ui/Label/index.tsx +0 -27
  239. package/src/react-ui/ui/Menu/Menu.styles.ts +0 -71
  240. package/src/react-ui/ui/Menu/Menu.types.ts +0 -425
  241. package/src/react-ui/ui/Menu/index.tsx +0 -900
  242. package/src/react-ui/ui/Popover/Popover.styles.ts +0 -55
  243. package/src/react-ui/ui/Popover/Popover.types.ts +0 -261
  244. package/src/react-ui/ui/Popover/index.tsx +0 -422
  245. package/src/react-ui/ui/Progress/Progress.styles.ts +0 -36
  246. package/src/react-ui/ui/Progress/Progress.types.ts +0 -162
  247. package/src/react-ui/ui/Progress/index.tsx +0 -254
  248. package/src/react-ui/ui/Select/Select.styles.ts +0 -30
  249. package/src/react-ui/ui/Select/Select.types.ts +0 -51
  250. package/src/react-ui/ui/Select/index.tsx +0 -225
  251. package/src/react-ui/ui/Separator/Separator.styles.ts +0 -10
  252. package/src/react-ui/ui/Separator/Separator.types.ts +0 -10
  253. package/src/react-ui/ui/Separator/index.tsx +0 -37
  254. package/src/react-ui/ui/Switch/Switch.styles.ts +0 -50
  255. package/src/react-ui/ui/Switch/Switch.types.ts +0 -155
  256. package/src/react-ui/ui/Switch/index.tsx +0 -253
  257. package/src/react-ui/ui/Tabs/Tabs.css +0 -39
  258. package/src/react-ui/ui/Tabs/Tabs.styles.ts +0 -148
  259. package/src/react-ui/ui/Tabs/Tabs.types.ts +0 -255
  260. package/src/react-ui/ui/Tabs/index.tsx +0 -529
  261. package/src/react-ui/ui/TextFlow/TextFlow.styles.ts +0 -36
  262. package/src/react-ui/ui/TextFlow/TextFlow.types.ts +0 -118
  263. package/src/react-ui/ui/TextFlow/index.tsx +0 -276
  264. package/src/react-ui/ui/Textarea/Textarea.styles.ts +0 -10
  265. package/src/react-ui/ui/Textarea/Textarea.types.ts +0 -9
  266. package/src/react-ui/ui/Textarea/index.tsx +0 -27
  267. package/src/react-ui/ui/Tooltip/Tooltip.styles.ts +0 -43
  268. package/src/react-ui/ui/Tooltip/Tooltip.types.ts +0 -253
  269. package/src/react-ui/ui/Tooltip/index.tsx +0 -394
  270. package/src/react-ui/ui/index.ts +0 -41
  271. 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
- }