@commercetools/nimbus 0.0.2 → 0.0.3

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 (302) hide show
  1. package/dist/index.d.ts +1412 -0
  2. package/dist/index.js +11183 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.umd.cjs +27 -0
  5. package/dist/index.umd.cjs.map +1 -0
  6. package/package.json +63 -39
  7. package/.storybook/apca-check/index.ts +0 -150
  8. package/.storybook/main.ts +0 -64
  9. package/.storybook/preview.tsx +0 -92
  10. package/.storybook/vitest.setup.ts +0 -13
  11. package/docs/architecture-decisions/adr-0001-consumer-component-apis.md +0 -177
  12. package/docs/architecture-decisions/adr-0002-compound-component-extraction.md +0 -82
  13. package/src/components/accordion/accordion-context.tsx +0 -17
  14. package/src/components/accordion/accordion.mdx +0 -172
  15. package/src/components/accordion/accordion.recipe.tsx +0 -98
  16. package/src/components/accordion/accordion.slots.tsx +0 -39
  17. package/src/components/accordion/accordion.stories.tsx +0 -188
  18. package/src/components/accordion/accordion.tsx +0 -16
  19. package/src/components/accordion/accordion.types.tsx +0 -54
  20. package/src/components/accordion/components/accordion-content.tsx +0 -28
  21. package/src/components/accordion/components/accordion-group.tsx +0 -27
  22. package/src/components/accordion/components/accordion-header.tsx +0 -63
  23. package/src/components/accordion/components/accordion-item.tsx +0 -87
  24. package/src/components/accordion/index.ts +0 -2
  25. package/src/components/alert/alert.mdx +0 -92
  26. package/src/components/alert/alert.recipe.tsx +0 -65
  27. package/src/components/alert/alert.slots.tsx +0 -46
  28. package/src/components/alert/alert.stories.tsx +0 -308
  29. package/src/components/alert/alert.tsx +0 -18
  30. package/src/components/alert/alert.types.tsx +0 -70
  31. package/src/components/alert/components/alert.actions.tsx +0 -27
  32. package/src/components/alert/components/alert.description.tsx +0 -27
  33. package/src/components/alert/components/alert.dismiss-button.tsx +0 -41
  34. package/src/components/alert/components/alert.root.tsx +0 -92
  35. package/src/components/alert/components/alert.title.tsx +0 -29
  36. package/src/components/alert/index.ts +0 -2
  37. package/src/components/avatar/avatar.mdx +0 -80
  38. package/src/components/avatar/avatar.recipe.tsx +0 -36
  39. package/src/components/avatar/avatar.slots.tsx +0 -16
  40. package/src/components/avatar/avatar.stories.tsx +0 -136
  41. package/src/components/avatar/avatar.tsx +0 -34
  42. package/src/components/avatar/avatar.types.ts +0 -33
  43. package/src/components/avatar/index.ts +0 -2
  44. package/src/components/badge/badge.mdx +0 -91
  45. package/src/components/badge/badge.recipe.tsx +0 -72
  46. package/src/components/badge/badge.slots.tsx +0 -8
  47. package/src/components/badge/badge.stories.tsx +0 -124
  48. package/src/components/badge/badge.tsx +0 -35
  49. package/src/components/badge/badge.types.tsx +0 -40
  50. package/src/components/badge/index.ts +0 -2
  51. package/src/components/bleed/bleed.tsx +0 -1
  52. package/src/components/bleed/index.ts +0 -1
  53. package/src/components/box/box.mdx +0 -115
  54. package/src/components/box/box.stories.tsx +0 -71
  55. package/src/components/box/box.tsx +0 -11
  56. package/src/components/box/index.ts +0 -1
  57. package/src/components/button/button.mdx +0 -169
  58. package/src/components/button/button.recipe.ts +0 -185
  59. package/src/components/button/button.slots.tsx +0 -45
  60. package/src/components/button/button.stories.tsx +0 -369
  61. package/src/components/button/button.tsx +0 -37
  62. package/src/components/button/button.types.ts +0 -14
  63. package/src/components/button/index.ts +0 -2
  64. package/src/components/card/card.mdx +0 -92
  65. package/src/components/card/card.recipe.tsx +0 -71
  66. package/src/components/card/card.slots.tsx +0 -50
  67. package/src/components/card/card.stories.tsx +0 -175
  68. package/src/components/card/card.tsx +0 -9
  69. package/src/components/card/card.types.ts +0 -22
  70. package/src/components/card/components/card.content.tsx +0 -29
  71. package/src/components/card/components/card.header.tsx +0 -28
  72. package/src/components/card/components/card.root.tsx +0 -62
  73. package/src/components/card/index.ts +0 -2
  74. package/src/components/checkbox/checkbox.mdx +0 -78
  75. package/src/components/checkbox/checkbox.recipe.tsx +0 -116
  76. package/src/components/checkbox/checkbox.slots.tsx +0 -33
  77. package/src/components/checkbox/checkbox.stories.tsx +0 -200
  78. package/src/components/checkbox/checkbox.tsx +0 -77
  79. package/src/components/checkbox/checkbox.types.tsx +0 -22
  80. package/src/components/checkbox/index.ts +0 -2
  81. package/src/components/code/code.mdx +0 -17
  82. package/src/components/code/code.recipe.ts +0 -63
  83. package/src/components/code/code.tsx +0 -1
  84. package/src/components/code/index.ts +0 -1
  85. package/src/components/dialog/dialog.mdx +0 -20
  86. package/src/components/dialog/dialog.recipe.ts +0 -254
  87. package/src/components/dialog/dialog.tsx +0 -61
  88. package/src/components/dialog/index.ts +0 -1
  89. package/src/components/em/em.mdx +0 -17
  90. package/src/components/em/em.tsx +0 -1
  91. package/src/components/em/index.ts +0 -1
  92. package/src/components/flex/flex.mdx +0 -41
  93. package/src/components/flex/flex.tsx +0 -1
  94. package/src/components/flex/index.ts +0 -1
  95. package/src/components/grid/grid.mdx +0 -156
  96. package/src/components/grid/grid.stories.tsx +0 -151
  97. package/src/components/grid/grid.tsx +0 -29
  98. package/src/components/grid/index.ts +0 -1
  99. package/src/components/heading/heading.mdx +0 -23
  100. package/src/components/heading/heading.recipe.ts +0 -49
  101. package/src/components/heading/heading.tsx +0 -1
  102. package/src/components/heading/index.ts +0 -1
  103. package/src/components/highlight/highlight.mdx +0 -18
  104. package/src/components/highlight/highlight.tsx +0 -1
  105. package/src/components/highlight/index.ts +0 -1
  106. package/src/components/icon-button/icon-button.mdx +0 -98
  107. package/src/components/icon-button/icon-button.stories.tsx +0 -188
  108. package/src/components/icon-button/icon-button.tsx +0 -21
  109. package/src/components/icon-button/icon-button.types.tsx +0 -10
  110. package/src/components/icon-button/index.ts +0 -2
  111. package/src/components/index.ts +0 -33
  112. package/src/components/input/index.ts +0 -1
  113. package/src/components/input/input.mdx +0 -20
  114. package/src/components/input/input.recipe.ts +0 -95
  115. package/src/components/input/input.tsx +0 -1
  116. package/src/components/input-group/index.ts +0 -1
  117. package/src/components/input-group/input-group.mdx +0 -20
  118. package/src/components/input-group/input-group.tsx +0 -44
  119. package/src/components/kbd/index.ts +0 -1
  120. package/src/components/kbd/kbd.mdx +0 -18
  121. package/src/components/kbd/kbd.recipe.ts +0 -57
  122. package/src/components/kbd/kbd.tsx +0 -1
  123. package/src/components/link/index.ts +0 -2
  124. package/src/components/link/link.mdx +0 -77
  125. package/src/components/link/link.recipe.ts +0 -52
  126. package/src/components/link/link.slots.tsx +0 -29
  127. package/src/components/link/link.stories.tsx +0 -204
  128. package/src/components/link/link.tsx +0 -38
  129. package/src/components/link/link.types.tsx +0 -26
  130. package/src/components/list/index.ts +0 -1
  131. package/src/components/list/list.mdx +0 -18
  132. package/src/components/list/list.recipe.ts +0 -68
  133. package/src/components/list/list.tsx +0 -9
  134. package/src/components/loading-spinner/index.ts +0 -2
  135. package/src/components/loading-spinner/loading-spinner.mdx +0 -92
  136. package/src/components/loading-spinner/loading-spinner.recipe.tsx +0 -70
  137. package/src/components/loading-spinner/loading-spinner.slots.tsx +0 -38
  138. package/src/components/loading-spinner/loading-spinner.stories.tsx +0 -97
  139. package/src/components/loading-spinner/loading-spinner.tsx +0 -50
  140. package/src/components/loading-spinner/loading-spinner.types.tsx +0 -21
  141. package/src/components/nimbus-provider/color-mode.tsx +0 -32
  142. package/src/components/nimbus-provider/index.ts +0 -2
  143. package/src/components/nimbus-provider/nimbus-provider.mdx +0 -21
  144. package/src/components/nimbus-provider/nimbus-provider.tsx +0 -51
  145. package/src/components/select/components/select.clear-button.tsx +0 -31
  146. package/src/components/select/components/select.option-group.tsx +0 -48
  147. package/src/components/select/components/select.option.tsx +0 -21
  148. package/src/components/select/components/select.options.tsx +0 -23
  149. package/src/components/select/components/select.root.tsx +0 -81
  150. package/src/components/select/index.ts +0 -2
  151. package/src/components/select/select.mdx +0 -170
  152. package/src/components/select/select.recipe.tsx +0 -216
  153. package/src/components/select/select.slots.tsx +0 -58
  154. package/src/components/select/select.stories.tsx +0 -841
  155. package/src/components/select/select.tsx +0 -18
  156. package/src/components/select/select.types.tsx +0 -37
  157. package/src/components/simple-grid/index.ts +0 -1
  158. package/src/components/simple-grid/simple-grid.mdx +0 -133
  159. package/src/components/simple-grid/simple-grid.stories.tsx +0 -143
  160. package/src/components/simple-grid/simple-grid.tsx +0 -31
  161. package/src/components/stack/index.ts +0 -1
  162. package/src/components/stack/stack.mdx +0 -88
  163. package/src/components/stack/stack.stories.tsx +0 -82
  164. package/src/components/stack/stack.tsx +0 -15
  165. package/src/components/table/index.ts +0 -1
  166. package/src/components/table/table.mdx +0 -23
  167. package/src/components/table/table.recipe.ts +0 -170
  168. package/src/components/table/table.tsx +0 -43
  169. package/src/components/text/index.ts +0 -1
  170. package/src/components/text/text.mdx +0 -244
  171. package/src/components/text/text.tsx +0 -23
  172. package/src/components/text-input/index.ts +0 -2
  173. package/src/components/text-input/text-input.mdx +0 -118
  174. package/src/components/text-input/text-input.recipe.tsx +0 -68
  175. package/src/components/text-input/text-input.slots.tsx +0 -24
  176. package/src/components/text-input/text-input.stories.tsx +0 -282
  177. package/src/components/text-input/text-input.tsx +0 -39
  178. package/src/components/text-input/text-input.types.ts +0 -7
  179. package/src/components/toggle-button-group/components/toggle-button-group.button.tsx +0 -14
  180. package/src/components/toggle-button-group/components/toggle-button-group.root.tsx +0 -15
  181. package/src/components/toggle-button-group/index.ts +0 -2
  182. package/src/components/toggle-button-group/toggle-button-group.mdx +0 -94
  183. package/src/components/toggle-button-group/toggle-button-group.recipe.tsx +0 -64
  184. package/src/components/toggle-button-group/toggle-button-group.slots.tsx +0 -26
  185. package/src/components/toggle-button-group/toggle-button-group.stories.tsx +0 -311
  186. package/src/components/toggle-button-group/toggle-button-group.tsx +0 -12
  187. package/src/components/toggle-button-group/toggle-button-group.types.tsx +0 -62
  188. package/src/components/tooltip/index.ts +0 -4
  189. package/src/components/tooltip/make-element-focusable.stories.tsx +0 -56
  190. package/src/components/tooltip/make-element-focusable.tsx +0 -57
  191. package/src/components/tooltip/tooltip-trigger.stories.tsx +0 -157
  192. package/src/components/tooltip/tooltip-trigger.tsx +0 -15
  193. package/src/components/tooltip/tooltip.mdx +0 -48
  194. package/src/components/tooltip/tooltip.recipe.ts +0 -26
  195. package/src/components/tooltip/tooltip.slots.ts +0 -35
  196. package/src/components/tooltip/tooltip.stories.tsx +0 -139
  197. package/src/components/tooltip/tooltip.tsx +0 -31
  198. package/src/components/tooltip/tooltip.types.ts +0 -44
  199. package/src/components/visually-hidden/index.ts +0 -1
  200. package/src/components/visually-hidden/visually-hidden.mdx +0 -61
  201. package/src/components/visually-hidden/visually-hidden.stories.tsx +0 -124
  202. package/src/components/visually-hidden/visually-hidden.tsx +0 -18
  203. package/src/docs/accessibility.mdx +0 -21
  204. package/src/docs/background.mdx +0 -154
  205. package/src/docs/border.mdx +0 -226
  206. package/src/docs/changelog.mdx +0 -17
  207. package/src/docs/components-layout.mdx +0 -22
  208. package/src/docs/components.mdx +0 -17
  209. package/src/docs/data-display.mdx +0 -23
  210. package/src/docs/display.mdx +0 -55
  211. package/src/docs/effects.mdx +0 -73
  212. package/src/docs/feedback.mdx +0 -22
  213. package/src/docs/filters.mdx +0 -268
  214. package/src/docs/flex-and-grid.mdx +0 -445
  215. package/src/docs/forms.mdx +0 -22
  216. package/src/docs/generated/index.mdx +0 -16
  217. package/src/docs/getting-started.mdx +0 -17
  218. package/src/docs/home.mdx +0 -56
  219. package/src/docs/hooks.mdx +0 -16
  220. package/src/docs/inputs.mdx +0 -21
  221. package/src/docs/installation.mdx +0 -60
  222. package/src/docs/interactivity.mdx +0 -278
  223. package/src/docs/known-issues.mdx +0 -19
  224. package/src/docs/layout.mdx +0 -301
  225. package/src/docs/list.mdx +0 -82
  226. package/src/docs/markdown.mdx +0 -234
  227. package/src/docs/media.mdx +0 -22
  228. package/src/docs/naivgation.mdx +0 -22
  229. package/src/docs/playground.mdx +0 -16
  230. package/src/docs/rfcs-component-structure-rfcs.mdx +0 -17
  231. package/src/docs/rfcs-component-structure.mdx +0 -74
  232. package/src/docs/rfcs-hook-structure.mdx +0 -59
  233. package/src/docs/sizing.mdx +0 -210
  234. package/src/docs/spacing.mdx +0 -193
  235. package/src/docs/style-props-typography.mdx +0 -373
  236. package/src/docs/style-props.mdx +0 -15
  237. package/src/docs/svg.mdx +0 -58
  238. package/src/docs/tables.mdx +0 -95
  239. package/src/docs/toc.mdx +0 -39
  240. package/src/docs/tokens/animations.mdx +0 -68
  241. package/src/docs/tokens/aspect-ratios.mdx +0 -21
  242. package/src/docs/tokens/blurs.mdx +0 -20
  243. package/src/docs/tokens/borders.mdx +0 -25
  244. package/src/docs/tokens/breakpoints.mdx +0 -35
  245. package/src/docs/tokens/colors.mdx +0 -86
  246. package/src/docs/tokens/cursors.mdx +0 -21
  247. package/src/docs/tokens/radii.mdx +0 -23
  248. package/src/docs/tokens/shadows.mdx +0 -21
  249. package/src/docs/tokens/sizes.mdx +0 -54
  250. package/src/docs/tokens/spacing.mdx +0 -35
  251. package/src/docs/tokens/typography.mdx +0 -61
  252. package/src/docs/tokens/z-indices.mdx +0 -23
  253. package/src/docs/tokens-other.mdx +0 -17
  254. package/src/docs/tokens.mdx +0 -16
  255. package/src/docs/transforms.mdx +0 -150
  256. package/src/docs/transitions.mdx +0 -164
  257. package/src/docs/typography.mdx +0 -17
  258. package/src/docs/utilities.mdx +0 -17
  259. package/src/hooks/index.ts +0 -2
  260. package/src/hooks/use-copy-to-clipboard/use-copy-to-clipboard.mdx +0 -54
  261. package/src/hooks/use-copy-to-clipboard/use-copy-to-clipboard.ts +0 -1
  262. package/src/hooks/use-hotkeys/use-hotkeys.mdx +0 -48
  263. package/src/hooks/use-hotkeys/use-hotkeys.stories.tsx +0 -69
  264. package/src/hooks/use-hotkeys/use-hotkeys.ts +0 -1
  265. package/src/index.ts +0 -3
  266. package/src/test/utils.tsx +0 -20
  267. package/src/theme/animation-styles.ts +0 -52
  268. package/src/theme/breakpoints.ts +0 -32
  269. package/src/theme/global-css.ts +0 -53
  270. package/src/theme/index.ts +0 -35
  271. package/src/theme/keyframes.ts +0 -192
  272. package/src/theme/layer-styles.ts +0 -12
  273. package/src/theme/recipes/index.ts +0 -21
  274. package/src/theme/semantic-tokens/colors.ts +0 -55
  275. package/src/theme/semantic-tokens/index.ts +0 -9
  276. package/src/theme/semantic-tokens/radii.ts +0 -3
  277. package/src/theme/semantic-tokens/shadows.ts +0 -4
  278. package/src/theme/slot-recipes/index.ts +0 -15
  279. package/src/theme/text-styles.ts +0 -8
  280. package/src/theme/tokens/animations.ts +0 -4
  281. package/src/theme/tokens/aspect-ratios.ts +0 -5
  282. package/src/theme/tokens/blurs.ts +0 -5
  283. package/src/theme/tokens/borders.ts +0 -4
  284. package/src/theme/tokens/colors.ts +0 -8
  285. package/src/theme/tokens/cursor.ts +0 -4
  286. package/src/theme/tokens/durations.ts +0 -4
  287. package/src/theme/tokens/easings.ts +0 -4
  288. package/src/theme/tokens/font-sizes.ts +0 -4
  289. package/src/theme/tokens/font-weights.ts +0 -4
  290. package/src/theme/tokens/fonts.ts +0 -4
  291. package/src/theme/tokens/index.ts +0 -57
  292. package/src/theme/tokens/letter-spacings.ts +0 -24
  293. package/src/theme/tokens/line-heights.ts +0 -4
  294. package/src/theme/tokens/radii.ts +0 -4
  295. package/src/theme/tokens/sizes.ts +0 -120
  296. package/src/theme/tokens/spacing.ts +0 -4
  297. package/src/theme/tokens/z-index.ts +0 -4
  298. package/src/utils/extractStyleProps.ts +0 -26
  299. package/src/utils/fixedForwardRef.ts +0 -17
  300. package/tsconfig.json +0 -38
  301. package/vite.config.ts +0 -54
  302. package/vitest.config.ts +0 -50
@@ -1,18 +0,0 @@
1
- import { SelectRoot as _SelectRoot } from "./components/select.root";
2
- import { SelectOptions as _SelectOptions } from "./components/select.options";
3
- import { SelectOption as _SelectOption } from "./components/select.option";
4
- import { SelectOptionGroup as _SelectOptionGroup } from "./components/select.option-group";
5
-
6
- export const Select = {
7
- Root: _SelectRoot,
8
- Options: _SelectOptions,
9
- Option: _SelectOption,
10
- OptionGroup: _SelectOptionGroup,
11
- };
12
-
13
- /**
14
- * todo: get rid of this, this is needed for the react-docgen-typescript script
15
- * that is parsing the typescript types for our documentation. The _ underscores
16
- * serve as a reminder that this exports are awkward and should not be used.
17
- */
18
- export { _SelectRoot, _SelectOptions, _SelectOption, _SelectOptionGroup };
@@ -1,37 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type {
3
- SelectOptionsSlotProps,
4
- SelectOptionSlotProps,
5
- SelectRootSlotProps,
6
- SelectOptionGroupSlotProps,
7
- } from "./select.slots";
8
-
9
- import {
10
- type SelectProps as RaSelectProps,
11
- type ListBoxProps as RaListBoxProps,
12
- type ListBoxItemProps as RaListBoxItemProps,
13
- type ListBoxSectionProps as RaListBoxSectionProps,
14
- } from "react-aria-components";
15
-
16
- export interface SelectRootProps extends SelectRootSlotProps, RaSelectProps {
17
- /** set to true if Select is currently busy with something */
18
- isLoading?: boolean;
19
- /** Children must be ReactNode, no render props/functions allowed */
20
- children: ReactNode;
21
- }
22
-
23
- // Fix the incompatible event handler types by using a more specific type
24
- export interface SelectOptionsProps<T>
25
- extends RaListBoxProps<T>,
26
- Omit<SelectOptionsSlotProps, keyof RaListBoxProps<T>> {}
27
-
28
- export interface SelectOptionProps<T>
29
- extends Omit<RaListBoxItemProps<T>, keyof SelectOptionSlotProps>,
30
- SelectOptionSlotProps {}
31
-
32
- export interface SelectOptionGroupProps<T>
33
- extends RaListBoxSectionProps<T>,
34
- Omit<SelectOptionGroupSlotProps, keyof RaListBoxSectionProps<T>> {
35
- /** the label for the section */
36
- label: string;
37
- }
@@ -1 +0,0 @@
1
- export * from "./simple-grid";
@@ -1,133 +0,0 @@
1
- ---
2
- id: SimpleGrid
3
- title: SimpleGrid
4
- description: displays a simple grid / matrix
5
- documentState: InitialDraft
6
- order: 999
7
- menu:
8
- - Components
9
- - Layout
10
- - SimpleGrid
11
- tags:
12
- - grid
13
- - simple
14
- ---
15
-
16
- # SimpleGrid
17
-
18
- SimpleGrid offers an intuitive way to easily create responsive grid layouts.
19
-
20
- ## Basic Usage
21
-
22
- Use SimpleGrid → When you need a quick, responsive, equal-sized grid (e.g.,
23
- product listings, image galleries).
24
-
25
- ```jsx
26
- import { Grid } from "@commercetools/nimbus";
27
- ```
28
-
29
- ```jsx-live
30
- const App = () => (
31
- <SimpleGrid gap="100">
32
- <Box key="1" p="400" bg="neutral.7">
33
- Item 1
34
- </Box>
35
- <Box key="2" p="400" bg="neutral.7">
36
- Item 2
37
- </Box>
38
- </SimpleGrid>
39
- )
40
- ```
41
-
42
- ## With Columns
43
-
44
- Use the columns prop to define the number of columns in the grid layout.
45
-
46
- ```jsx-live
47
- const App = () => (
48
- <SimpleGrid gap="100" columns={2}>
49
- <Box key="1" p="400" bg="neutral.7">
50
- Item 1
51
- </Box>
52
- <Box key="2" p="400" bg="neutral.7">
53
- Item 2
54
- </Box>
55
- <Box key="3" p="400" bg="neutral.7">
56
- Item 3
57
- </Box>
58
- <Box key="4" p="400" bg="neutral.7">
59
- Item 4
60
- </Box>
61
- </SimpleGrid>
62
- )
63
- ```
64
-
65
- ## Auto Responsive layout
66
-
67
- An Auto-Responsive Grid dynamically adjusts the number of columns and item sizes
68
- based on the viewport width, ensuring an adaptive and fluid layout. adjust
69
- viewport to see layout rearrangements.
70
-
71
- ```jsx-live
72
- const App = () => (
73
- <SimpleGrid gap="100" minChildWidth="sm">
74
- <Box key="1" p="400" bg="neutral.7">
75
- Item 1
76
- </Box>
77
- <Box key="2" p="400" bg="neutral.7">
78
- Item 2
79
- </Box>
80
- <Box key="3" p="400" bg="neutral.7">
81
- Item 3
82
- </Box>
83
- <Box key="4" p="400" bg="neutral.7">
84
- Item 4
85
- </Box>
86
- </SimpleGrid>
87
- )
88
- ```
89
-
90
- ## Simple Grid With ColSpan
91
-
92
- ```jsx-live
93
- const App = () => (
94
- <SimpleGrid
95
- columns={{ base: 2, md: 4 }}
96
- gap={{ base: "600", md: "1000" }}
97
- >
98
- <SimpleGrid.Item colSpan={{ base: 1, md: 3 }}>
99
- <Box height="20" p="400" bg="neutral.7">
100
- Column 1
101
- </Box>
102
- </SimpleGrid.Item>
103
- <SimpleGrid.Item colSpan={{ base: 1, md: 1 }}>
104
- <Box height="20" p="400" bg="neutral.7">
105
- Column 2
106
- </Box>
107
- </SimpleGrid.Item>
108
- </SimpleGrid>
109
- )
110
- ```
111
-
112
- ## With Row And Column Gap
113
-
114
- ```jsx-live
115
- const App = () => (
116
- <SimpleGrid rowGap="400" columnGap="200" columns={2}>
117
- <Box key="1" p="400" bg="neutral.7">
118
- Item 1
119
- </Box>
120
- <Box key="2" p="400" bg="neutral.7">
121
- Item 2
122
- </Box>
123
- <Box key="3" p="400" bg="neutral.7">
124
- Item 3
125
- </Box>
126
- <Box key="4" p="400" bg="neutral.7">
127
- Item 4
128
- </Box>
129
- </SimpleGrid>
130
- )
131
- ```
132
-
133
- <PropTable id="SimpleGrid" />
@@ -1,143 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { Box } from "../box";
3
- import { SimpleGrid } from "./simple-grid";
4
- import { within, expect } from "@storybook/test";
5
-
6
- /**
7
- * Storybook metadata configuration
8
- * - title: determines the location in the sidebar
9
- * - component: references the component being documented
10
- */
11
- const meta: Meta<typeof SimpleGrid> = {
12
- title: "components/SimpleGrid",
13
- component: SimpleGrid,
14
- };
15
-
16
- export default meta;
17
-
18
- /**
19
- * Story type for TypeScript support
20
- * StoryObj provides type checking for our story configurations
21
- */
22
- type Story = StoryObj<typeof SimpleGrid>;
23
-
24
- /**
25
- * Base story
26
- * Demonstrates the most basic implementation
27
- * Uses the args pattern for dynamic control panel inputs
28
- */
29
- export const Base: Story = {
30
- args: {
31
- gap: "100",
32
- ["aria-label"]: "test-layout",
33
- // @ts-expect-error - data-testid is not a valid prop
34
- ["data-testid"]: "test",
35
-
36
- children: [
37
- <Box key="1" p="400" bg="neutral.7">
38
- Item 1
39
- </Box>,
40
- <Box key="2" p="400" bg="neutral.7">
41
- Item 2
42
- </Box>,
43
- ],
44
- },
45
- play: async ({ canvasElement, step }) => {
46
- const canvas = within(canvasElement);
47
- const layout = canvas.getByTestId("test");
48
-
49
- await step("Forwards data- & aria-attributes", async () => {
50
- await expect(layout).toHaveAttribute("data-testid", "test");
51
- await expect(layout).toHaveAttribute("aria-label", "test-layout");
52
- });
53
- },
54
- };
55
-
56
- export const WithColumns: Story = {
57
- args: {
58
- gap: "100",
59
- columns: 2,
60
- children: [
61
- <Box key="1" p="400" bg="neutral.7">
62
- Item 1
63
- </Box>,
64
- <Box key="2" p="400" bg="neutral.7">
65
- Item 2
66
- </Box>,
67
- <Box key="3" p="400" bg="neutral.7">
68
- Item 3
69
- </Box>,
70
- <Box key="4" p="400" bg="neutral.7">
71
- Item 4
72
- </Box>,
73
- ],
74
- },
75
- };
76
-
77
- /**
78
- * Adjust the viewport to see variations in the layout
79
- */
80
- export const AutoResponsive: Story = {
81
- args: {
82
- gap: "100",
83
- minChildWidth: "sm",
84
- children: [
85
- <Box key="1" p="400" bg="neutral.7">
86
- Item 1
87
- </Box>,
88
- <Box key="2" p="400" bg="neutral.7">
89
- Item 2
90
- </Box>,
91
- <Box key="3" p="400" bg="neutral.7">
92
- Item 3
93
- </Box>,
94
- <Box key="4" p="400" bg="neutral.7">
95
- Item 4
96
- </Box>,
97
- ],
98
- },
99
- };
100
-
101
- export const SimpleGridWithColSpan: Story = {
102
- render: () => {
103
- return (
104
- <SimpleGrid
105
- columns={{ base: 2, md: 4 }}
106
- gap={{ base: "600", md: "1000" }}
107
- >
108
- <SimpleGrid.Item colSpan={{ base: 1, md: 3 }}>
109
- <Box height="20" p="400" bg="neutral.7">
110
- Column 1
111
- </Box>
112
- </SimpleGrid.Item>
113
- <SimpleGrid.Item colSpan={{ base: 1, md: 1 }}>
114
- <Box height="20" p="400" bg="neutral.7">
115
- Column 2
116
- </Box>
117
- </SimpleGrid.Item>
118
- </SimpleGrid>
119
- );
120
- },
121
- };
122
-
123
- export const RowAndColumnGap: Story = {
124
- args: {
125
- columns: 2,
126
- columnGap: "200",
127
- rowGap: "400",
128
- children: [
129
- <Box key="1" p="400" bg="neutral.7">
130
- Item 1
131
- </Box>,
132
- <Box key="2" p="400" bg="neutral.7">
133
- Item 2
134
- </Box>,
135
- <Box key="3" p="400" bg="neutral.7">
136
- Item 3
137
- </Box>,
138
- <Box key="4" p="400" bg="neutral.7">
139
- Item 4
140
- </Box>,
141
- ],
142
- },
143
- };
@@ -1,31 +0,0 @@
1
- import { forwardRef } from "react";
2
- import {
3
- SimpleGrid as ChakraSimpleGrid,
4
- GridItem,
5
- type SimpleGridProps as ChakraSimpleGridProps,
6
- } from "@chakra-ui/react";
7
-
8
- /**
9
- * SimpleGrid
10
- * ============================================================
11
- * The SimpleGrid Layout Component provides a flexible and responsive way to structure content.
12
- *
13
- * Features:
14
- *
15
- * - allows forwarding refs to the underlying DOM element
16
- */
17
- export interface SimpleGridProps extends ChakraSimpleGridProps {
18
- children?: React.ReactNode;
19
- }
20
-
21
- const GridComponent = forwardRef<HTMLDivElement, SimpleGridProps>(
22
- (props, ref) => {
23
- return <ChakraSimpleGrid ref={ref} {...props} />;
24
- }
25
- );
26
-
27
- GridComponent.displayName = "SimpleGrid";
28
-
29
- export const SimpleGrid = Object.assign(GridComponent, {
30
- Item: GridItem,
31
- });
@@ -1 +0,0 @@
1
- export { Stack, type StackProps } from "./stack";
@@ -1,88 +0,0 @@
1
- ---
2
- id: Components-Stack
3
- title: Stack
4
- description:
5
- An easily customizable Stack component, re-exported from Chakra UI, that
6
- provides a consistent layout structure across different products.
7
- documentState: InitialDraft
8
- order: 999
9
- menu:
10
- - Components
11
- - Layout
12
- - Stack
13
- tags:
14
- - component
15
- ---
16
-
17
- # Stack
18
-
19
- An easily customizable Stack component, re-exported from
20
- [Chakra UI stack component](https://www.chakra-ui.com/docs/components/stack) ,
21
- that provides a consistent and responsive layout structure across different
22
- products.
23
-
24
- Stacks allow you to effortlessly build flexible layouts with automatic
25
- distribution. You can arrange elements horizontally or vertically, adding
26
- spacing and/or separators between each item.
27
-
28
- ## Basic Usage
29
-
30
- ```jsx
31
- import { Stack } from "@commercetools/nimbus";
32
- ```
33
-
34
- ```jsx-live
35
- const App = () => (
36
- <Stack>
37
- {" "}
38
- <Box key="1" p="400" bg="primary.7">
39
- Item 1
40
- </Box>
41
- <Box key="1" p="400" bg="primary.7">
42
- Item 2
43
- </Box>
44
- </Stack>
45
- );
46
- ```
47
-
48
- ### With Direction
49
-
50
- Use the direction prop to change the layout direction. The default direction is
51
- "column" (vertical). Set it to "row" for horizontal stacking.
52
-
53
- ```jsx-live
54
- const App = () => (
55
- <Stack direction="row">
56
- <Box key="1" p="400" bg="primary.7">Item 1</Box>
57
- <Box key="1" p="400" bg="primary.7">Item 2</Box>
58
- <Box key="1" p="400" bg="primary.7">Item 3</Box>
59
- </Stack>
60
- )
61
- ```
62
-
63
- ### With Spacing
64
-
65
- ```jsx-live
66
- const App = () => (
67
- <Stack gap="100">
68
- <Box key="1" p="400" bg="primary.7">Spaced Item 1</Box>
69
- <Box key="1" p="400" bg="primary.7">Spaced Item 2</Box>
70
- <Box key="1" p="400" bg="primary.7">Spaced Item 3</Box>
71
- </Stack>
72
- )
73
- ```
74
-
75
- ### With Separator
76
-
77
- Add a visual separator between stacked items using the separator prop. You can
78
- also use custom separators like icons or styled elements.
79
-
80
- ```jsx-live
81
- const App = () => (
82
- <Stack separator={<hr />}>
83
- <Box key="1" p="400" bg="primary.7">Spaced Item with separator 1</Box>
84
- <Box key="1" p="400" bg="primary.7">Spaced Item with separator 2</Box>
85
- <Box key="1" p="400" bg="primary.7">Spaced Item with separator 3</Box>
86
- </Stack>
87
- )
88
- ```
@@ -1,82 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { Box } from "../box";
3
- import { Stack } from "./stack";
4
-
5
- const meta: Meta<typeof Stack> = {
6
- title: "Components/Stack",
7
- component: Stack,
8
- tags: ["autodocs"],
9
- };
10
-
11
- export default meta;
12
- type Story = StoryObj<typeof Stack>;
13
-
14
- export const Base: Story = {
15
- args: {
16
- children: [
17
- <Box key="1" p="400" bg="primary.7">
18
- Item 1
19
- </Box>,
20
- <Box key="2" p="400" bg="primary.7">
21
- Item 2
22
- </Box>,
23
- ],
24
- },
25
- };
26
-
27
- export const WithDirection: Story = {
28
- args: {
29
- direction: "row",
30
- children: [
31
- <Box key="1" p="400" bg="primary.7">
32
- Item 1
33
- </Box>,
34
- <Box key="2" p="400" bg="primary.7">
35
- Item 2
36
- </Box>,
37
- <Box key="3" p="400" bg="primary.7">
38
- Item 3
39
- </Box>,
40
- ],
41
- },
42
- argTypes: {
43
- direction: {
44
- options: ["row", "column", "row-reverse", "column-reverse"],
45
- control: { type: "radio" },
46
- },
47
- },
48
- };
49
-
50
- export const WithSpacing: Story = {
51
- args: {
52
- gap: "100",
53
- children: [
54
- <Box key="1" p="400" bg="primary.7">
55
- Spaced Item 1
56
- </Box>,
57
- <Box key="2" p="400" bg="primary.7">
58
- Spaced Item 2
59
- </Box>,
60
- <Box key="3" p="400" bg="primary.7">
61
- Spaced Item 3
62
- </Box>,
63
- ],
64
- },
65
- };
66
-
67
- export const WithSeparator: Story = {
68
- args: {
69
- separator: <hr />,
70
- children: [
71
- <Box key="1" p="400" bg="primary.7">
72
- Spaced Item with separator 1
73
- </Box>,
74
- <Box key="2" p="400" bg="primary.7">
75
- Spaced Item with separator 2
76
- </Box>,
77
- <Box key="3" p="400" bg="primary.7">
78
- Spaced Item with separator 3
79
- </Box>,
80
- ],
81
- },
82
- };
@@ -1,15 +0,0 @@
1
- import { forwardRef } from "react";
2
- import {
3
- Stack as ChakraStack,
4
- type StackProps as ChakraStackProps,
5
- } from "@chakra-ui/react";
6
-
7
- export interface StackProps extends ChakraStackProps {
8
- children?: React.ReactNode;
9
- }
10
-
11
- export const Stack = forwardRef<HTMLDivElement, StackProps>((props, ref) => {
12
- return <ChakraStack ref={ref} {...props} />;
13
- });
14
-
15
- Stack.displayName = "Stack";
@@ -1 +0,0 @@
1
- export * from "./table.tsx";
@@ -1,23 +0,0 @@
1
- ---
2
- id: Table
3
- title: Table
4
- description: displays a table
5
- documentState: InitialDraft
6
- order: 999
7
- menu:
8
- - Components
9
- - Data Display
10
- - Table
11
- tags:
12
- - table
13
- - tabular data
14
- ---
15
-
16
- # Table
17
-
18
- ## Props
19
-
20
- Render the PropTable with a `<PropTable id="TableRoot"/>` tag or - if multiple
21
- components - `<PropTables id="TableRoot, TableHeader"/>`.
22
-
23
- <PropTables ids="TableRoot, TableHeader, TableColumnHeader, TableRow, TableBody, TableCell, TableFooter" />