@seed-design/react 1.2.15 → 2.0.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 (387) hide show
  1. package/lib/components/Accordion/Accordion.cjs +42 -0
  2. package/lib/components/Accordion/Accordion.d.ts +35 -0
  3. package/lib/components/Accordion/Accordion.d.ts.map +1 -0
  4. package/lib/components/Accordion/Accordion.js +32 -0
  5. package/lib/components/Accordion/Accordion.namespace.cjs +22 -0
  6. package/lib/components/Accordion/Accordion.namespace.d.ts +2 -0
  7. package/lib/components/Accordion/Accordion.namespace.d.ts.map +1 -0
  8. package/lib/components/Accordion/Accordion.namespace.js +17 -0
  9. package/lib/components/Accordion/index.cjs +19 -0
  10. package/lib/components/Accordion/index.d.ts +3 -0
  11. package/lib/components/Accordion/index.d.ts.map +1 -0
  12. package/lib/components/Accordion/index.js +3 -0
  13. package/lib/components/ActionButton/ActionButton.cjs +1 -1
  14. package/lib/components/ActionButton/ActionButton.d.ts +1 -1
  15. package/lib/components/ActionButton/ActionButton.d.ts.map +1 -1
  16. package/lib/components/ActionButton/ActionButton.js +1 -1
  17. package/lib/components/ActionSheet/ActionSheet.cjs +12 -12
  18. package/lib/components/ActionSheet/ActionSheet.d.ts +22 -22
  19. package/lib/components/ActionSheet/ActionSheet.js +12 -12
  20. package/lib/components/Article/Article.d.ts +2 -3
  21. package/lib/components/Article/Article.d.ts.map +1 -1
  22. package/lib/components/AspectRatio/AspectRatio.d.ts +2 -2
  23. package/lib/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  24. package/lib/components/AttachmentDisplay/AttachmentDisplay.cjs +63 -0
  25. package/lib/components/AttachmentDisplay/AttachmentDisplay.d.ts +43 -0
  26. package/lib/components/AttachmentDisplay/AttachmentDisplay.d.ts.map +1 -0
  27. package/lib/components/AttachmentDisplay/AttachmentDisplay.js +49 -0
  28. package/lib/components/AttachmentDisplay/AttachmentDisplay.namespace.cjs +37 -0
  29. package/lib/components/AttachmentDisplay/AttachmentDisplay.namespace.d.ts +5 -0
  30. package/lib/components/AttachmentDisplay/AttachmentDisplay.namespace.d.ts.map +1 -0
  31. package/lib/components/AttachmentDisplay/AttachmentDisplay.namespace.js +32 -0
  32. package/lib/components/AttachmentDisplay/AttachmentDisplayItem.cjs +110 -0
  33. package/lib/components/AttachmentDisplay/AttachmentDisplayItem.d.ts +30 -0
  34. package/lib/components/AttachmentDisplay/AttachmentDisplayItem.d.ts.map +1 -0
  35. package/lib/components/AttachmentDisplay/AttachmentDisplayItem.js +100 -0
  36. package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.cjs +50 -0
  37. package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.d.ts +18 -0
  38. package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.d.ts.map +1 -0
  39. package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.js +45 -0
  40. package/lib/components/AttachmentDisplay/index.cjs +34 -0
  41. package/lib/components/AttachmentDisplay/index.d.ts +6 -0
  42. package/lib/components/AttachmentDisplay/index.d.ts.map +1 -0
  43. package/lib/components/AttachmentDisplay/index.js +5 -0
  44. package/lib/components/AttachmentInput/AttachmentInput.cjs +37 -0
  45. package/lib/components/AttachmentInput/AttachmentInput.d.ts +23 -0
  46. package/lib/components/AttachmentInput/AttachmentInput.d.ts.map +1 -0
  47. package/lib/components/AttachmentInput/AttachmentInput.js +30 -0
  48. package/lib/components/AttachmentInput/AttachmentInput.namespace.cjs +35 -0
  49. package/lib/components/AttachmentInput/AttachmentInput.namespace.d.ts +6 -0
  50. package/lib/components/AttachmentInput/AttachmentInput.namespace.d.ts.map +1 -0
  51. package/lib/components/AttachmentInput/AttachmentInput.namespace.js +30 -0
  52. package/lib/components/AttachmentInput/AttachmentInput.test.d.ts +2 -0
  53. package/lib/components/AttachmentInput/AttachmentInput.test.d.ts.map +1 -0
  54. package/lib/components/AttachmentInput/AttachmentInputDropzone.cjs +12 -0
  55. package/lib/components/AttachmentInput/AttachmentInputDropzone.d.ts +9 -0
  56. package/lib/components/AttachmentInput/AttachmentInputDropzone.d.ts.map +1 -0
  57. package/lib/components/AttachmentInput/AttachmentInputDropzone.js +10 -0
  58. package/lib/components/AttachmentInput/AttachmentInputItem.cjs +138 -0
  59. package/lib/components/AttachmentInput/AttachmentInputItem.d.ts +36 -0
  60. package/lib/components/AttachmentInput/AttachmentInputItem.d.ts.map +1 -0
  61. package/lib/components/AttachmentInput/AttachmentInputItem.js +126 -0
  62. package/lib/components/AttachmentInput/AttachmentInputTrigger.cjs +54 -0
  63. package/lib/components/AttachmentInput/AttachmentInputTrigger.d.ts +21 -0
  64. package/lib/components/AttachmentInput/AttachmentInputTrigger.d.ts.map +1 -0
  65. package/lib/components/AttachmentInput/AttachmentInputTrigger.js +49 -0
  66. package/lib/components/AttachmentInput/index.cjs +32 -0
  67. package/lib/components/AttachmentInput/index.d.ts +7 -0
  68. package/lib/components/AttachmentInput/index.d.ts.map +1 -0
  69. package/lib/components/AttachmentInput/index.js +6 -0
  70. package/lib/components/BottomSheet/BottomSheet.cjs +36 -9
  71. package/lib/components/BottomSheet/BottomSheet.d.ts +2 -7
  72. package/lib/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  73. package/lib/components/BottomSheet/BottomSheet.js +35 -9
  74. package/lib/components/Box/Box.cjs +10 -3
  75. package/lib/components/Box/Box.d.ts +4 -2
  76. package/lib/components/Box/Box.d.ts.map +1 -1
  77. package/lib/components/Box/Box.js +10 -3
  78. package/lib/components/Checkbox/Checkbox.cjs +2 -6
  79. package/lib/components/Checkbox/Checkbox.d.ts +1 -7
  80. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  81. package/lib/components/Checkbox/Checkbox.js +2 -6
  82. package/lib/components/Chip/Chip.cjs +1 -1
  83. package/lib/components/Chip/Chip.js +1 -1
  84. package/lib/components/ChipTabs/ChipTabs.cjs +0 -1
  85. package/lib/components/ChipTabs/ChipTabs.d.ts.map +1 -1
  86. package/lib/components/ChipTabs/ChipTabs.js +0 -1
  87. package/lib/components/Columns/Columns.d.ts +4 -4
  88. package/lib/components/Columns/Columns.d.ts.map +1 -1
  89. package/lib/components/ExtendedActionSheet/ExtendedActionSheet.cjs +13 -13
  90. package/lib/components/ExtendedActionSheet/ExtendedActionSheet.d.ts +24 -24
  91. package/lib/components/ExtendedActionSheet/ExtendedActionSheet.js +13 -13
  92. package/lib/components/FieldButton/FieldButton.cjs +22 -3
  93. package/lib/components/FieldButton/FieldButton.d.ts +3 -2
  94. package/lib/components/FieldButton/FieldButton.d.ts.map +1 -1
  95. package/lib/components/FieldButton/FieldButton.js +23 -3
  96. package/lib/components/Flex/Flex.d.ts +5 -3
  97. package/lib/components/Flex/Flex.d.ts.map +1 -1
  98. package/lib/components/Footer/Footer.namespace.cjs +11 -0
  99. package/lib/components/Footer/Footer.namespace.d.ts +2 -0
  100. package/lib/components/Footer/Footer.namespace.d.ts.map +1 -0
  101. package/lib/components/Footer/Footer.namespace.js +6 -0
  102. package/lib/components/Footer/FooterLinkText.cjs +23 -0
  103. package/lib/components/Footer/FooterLinkText.d.ts +7 -0
  104. package/lib/components/Footer/FooterLinkText.d.ts.map +1 -0
  105. package/lib/components/Footer/FooterLinkText.js +20 -0
  106. package/lib/components/Footer/index.cjs +10 -0
  107. package/lib/components/Footer/index.d.ts +3 -0
  108. package/lib/components/Footer/index.d.ts.map +1 -0
  109. package/lib/components/Footer/index.js +3 -0
  110. package/lib/components/Grid/Grid.cjs +7 -2
  111. package/lib/components/Grid/Grid.d.ts +7 -5
  112. package/lib/components/Grid/Grid.d.ts.map +1 -1
  113. package/lib/components/Grid/Grid.js +7 -2
  114. package/lib/components/GridItem/GridItem.d.ts +3 -2
  115. package/lib/components/GridItem/GridItem.d.ts.map +1 -1
  116. package/lib/components/HelpBubble/HelpBubble.cjs +4 -7
  117. package/lib/components/HelpBubble/HelpBubble.d.ts.map +1 -1
  118. package/lib/components/HelpBubble/HelpBubble.js +4 -7
  119. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.cjs +64 -0
  120. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.d.ts +60 -0
  121. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.d.ts.map +1 -0
  122. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.js +52 -0
  123. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.namespace.cjs +23 -0
  124. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.namespace.d.ts +2 -0
  125. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.namespace.d.ts.map +1 -0
  126. package/lib/components/HelpBubbleTooltip/HelpBubbleTooltip.namespace.js +18 -0
  127. package/lib/components/HelpBubbleTooltip/index.cjs +20 -0
  128. package/lib/components/HelpBubbleTooltip/index.d.ts +3 -0
  129. package/lib/components/HelpBubbleTooltip/index.d.ts.map +1 -0
  130. package/lib/components/HelpBubbleTooltip/index.js +3 -0
  131. package/lib/components/Icon/Icon.d.ts +2 -1
  132. package/lib/components/Icon/Icon.d.ts.map +1 -1
  133. package/lib/components/ImageFrame/ImageFrame.cjs +3 -2
  134. package/lib/components/ImageFrame/ImageFrame.d.ts +3 -8
  135. package/lib/components/ImageFrame/ImageFrame.d.ts.map +1 -1
  136. package/lib/components/ImageFrame/ImageFrame.js +3 -2
  137. package/lib/components/Inline/Inline.d.ts +2 -2
  138. package/lib/components/Inline/Inline.d.ts.map +1 -1
  139. package/lib/components/Layout/Layout.cjs +12 -0
  140. package/lib/components/Layout/Layout.d.ts +10 -0
  141. package/lib/components/Layout/Layout.d.ts.map +1 -0
  142. package/lib/components/Layout/Layout.js +10 -0
  143. package/lib/components/Layout/Layout.namespace.cjs +14 -0
  144. package/lib/components/Layout/Layout.namespace.d.ts +2 -0
  145. package/lib/components/Layout/Layout.namespace.d.ts.map +1 -0
  146. package/lib/components/Layout/Layout.namespace.js +9 -0
  147. package/lib/components/Layout/index.cjs +11 -0
  148. package/lib/components/Layout/index.d.ts +3 -0
  149. package/lib/components/Layout/index.d.ts.map +1 -0
  150. package/lib/components/Layout/index.js +3 -0
  151. package/lib/components/List/List.cjs +1 -1
  152. package/lib/components/List/List.d.ts +1 -1
  153. package/lib/components/List/List.d.ts.map +1 -1
  154. package/lib/components/List/List.js +1 -1
  155. package/lib/components/Menu/Menu.cjs +76 -0
  156. package/lib/components/Menu/Menu.d.ts +42 -0
  157. package/lib/components/Menu/Menu.d.ts.map +1 -0
  158. package/lib/components/Menu/Menu.js +62 -0
  159. package/lib/components/Menu/Menu.namespace.cjs +24 -0
  160. package/lib/components/Menu/Menu.namespace.d.ts +2 -0
  161. package/lib/components/Menu/Menu.namespace.d.ts.map +1 -0
  162. package/lib/components/Menu/Menu.namespace.js +19 -0
  163. package/lib/components/Menu/index.cjs +21 -0
  164. package/lib/components/Menu/index.d.ts +3 -0
  165. package/lib/components/Menu/index.d.ts.map +1 -0
  166. package/lib/components/Menu/index.js +3 -0
  167. package/lib/components/MenuSheet/MenuSheet.cjs +48 -0
  168. package/lib/components/MenuSheet/MenuSheet.d.ts +96 -0
  169. package/lib/components/MenuSheet/MenuSheet.d.ts.map +1 -1
  170. package/lib/components/MenuSheet/MenuSheet.js +48 -0
  171. package/lib/components/NavigationMenu/NavigationMenu.cjs +76 -0
  172. package/lib/components/NavigationMenu/NavigationMenu.d.ts +42 -0
  173. package/lib/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
  174. package/lib/components/NavigationMenu/NavigationMenu.js +62 -0
  175. package/lib/components/NavigationMenu/NavigationMenu.namespace.cjs +24 -0
  176. package/lib/components/NavigationMenu/NavigationMenu.namespace.d.ts +2 -0
  177. package/lib/components/NavigationMenu/NavigationMenu.namespace.d.ts.map +1 -0
  178. package/lib/components/NavigationMenu/NavigationMenu.namespace.js +19 -0
  179. package/lib/components/NavigationMenu/index.cjs +21 -0
  180. package/lib/components/NavigationMenu/index.d.ts +3 -0
  181. package/lib/components/NavigationMenu/index.d.ts.map +1 -0
  182. package/lib/components/NavigationMenu/index.js +3 -0
  183. package/lib/components/RadioGroup/RadioGroup.cjs +1 -1
  184. package/lib/components/RadioGroup/RadioGroup.js +1 -1
  185. package/lib/components/ResponsivePair/ResponsivePair.cjs +8 -5
  186. package/lib/components/ResponsivePair/ResponsivePair.d.ts +3 -2
  187. package/lib/components/ResponsivePair/ResponsivePair.d.ts.map +1 -1
  188. package/lib/components/ResponsivePair/ResponsivePair.js +8 -5
  189. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.cjs +184 -0
  190. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.d.ts +65 -0
  191. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.d.ts.map +1 -0
  192. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.js +170 -0
  193. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.namespace.cjs +24 -0
  194. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.namespace.d.ts +2 -0
  195. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.namespace.d.ts.map +1 -0
  196. package/lib/components/ResponsiveSidePanel/ResponsiveSidePanel.namespace.js +19 -0
  197. package/lib/components/ResponsiveSidePanel/index.cjs +22 -0
  198. package/lib/components/ResponsiveSidePanel/index.d.ts +3 -0
  199. package/lib/components/ResponsiveSidePanel/index.d.ts.map +1 -0
  200. package/lib/components/ResponsiveSidePanel/index.js +3 -0
  201. package/lib/components/SelectBox/CheckSelectBox.cjs +2 -2
  202. package/lib/components/SelectBox/CheckSelectBox.d.ts +1 -1
  203. package/lib/components/SelectBox/CheckSelectBox.d.ts.map +1 -1
  204. package/lib/components/SelectBox/CheckSelectBox.js +1 -1
  205. package/lib/components/SideNavigation/SideNavigation.cjs +175 -0
  206. package/lib/components/SideNavigation/SideNavigation.d.ts +59 -0
  207. package/lib/components/SideNavigation/SideNavigation.d.ts.map +1 -0
  208. package/lib/components/SideNavigation/SideNavigation.js +157 -0
  209. package/lib/components/SideNavigation/SideNavigation.namespace.cjs +28 -0
  210. package/lib/components/SideNavigation/SideNavigation.namespace.d.ts +3 -0
  211. package/lib/components/SideNavigation/SideNavigation.namespace.d.ts.map +1 -0
  212. package/lib/components/SideNavigation/SideNavigation.namespace.js +23 -0
  213. package/lib/components/SideNavigation/index.cjs +25 -0
  214. package/lib/components/SideNavigation/index.d.ts +4 -0
  215. package/lib/components/SideNavigation/index.d.ts.map +1 -0
  216. package/lib/components/SideNavigation/index.js +3 -0
  217. package/lib/components/SidePanel/SidePanel.cjs +100 -0
  218. package/lib/components/SidePanel/SidePanel.d.ts +41 -0
  219. package/lib/components/SidePanel/SidePanel.d.ts.map +1 -0
  220. package/lib/components/SidePanel/SidePanel.js +87 -0
  221. package/lib/components/SidePanel/SidePanel.namespace.cjs +23 -0
  222. package/lib/components/SidePanel/SidePanel.namespace.d.ts +2 -0
  223. package/lib/components/SidePanel/SidePanel.namespace.d.ts.map +1 -0
  224. package/lib/components/SidePanel/SidePanel.namespace.js +18 -0
  225. package/lib/components/SidePanel/index.cjs +20 -0
  226. package/lib/components/SidePanel/index.d.ts +3 -0
  227. package/lib/components/SidePanel/index.d.ts.map +1 -0
  228. package/lib/components/SidePanel/index.js +3 -0
  229. package/lib/components/Slider/Slider.cjs +2 -2
  230. package/lib/components/Slider/Slider.js +2 -2
  231. package/lib/components/Snackbar/Snackbar.cjs +2 -2
  232. package/lib/components/Snackbar/Snackbar.d.ts +1 -1
  233. package/lib/components/Snackbar/Snackbar.d.ts.map +1 -1
  234. package/lib/components/Snackbar/Snackbar.js +2 -2
  235. package/lib/components/Stack/Stack.d.ts +4 -6
  236. package/lib/components/Stack/Stack.d.ts.map +1 -1
  237. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.cjs +123 -0
  238. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.d.ts +60 -0
  239. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.d.ts.map +1 -0
  240. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.js +104 -0
  241. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.cjs +29 -0
  242. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.d.ts +2 -0
  243. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.d.ts.map +1 -0
  244. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.js +24 -0
  245. package/lib/components/SwipeableMenuSheet/index.cjs +26 -0
  246. package/lib/components/SwipeableMenuSheet/index.d.ts +3 -0
  247. package/lib/components/SwipeableMenuSheet/index.d.ts.map +1 -0
  248. package/lib/components/SwipeableMenuSheet/index.js +3 -0
  249. package/lib/components/Switch/Switch.cjs +1 -5
  250. package/lib/components/Switch/Switch.d.ts +1 -7
  251. package/lib/components/Switch/Switch.d.ts.map +1 -1
  252. package/lib/components/Switch/Switch.js +1 -5
  253. package/lib/components/TagGroup/TagGroup.cjs +1 -1
  254. package/lib/components/TagGroup/TagGroup.js +1 -1
  255. package/lib/components/TextField/TextField.cjs +1 -1
  256. package/lib/components/TextField/TextField.js +1 -1
  257. package/lib/components/index.cjs +249 -0
  258. package/lib/components/index.d.ts +12 -0
  259. package/lib/components/index.d.ts.map +1 -1
  260. package/lib/components/index.js +30 -1
  261. package/lib/components/private/useDismissible.d.ts +6 -6
  262. package/lib/hooks/useBreakpoint.cjs +15 -0
  263. package/lib/hooks/useBreakpoint.d.ts +12 -0
  264. package/lib/hooks/useBreakpoint.d.ts.map +1 -0
  265. package/lib/hooks/useBreakpoint.js +13 -0
  266. package/lib/hooks/useBreakpoint.test.d.ts +2 -0
  267. package/lib/hooks/useBreakpoint.test.d.ts.map +1 -0
  268. package/lib/hooks/useBreakpointValue.cjs +23 -0
  269. package/lib/hooks/useBreakpointValue.d.ts +8 -0
  270. package/lib/hooks/useBreakpointValue.d.ts.map +1 -0
  271. package/lib/hooks/useBreakpointValue.js +22 -0
  272. package/lib/hooks/useBreakpointValue.test.d.ts +2 -0
  273. package/lib/hooks/useBreakpointValue.test.d.ts.map +1 -0
  274. package/lib/index.cjs +255 -0
  275. package/lib/index.d.ts +6 -0
  276. package/lib/index.d.ts.map +1 -1
  277. package/lib/index.js +33 -1
  278. package/lib/primitive.cjs +45 -0
  279. package/lib/primitive.d.ts +5 -0
  280. package/lib/primitive.d.ts.map +1 -1
  281. package/lib/primitive.js +5 -0
  282. package/lib/primitives/breakpoint-store.cjs +52 -0
  283. package/lib/primitives/breakpoint-store.d.ts +7 -0
  284. package/lib/primitives/breakpoint-store.d.ts.map +1 -0
  285. package/lib/primitives/breakpoint-store.js +50 -0
  286. package/lib/providers/BreakpointProvider.cjs +20 -0
  287. package/lib/providers/BreakpointProvider.d.ts +8 -0
  288. package/lib/providers/BreakpointProvider.d.ts.map +1 -0
  289. package/lib/providers/BreakpointProvider.js +19 -0
  290. package/lib/types/responsive.cjs +7 -0
  291. package/lib/types/responsive.d.ts +12 -0
  292. package/lib/types/responsive.d.ts.map +1 -0
  293. package/lib/types/responsive.js +7 -0
  294. package/lib/utils/createRenderTrackingContext.cjs +45 -0
  295. package/lib/utils/createRenderTrackingContext.d.ts +28 -0
  296. package/lib/utils/createRenderTrackingContext.d.ts.map +1 -0
  297. package/lib/utils/createRenderTrackingContext.js +44 -0
  298. package/lib/utils/getHelpBubbleArrowTipPath.cjs +14 -0
  299. package/lib/utils/getHelpBubbleArrowTipPath.d.ts +7 -0
  300. package/lib/utils/getHelpBubbleArrowTipPath.d.ts.map +1 -0
  301. package/lib/utils/getHelpBubbleArrowTipPath.js +14 -0
  302. package/lib/utils/styled.cjs +49 -75
  303. package/lib/utils/styled.d.ts +180 -62
  304. package/lib/utils/styled.d.ts.map +1 -1
  305. package/lib/utils/styled.js +49 -76
  306. package/package.json +33 -26
  307. package/src/components/Accordion/Accordion.namespace.ts +22 -0
  308. package/src/components/Accordion/Accordion.tsx +119 -0
  309. package/src/components/Accordion/index.ts +24 -0
  310. package/src/components/ActionButton/ActionButton.tsx +1 -1
  311. package/src/components/ActionSheet/ActionSheet.tsx +22 -22
  312. package/src/components/Article/Article.tsx +1 -1
  313. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  314. package/src/components/AttachmentDisplay/AttachmentDisplay.namespace.ts +57 -0
  315. package/src/components/AttachmentDisplay/AttachmentDisplay.tsx +165 -0
  316. package/src/components/AttachmentDisplay/AttachmentDisplayItem.tsx +204 -0
  317. package/src/components/AttachmentDisplay/AttachmentDisplayTrigger.tsx +82 -0
  318. package/src/components/AttachmentDisplay/index.ts +59 -0
  319. package/src/components/AttachmentInput/AttachmentInput.namespace.ts +54 -0
  320. package/src/components/AttachmentInput/AttachmentInput.test.tsx +161 -0
  321. package/src/components/AttachmentInput/AttachmentInput.tsx +77 -0
  322. package/src/components/AttachmentInput/AttachmentInputDropzone.tsx +25 -0
  323. package/src/components/AttachmentInput/AttachmentInputItem.tsx +246 -0
  324. package/src/components/AttachmentInput/AttachmentInputTrigger.tsx +85 -0
  325. package/src/components/AttachmentInput/index.ts +56 -0
  326. package/src/components/BottomSheet/BottomSheet.tsx +51 -22
  327. package/src/components/Box/Box.tsx +30 -7
  328. package/src/components/Checkbox/Checkbox.tsx +3 -31
  329. package/src/components/ChipTabs/ChipTabs.tsx +0 -6
  330. package/src/components/Columns/Columns.tsx +4 -3
  331. package/src/components/ExtendedActionSheet/ExtendedActionSheet.tsx +24 -24
  332. package/src/components/FieldButton/FieldButton.tsx +36 -8
  333. package/src/components/Flex/Flex.tsx +5 -3
  334. package/src/components/Footer/Footer.namespace.ts +4 -0
  335. package/src/components/Footer/FooterLinkText.tsx +23 -0
  336. package/src/components/Footer/index.ts +3 -0
  337. package/src/components/Grid/Grid.tsx +15 -8
  338. package/src/components/GridItem/GridItem.tsx +3 -2
  339. package/src/components/HelpBubble/HelpBubble.tsx +2 -5
  340. package/src/components/HelpBubbleTooltip/HelpBubbleTooltip.namespace.ts +24 -0
  341. package/src/components/HelpBubbleTooltip/HelpBubbleTooltip.tsx +169 -0
  342. package/src/components/HelpBubbleTooltip/index.ts +26 -0
  343. package/src/components/Icon/Icon.tsx +2 -1
  344. package/src/components/ImageFrame/ImageFrame.test.tsx +1 -3
  345. package/src/components/ImageFrame/ImageFrame.tsx +25 -23
  346. package/src/components/Inline/Inline.tsx +2 -1
  347. package/src/components/Layout/Layout.namespace.ts +6 -0
  348. package/src/components/Layout/Layout.tsx +21 -0
  349. package/src/components/Layout/index.ts +8 -0
  350. package/src/components/List/List.tsx +5 -1
  351. package/src/components/Menu/Menu.namespace.ts +26 -0
  352. package/src/components/Menu/Menu.tsx +157 -0
  353. package/src/components/Menu/index.ts +28 -0
  354. package/src/components/MenuSheet/MenuSheet.tsx +96 -0
  355. package/src/components/NavigationMenu/NavigationMenu.namespace.ts +26 -0
  356. package/src/components/NavigationMenu/NavigationMenu.tsx +172 -0
  357. package/src/components/NavigationMenu/index.ts +28 -0
  358. package/src/components/ResponsivePair/ResponsivePair.tsx +13 -7
  359. package/src/components/ResponsiveSidePanel/ResponsiveSidePanel.namespace.ts +26 -0
  360. package/src/components/ResponsiveSidePanel/ResponsiveSidePanel.tsx +316 -0
  361. package/src/components/ResponsiveSidePanel/index.ts +29 -0
  362. package/src/components/SelectBox/CheckSelectBox.tsx +1 -1
  363. package/src/components/SideNavigation/SideNavigation.namespace.ts +37 -0
  364. package/src/components/SideNavigation/SideNavigation.tsx +342 -0
  365. package/src/components/SideNavigation/index.ts +39 -0
  366. package/src/components/SidePanel/SidePanel.namespace.ts +24 -0
  367. package/src/components/SidePanel/SidePanel.tsx +216 -0
  368. package/src/components/SidePanel/index.ts +26 -0
  369. package/src/components/Snackbar/Snackbar.tsx +2 -4
  370. package/src/components/Stack/Stack.tsx +4 -3
  371. package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.ts +36 -0
  372. package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.tsx +269 -0
  373. package/src/components/SwipeableMenuSheet/index.ts +38 -0
  374. package/src/components/Switch/Switch.tsx +3 -26
  375. package/src/components/index.ts +12 -0
  376. package/src/hooks/useBreakpoint.test.tsx +94 -0
  377. package/src/hooks/useBreakpoint.ts +24 -0
  378. package/src/hooks/useBreakpointValue.test.tsx +102 -0
  379. package/src/hooks/useBreakpointValue.ts +33 -0
  380. package/src/index.ts +8 -0
  381. package/src/primitive.ts +5 -0
  382. package/src/primitives/breakpoint-store.ts +69 -0
  383. package/src/providers/BreakpointProvider.tsx +26 -0
  384. package/src/types/responsive.ts +19 -0
  385. package/src/utils/createRenderTrackingContext.tsx +50 -0
  386. package/src/utils/getHelpBubbleArrowTipPath.ts +11 -0
  387. package/src/utils/styled.tsx +387 -268
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
+ import type { DistributiveOmit } from "../../utils/styled";
2
3
  import { Box, type BoxProps } from "../Box/Box";
3
4
 
4
- export interface GridItemProps extends Omit<BoxProps, "gridColumn" | "gridRow" | "gridArea"> {
5
+ export type GridItemProps = DistributiveOmit<BoxProps, "gridColumn" | "gridRow" | "gridArea"> & {
5
6
  /**
6
7
  * If true, the component will render its children directly without a wrapper element.
7
8
  * @default false
@@ -39,7 +40,7 @@ export interface GridItemProps extends Omit<BoxProps, "gridColumn" | "gridRow" |
39
40
  rowEnd?: number;
40
41
 
41
42
  // NOTE: grid-area is not currently supported here: see Grid.tsx
42
- }
43
+ };
43
44
 
44
45
  export const GridItem = React.forwardRef<HTMLDivElement, GridItemProps>((props, ref) => {
45
46
  const { asChild = false, colSpan, colStart, colEnd, rowSpan, rowStart, rowEnd, ...rest } = props;
@@ -5,6 +5,7 @@ import { forwardRef } from "react";
5
5
  import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
6
6
  import { createWithStateProps } from "../../utils/createWithStateProps";
7
7
  import { withStyleProps, type StyleProps } from "../../utils/styled";
8
+ import { getHelpBubbleArrowTipPath } from "../../utils/getHelpBubbleArrowTipPath";
8
9
  import { composeRefs } from "@radix-ui/react-compose-refs";
9
10
  import clsx from "clsx";
10
11
 
@@ -114,11 +115,7 @@ export const HelpBubbleArrowTip = forwardRef<SVGSVGElement, HelpBubbleArrowTipPr
114
115
  const width = api.rects.arrowTip?.width || 0;
115
116
  const height = api.rects.arrowTip?.height || 0;
116
117
 
117
- const pathData = `M0,0
118
- H${width}
119
- L${width / 2 + tipRadius},${height - tipRadius}
120
- Q${width / 2},${height} ${width / 2 - tipRadius},${height - tipRadius}
121
- Z`;
118
+ const pathData = getHelpBubbleArrowTipPath(width, height, tipRadius);
122
119
 
123
120
  // TODO: mergeProps with api.stateProps
124
121
  return (
@@ -0,0 +1,24 @@
1
+ export {
2
+ HelpBubbleTooltipArrow as Arrow,
3
+ HelpBubbleTooltipArrowTip as ArrowTip,
4
+ HelpBubbleTooltipBody as Body,
5
+ HelpBubbleTooltipContent as Content,
6
+ HelpBubbleTooltipDelayGroup as DelayGroup,
7
+ HelpBubbleTooltipDescription as Description,
8
+ HelpBubbleTooltipPositioner as Positioner,
9
+ HelpBubbleTooltipPositionerPortal as PositionerPortal,
10
+ HelpBubbleTooltipRoot as Root,
11
+ HelpBubbleTooltipTitle as Title,
12
+ HelpBubbleTooltipTrigger as Trigger,
13
+ type HelpBubbleTooltipArrowProps as ArrowProps,
14
+ type HelpBubbleTooltipArrowTipProps as ArrowTipProps,
15
+ type HelpBubbleTooltipBodyProps as BodyProps,
16
+ type HelpBubbleTooltipContentProps as ContentProps,
17
+ type HelpBubbleTooltipDelayGroupProps as DelayGroupProps,
18
+ type HelpBubbleTooltipDescriptionProps as DescriptionProps,
19
+ type HelpBubbleTooltipPositionerProps as PositionerProps,
20
+ type HelpBubbleTooltipPositionerPortalProps as PositionerPortalProps,
21
+ type HelpBubbleTooltipRootProps as RootProps,
22
+ type HelpBubbleTooltipTitleProps as TitleProps,
23
+ type HelpBubbleTooltipTriggerProps as TriggerProps,
24
+ } from "./HelpBubbleTooltip";
@@ -0,0 +1,169 @@
1
+ import { Tooltip as TooltipPrimitive, useTooltipContext } from "@seed-design/react-tooltip";
2
+ import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
3
+ import { helpBubble, type HelpBubbleVariantProps } from "@seed-design/css/recipes/help-bubble";
4
+ import { forwardRef } from "react";
5
+ import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
6
+ import { createWithStateProps } from "../../utils/createWithStateProps";
7
+ import { withStyleProps, type StyleProps } from "../../utils/styled";
8
+ import { getHelpBubbleArrowTipPath } from "../../utils/getHelpBubbleArrowTipPath";
9
+ import { composeRefs } from "@radix-ui/react-compose-refs";
10
+ import clsx from "clsx";
11
+
12
+ const { withRootProvider, withContext, useClassNames } = createSlotRecipeContext(helpBubble);
13
+ const withStateProps = createWithStateProps([useTooltipContext]);
14
+
15
+ ////////////////////////////////////////////////////////////////////////////////////
16
+
17
+ export interface HelpBubbleTooltipRootProps
18
+ extends HelpBubbleVariantProps,
19
+ TooltipPrimitive.RootProps {
20
+ /**
21
+ * @default "top"
22
+ */
23
+ placement?: TooltipPrimitive.RootProps["placement"];
24
+ /**
25
+ * @default 4
26
+ */
27
+ gutter?: TooltipPrimitive.RootProps["gutter"];
28
+ /**
29
+ * @default 16
30
+ */
31
+ overflowPadding?: TooltipPrimitive.RootProps["overflowPadding"];
32
+ /**
33
+ * @default 14
34
+ */
35
+ arrowPadding?: TooltipPrimitive.RootProps["arrowPadding"];
36
+ }
37
+
38
+ export const HelpBubbleTooltipRoot = withRootProvider<HelpBubbleTooltipRootProps>(
39
+ TooltipPrimitive.Root,
40
+ {
41
+ defaultProps: {
42
+ placement: "top",
43
+ gutter: 4, // TODO: get value from rootage spec
44
+ overflowPadding: 16,
45
+ arrowPadding: 14,
46
+ },
47
+ },
48
+ );
49
+
50
+ ////////////////////////////////////////////////////////////////////////////////////
51
+
52
+ export interface HelpBubbleTooltipTriggerProps extends TooltipPrimitive.TriggerProps {}
53
+
54
+ export const HelpBubbleTooltipTrigger = TooltipPrimitive.Trigger;
55
+
56
+ ////////////////////////////////////////////////////////////////////////////////////
57
+
58
+ export interface HelpBubbleTooltipDelayGroupProps extends TooltipPrimitive.DelayGroupProps {}
59
+
60
+ export const HelpBubbleTooltipDelayGroup = TooltipPrimitive.DelayGroup;
61
+
62
+ ////////////////////////////////////////////////////////////////////////////////////
63
+
64
+ export interface HelpBubbleTooltipPositionerProps extends TooltipPrimitive.PositionerProps {}
65
+
66
+ export const HelpBubbleTooltipPositioner = withContext<
67
+ HTMLDivElement,
68
+ HelpBubbleTooltipPositionerProps
69
+ >(TooltipPrimitive.Positioner, "positioner");
70
+
71
+ export interface HelpBubbleTooltipPositionerPortalProps
72
+ extends TooltipPrimitive.PositionerPortalProps {}
73
+
74
+ export const HelpBubbleTooltipPositionerPortal = withContext<
75
+ HTMLDivElement,
76
+ HelpBubbleTooltipPositionerPortalProps
77
+ >(TooltipPrimitive.PositionerPortal, "positioner");
78
+
79
+ ////////////////////////////////////////////////////////////////////////////////////
80
+
81
+ export interface HelpBubbleTooltipContentProps
82
+ extends PrimitiveProps,
83
+ Pick<StyleProps, "maxWidth">,
84
+ React.HTMLAttributes<HTMLDivElement> {}
85
+
86
+ export const HelpBubbleTooltipContent = withContext<HTMLDivElement, HelpBubbleTooltipContentProps>(
87
+ withStyleProps(withStateProps(Primitive.div)),
88
+ "content",
89
+ );
90
+
91
+ ////////////////////////////////////////////////////////////////////////////////////
92
+
93
+ export interface HelpBubbleTooltipArrowProps extends TooltipPrimitive.ArrowProps {}
94
+
95
+ export const HelpBubbleTooltipArrow = withContext<HTMLDivElement, HelpBubbleTooltipArrowProps>(
96
+ TooltipPrimitive.Arrow,
97
+ "arrow",
98
+ );
99
+
100
+ ////////////////////////////////////////////////////////////////////////////////////
101
+
102
+ export interface HelpBubbleTooltipArrowTipProps extends React.SVGProps<SVGSVGElement> {
103
+ /**
104
+ * radius of the arrow tip
105
+ * @default 2
106
+ */
107
+ tipRadius?: number;
108
+ }
109
+
110
+ export const HelpBubbleTooltipArrowTip = forwardRef<SVGSVGElement, HelpBubbleTooltipArrowTipProps>(
111
+ (props, ref) => {
112
+ const {
113
+ tipRadius = 2, // TODO: get value from rootage spec
114
+ className,
115
+ ...otherProps
116
+ } = props;
117
+ const api = useTooltipContext();
118
+
119
+ const classNames = useClassNames();
120
+
121
+ const width = api.rects.arrowTip?.width || 0;
122
+ const height = api.rects.arrowTip?.height || 0;
123
+
124
+ const pathData = getHelpBubbleArrowTipPath(width, height, tipRadius);
125
+
126
+ // TODO: mergeProps with api.stateProps
127
+ return (
128
+ <svg
129
+ aria-hidden="true"
130
+ viewBox={`0 0 ${width} ${height}`}
131
+ ref={composeRefs(api.refs.arrowTip, ref)}
132
+ className={clsx(classNames.arrowTip, className)}
133
+ {...otherProps}
134
+ >
135
+ <path stroke="none" d={pathData} />
136
+ </svg>
137
+ );
138
+ },
139
+ );
140
+ HelpBubbleTooltipArrowTip.displayName = "HelpBubbleTooltipArrowTip";
141
+
142
+ ////////////////////////////////////////////////////////////////////////////////////
143
+
144
+ export interface HelpBubbleTooltipBodyProps
145
+ extends PrimitiveProps,
146
+ React.HTMLAttributes<HTMLDivElement> {}
147
+
148
+ export const HelpBubbleTooltipBody = withContext<HTMLDivElement, HelpBubbleTooltipBodyProps>(
149
+ withStateProps(Primitive.div),
150
+ "body",
151
+ );
152
+
153
+ export interface HelpBubbleTooltipTitleProps
154
+ extends PrimitiveProps,
155
+ React.HTMLAttributes<HTMLSpanElement> {}
156
+
157
+ export const HelpBubbleTooltipTitle = withContext<HTMLSpanElement, HelpBubbleTooltipTitleProps>(
158
+ withStateProps(Primitive.span),
159
+ "title",
160
+ );
161
+
162
+ export interface HelpBubbleTooltipDescriptionProps
163
+ extends PrimitiveProps,
164
+ React.HTMLAttributes<HTMLDivElement> {}
165
+
166
+ export const HelpBubbleTooltipDescription = withContext<
167
+ HTMLDivElement,
168
+ HelpBubbleTooltipDescriptionProps
169
+ >(withStateProps(Primitive.div), "description");
@@ -0,0 +1,26 @@
1
+ export {
2
+ HelpBubbleTooltipArrow,
3
+ HelpBubbleTooltipArrowTip,
4
+ HelpBubbleTooltipBody,
5
+ HelpBubbleTooltipContent,
6
+ HelpBubbleTooltipDelayGroup,
7
+ HelpBubbleTooltipDescription,
8
+ HelpBubbleTooltipPositioner,
9
+ HelpBubbleTooltipPositionerPortal,
10
+ HelpBubbleTooltipRoot,
11
+ HelpBubbleTooltipTitle,
12
+ HelpBubbleTooltipTrigger,
13
+ type HelpBubbleTooltipArrowProps,
14
+ type HelpBubbleTooltipArrowTipProps,
15
+ type HelpBubbleTooltipBodyProps,
16
+ type HelpBubbleTooltipContentProps,
17
+ type HelpBubbleTooltipDelayGroupProps,
18
+ type HelpBubbleTooltipDescriptionProps,
19
+ type HelpBubbleTooltipPositionerProps,
20
+ type HelpBubbleTooltipPositionerPortalProps,
21
+ type HelpBubbleTooltipRootProps,
22
+ type HelpBubbleTooltipTitleProps,
23
+ type HelpBubbleTooltipTriggerProps,
24
+ } from "./HelpBubbleTooltip";
25
+
26
+ export * as HelpBubbleTooltip from "./HelpBubbleTooltip.namespace";
@@ -1,6 +1,7 @@
1
1
  import { Slot } from "@radix-ui/react-slot";
2
2
  import { useLayoutEffect } from "@radix-ui/react-use-layout-effect";
3
3
  import { createContext, forwardRef, useCallback, useContext, useMemo, useRef } from "react";
4
+ import type { UnwrapResponsive } from "../../types/responsive";
4
5
  import { handleColor, handleDimension, type StyleProps } from "../../utils/styled";
5
6
 
6
7
  export interface PrefixIconProps {
@@ -108,7 +109,7 @@ export const IconRequired = ({
108
109
  export interface IconProps {
109
110
  svg: React.ReactNode;
110
111
 
111
- size?: StyleProps["height"];
112
+ size?: UnwrapResponsive<StyleProps["height"]>;
112
113
 
113
114
  color?: StyleProps["color"];
114
115
  }
@@ -16,9 +16,7 @@ describe("ImageFrame", () => {
16
16
  describe("ImageFrameReactionButton", () => {
17
17
  it("renders the unselected icon by default", () => {
18
18
  const classNames = imageFrameReactionButton();
19
- const { getByRole, container } = setUp(
20
- <ImageFrameReactionButton aria-label="Like image" />,
21
- );
19
+ const { getByRole, container } = setUp(<ImageFrameReactionButton aria-label="Like image" />);
22
20
 
23
21
  const button = getByRole("button", { name: "Like image" });
24
22
  const lineIcon = container.querySelector(`.${classNames.lineIcon}`);
@@ -18,6 +18,7 @@ import { Toggle as TogglePrimitive, useToggleContext } from "@seed-design/react-
18
18
  import clsx from "clsx";
19
19
  import * as React from "react";
20
20
  import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
21
+ import type { DistributiveOmit } from "../../utils/styled";
21
22
  import { AspectRatio, type AspectRatioProps } from "../AspectRatio/AspectRatio";
22
23
  import { Badge, type BadgeProps } from "../Badge/Badge";
23
24
  import { Float, type FloatProps } from "../Float/Float";
@@ -26,28 +27,21 @@ import { InternalIcon } from "../private/Icon";
26
27
 
27
28
  ////////////////////////////////////////////////////////////////////////////////////
28
29
 
29
- export interface ImageFrameProps
30
- extends Omit<AspectRatioProps, "children">,
31
- ImageFrameVariantProps {
32
- /**
33
- * @deprecated Deprecated in `@seed-design/react@1.2.x`; will be removed in 2.0.0.
34
- * Use borderRadius="r2" instead.
35
- * Reason: 모서리 스타일은 borderRadius prop으로 통일합니다.
36
- */
37
- rounded?: ImageFrameVariantProps["rounded"];
38
- src: string;
39
- alt: string;
40
- fallback?: React.ReactNode;
41
- loading?: "eager" | "lazy";
42
- decoding?: "async" | "auto" | "sync";
43
- crossOrigin?: "anonymous" | "use-credentials" | "";
44
- referrerPolicy?: React.HTMLAttributeReferrerPolicy;
45
- sizes?: string;
46
- srcSet?: string;
47
- onLoad?: React.ReactEventHandler<HTMLImageElement>;
48
- onError?: React.ReactEventHandler<HTMLImageElement>;
49
- children?: React.ReactNode;
50
- }
30
+ export type ImageFrameProps = DistributiveOmit<AspectRatioProps, "children"> &
31
+ ImageFrameVariantProps & {
32
+ src: string;
33
+ alt: string;
34
+ fallback?: React.ReactNode;
35
+ loading?: "eager" | "lazy";
36
+ decoding?: "async" | "auto" | "sync";
37
+ crossOrigin?: "anonymous" | "use-credentials" | "";
38
+ referrerPolicy?: React.HTMLAttributeReferrerPolicy;
39
+ sizes?: string;
40
+ srcSet?: string;
41
+ onLoad?: React.ReactEventHandler<HTMLImageElement>;
42
+ onError?: React.ReactEventHandler<HTMLImageElement>;
43
+ children?: React.ReactNode;
44
+ };
51
45
 
52
46
  export const ImageFrame = React.forwardRef<HTMLDivElement, ImageFrameProps>(
53
47
  (
@@ -65,6 +59,7 @@ export const ImageFrame = React.forwardRef<HTMLDivElement, ImageFrameProps>(
65
59
  srcSet,
66
60
  onLoad,
67
61
  onError,
62
+ borderRadius = "r2",
68
63
  children,
69
64
  ...rest
70
65
  },
@@ -74,7 +69,14 @@ export const ImageFrame = React.forwardRef<HTMLDivElement, ImageFrameProps>(
74
69
  const classNames = imageFrameRecipe(variantProps);
75
70
 
76
71
  return (
77
- <AspectRatio ref={ref} ratio={ratio} className={className} {...restProps}>
72
+ <AspectRatio
73
+ ref={ref}
74
+ ratio={ratio}
75
+ className={className}
76
+ borderRadius={borderRadius}
77
+ // splitVariantProps collapses the margin/bleed union; re-assert the shape.
78
+ {...(restProps as AspectRatioProps)}
79
+ >
78
80
  <Image.Root className={classNames.root}>
79
81
  <Image.Content
80
82
  className={classNames.content}
@@ -1,10 +1,11 @@
1
1
  import * as React from "react";
2
+ import type { DistributiveOmit } from "../../utils/styled";
2
3
  import { Box, type BoxProps } from "../Box/Box";
3
4
 
4
5
  /**
5
6
  * @deprecated Use `HStack` instead.
6
7
  */
7
- export interface InlineProps extends Omit<BoxProps, "display" | "direction" | "flexWrap"> {}
8
+ export type InlineProps = DistributiveOmit<BoxProps, "display" | "direction" | "flexWrap">;
8
9
 
9
10
  /**
10
11
  * @deprecated Use `HStack` instead.
@@ -0,0 +1,6 @@
1
+ export {
2
+ LayoutContent as Content,
3
+ LayoutRoot as Root,
4
+ type LayoutContentProps as ContentProps,
5
+ type LayoutRootProps as RootProps,
6
+ } from "./Layout";
@@ -0,0 +1,21 @@
1
+ import type * as React from "react";
2
+
3
+ import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
4
+ import { layout, type LayoutVariantProps } from "@seed-design/css/recipes/layout";
5
+ import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
6
+
7
+ const { withProvider, withContext } = createSlotRecipeContext(layout);
8
+
9
+ export interface LayoutRootProps
10
+ extends LayoutVariantProps,
11
+ PrimitiveProps,
12
+ React.HTMLAttributes<HTMLDivElement> {}
13
+
14
+ export const LayoutRoot = withProvider<HTMLDivElement, LayoutRootProps>(Primitive.div, "root");
15
+
16
+ export interface LayoutContentProps extends PrimitiveProps, React.HTMLAttributes<HTMLDivElement> {}
17
+
18
+ export const LayoutContent = withContext<HTMLDivElement, LayoutContentProps>(
19
+ Primitive.div,
20
+ "content",
21
+ );
@@ -0,0 +1,8 @@
1
+ export {
2
+ LayoutRoot,
3
+ LayoutContent,
4
+ type LayoutRootProps,
5
+ type LayoutContentProps,
6
+ } from "./Layout";
7
+
8
+ export * as Layout from "./Layout.namespace";
@@ -18,7 +18,11 @@ const withStateProps = createWithStateProps([
18
18
  { useContext: useSwitchContext, strict: false },
19
19
  ]);
20
20
 
21
- export interface ListRootProps extends VStackProps {
21
+ export interface ListRootProps
22
+ extends Omit<
23
+ VStackProps,
24
+ "bleed" | "bleedX" | "bleedY" | "bleedTop" | "bleedRight" | "bleedBottom" | "bleedLeft"
25
+ > {
22
26
  itemBorderRadius?: StyleProps["borderRadius"];
23
27
  }
24
28
 
@@ -0,0 +1,26 @@
1
+ export {
2
+ MenuRoot as Root,
3
+ MenuAnchor as Anchor,
4
+ MenuTrigger as Trigger,
5
+ MenuPositioner as Positioner,
6
+ MenuContent as Content,
7
+ MenuScrollArea as ScrollArea,
8
+ MenuGroup as Group,
9
+ MenuGroupLabel as GroupLabel,
10
+ MenuItem as Item,
11
+ MenuItemBody as ItemBody,
12
+ MenuItemLabel as ItemLabel,
13
+ MenuItemDescription as ItemDescription,
14
+ type MenuRootProps as RootProps,
15
+ type MenuAnchorProps as AnchorProps,
16
+ type MenuTriggerProps as TriggerProps,
17
+ type MenuPositionerProps as PositionerProps,
18
+ type MenuContentProps as ContentProps,
19
+ type MenuScrollAreaProps as ScrollAreaProps,
20
+ type MenuGroupProps as GroupProps,
21
+ type MenuGroupLabelProps as GroupLabelProps,
22
+ type MenuItemProps as ItemProps,
23
+ type MenuItemBodyProps as ItemBodyProps,
24
+ type MenuItemLabelProps as ItemLabelProps,
25
+ type MenuItemDescriptionProps as ItemDescriptionProps,
26
+ } from "./Menu";
@@ -0,0 +1,157 @@
1
+ "use client";
2
+
3
+ import { Menu as MenuPrimitive, useMenuContext, useMenuItemContext } from "@seed-design/react-menu";
4
+ import { menu, type MenuVariantProps } from "@seed-design/css/recipes/menu";
5
+ import { menuItem, type MenuItemVariantProps } from "@seed-design/css/recipes/menu-item";
6
+ import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
7
+ import clsx from "clsx";
8
+ import * as React from "react";
9
+ import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
10
+ import { createWithStateProps } from "../../utils/createWithStateProps";
11
+
12
+ const { ClassNamesProvider, withContext, useClassNames } = createSlotRecipeContext(menu);
13
+ const {
14
+ PropsProvider: ItemPropsProvider,
15
+ useProps: useItemProps,
16
+ withContext: withItemContext,
17
+ ClassNamesProvider: ItemClassNamesProvider,
18
+ } = createSlotRecipeContext(menuItem);
19
+ const withStateProps = createWithStateProps([useMenuContext]);
20
+ const withItemStateProps = createWithStateProps([useMenuItemContext]);
21
+
22
+ ////////////////////////////////////////////////////////////////////////////////////
23
+
24
+ export interface MenuRootProps extends MenuVariantProps, MenuPrimitive.RootProps {}
25
+
26
+ export const MenuRoot = (props: MenuRootProps) => {
27
+ const [variantProps, otherProps] = menu.splitVariantProps(props);
28
+ const classNames = menu(variantProps);
29
+
30
+ return (
31
+ <ClassNamesProvider value={classNames}>
32
+ <ItemPropsProvider value={{ size: variantProps.size }}>
33
+ <MenuPrimitive.Root {...otherProps} />
34
+ </ItemPropsProvider>
35
+ </ClassNamesProvider>
36
+ );
37
+ };
38
+
39
+ ////////////////////////////////////////////////////////////////////////////////////
40
+
41
+ export interface MenuAnchorProps extends MenuPrimitive.AnchorProps {}
42
+
43
+ export const MenuAnchor = MenuPrimitive.Anchor;
44
+
45
+ ////////////////////////////////////////////////////////////////////////////////////
46
+
47
+ export interface MenuTriggerProps extends MenuPrimitive.TriggerProps {}
48
+
49
+ export const MenuTrigger = MenuPrimitive.Trigger;
50
+
51
+ ////////////////////////////////////////////////////////////////////////////////////
52
+
53
+ export interface MenuPositionerProps
54
+ extends MenuPrimitive.PositionerProps,
55
+ PrimitiveProps,
56
+ React.HTMLAttributes<HTMLDivElement> {}
57
+
58
+ export const MenuPositioner = React.forwardRef<HTMLDivElement, MenuPositionerProps>(
59
+ ({ className, ...props }, ref) => {
60
+ const classNames = useClassNames();
61
+
62
+ return (
63
+ <MenuPrimitive.Positioner
64
+ ref={ref}
65
+ className={clsx(classNames.positioner, className)}
66
+ {...props}
67
+ />
68
+ );
69
+ },
70
+ );
71
+ MenuPositioner.displayName = "MenuPositioner";
72
+
73
+ ////////////////////////////////////////////////////////////////////////////////////
74
+
75
+ export interface MenuContentProps extends MenuPrimitive.ContentProps {}
76
+
77
+ export const MenuContent = withContext<HTMLDivElement, MenuContentProps>(
78
+ MenuPrimitive.Content,
79
+ "content",
80
+ );
81
+
82
+ ////////////////////////////////////////////////////////////////////////////////////
83
+
84
+ export interface MenuScrollAreaProps extends PrimitiveProps, React.HTMLAttributes<HTMLDivElement> {}
85
+
86
+ export const MenuScrollArea = withContext<HTMLDivElement, MenuScrollAreaProps>(
87
+ withStateProps(Primitive.div),
88
+ "scrollArea",
89
+ );
90
+
91
+ ////////////////////////////////////////////////////////////////////////////////////
92
+
93
+ export interface MenuGroupProps extends MenuPrimitive.GroupProps {}
94
+
95
+ export const MenuGroup = withContext<HTMLDivElement, MenuGroupProps>(MenuPrimitive.Group, "group");
96
+
97
+ ////////////////////////////////////////////////////////////////////////////////////
98
+
99
+ export interface MenuGroupLabelProps extends MenuPrimitive.GroupLabelProps {}
100
+
101
+ export const MenuGroupLabel = withContext<HTMLDivElement, MenuGroupLabelProps>(
102
+ MenuPrimitive.GroupLabel,
103
+ "groupLabel",
104
+ );
105
+
106
+ ////////////////////////////////////////////////////////////////////////////////////
107
+
108
+ export interface MenuItemProps extends MenuItemVariantProps, MenuPrimitive.ItemProps {}
109
+
110
+ export const MenuItem = React.forwardRef<HTMLDivElement, MenuItemProps>(
111
+ ({ className: propClassName, ...props }, ref) => {
112
+ const [variantProps, otherProps] = menuItem.splitVariantProps(props);
113
+ const parentProps = useItemProps();
114
+
115
+ const classNames = menuItem({ ...parentProps, ...variantProps });
116
+
117
+ return (
118
+ <ItemClassNamesProvider value={classNames}>
119
+ <MenuPrimitive.Item
120
+ ref={ref}
121
+ className={clsx(classNames.root, propClassName)}
122
+ {...otherProps}
123
+ />
124
+ </ItemClassNamesProvider>
125
+ );
126
+ },
127
+ );
128
+ MenuItem.displayName = "MenuItem";
129
+
130
+ ////////////////////////////////////////////////////////////////////////////////////
131
+
132
+ export interface MenuItemBodyProps extends PrimitiveProps, React.HTMLAttributes<HTMLDivElement> {}
133
+
134
+ export const MenuItemBody = withItemContext<HTMLDivElement, MenuItemBodyProps>(
135
+ withItemStateProps(Primitive.div),
136
+ "body",
137
+ );
138
+
139
+ ////////////////////////////////////////////////////////////////////////////////////
140
+
141
+ export interface MenuItemLabelProps extends PrimitiveProps, React.HTMLAttributes<HTMLSpanElement> {}
142
+
143
+ export const MenuItemLabel = withItemContext<HTMLSpanElement, MenuItemLabelProps>(
144
+ withItemStateProps(Primitive.span),
145
+ "label",
146
+ );
147
+
148
+ ////////////////////////////////////////////////////////////////////////////////////
149
+
150
+ export interface MenuItemDescriptionProps
151
+ extends PrimitiveProps,
152
+ React.HTMLAttributes<HTMLSpanElement> {}
153
+
154
+ export const MenuItemDescription = withItemContext<HTMLSpanElement, MenuItemDescriptionProps>(
155
+ withItemStateProps(Primitive.span),
156
+ "description",
157
+ );
@@ -0,0 +1,28 @@
1
+ export {
2
+ MenuRoot,
3
+ MenuAnchor,
4
+ MenuTrigger,
5
+ MenuPositioner,
6
+ MenuContent,
7
+ MenuScrollArea,
8
+ MenuGroup,
9
+ MenuGroupLabel,
10
+ MenuItem,
11
+ MenuItemBody,
12
+ MenuItemLabel,
13
+ MenuItemDescription,
14
+ type MenuRootProps,
15
+ type MenuAnchorProps,
16
+ type MenuTriggerProps,
17
+ type MenuPositionerProps,
18
+ type MenuContentProps,
19
+ type MenuScrollAreaProps,
20
+ type MenuGroupProps,
21
+ type MenuGroupLabelProps,
22
+ type MenuItemProps,
23
+ type MenuItemBodyProps,
24
+ type MenuItemLabelProps,
25
+ type MenuItemDescriptionProps,
26
+ } from "./Menu";
27
+
28
+ export * as Menu from "./Menu.namespace";