@commercetools/nimbus 0.0.1 → 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 +33 -6
  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,254 +0,0 @@
1
- import { defineSlotRecipe } from "@chakra-ui/react";
2
-
3
- export const dialogSlotRecipe = defineSlotRecipe({
4
- slots: [
5
- "trigger",
6
- "backdrop",
7
- "positioner",
8
- "content",
9
- "title",
10
- "description",
11
- "closeTrigger",
12
- "header",
13
- "body",
14
- "footer",
15
- "backdrop",
16
- ],
17
- className: "nimbus-dialog",
18
- base: {
19
- backdrop: {
20
- bg: {
21
- _dark: "bg/50",
22
- _light: "fg/50",
23
- },
24
- pos: "fixed",
25
- left: 0,
26
- top: 0,
27
- w: "100vw",
28
- h: "100dvh",
29
- zIndex: "modal",
30
- _open: {
31
- animationName: "fade-in",
32
- animationDuration: "slow",
33
- },
34
- _closed: {
35
- animationName: "fade-out",
36
- animationDuration: "moderate",
37
- },
38
- },
39
- positioner: {
40
- display: "flex",
41
- width: "100vw",
42
- height: "100dvh",
43
- position: "fixed",
44
- left: 0,
45
- top: 0,
46
- "--dialog-z-index": "zIndex.modal",
47
- zIndex: "calc(var(--dialog-z-index) + var(--layer-index, 0))",
48
- justifyContent: "center",
49
- overscrollBehaviorY: "none",
50
- },
51
- content: {
52
- display: "flex",
53
- flexDirection: "column",
54
- position: "relative",
55
- width: "100%",
56
- outline: 0,
57
- borderRadius: "200",
58
- textStyle: "sm",
59
- my: "var(--dialog-margin, var(--dialog-base-margin))",
60
- "--dialog-z-index": "zIndex.modal",
61
- zIndex: "calc(var(--dialog-z-index) + var(--layer-index, 0))",
62
- bg: "bg",
63
- boxShadow: "lg",
64
- _open: {
65
- animationDuration: "moderate",
66
- },
67
- _closed: {
68
- animationDuration: "faster",
69
- },
70
- },
71
- header: {
72
- flex: 0,
73
- px: "600",
74
- pt: "600",
75
- pb: "400",
76
- },
77
- body: {
78
- flex: "1",
79
- px: "600",
80
- pt: "200",
81
- pb: "600",
82
- },
83
- footer: {
84
- display: "flex",
85
- alignItems: "center",
86
- justifyContent: "flex-end",
87
- gap: "300",
88
- px: "600",
89
- pt: "200",
90
- pb: "400",
91
- },
92
- title: {
93
- textStyle: "lg",
94
- fontWeight: "semibold",
95
- },
96
- description: {
97
- color: "fg.muted",
98
- },
99
- },
100
- variants: {
101
- placement: {
102
- center: {
103
- positioner: {
104
- alignItems: "center",
105
- },
106
- content: {
107
- "--dialog-base-margin": "auto",
108
- mx: "auto",
109
- },
110
- },
111
- top: {
112
- positioner: {
113
- alignItems: "flex-start",
114
- },
115
- content: {
116
- "--dialog-base-margin": "spacing.1600",
117
- mx: "auto",
118
- },
119
- },
120
- bottom: {
121
- positioner: {
122
- alignItems: "flex-end",
123
- },
124
- content: {
125
- "--dialog-base-margin": "spacing.1600",
126
- mx: "auto",
127
- },
128
- },
129
- },
130
- scrollBehavior: {
131
- inside: {
132
- positioner: {
133
- overflow: "hidden",
134
- },
135
- content: {
136
- maxH: "calc(100% - 7.5rem)",
137
- },
138
- body: {
139
- overflow: "auto",
140
- },
141
- },
142
- outside: {
143
- positioner: {
144
- overflow: "auto",
145
- pointerEvents: "auto",
146
- },
147
- },
148
- },
149
- size: {
150
- xs: {
151
- content: {
152
- maxW: "sm",
153
- },
154
- },
155
- sm: {
156
- content: {
157
- maxW: "md",
158
- },
159
- },
160
- md: {
161
- content: {
162
- maxW: "lg",
163
- },
164
- },
165
- lg: {
166
- content: {
167
- maxW: "2xl",
168
- },
169
- },
170
- xl: {
171
- content: {
172
- maxW: "4xl",
173
- },
174
- },
175
- cover: {
176
- positioner: {
177
- padding: "1000",
178
- },
179
- content: {
180
- width: "100%",
181
- height: "100%",
182
- "--dialog-margin": "0",
183
- },
184
- },
185
- full: {
186
- content: {
187
- maxW: "100vw",
188
- minH: "100vh",
189
- "--dialog-margin": "0",
190
- borderRadius: "0",
191
- },
192
- },
193
- },
194
- motionPreset: {
195
- scale: {
196
- content: {
197
- _open: {
198
- animationName: "scale-in, fade-in",
199
- },
200
- _closed: {
201
- animationName: "scale-out, fade-out",
202
- },
203
- },
204
- },
205
- "slide-in-bottom": {
206
- content: {
207
- _open: {
208
- animationName: "slide-from-bottom, fade-in",
209
- },
210
- _closed: {
211
- animationName: "slide-to-bottom, fade-out",
212
- },
213
- },
214
- },
215
- "slide-in-top": {
216
- content: {
217
- _open: {
218
- animationName: "slide-from-top, fade-in",
219
- },
220
- _closed: {
221
- animationName: "slide-to-top, fade-out",
222
- },
223
- },
224
- },
225
- "slide-in-left": {
226
- content: {
227
- _open: {
228
- animationName: "slide-from-left, fade-in",
229
- },
230
- _closed: {
231
- animationName: "slide-to-left, fade-out",
232
- },
233
- },
234
- },
235
- "slide-in-right": {
236
- content: {
237
- _open: {
238
- animationName: "slide-from-right, fade-in",
239
- },
240
- _closed: {
241
- animationName: "slide-to-right, fade-out",
242
- },
243
- },
244
- },
245
- none: {},
246
- },
247
- },
248
- defaultVariants: {
249
- size: "md",
250
- scrollBehavior: "outside",
251
- placement: "top",
252
- motionPreset: "scale",
253
- },
254
- });
@@ -1,61 +0,0 @@
1
- import { Dialog as ChakraDialog, Portal } from "@chakra-ui/react";
2
- import { forwardRef } from "react";
3
- import { Button } from "../button";
4
-
5
- interface DialogContentProps extends ChakraDialog.ContentProps {
6
- portalled?: boolean;
7
- portalRef?: React.RefObject<HTMLElement>;
8
- backdrop?: boolean;
9
- }
10
-
11
- export const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(
12
- function DialogContent(props, ref) {
13
- const {
14
- children,
15
- portalled = true,
16
- portalRef,
17
- backdrop = true,
18
- ...rest
19
- } = props;
20
-
21
- return (
22
- <Portal disabled={!portalled} container={portalRef}>
23
- {backdrop && <ChakraDialog.Backdrop />}
24
- <ChakraDialog.Positioner>
25
- <ChakraDialog.Content ref={ref} {...rest} asChild={false}>
26
- {children}
27
- </ChakraDialog.Content>
28
- </ChakraDialog.Positioner>
29
- </Portal>
30
- );
31
- }
32
- );
33
-
34
- export const DialogCloseTrigger = forwardRef<
35
- HTMLButtonElement,
36
- ChakraDialog.CloseTriggerProps
37
- >(function DialogCloseTrigger(props, ref) {
38
- return (
39
- <ChakraDialog.CloseTrigger
40
- position="absolute"
41
- top="2"
42
- insetEnd="2"
43
- {...props}
44
- asChild
45
- >
46
- <Button size="xs" ref={ref}>
47
- {props.children}
48
- </Button>
49
- </ChakraDialog.CloseTrigger>
50
- );
51
- });
52
-
53
- export const DialogRoot = ChakraDialog.Root;
54
- export const DialogFooter = ChakraDialog.Footer;
55
- export const DialogHeader = ChakraDialog.Header;
56
- export const DialogBody = ChakraDialog.Body;
57
- export const DialogBackdrop = ChakraDialog.Backdrop;
58
- export const DialogTitle = ChakraDialog.Title;
59
- export const DialogDescription = ChakraDialog.Description;
60
- export const DialogTrigger = ChakraDialog.Trigger;
61
- export const DialogActionTrigger = ChakraDialog.ActionTrigger;
@@ -1 +0,0 @@
1
- export * from "./dialog.tsx";
@@ -1,17 +0,0 @@
1
- ---
2
- id: Em
3
- title: Em
4
- description: renders em tags
5
- documentState: InitialDraft
6
- order: 999
7
- menu:
8
- - Components
9
- - Typography
10
- - Em
11
- tags:
12
- - em
13
- ---
14
-
15
- # Em
16
-
17
- Add description later.
@@ -1 +0,0 @@
1
- export { Em } from "@chakra-ui/react";
@@ -1 +0,0 @@
1
- export * from "./em.tsx";
@@ -1,41 +0,0 @@
1
- ---
2
- id: Flex
3
- title: Flex
4
- description:
5
- the Flex component is used to create layouts based on css display flex
6
- documentState: InitialDraft
7
- order: 999
8
- menu:
9
- - Components
10
- - Layout
11
- - Flex
12
- tags:
13
- - flex
14
- - flexbox
15
- - layout
16
- - container
17
- - div
18
- - low level
19
- ---
20
-
21
- # Flex
22
-
23
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus nec
24
- nunc tincidunt tincidunt. Nullam nec pur
25
-
26
- ## Usage
27
-
28
- ```jsx
29
- import { Flex } from "@commercetools/nimbus";
30
-
31
- const Component = () => (
32
- <Flex>
33
- <p>Content</p>
34
- </Flex>
35
- );
36
- ```
37
-
38
- ## Second Subheading
39
-
40
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus nec
41
- nunc tincidunt tincidunt. Nullam nec pur
@@ -1 +0,0 @@
1
- export { Flex } from "@chakra-ui/react";
@@ -1 +0,0 @@
1
- export * from "./flex.tsx";
@@ -1,156 +0,0 @@
1
- ---
2
- id: Components-Grid
3
- title: Grid
4
- description:
5
- An easily customizable Grid 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
- - Grid
13
- tags:
14
- - component
15
- ---
16
-
17
- # Grid
18
-
19
- The Grid Layout Component provides a flexible and responsive way to structure
20
- content using a two-dimensional grid system. It allows elements to be arranged
21
- in rows and columns, enabling dynamic and efficient layouts for different screen
22
- sizes.
23
-
24
- The component accepts all the chakra supported properties and `Grid.Item` as
25
- children elements
26
-
27
- ## Basic Usage
28
-
29
- Use Grid → When you need fine control over layout, spanning, and custom grid
30
- behaviors.
31
-
32
- ```jsx
33
- import { Grid } from "@commercetools/nimbus";
34
- ```
35
-
36
- To use the Grid layout, ensure to wrap the individual grid items inside of the
37
- `<Grid.Item>` component
38
-
39
- ```jsx-live
40
- const App = () => (
41
- <Grid gap="100">
42
- <Grid.Item>
43
- <Box key="1" p="400" bg="neutral.7">
44
- Item 1
45
- </Box>
46
- </Grid.Item>
47
- <Grid.Item>
48
- <Box key="1" p="400" bg="neutral.7">
49
- Item 2
50
- </Box>
51
- </Grid.Item>
52
- </Grid>
53
- )
54
- ```
55
-
56
- ### With Columns
57
-
58
- ```jsx-live
59
- const App = () => (
60
- <Grid gap="100" templateColumns="repeat(2, 1fr)">
61
- <Grid.Item>
62
- <Box key="1" p="400" bg="neutral.7">
63
- Item 1
64
- </Box>
65
- </Grid.Item>
66
- <Grid.Item>
67
- <Box key="1" p="400" bg="neutral.7">
68
- Item 2
69
- </Box>
70
- </Grid.Item>
71
- </Grid>
72
- )
73
- ```
74
-
75
- ### With Varrying Layout
76
-
77
- Showcases how elements can span multiple rows and columns within a structured
78
- grid. This layout is useful for dashboards, content cards, or complex UI
79
- components where elements need different sizes while maintaining alignment.
80
-
81
- ```jsx-live
82
- const App = () => (
83
- <Grid
84
- h="200px"
85
- templateRows="repeat(2, 1fr)"
86
- templateColumns="repeat(5, 1fr)"
87
- gap={4}
88
- >
89
- <Grid.Item rowSpan={2} colSpan={1}>
90
- <Box p="400" bg="neutral.7">
91
- colSpan=1
92
- </Box>
93
- </Grid.Item>
94
- <Grid.Item colSpan={2}>
95
- <Box p="400" bg="neutral.7">
96
- colSpan=2
97
- </Box>
98
- </Grid.Item>
99
- <Grid.Item colSpan={2}>
100
- <Box p="400" bg="neutral.7">
101
- colSpan=2
102
- </Box>
103
- </Grid.Item>
104
- <Grid.Item colSpan={4}>
105
- <Box p="400" bg="neutral.7">
106
- colSpan=4
107
- </Box>
108
- </Grid.Item>
109
- </Grid>
110
- )
111
- ```
112
-
113
- ### With TemplateAreas properties
114
-
115
- Demonstrate layout with template areas - shows how to create a common page
116
- layout pattern
117
-
118
- ```jsx-live
119
- const App = () => (
120
- <Grid
121
- h="400px"
122
- templateAreas={`
123
- "header header"
124
- "nav main"
125
- "footer footer"
126
- `}
127
- templateColumns="200px 1fr"
128
- gap="400"
129
- >
130
- <Grid.Item gridArea="header">
131
- <Box p="400" bg="neutral.7" h="full">
132
- Header
133
- </Box>
134
- </Grid.Item>
135
- <Grid.Item gridArea="nav">
136
- <Box p="400" bg="neutral.7" h="full">
137
- Navigation
138
- </Box>
139
- </Grid.Item>
140
- <Grid.Item gridArea="main">
141
- <Box p="400" bg="neutral.7" h="full">
142
- Main Content
143
- </Box>
144
- </Grid.Item>
145
- <Grid.Item gridArea="footer">
146
- <Box p="400" bg="neutral.7" h="full">
147
- Footer
148
- </Box>
149
- </Grid.Item>
150
- </Grid>
151
- )
152
- ```
153
-
154
- ## Props
155
-
156
- <PropTable id="Grid" />
@@ -1,151 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { Box } from "../box";
3
- import { Grid } from "./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 Grid> = {
12
- title: "components/Grid",
13
- component: Grid,
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 Grid>;
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
- /**
57
- * Showcase with simple column layout
58
- */
59
- export const WithColumns: Story = {
60
- args: {
61
- gap: "100",
62
- templateColumns: "repeat(2, 1fr)",
63
- children: [
64
- <Box key="1" p="400" bg="neutral.7">
65
- Item 1
66
- </Box>,
67
- <Box key="2" p="400" bg="neutral.7">
68
- Item 2
69
- </Box>,
70
- ],
71
- },
72
- };
73
-
74
- /**
75
- * Showcase Varrying rows or columns
76
- */
77
- export const WithVarryingLayout: Story = {
78
- render: () => {
79
- return (
80
- <Grid
81
- h="200px"
82
- templateRows="repeat(2, 1fr)"
83
- templateColumns="repeat(5, 1fr)"
84
- gap={4}
85
- >
86
- <Grid.Item rowSpan={2} colSpan={1}>
87
- <Box p="400" bg="neutral.7">
88
- colSpan=1
89
- </Box>
90
- </Grid.Item>
91
- <Grid.Item colSpan={2}>
92
- <Box p="400" bg="neutral.7">
93
- colSpan=2
94
- </Box>
95
- </Grid.Item>
96
- <Grid.Item colSpan={2}>
97
- <Box p="400" bg="neutral.7">
98
- colSpan=2
99
- </Box>
100
- </Grid.Item>
101
- <Grid.Item colSpan={4}>
102
- <Box p="400" bg="neutral.7">
103
- colSpan=4
104
- </Box>
105
- </Grid.Item>
106
- </Grid>
107
- );
108
- },
109
- };
110
-
111
- /**
112
- * Demonstrate layout with template areas
113
- * Shows how to create a common page layout pattern
114
- */
115
- export const WithTemplateAreas: Story = {
116
- render: () => {
117
- return (
118
- <Grid
119
- h="400px"
120
- templateAreas={`
121
- "header header"
122
- "nav main"
123
- "footer footer"
124
- `}
125
- templateColumns="200px 1fr"
126
- gap="400"
127
- >
128
- <Grid.Item gridArea="header">
129
- <Box p="400" bg="neutral.7" h="full">
130
- Header
131
- </Box>
132
- </Grid.Item>
133
- <Grid.Item gridArea="nav">
134
- <Box p="400" bg="neutral.7" h="full">
135
- Navigation
136
- </Box>
137
- </Grid.Item>
138
- <Grid.Item gridArea="main">
139
- <Box p="400" bg="neutral.7" h="full">
140
- Main Content
141
- </Box>
142
- </Grid.Item>
143
- <Grid.Item gridArea="footer">
144
- <Box p="400" bg="neutral.7" h="full">
145
- Footer
146
- </Box>
147
- </Grid.Item>
148
- </Grid>
149
- );
150
- },
151
- };