reshaped 1.0.1 → 2.2.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 (744) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE.md +37 -0
  3. package/bin/clean.sh +2 -0
  4. package/bin/cli.js +78 -0
  5. package/bin/copy-release.sh +8 -0
  6. package/bundle.css +1 -0
  7. package/bundle.d.ts +120 -0
  8. package/bundle.js +27 -0
  9. package/cli/theming/definitions/base.d.ts +3 -0
  10. package/cli/theming/definitions/base.js +11 -0
  11. package/cli/theming/definitions/figma.d.ts +3 -0
  12. package/cli/theming/definitions/figma.js +180 -0
  13. package/cli/theming/definitions/minimal.d.ts +3 -0
  14. package/cli/theming/definitions/minimal.js +80 -0
  15. package/cli/theming/definitions/reshaped.d.ts +3 -0
  16. package/cli/theming/definitions/reshaped.js +188 -0
  17. package/cli/theming/definitions/slate.d.ts +3 -0
  18. package/cli/theming/definitions/slate.js +80 -0
  19. package/cli/theming/index.d.ts +4 -0
  20. package/cli/theming/index.js +140 -0
  21. package/cli/theming/reshaped.config.d.ts +3 -0
  22. package/cli/theming/reshaped.config.js +25 -0
  23. package/cli/theming/tokens/color/color.transforms.d.ts +4 -0
  24. package/cli/theming/tokens/color/color.transforms.js +20 -0
  25. package/cli/theming/tokens/color/color.types.d.ts +7 -0
  26. package/cli/theming/tokens/color/color.types.js +2 -0
  27. package/cli/theming/tokens/duration/duration.transforms.d.ts +4 -0
  28. package/cli/theming/tokens/duration/duration.transforms.js +11 -0
  29. package/cli/theming/tokens/duration/duration.types.d.ts +4 -0
  30. package/cli/theming/tokens/duration/duration.types.js +2 -0
  31. package/cli/theming/tokens/easing/easing.transforms.d.ts +4 -0
  32. package/cli/theming/tokens/easing/easing.transforms.js +11 -0
  33. package/cli/theming/tokens/easing/easing.types.d.ts +7 -0
  34. package/cli/theming/tokens/easing/easing.types.js +2 -0
  35. package/cli/theming/tokens/font/font.transforms.d.ts +4 -0
  36. package/cli/theming/tokens/font/font.transforms.js +36 -0
  37. package/cli/theming/tokens/font/font.types.d.ts +10 -0
  38. package/cli/theming/tokens/font/font.types.js +2 -0
  39. package/cli/theming/tokens/fontFamily/fontFamily.transforms.d.ts +4 -0
  40. package/cli/theming/tokens/fontFamily/fontFamily.transforms.js +11 -0
  41. package/cli/theming/tokens/fontFamily/fontFamily.types.d.ts +4 -0
  42. package/cli/theming/tokens/fontFamily/fontFamily.types.js +2 -0
  43. package/cli/theming/tokens/fontWeight/fontWeight.transforms.d.ts +4 -0
  44. package/cli/theming/tokens/fontWeight/fontWeight.transforms.js +11 -0
  45. package/cli/theming/tokens/fontWeight/fontWeight.types.d.ts +4 -0
  46. package/cli/theming/tokens/fontWeight/fontWeight.types.js +2 -0
  47. package/cli/theming/tokens/shadow/shadow.transforms.d.ts +4 -0
  48. package/cli/theming/tokens/shadow/shadow.transforms.js +20 -0
  49. package/cli/theming/tokens/shadow/shadow.types.d.ts +13 -0
  50. package/cli/theming/tokens/shadow/shadow.types.js +2 -0
  51. package/cli/theming/tokens/transforms.d.ts +11 -0
  52. package/cli/theming/tokens/transforms.js +26 -0
  53. package/cli/theming/tokens/types.d.ts +52 -0
  54. package/cli/theming/tokens/types.js +2 -0
  55. package/cli/theming/tokens/unit/unit.transforms.d.ts +4 -0
  56. package/cli/theming/tokens/unit/unit.transforms.js +11 -0
  57. package/cli/theming/tokens/unit/unit.types.d.ts +7 -0
  58. package/cli/theming/tokens/unit/unit.types.js +2 -0
  59. package/cli/theming/tokens/viewport/viewport.transforms.d.ts +4 -0
  60. package/cli/theming/tokens/viewport/viewport.transforms.js +18 -0
  61. package/cli/theming/tokens/viewport/viewport.types.d.ts +5 -0
  62. package/cli/theming/tokens/viewport/viewport.types.js +2 -0
  63. package/cli/theming/types.d.ts +14 -0
  64. package/cli/theming/types.js +2 -0
  65. package/cli/theming/utilities/css.d.ts +6 -0
  66. package/cli/theming/utilities/css.js +50 -0
  67. package/cli/theming/utilities/mergeDeep.d.ts +5 -0
  68. package/cli/theming/utilities/mergeDeep.js +24 -0
  69. package/cli/theming/utilities/mergeDefinitions.d.ts +5 -0
  70. package/cli/theming/utilities/mergeDefinitions.js +17 -0
  71. package/cli/theming/utilities/resolveTokenReference.d.ts +3 -0
  72. package/cli/theming/utilities/resolveTokenReference.js +16 -0
  73. package/cli/utilities/color.d.ts +15 -0
  74. package/cli/utilities/color.js +39 -0
  75. package/cli/utilities/string.d.ts +2 -0
  76. package/cli/utilities/string.js +11 -0
  77. package/cli/utilities/tests/color.test.d.ts +1 -0
  78. package/cli/utilities/tests/color.test.js +63 -0
  79. package/components/Accordion/Accordion.context.d.ts +4 -0
  80. package/components/Accordion/Accordion.context.js +9 -0
  81. package/components/Accordion/Accordion.d.ts +8 -0
  82. package/components/Accordion/Accordion.js +14 -0
  83. package/components/Accordion/Accordion.module.css +1 -0
  84. package/components/Accordion/Accordion.types.d.ts +39 -0
  85. package/components/Accordion/Accordion.types.js +1 -0
  86. package/components/Accordion/AccordionContent.d.ts +4 -0
  87. package/components/Accordion/AccordionContent.js +43 -0
  88. package/components/Accordion/AccordionControlled.d.ts +4 -0
  89. package/components/Accordion/AccordionControlled.js +23 -0
  90. package/components/Accordion/AccordionTrigger.d.ts +4 -0
  91. package/components/Accordion/AccordionTrigger.js +26 -0
  92. package/components/Accordion/AccordionUncontrolled.d.ts +4 -0
  93. package/components/Accordion/AccordionUncontrolled.js +24 -0
  94. package/components/Accordion/index.d.ts +2 -0
  95. package/components/Accordion/index.js +1 -0
  96. package/components/Accordion/tests/Accordion.stories.d.ts +9 -0
  97. package/components/Accordion/tests/Accordion.stories.js +119 -0
  98. package/components/ActionBar/ActionBar.d.ts +4 -0
  99. package/components/ActionBar/ActionBar.js +10 -0
  100. package/components/ActionBar/ActionBar.module.css +1 -0
  101. package/components/ActionBar/ActionBar.types.d.ts +10 -0
  102. package/components/ActionBar/ActionBar.types.js +1 -0
  103. package/components/ActionBar/index.d.ts +2 -0
  104. package/components/ActionBar/index.js +1 -0
  105. package/components/ActionBar/tests/ActionBar.stories.d.ts +8 -0
  106. package/components/ActionBar/tests/ActionBar.stories.js +43 -0
  107. package/components/Actionable/Actionable.d.ts +4 -0
  108. package/components/Actionable/Actionable.js +54 -0
  109. package/components/Actionable/Actionable.module.css +1 -0
  110. package/components/Actionable/Actionable.types.d.ts +18 -0
  111. package/components/Actionable/Actionable.types.js +1 -0
  112. package/components/Actionable/index.d.ts +2 -0
  113. package/components/Actionable/index.js +1 -0
  114. package/components/Actionable/tests/Actionable.stories.d.ts +9 -0
  115. package/components/Actionable/tests/Actionable.stories.js +56 -0
  116. package/components/Alert/Alert.d.ts +4 -0
  117. package/components/Alert/Alert.js +31 -0
  118. package/components/Alert/Alert.types.d.ts +14 -0
  119. package/components/Alert/Alert.types.js +1 -0
  120. package/components/Alert/index.d.ts +2 -0
  121. package/components/Alert/index.js +1 -0
  122. package/components/Alert/tests/Alert.stories.d.ts +8 -0
  123. package/components/Alert/tests/Alert.stories.js +78 -0
  124. package/components/Autocomplete/Autocomplete.d.ts +7 -0
  125. package/components/Autocomplete/Autocomplete.js +69 -0
  126. package/components/Autocomplete/Autocomplete.types.d.ts +17 -0
  127. package/components/Autocomplete/Autocomplete.types.js +1 -0
  128. package/components/Autocomplete/index.d.ts +2 -0
  129. package/components/Autocomplete/index.js +1 -0
  130. package/components/Autocomplete/tests/Autocomplete.stories.d.ts +6 -0
  131. package/components/Autocomplete/tests/Autocomplete.stories.js +21 -0
  132. package/components/Avatar/Avatar.d.ts +4 -0
  133. package/components/Avatar/Avatar.js +29 -0
  134. package/components/Avatar/Avatar.module.css +1 -0
  135. package/components/Avatar/Avatar.types.d.ts +30 -0
  136. package/components/Avatar/Avatar.types.js +1 -0
  137. package/components/Avatar/index.d.ts +2 -0
  138. package/components/Avatar/index.js +1 -0
  139. package/components/Avatar/tests/Avatar.stories.d.ts +9 -0
  140. package/components/Avatar/tests/Avatar.stories.js +83 -0
  141. package/components/Badge/Badge.d.ts +7 -0
  142. package/components/Badge/Badge.js +24 -0
  143. package/components/Badge/Badge.module.css +1 -0
  144. package/components/Badge/Badge.types.d.ts +39 -0
  145. package/components/Badge/Badge.types.js +1 -0
  146. package/components/Badge/BadgeContainer.d.ts +4 -0
  147. package/components/Badge/BadgeContainer.js +9 -0
  148. package/components/Badge/index.d.ts +2 -0
  149. package/components/Badge/index.js +1 -0
  150. package/components/Badge/tests/Badge.stories.d.ts +13 -0
  151. package/components/Badge/tests/Badge.stories.js +222 -0
  152. package/components/Breadcrumbs/Breadcrumbs.d.ts +7 -0
  153. package/components/Breadcrumbs/Breadcrumbs.js +54 -0
  154. package/components/Breadcrumbs/Breadcrumbs.types.d.ts +13 -0
  155. package/components/Breadcrumbs/Breadcrumbs.types.js +1 -0
  156. package/components/Breadcrumbs/index.d.ts +2 -0
  157. package/components/Breadcrumbs/index.js +1 -0
  158. package/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +10 -0
  159. package/components/Breadcrumbs/tests/Breadcrumbs.stories.js +95 -0
  160. package/components/Button/Button.d.ts +3 -0
  161. package/components/Button/Button.js +37 -0
  162. package/components/Button/Button.module.css +1 -0
  163. package/components/Button/Button.types.d.ts +31 -0
  164. package/components/Button/Button.types.js +1 -0
  165. package/components/Button/ButtonAligner.d.ts +4 -0
  166. package/components/Button/ButtonAligner.js +13 -0
  167. package/components/Button/index.d.ts +2 -0
  168. package/components/Button/index.js +1 -0
  169. package/components/Button/tests/Button.stories.d.ts +15 -0
  170. package/components/Button/tests/Button.stories.js +565 -0
  171. package/components/Card/Card.d.ts +17 -0
  172. package/components/Card/Card.js +31 -0
  173. package/components/Card/Card.module.css +1 -0
  174. package/components/Card/Card.types.d.ts +16 -0
  175. package/components/Card/Card.types.js +1 -0
  176. package/components/Card/index.d.ts +2 -0
  177. package/components/Card/index.js +1 -0
  178. package/components/Card/tests/Card.stories.d.ts +12 -0
  179. package/components/Card/tests/Card.stories.js +83 -0
  180. package/components/Carousel/Carousel.d.ts +4 -0
  181. package/components/Carousel/Carousel.js +67 -0
  182. package/components/Carousel/Carousel.module.css +1 -0
  183. package/components/Carousel/Carousel.types.d.ts +28 -0
  184. package/components/Carousel/Carousel.types.js +5 -0
  185. package/components/Carousel/CarouselControl.d.ts +4 -0
  186. package/components/Carousel/CarouselControl.js +42 -0
  187. package/components/Carousel/index.d.ts +2 -0
  188. package/components/Carousel/index.js +1 -0
  189. package/components/Carousel/tests/Carousel.stories.d.ts +9 -0
  190. package/components/Carousel/tests/Carousel.stories.js +119 -0
  191. package/components/Checkbox/Checkbox.d.ts +4 -0
  192. package/components/Checkbox/Checkbox.js +44 -0
  193. package/components/Checkbox/Checkbox.module.css +1 -0
  194. package/components/Checkbox/Checkbox.types.d.ts +26 -0
  195. package/components/Checkbox/Checkbox.types.js +1 -0
  196. package/components/Checkbox/index.d.ts +2 -0
  197. package/components/Checkbox/index.js +1 -0
  198. package/components/Checkbox/tests/Checkbox.stories.d.ts +8 -0
  199. package/components/Checkbox/tests/Checkbox.stories.js +53 -0
  200. package/components/CheckboxGroup/CheckboxGroup.context.d.ts +5 -0
  201. package/components/CheckboxGroup/CheckboxGroup.context.js +5 -0
  202. package/components/CheckboxGroup/CheckboxGroup.d.ts +4 -0
  203. package/components/CheckboxGroup/CheckboxGroup.js +10 -0
  204. package/components/CheckboxGroup/CheckboxGroup.types.d.ts +28 -0
  205. package/components/CheckboxGroup/CheckboxGroup.types.js +1 -0
  206. package/components/CheckboxGroup/CheckboxGroupControlled.d.ts +4 -0
  207. package/components/CheckboxGroup/CheckboxGroupControlled.js +22 -0
  208. package/components/CheckboxGroup/CheckboxGroupUncontrolled.d.ts +4 -0
  209. package/components/CheckboxGroup/CheckboxGroupUncontrolled.js +16 -0
  210. package/components/CheckboxGroup/index.d.ts +3 -0
  211. package/components/CheckboxGroup/index.js +2 -0
  212. package/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +7 -0
  213. package/components/CheckboxGroup/tests/CheckboxGroup.stories.js +44 -0
  214. package/components/Container/Container.d.ts +4 -0
  215. package/components/Container/Container.js +10 -0
  216. package/components/Container/Container.module.css +1 -0
  217. package/components/Container/Container.types.d.ts +9 -0
  218. package/components/Container/Container.types.js +1 -0
  219. package/components/Container/index.d.ts +2 -0
  220. package/components/Container/index.js +1 -0
  221. package/components/Container/tests/Container.stories.d.ts +7 -0
  222. package/components/Container/tests/Container.stories.js +28 -0
  223. package/components/Dismissible/Dismissible.d.ts +4 -0
  224. package/components/Dismissible/Dismissible.js +15 -0
  225. package/components/Dismissible/Dismissible.module.css +1 -0
  226. package/components/Dismissible/Dismissible.types.d.ts +20 -0
  227. package/components/Dismissible/Dismissible.types.js +1 -0
  228. package/components/Dismissible/index.d.ts +2 -0
  229. package/components/Dismissible/index.js +1 -0
  230. package/components/Dismissible/tests/Dismissible.stories.d.ts +8 -0
  231. package/components/Dismissible/tests/Dismissible.stories.js +44 -0
  232. package/components/Divider/Divider.d.ts +4 -0
  233. package/components/Divider/Divider.js +14 -0
  234. package/components/Divider/Divider.module.css +1 -0
  235. package/components/Divider/Divider.types.d.ts +7 -0
  236. package/components/Divider/Divider.types.js +1 -0
  237. package/components/Divider/index.d.ts +2 -0
  238. package/components/Divider/index.js +1 -0
  239. package/components/Divider/tests/Divider.stories.d.ts +7 -0
  240. package/components/Divider/tests/Divider.stories.js +36 -0
  241. package/components/DropdownMenu/DropdownMenu.d.ts +13 -0
  242. package/components/DropdownMenu/DropdownMenu.js +90 -0
  243. package/components/DropdownMenu/DropdownMenu.module.css +1 -0
  244. package/components/DropdownMenu/DropdownMenu.types.d.ts +16 -0
  245. package/components/DropdownMenu/DropdownMenu.types.js +1 -0
  246. package/components/DropdownMenu/index.d.ts +2 -0
  247. package/components/DropdownMenu/index.js +1 -0
  248. package/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +11 -0
  249. package/components/DropdownMenu/tests/DropdownMenu.stories.js +138 -0
  250. package/components/FormControl/FormControl.context.d.ts +281 -0
  251. package/components/FormControl/FormControl.context.js +18 -0
  252. package/components/FormControl/FormControl.d.ts +9 -0
  253. package/components/FormControl/FormControl.js +68 -0
  254. package/components/FormControl/FormControl.module.css +1 -0
  255. package/components/FormControl/FormControl.types.d.ts +33 -0
  256. package/components/FormControl/FormControl.types.js +1 -0
  257. package/components/FormControl/index.d.ts +3 -0
  258. package/components/FormControl/index.js +2 -0
  259. package/components/FormControl/tests/FormControl.stories.d.ts +10 -0
  260. package/components/FormControl/tests/FormControl.stories.js +78 -0
  261. package/components/Hidden/Hidden.d.ts +4 -0
  262. package/components/Hidden/Hidden.js +11 -0
  263. package/components/Hidden/Hidden.module.css +1 -0
  264. package/components/Hidden/Hidden.types.d.ts +9 -0
  265. package/components/Hidden/Hidden.types.js +1 -0
  266. package/components/Hidden/index.d.ts +2 -0
  267. package/components/Hidden/index.js +1 -0
  268. package/components/Hidden/tests/Hidden.stories.d.ts +7 -0
  269. package/components/Hidden/tests/Hidden.stories.js +39 -0
  270. package/components/HiddenVisually/HiddenVisually.d.ts +4 -0
  271. package/components/HiddenVisually/HiddenVisually.js +7 -0
  272. package/components/HiddenVisually/HiddenVisually.module.css +1 -0
  273. package/components/HiddenVisually/HiddenVisually.types.d.ts +4 -0
  274. package/components/HiddenVisually/HiddenVisually.types.js +1 -0
  275. package/components/HiddenVisually/index.d.ts +2 -0
  276. package/components/HiddenVisually/index.js +1 -0
  277. package/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +6 -0
  278. package/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -0
  279. package/components/Hotkey/Hotkey.d.ts +4 -0
  280. package/components/Hotkey/Hotkey.js +10 -0
  281. package/components/Hotkey/Hotkey.module.css +1 -0
  282. package/components/Hotkey/Hotkey.types.d.ts +8 -0
  283. package/components/Hotkey/Hotkey.types.js +1 -0
  284. package/components/Hotkey/index.d.ts +2 -0
  285. package/components/Hotkey/index.js +1 -0
  286. package/components/Hotkey/tests/Hotkey.stories.d.ts +6 -0
  287. package/components/Hotkey/tests/Hotkey.stories.js +26 -0
  288. package/components/Icon/Icon.d.ts +4 -0
  289. package/components/Icon/Icon.js +15 -0
  290. package/components/Icon/Icon.module.css +1 -0
  291. package/components/Icon/Icon.types.d.ts +10 -0
  292. package/components/Icon/Icon.types.js +1 -0
  293. package/components/Icon/index.d.ts +2 -0
  294. package/components/Icon/index.js +1 -0
  295. package/components/Icon/tests/Icon.stories.d.ts +8 -0
  296. package/components/Icon/tests/Icon.stories.js +69 -0
  297. package/components/Image/Image.d.ts +4 -0
  298. package/components/Image/Image.js +37 -0
  299. package/components/Image/Image.module.css +1 -0
  300. package/components/Image/Image.types.d.ts +19 -0
  301. package/components/Image/Image.types.js +1 -0
  302. package/components/Image/index.d.ts +2 -0
  303. package/components/Image/index.js +1 -0
  304. package/components/Image/tests/Image.stories.d.ts +10 -0
  305. package/components/Image/tests/Image.stories.js +90 -0
  306. package/components/Link/Link.d.ts +7 -0
  307. package/components/Link/Link.js +13 -0
  308. package/components/Link/Link.module.css +1 -0
  309. package/components/Link/Link.types.d.ts +7 -0
  310. package/components/Link/Link.types.js +1 -0
  311. package/components/Link/index.d.ts +2 -0
  312. package/components/Link/index.js +1 -0
  313. package/components/Link/tests/Link.stories.d.ts +10 -0
  314. package/components/Link/tests/Link.stories.js +62 -0
  315. package/components/Loader/Loader.d.ts +4 -0
  316. package/components/Loader/Loader.js +11 -0
  317. package/components/Loader/Loader.module.css +1 -0
  318. package/components/Loader/Loader.types.d.ts +7 -0
  319. package/components/Loader/Loader.types.js +1 -0
  320. package/components/Loader/index.d.ts +2 -0
  321. package/components/Loader/index.js +1 -0
  322. package/components/Loader/tests/Loader.stories.d.ts +7 -0
  323. package/components/Loader/tests/Loader.stories.js +29 -0
  324. package/components/MenuItem/MenuItem.d.ts +3 -0
  325. package/components/MenuItem/MenuItem.js +22 -0
  326. package/components/MenuItem/MenuItem.module.css +1 -0
  327. package/components/MenuItem/MenuItem.types.d.ts +23 -0
  328. package/components/MenuItem/MenuItem.types.js +1 -0
  329. package/components/MenuItem/MenuItemAligner.d.ts +4 -0
  330. package/components/MenuItem/MenuItemAligner.js +9 -0
  331. package/components/MenuItem/index.d.ts +2 -0
  332. package/components/MenuItem/index.js +1 -0
  333. package/components/MenuItem/tests/MenuItem.stories.d.ts +12 -0
  334. package/components/MenuItem/tests/MenuItem.stories.js +122 -0
  335. package/components/Modal/Modal.d.ts +8 -0
  336. package/components/Modal/Modal.js +56 -0
  337. package/components/Modal/Modal.module.css +1 -0
  338. package/components/Modal/Modal.types.d.ts +26 -0
  339. package/components/Modal/Modal.types.js +1 -0
  340. package/components/Modal/index.d.ts +2 -0
  341. package/components/Modal/index.js +1 -0
  342. package/components/Modal/tests/Modal.stories.d.ts +11 -0
  343. package/components/Modal/tests/Modal.stories.js +145 -0
  344. package/components/Overlay/Overlay.d.ts +4 -0
  345. package/components/Overlay/Overlay.js +110 -0
  346. package/components/Overlay/Overlay.module.css +1 -0
  347. package/components/Overlay/Overlay.types.d.ts +12 -0
  348. package/components/Overlay/Overlay.types.js +1 -0
  349. package/components/Overlay/index.d.ts +2 -0
  350. package/components/Overlay/index.js +1 -0
  351. package/components/Overlay/tests/Overlay.stories.d.ts +6 -0
  352. package/components/Overlay/tests/Overlay.stories.js +27 -0
  353. package/components/Popover/Popover.d.ts +8 -0
  354. package/components/Popover/Popover.js +19 -0
  355. package/components/Popover/Popover.module.css +1 -0
  356. package/components/Popover/Popover.types.d.ts +7 -0
  357. package/components/Popover/Popover.types.js +1 -0
  358. package/components/Popover/index.d.ts +2 -0
  359. package/components/Popover/index.js +1 -0
  360. package/components/Popover/tests/Popover.stories.d.ts +10 -0
  361. package/components/Popover/tests/Popover.stories.js +99 -0
  362. package/components/Progress/Progress.d.ts +4 -0
  363. package/components/Progress/Progress.js +18 -0
  364. package/components/Progress/Progress.module.css +1 -0
  365. package/components/Progress/Progress.types.d.ts +11 -0
  366. package/components/Progress/Progress.types.js +1 -0
  367. package/components/Progress/index.d.ts +2 -0
  368. package/components/Progress/index.js +1 -0
  369. package/components/Progress/tests/Progress.stories.d.ts +9 -0
  370. package/components/Progress/tests/Progress.stories.js +55 -0
  371. package/components/Radio/Radio.d.ts +4 -0
  372. package/components/Radio/Radio.js +35 -0
  373. package/components/Radio/Radio.module.css +1 -0
  374. package/components/Radio/Radio.types.d.ts +25 -0
  375. package/components/Radio/Radio.types.js +1 -0
  376. package/components/Radio/index.d.ts +2 -0
  377. package/components/Radio/index.js +1 -0
  378. package/components/Radio/tests/Radio.stories.d.ts +8 -0
  379. package/components/Radio/tests/Radio.stories.js +42 -0
  380. package/components/RadioGroup/RadioGroup.context.d.ts +5 -0
  381. package/components/RadioGroup/RadioGroup.context.js +5 -0
  382. package/components/RadioGroup/RadioGroup.d.ts +4 -0
  383. package/components/RadioGroup/RadioGroup.js +10 -0
  384. package/components/RadioGroup/RadioGroup.types.d.ts +28 -0
  385. package/components/RadioGroup/RadioGroup.types.js +1 -0
  386. package/components/RadioGroup/RadioGroupControlled.d.ts +4 -0
  387. package/components/RadioGroup/RadioGroupControlled.js +14 -0
  388. package/components/RadioGroup/RadioGroupUncontrolled.d.ts +4 -0
  389. package/components/RadioGroup/RadioGroupUncontrolled.js +16 -0
  390. package/components/RadioGroup/index.d.ts +3 -0
  391. package/components/RadioGroup/index.js +2 -0
  392. package/components/RadioGroup/tests/RadioGroup.stories.d.ts +7 -0
  393. package/components/RadioGroup/tests/RadioGroup.stories.js +44 -0
  394. package/components/Reshaped/Reshaped.css +1 -0
  395. package/components/Reshaped/Reshaped.d.ts +5 -0
  396. package/components/Reshaped/Reshaped.js +26 -0
  397. package/components/Reshaped/Reshaped.module.css +1 -0
  398. package/components/Reshaped/Reshaped.types.d.ts +14 -0
  399. package/components/Reshaped/Reshaped.types.js +1 -0
  400. package/components/Reshaped/index.d.ts +2 -0
  401. package/components/Reshaped/index.js +1 -0
  402. package/components/Scrim/Scrim.d.ts +4 -0
  403. package/components/Scrim/Scrim.js +13 -0
  404. package/components/Scrim/Scrim.module.css +1 -0
  405. package/components/Scrim/Scrim.types.d.ts +11 -0
  406. package/components/Scrim/Scrim.types.js +1 -0
  407. package/components/Scrim/index.d.ts +2 -0
  408. package/components/Scrim/index.js +1 -0
  409. package/components/Scrim/tests/Scrim.stories.d.ts +7 -0
  410. package/components/Scrim/tests/Scrim.stories.js +40 -0
  411. package/components/Select/Select.d.ts +4 -0
  412. package/components/Select/Select.js +59 -0
  413. package/components/Select/Select.module.css +1 -0
  414. package/components/Select/Select.types.d.ts +49 -0
  415. package/components/Select/Select.types.js +1 -0
  416. package/components/Select/index.d.ts +2 -0
  417. package/components/Select/index.js +1 -0
  418. package/components/Select/tests/Select.stories.d.ts +14 -0
  419. package/components/Select/tests/Select.stories.js +165 -0
  420. package/components/Skeleton/Skeleton.d.ts +4 -0
  421. package/components/Skeleton/Skeleton.js +10 -0
  422. package/components/Skeleton/Skeleton.module.css +1 -0
  423. package/components/Skeleton/Skeleton.types.d.ts +6 -0
  424. package/components/Skeleton/Skeleton.types.js +1 -0
  425. package/components/Skeleton/index.d.ts +2 -0
  426. package/components/Skeleton/index.js +1 -0
  427. package/components/Skeleton/tests/Skeleton.stories.d.ts +7 -0
  428. package/components/Skeleton/tests/Skeleton.stories.js +38 -0
  429. package/components/Slider/Slider.d.ts +4 -0
  430. package/components/Slider/Slider.js +26 -0
  431. package/components/Slider/Slider.module.css +1 -0
  432. package/components/Slider/Slider.types.d.ts +78 -0
  433. package/components/Slider/Slider.types.js +1 -0
  434. package/components/Slider/SliderControlled.d.ts +4 -0
  435. package/components/Slider/SliderControlled.js +172 -0
  436. package/components/Slider/SliderThumb.d.ts +4 -0
  437. package/components/Slider/SliderThumb.js +21 -0
  438. package/components/Slider/SliderUncontrolled.d.ts +4 -0
  439. package/components/Slider/SliderUncontrolled.js +32 -0
  440. package/components/Slider/index.d.ts +2 -0
  441. package/components/Slider/index.js +1 -0
  442. package/components/Slider/tests/Slider.stories.d.ts +10 -0
  443. package/components/Slider/tests/Slider.stories.js +42 -0
  444. package/components/Switch/Switch.d.ts +4 -0
  445. package/components/Switch/Switch.js +31 -0
  446. package/components/Switch/Switch.module.css +1 -0
  447. package/components/Switch/Switch.types.d.ts +26 -0
  448. package/components/Switch/Switch.types.js +1 -0
  449. package/components/Switch/index.d.ts +2 -0
  450. package/components/Switch/index.js +1 -0
  451. package/components/Switch/tests/Switch.stories.d.ts +9 -0
  452. package/components/Switch/tests/Switch.stories.js +53 -0
  453. package/components/Tabs/Tabs.d.ts +16 -0
  454. package/components/Tabs/Tabs.js +16 -0
  455. package/components/Tabs/Tabs.module.css +1 -0
  456. package/components/Tabs/Tabs.types.d.ts +61 -0
  457. package/components/Tabs/Tabs.types.js +1 -0
  458. package/components/Tabs/TabsContext.d.ts +18 -0
  459. package/components/Tabs/TabsContext.js +19 -0
  460. package/components/Tabs/TabsControlled.d.ts +4 -0
  461. package/components/Tabs/TabsControlled.js +16 -0
  462. package/components/Tabs/TabsItem.d.ts +11 -0
  463. package/components/Tabs/TabsItem.js +31 -0
  464. package/components/Tabs/TabsList.d.ts +4 -0
  465. package/components/Tabs/TabsList.js +163 -0
  466. package/components/Tabs/TabsPanel.d.ts +4 -0
  467. package/components/Tabs/TabsPanel.js +13 -0
  468. package/components/Tabs/TabsUncontrolled.d.ts +4 -0
  469. package/components/Tabs/TabsUncontrolled.js +18 -0
  470. package/components/Tabs/index.d.ts +2 -0
  471. package/components/Tabs/index.js +1 -0
  472. package/components/Tabs/tests/Tabs.stories.d.ts +13 -0
  473. package/components/Tabs/tests/Tabs.stories.js +251 -0
  474. package/components/Text/Text.d.ts +4 -0
  475. package/components/Text/Text.js +24 -0
  476. package/components/Text/Text.module.css +1 -0
  477. package/components/Text/Text.types.d.ts +15 -0
  478. package/components/Text/Text.types.js +1 -0
  479. package/components/Text/index.d.ts +2 -0
  480. package/components/Text/index.js +1 -0
  481. package/components/Text/tests/Text.stories.d.ts +11 -0
  482. package/components/Text/tests/Text.stories.js +117 -0
  483. package/components/TextArea/TextArea.d.ts +4 -0
  484. package/components/TextArea/TextArea.js +25 -0
  485. package/components/TextArea/TextArea.module.css +1 -0
  486. package/components/TextArea/TextArea.types.d.ts +28 -0
  487. package/components/TextArea/TextArea.types.js +1 -0
  488. package/components/TextArea/index.d.ts +2 -0
  489. package/components/TextArea/index.js +1 -0
  490. package/components/TextArea/tests/TextArea.stories.d.ts +11 -0
  491. package/components/TextArea/tests/TextArea.stories.js +72 -0
  492. package/components/TextField/TextField.d.ts +4 -0
  493. package/components/TextField/TextField.js +47 -0
  494. package/components/TextField/TextField.module.css +1 -0
  495. package/components/TextField/TextField.types.d.ts +42 -0
  496. package/components/TextField/TextField.types.js +1 -0
  497. package/components/TextField/index.d.ts +2 -0
  498. package/components/TextField/index.js +1 -0
  499. package/components/TextField/tests/TextField.stories.d.ts +14 -0
  500. package/components/TextField/tests/TextField.stories.js +100 -0
  501. package/components/Theme/GlobalColorMode.d.ts +4 -0
  502. package/components/Theme/GlobalColorMode.js +31 -0
  503. package/components/Theme/Theme.context.d.ts +4 -0
  504. package/components/Theme/Theme.context.js +14 -0
  505. package/components/Theme/Theme.d.ts +4 -0
  506. package/components/Theme/Theme.js +39 -0
  507. package/components/Theme/Theme.module.css +1 -0
  508. package/components/Theme/Theme.types.d.ts +24 -0
  509. package/components/Theme/Theme.types.js +1 -0
  510. package/components/Theme/index.d.ts +4 -0
  511. package/components/Theme/index.js +3 -0
  512. package/components/Theme/tests/Theme.stories.d.ts +7 -0
  513. package/components/Theme/tests/Theme.stories.js +40 -0
  514. package/components/Theme/useTheme.d.ts +8 -0
  515. package/components/Theme/useTheme.js +18 -0
  516. package/components/Timeline/Timeline.d.ts +7 -0
  517. package/components/Timeline/Timeline.js +21 -0
  518. package/components/Timeline/Timeline.module.css +1 -0
  519. package/components/Timeline/Timeline.types.d.ts +13 -0
  520. package/components/Timeline/Timeline.types.js +1 -0
  521. package/components/Timeline/index.d.ts +2 -0
  522. package/components/Timeline/index.js +1 -0
  523. package/components/Timeline/tests/Timeline.stories.d.ts +7 -0
  524. package/components/Timeline/tests/Timeline.stories.js +55 -0
  525. package/components/Toast/Toast.constants.d.ts +10 -0
  526. package/components/Toast/Toast.constants.js +20 -0
  527. package/components/Toast/Toast.context.d.ts +4 -0
  528. package/components/Toast/Toast.context.js +5 -0
  529. package/components/Toast/Toast.d.ts +6 -0
  530. package/components/Toast/Toast.js +55 -0
  531. package/components/Toast/Toast.module.css +1 -0
  532. package/components/Toast/Toast.types.d.ts +77 -0
  533. package/components/Toast/Toast.types.js +1 -0
  534. package/components/Toast/ToastContainer.d.ts +4 -0
  535. package/components/Toast/ToastContainer.js +97 -0
  536. package/components/Toast/ToastProvider.d.ts +4 -0
  537. package/components/Toast/ToastProvider.js +80 -0
  538. package/components/Toast/ToastRegion.d.ts +4 -0
  539. package/components/Toast/ToastRegion.js +63 -0
  540. package/components/Toast/index.d.ts +3 -0
  541. package/components/Toast/index.js +2 -0
  542. package/components/Toast/tests/Toast.stories.d.ts +13 -0
  543. package/components/Toast/tests/Toast.stories.js +304 -0
  544. package/components/Toast/useToast.d.ts +5 -0
  545. package/components/Toast/useToast.js +8 -0
  546. package/components/Tooltip/Tooltip.d.ts +4 -0
  547. package/components/Tooltip/Tooltip.js +15 -0
  548. package/components/Tooltip/Tooltip.module.css +1 -0
  549. package/components/Tooltip/Tooltip.types.d.ts +5 -0
  550. package/components/Tooltip/Tooltip.types.js +1 -0
  551. package/components/Tooltip/index.d.ts +2 -0
  552. package/components/Tooltip/index.js +1 -0
  553. package/components/Tooltip/tests/Tooltip.stories.d.ts +7 -0
  554. package/components/Tooltip/tests/Tooltip.stories.js +58 -0
  555. package/components/View/View.d.ts +7 -0
  556. package/components/View/View.js +135 -0
  557. package/components/View/View.module.css +1 -0
  558. package/components/View/View.types.d.ts +64 -0
  559. package/components/View/View.types.js +1 -0
  560. package/components/View/index.d.ts +2 -0
  561. package/components/View/index.js +1 -0
  562. package/components/View/tests/View.stories.d.ts +32 -0
  563. package/components/View/tests/View.stories.js +1015 -0
  564. package/components/_private/Flyout/Flyout.context.d.ts +6 -0
  565. package/components/_private/Flyout/Flyout.context.js +6 -0
  566. package/components/_private/Flyout/Flyout.d.ts +8 -0
  567. package/components/_private/Flyout/Flyout.js +14 -0
  568. package/components/_private/Flyout/Flyout.module.css +1 -0
  569. package/components/_private/Flyout/Flyout.types.d.ts +77 -0
  570. package/components/_private/Flyout/Flyout.types.js +1 -0
  571. package/components/_private/Flyout/FlyoutContent.d.ts +4 -0
  572. package/components/_private/Flyout/FlyoutContent.js +40 -0
  573. package/components/_private/Flyout/FlyoutControlled.d.ts +4 -0
  574. package/components/_private/Flyout/FlyoutControlled.js +214 -0
  575. package/components/_private/Flyout/FlyoutTrigger.d.ts +4 -0
  576. package/components/_private/Flyout/FlyoutTrigger.js +47 -0
  577. package/components/_private/Flyout/FlyoutUncontrolled.d.ts +4 -0
  578. package/components/_private/Flyout/FlyoutUncontrolled.js +19 -0
  579. package/components/_private/Flyout/index.d.ts +3 -0
  580. package/components/_private/Flyout/index.js +2 -0
  581. package/components/_private/Flyout/tests/Flyout.stories.d.ts +16 -0
  582. package/components/_private/Flyout/tests/Flyout.stories.js +133 -0
  583. package/components/_private/HiddenInput/HiddenInput.d.ts +4 -0
  584. package/components/_private/HiddenInput/HiddenInput.js +9 -0
  585. package/components/_private/HiddenInput/HiddenInput.module.css +1 -0
  586. package/components/_private/HiddenInput/HiddenInput.types.d.ts +15 -0
  587. package/components/_private/HiddenInput/HiddenInput.types.js +1 -0
  588. package/components/_private/HiddenInput/index.d.ts +2 -0
  589. package/components/_private/HiddenInput/index.js +1 -0
  590. package/components/_private/Portal/Portal.d.ts +9 -0
  591. package/components/_private/Portal/Portal.js +21 -0
  592. package/components/_private/Portal/Portal.types.d.ts +6 -0
  593. package/components/_private/Portal/Portal.types.js +1 -0
  594. package/components/_private/Portal/index.d.ts +2 -0
  595. package/components/_private/Portal/index.js +1 -0
  596. package/components/_private/Portal/tests/Portal.stories.d.ts +6 -0
  597. package/components/_private/Portal/tests/Portal.stories.js +18 -0
  598. package/config/next.d.ts +5 -0
  599. package/config/next.js +8 -0
  600. package/config/postcss.d.ts +13 -0
  601. package/config/postcss.js +19 -0
  602. package/config/tailwind.d.ts +2 -0
  603. package/config/tailwind.js +91 -0
  604. package/constants/attributes.d.ts +2 -0
  605. package/constants/attributes.js +2 -0
  606. package/constants/keys.d.ts +10 -0
  607. package/constants/keys.js +10 -0
  608. package/constants/timeouts.d.ts +2 -0
  609. package/constants/timeouts.js +2 -0
  610. package/hooks/_private/useFlyout.d.ts +27 -0
  611. package/hooks/_private/useFlyout.js +269 -0
  612. package/hooks/_private/useIsDismissible.d.ts +8 -0
  613. package/hooks/_private/useIsDismissible.js +45 -0
  614. package/hooks/_private/useOnClickOutside.d.ts +3 -0
  615. package/hooks/_private/useOnClickOutside.js +29 -0
  616. package/hooks/_private/useSingletonEnvironment.d.ts +9 -0
  617. package/hooks/_private/useSingletonEnvironment.js +33 -0
  618. package/hooks/_private/useSingletonHotkeys.d.ts +34 -0
  619. package/hooks/_private/useSingletonHotkeys.js +191 -0
  620. package/hooks/_private/useSingletonKeyboardMode.d.ts +2 -0
  621. package/hooks/_private/useSingletonKeyboardMode.js +21 -0
  622. package/hooks/tests/useHotkeys.stories.d.ts +6 -0
  623. package/hooks/tests/useHotkeys.stories.js +25 -0
  624. package/hooks/tests/useResponsiveClientValue.stories.d.ts +6 -0
  625. package/hooks/tests/useResponsiveClientValue.stories.js +13 -0
  626. package/hooks/useElementId.d.ts +2 -0
  627. package/hooks/useElementId.js +8 -0
  628. package/hooks/useHotkeys.d.ts +8 -0
  629. package/hooks/useHotkeys.js +15 -0
  630. package/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  631. package/hooks/useIsomorphicLayoutEffect.js +4 -0
  632. package/hooks/useRTL.d.ts +2 -0
  633. package/hooks/useRTL.js +7 -0
  634. package/hooks/useResponsiveClientValue.d.ts +3 -0
  635. package/hooks/useResponsiveClientValue.js +43 -0
  636. package/hooks/useScrollLock.d.ts +6 -0
  637. package/hooks/useScrollLock.js +44 -0
  638. package/hooks/useToggle.d.ts +7 -0
  639. package/hooks/useToggle.js +16 -0
  640. package/icons/ArrowUpRight.d.ts +3 -0
  641. package/icons/ArrowUpRight.js +7 -0
  642. package/icons/Checkmark.d.ts +3 -0
  643. package/icons/Checkmark.js +6 -0
  644. package/icons/ChevronDown.d.ts +3 -0
  645. package/icons/ChevronDown.js +6 -0
  646. package/icons/ChevronLeft.d.ts +3 -0
  647. package/icons/ChevronLeft.js +6 -0
  648. package/icons/ChevronRight.d.ts +3 -0
  649. package/icons/ChevronRight.js +6 -0
  650. package/icons/ChevronVertical.d.ts +3 -0
  651. package/icons/ChevronVertical.js +5 -0
  652. package/icons/Close.d.ts +3 -0
  653. package/icons/Close.js +7 -0
  654. package/icons/DotsHorizontal.d.ts +3 -0
  655. package/icons/DotsHorizontal.js +6 -0
  656. package/icons/Mic.d.ts +3 -0
  657. package/icons/Mic.js +9 -0
  658. package/icons/Zap.d.ts +3 -0
  659. package/icons/Zap.js +6 -0
  660. package/index.d.ts +120 -0
  661. package/index.js +68 -0
  662. package/package.json +155 -4
  663. package/styles/aspectRatio/aspectRatio.module.css +1 -0
  664. package/styles/aspectRatio/index.d.ts +3 -0
  665. package/styles/aspectRatio/index.js +9 -0
  666. package/styles/aspectRatio/index.test.d.ts +1 -0
  667. package/styles/aspectRatio/index.test.js +24 -0
  668. package/styles/bleed/bleed.module.css +1 -0
  669. package/styles/bleed/index.d.ts +3 -0
  670. package/styles/bleed/index.js +13 -0
  671. package/styles/bleed/index.test.d.ts +1 -0
  672. package/styles/bleed/index.test.js +24 -0
  673. package/styles/height/height.module.css +1 -0
  674. package/styles/height/index.d.ts +3 -0
  675. package/styles/height/index.js +10 -0
  676. package/styles/height/index.test.d.ts +1 -0
  677. package/styles/height/index.test.js +27 -0
  678. package/styles/inset/index.d.ts +4 -0
  679. package/styles/inset/index.js +14 -0
  680. package/styles/inset/index.test.d.ts +1 -0
  681. package/styles/inset/index.test.js +27 -0
  682. package/styles/inset/inset.module.css +1 -0
  683. package/styles/maxHeight/index.d.ts +3 -0
  684. package/styles/maxHeight/index.js +10 -0
  685. package/styles/maxHeight/index.test.d.ts +1 -0
  686. package/styles/maxHeight/index.test.js +27 -0
  687. package/styles/maxHeight/maxHeight.module.css +1 -0
  688. package/styles/maxWidth/index.d.ts +3 -0
  689. package/styles/maxWidth/index.js +10 -0
  690. package/styles/maxWidth/index.test.d.ts +1 -0
  691. package/styles/maxWidth/index.test.js +27 -0
  692. package/styles/maxWidth/maxWidth.module.css +1 -0
  693. package/styles/padding/index.d.ts +3 -0
  694. package/styles/padding/index.js +9 -0
  695. package/styles/padding/index.test.d.ts +1 -0
  696. package/styles/padding/index.test.js +24 -0
  697. package/styles/padding/padding.module.css +1 -0
  698. package/styles/position/index.d.ts +3 -0
  699. package/styles/position/index.js +9 -0
  700. package/styles/position/index.test.d.ts +1 -0
  701. package/styles/position/index.test.js +21 -0
  702. package/styles/position/position.module.css +1 -0
  703. package/styles/radius/index.d.ts +3 -0
  704. package/styles/radius/index.js +10 -0
  705. package/styles/radius/index.test.d.ts +1 -0
  706. package/styles/radius/index.test.js +24 -0
  707. package/styles/radius/radius.module.css +1 -0
  708. package/styles/types.d.ts +19 -0
  709. package/styles/types.js +1 -0
  710. package/styles/width/index.d.ts +3 -0
  711. package/styles/width/index.js +10 -0
  712. package/styles/width/index.test.d.ts +1 -0
  713. package/styles/width/index.test.js +27 -0
  714. package/styles/width/width.module.css +1 -0
  715. package/themes/figma/theme.css +1 -0
  716. package/themes/fragments/twitter/theme.css +1 -0
  717. package/themes/media.css +5 -0
  718. package/themes/minimal/theme.css +1 -0
  719. package/themes/reshaped/theme.css +1 -0
  720. package/themes/slate/theme.css +1 -0
  721. package/types/config.d.ts +8 -0
  722. package/types/config.js +2 -0
  723. package/types/global.d.ts +29 -0
  724. package/types/global.js +1 -0
  725. package/utilities/Chain.d.ts +20 -0
  726. package/utilities/Chain.js +63 -0
  727. package/utilities/a11y.d.ts +36 -0
  728. package/utilities/a11y.js +175 -0
  729. package/utilities/animation.d.ts +4 -0
  730. package/utilities/animation.js +15 -0
  731. package/utilities/helpers.d.ts +16 -0
  732. package/utilities/helpers.js +130 -0
  733. package/utilities/storybook/Example.d.ts +13 -0
  734. package/utilities/storybook/Example.js +19 -0
  735. package/utilities/storybook/Example.module.css +1 -0
  736. package/utilities/storybook/Placeholder.d.ts +9 -0
  737. package/utilities/storybook/Placeholder.js +17 -0
  738. package/utilities/storybook/index.d.ts +2 -0
  739. package/utilities/storybook/index.js +2 -0
  740. package/utilities/testPresets.d.ts +25 -0
  741. package/utilities/testPresets.js +76 -0
  742. package/utilities/tests/Chain.test.d.ts +1 -0
  743. package/utilities/tests/Chain.test.js +45 -0
  744. package/README.md +0 -1
@@ -0,0 +1,1015 @@
1
+ import React from "react";
2
+ import { Placeholder, Example } from "../../../utilities/storybook/index.js";
3
+ import View from "../index.js";
4
+ import Hidden from "../../Hidden/index.js";
5
+ import Text from "../../Text/index.js";
6
+ import Tabs from "../../Tabs/index.js";
7
+ import Avatar from "../../Avatar/index.js";
8
+ import MenuItem from "../../MenuItem/index.js";
9
+ import Button from "../../Button/index.js";
10
+ export default { title: "Utilities/View" };
11
+ export const padding = () => (<Example title="Border is used to highlight the padding value">
12
+ <Example.Item title="padding: 4">
13
+ <View padding={4} borderColor="neutral">
14
+ <Placeholder />
15
+ </View>
16
+ </Example.Item>
17
+ <Example.Item title="padding: 6">
18
+ <View padding={6} borderColor="neutral">
19
+ <Placeholder />
20
+ </View>
21
+ </Example.Item>
22
+ <Example.Item title="padding: 0">
23
+ <View padding={0} borderColor="neutral">
24
+ <Placeholder />
25
+ </View>
26
+ </Example.Item>
27
+ <Example.Item title="padding: vertical 2, horizontal 4">
28
+ <View paddingInline={4} paddingBlock={2} borderColor="neutral">
29
+ <Placeholder />
30
+ </View>
31
+ </Example.Item>
32
+ <Example.Item title="paddingTop: 4">
33
+ <View paddingTop={4} borderColor="neutral">
34
+ <Placeholder />
35
+ </View>
36
+ </Example.Item>
37
+ <Example.Item title="paddingBottom: 4">
38
+ <View paddingBottom={4} borderColor="neutral">
39
+ <Placeholder />
40
+ </View>
41
+ </Example.Item>
42
+ <Example.Item title="paddingStart: 4">
43
+ <View paddingStart={4} borderColor="neutral">
44
+ <Placeholder />
45
+ </View>
46
+ </Example.Item>
47
+ <Example.Item title="paddingEnd: 4">
48
+ <View paddingEnd={4} borderColor="neutral">
49
+ <Placeholder />
50
+ </View>
51
+ </Example.Item>
52
+ <Example.Item title={[
53
+ "responsive padding:",
54
+ "[s] vertical 2, horizontal 4",
55
+ "[m+] vertical 4, horizontal 8",
56
+ ]}>
57
+ <View paddingInline={{ s: 4, m: 8 }} paddingBlock={{ s: 2, m: 4 }} borderColor="neutral">
58
+ <Placeholder />
59
+ </View>
60
+ </Example.Item>
61
+ <Example.Item title={["responsive padding:", "[s] top 2, bottom 4", "[m+] top 4, bottom 0, start: 8"]}>
62
+ <View paddingTop={{ s: 2, m: 4 }} paddingBottom={{ s: 4, m: 0 }} paddingStart={{ s: 0, m: 8 }} borderColor="neutral">
63
+ <Placeholder />
64
+ </View>
65
+ </Example.Item>
66
+ <Example.Item title="nested padding, child view should have no horizontal padding">
67
+ <View paddingStart={4} borderColor="neutral">
68
+ <View borderColor="primary" paddingBlock={4}>
69
+ <Placeholder />
70
+ </View>
71
+ </View>
72
+ </Example.Item>
73
+ </Example>);
74
+ export const direction = () => (<Example title="Item 1 is another component, Item 2 is View.Item, Item 3 is text">
75
+ <Example.Item title="direction: column as default">
76
+ <View gap={3}>
77
+ <Placeholder>Item 1</Placeholder>
78
+ <View.Item>
79
+ <Placeholder>Item 2</Placeholder>
80
+ </View.Item>
81
+ Text item 3
82
+ </View>
83
+ </Example.Item>
84
+ <Example.Item title="direction: column">
85
+ <View gap={3} direction="column">
86
+ <Placeholder>Item 1</Placeholder>
87
+ <View.Item>
88
+ <Placeholder>Item 2</Placeholder>
89
+ </View.Item>
90
+ Text item 3
91
+ </View>
92
+ </Example.Item>
93
+ <Example.Item title="direction: column-reverse">
94
+ <View gap={3} direction="column-reverse">
95
+ <Placeholder>Item 1</Placeholder>
96
+ <View.Item>
97
+ <Placeholder>Item 2</Placeholder>
98
+ </View.Item>
99
+ Text item 3
100
+ </View>
101
+ </Example.Item>
102
+ <Example.Item title="direction: row">
103
+ <View gap={3} direction="row">
104
+ <Placeholder>Item 1</Placeholder>
105
+ <View.Item>
106
+ <Placeholder>Item 2</Placeholder>
107
+ </View.Item>
108
+ Text item 3
109
+ </View>
110
+ </Example.Item>
111
+ <Example.Item title="direction: row-reverse">
112
+ <View gap={3} direction="row-reverse">
113
+ <Placeholder>Item 1</Placeholder>
114
+ <View.Item>
115
+ <Placeholder>Item 2</Placeholder>
116
+ </View.Item>
117
+ Text item 3
118
+ </View>
119
+ </Example.Item>
120
+ <Example.Item title={["responsive direction", "[s] column-reverse", "[m] row-reverse", "[l+] row"]}>
121
+ <View direction={{ s: "column-reverse", m: "row-reverse", l: "row" }} gap={3}>
122
+ <Placeholder>Item 1</Placeholder>
123
+ <Placeholder>Item 2</Placeholder>
124
+ </View>
125
+ </Example.Item>
126
+ </Example>);
127
+ export const gap = () => (<Example>
128
+ <Example.Item title="gap: 4, direction: row">
129
+ <View direction="row" gap={4}>
130
+ <Placeholder>Item 1</Placeholder>
131
+ <Placeholder>Item 2</Placeholder>
132
+ </View>
133
+ </Example.Item>
134
+ <Example.Item title="gap: 0, direction: row">
135
+ <View direction="row" gap={0}>
136
+ <Placeholder>Item 1</Placeholder>
137
+ <Placeholder>Item 2</Placeholder>
138
+ </View>
139
+ </Example.Item>
140
+ <Example.Item title={["responsive gap, direction: row", "[s] 4", "[m+] 8"]}>
141
+ <View direction="row" gap={{ s: 4, m: 8 }}>
142
+ <Placeholder>Item 1</Placeholder>
143
+ <Placeholder>Item 2</Placeholder>
144
+ </View>
145
+ </Example.Item>
146
+ <Example.Item title="gap: 4, direction: column">
147
+ <View gap={4}>
148
+ <Placeholder>Item 1</Placeholder>
149
+ <Placeholder>Item 2</Placeholder>
150
+ </View>
151
+ </Example.Item>
152
+ <Example.Item title="gap: 0, direction: column">
153
+ <View gap={0}>
154
+ <Placeholder>Item 1</Placeholder>
155
+ <Placeholder>Item 2</Placeholder>
156
+ </View>
157
+ </Example.Item>
158
+ <Example.Item title={["responsive gap, direction: column", "[s] 4", "[m+] 8"]}>
159
+ <View gap={{ s: 4, m: 8 }}>
160
+ <Placeholder>Item 1</Placeholder>
161
+ <Placeholder>Item 2</Placeholder>
162
+ </View>
163
+ </Example.Item>
164
+ </Example>);
165
+ export const divided = () => (<Example>
166
+ <Example.Item title="direction: row">
167
+ <View divided direction="row" gap={3}>
168
+ <Placeholder>Item 1</Placeholder>
169
+ <Placeholder>Item 2</Placeholder>
170
+ </View>
171
+ </Example.Item>
172
+ <Example.Item title="direction: column">
173
+ <View divided gap={3}>
174
+ <Placeholder>Item 1</Placeholder>
175
+ <Placeholder>Item 2</Placeholder>
176
+ </View>
177
+ </Example.Item>
178
+ <Example.Item title={["responsive divided", "[s] direction: row", "[m+] direction: column"]}>
179
+ <View divided direction={{ s: "row", m: "column" }} gap={3}>
180
+ <Placeholder />
181
+ <Placeholder />
182
+ </View>
183
+ </Example.Item>
184
+ <Example.Item title="direction: row, columns">
185
+ <View divided gap={3} direction="row">
186
+ <View.Item columns={2}>
187
+ <Placeholder>Item 1</Placeholder>
188
+ </View.Item>
189
+ <View.Item columns={8}>
190
+ <Placeholder>Item 2</Placeholder>
191
+ </View.Item>
192
+ <View.Item columns={2}>
193
+ <Placeholder>Item 3</Placeholder>
194
+ </View.Item>
195
+ </View>
196
+ </Example.Item>
197
+ </Example>);
198
+ export const bleed = () => (<Example title="Removes side borders and border radius when applied">
199
+ <Example.Item title="bleed: 4">
200
+ <View bleed={4} padding={4} borderColor="neutral">
201
+ <Placeholder />
202
+ </View>
203
+ </Example.Item>
204
+ <Example.Item title={["responsive bleed", "[s] 4", "[m+] 0"]}>
205
+ <View bleed={{ s: 4, m: 0 }} padding={4} borderRadius="small" borderColor="neutral">
206
+ <Placeholder />
207
+ </View>
208
+ </Example.Item>
209
+ </Example>);
210
+ export const wrap = () => (<Example>
211
+ <Example.Item title="wrap: false">
212
+ <View direction="row" wrap={false} gap={3}>
213
+ <Placeholder w={600} h={100}/>
214
+ <Placeholder w={600} h={100}/>
215
+ </View>
216
+ </Example.Item>
217
+ </Example>);
218
+ export const align = () => (<Example>
219
+ <Example.Item title="align: start, direction: row">
220
+ <View align="start" direction="row" gap={3}>
221
+ <Placeholder />
222
+ <Placeholder h={100}/>
223
+ </View>
224
+ </Example.Item>
225
+ <Example.Item title="align: center, direction: row">
226
+ <View align="center" direction="row" gap={3}>
227
+ <Placeholder />
228
+ <Placeholder h={100}/>
229
+ </View>
230
+ </Example.Item>
231
+ <Example.Item title="align: end, direction: row">
232
+ <View align="end" direction="row" gap={3}>
233
+ <Placeholder />
234
+ <Placeholder h={100}/>
235
+ </View>
236
+ </Example.Item>
237
+ <Example.Item title={[
238
+ "align: stretch, direction: row",
239
+ "2nd item is stretched based on the 1st item height",
240
+ ]}>
241
+ <View align="stretch" direction="row" gap={3}>
242
+ <Placeholder h={100}/>
243
+ <Placeholder h="auto"/>
244
+ </View>
245
+ </Example.Item>
246
+ <Example.Item title="align: baseline, direction: row">
247
+ <View align="baseline" direction="row" gap={3}>
248
+ <Placeholder />
249
+ <Text variant="title-6">Content</Text>
250
+ </View>
251
+ </Example.Item>
252
+
253
+ <Example.Item title="align: start, direction: column">
254
+ <View align="start" direction="column" gap={3}>
255
+ <Placeholder />
256
+ <Placeholder w={100}/>
257
+ </View>
258
+ </Example.Item>
259
+ <Example.Item title="align: center, direction: column">
260
+ <View align="center" direction="column" gap={3}>
261
+ <Placeholder />
262
+ <Placeholder w={100}/>
263
+ </View>
264
+ </Example.Item>
265
+ <Example.Item title="align: end, direction: row">
266
+ <View align="end" direction="column" gap={3}>
267
+ <Placeholder />
268
+ <Placeholder w={100}/>
269
+ </View>
270
+ </Example.Item>
271
+ <Example.Item title={[
272
+ "align: stretch, direction: column",
273
+ "1st item uses its own width, 2nd item is stretched to full width",
274
+ ]}>
275
+ <View align="stretch" direction="column" gap={3}>
276
+ <Placeholder w={100}/>
277
+ <Placeholder w="auto"/>
278
+ </View>
279
+ </Example.Item>
280
+ </Example>);
281
+ export const justify = () => (<Example>
282
+ <Example.Item title="justify: start, direction: row">
283
+ <View justify="start" direction="row" gap={3}>
284
+ <Placeholder />
285
+ <Placeholder />
286
+ </View>
287
+ </Example.Item>
288
+ <Example.Item title="justify: center, direction: row">
289
+ <View justify="center" direction="row" gap={3}>
290
+ <Placeholder />
291
+ <Placeholder />
292
+ </View>
293
+ </Example.Item>
294
+ <Example.Item title="justify: end, direction: row">
295
+ <View justify="end" direction="row" gap={3}>
296
+ <Placeholder />
297
+ <Placeholder />
298
+ </View>
299
+ </Example.Item>
300
+
301
+ <Example.Item title="justify: start, direction: column, height: 200px">
302
+ <View height="200px" justify="start" direction="column" gap={3}>
303
+ <Placeholder />
304
+ <Placeholder />
305
+ </View>
306
+ </Example.Item>
307
+ <Example.Item title="justify: center, direction: column, height: 200px">
308
+ <View height="200px" justify="center" direction="column" gap={3}>
309
+ <Placeholder />
310
+ <Placeholder />
311
+ </View>
312
+ </Example.Item>
313
+ <Example.Item title="justify: end, direction: column, height: 200px">
314
+ <View justify="end" height="200px" direction="column" gap={3}>
315
+ <Placeholder />
316
+ <Placeholder />
317
+ </View>
318
+ </Example.Item>
319
+ </Example>);
320
+ export const textAlign = () => (<Example>
321
+ <Example.Item title="textAlign: start">
322
+ <View textAlign="start">Content</View>
323
+ </Example.Item>
324
+
325
+ <Example.Item title="textAlign: center">
326
+ <View textAlign="center">Content</View>
327
+ </Example.Item>
328
+
329
+ <Example.Item title="textAlign: end">
330
+ <View textAlign="end">Content</View>
331
+ </Example.Item>
332
+ </Example>);
333
+ export const size = () => (<Example>
334
+ <Example.Item title="height: 100px, width: 100px">
335
+ <View backgroundColor="neutral-faded" height="100px" width="100px"/>
336
+ </Example.Item>
337
+ <Example.Item title="height: 25, width: 25">
338
+ <View backgroundColor="neutral-faded" height={25} width={25}/>
339
+ </Example.Item>
340
+ <Example.Item title={[
341
+ "responsive height and width",
342
+ "[s] height: 25, width: 25",
343
+ "[m+] height: 200px, width: 200px",
344
+ ]}>
345
+ <View backgroundColor="neutral-faded" height={{ s: 25, m: "200px" }} width={{ s: 25, m: "200px" }}/>
346
+ </Example.Item>
347
+ </Example>);
348
+ export const ratio = () => (<Example>
349
+ <Example.Item title="ratio: 16 / 9">
350
+ <View backgroundColor="neutral-faded" aspectRatio={16 / 9} width="200px"/>
351
+ </Example.Item>
352
+ <Example.Item title={["responsive ratio", "[s] 1/1", "[m+] 16/9"]}>
353
+ <View backgroundColor="neutral-faded" aspectRatio={{ s: 1, m: 16 / 9 }} width="200px"/>
354
+ </Example.Item>
355
+ </Example>);
356
+ export const maxSize = () => (<Example>
357
+ <Example.Item title="maxHeight: 150px, maxWidth: 150px, height: 300px">
358
+ <View backgroundColor="neutral-faded" maxHeight="150px" maxWidth="150px" height="300px"/>
359
+ </Example.Item>
360
+ <Example.Item title="maxHeight: 25, maxWidth: 25, height: 50">
361
+ <View backgroundColor="neutral-faded" maxHeight={25} maxWidth={25} height={50}/>
362
+ </Example.Item>
363
+ <Example.Item title={[
364
+ "responsive maxHeight and maxWidth, height: 300",
365
+ "[s] maxHeight: 25, maxWidth: 25",
366
+ "[m+] maxHeight: 200px, maxWidth: 200px",
367
+ ]}>
368
+ <View backgroundColor="neutral-faded" maxHeight={{ s: 25, m: "200px" }} maxWidth={{ s: 25, m: "200px" }} height="300px"/>
369
+ </Example.Item>
370
+ </Example>);
371
+ export const background = () => (<Example title="border is used to highlight the backround value when it's similar to the page background, text color changes based on the background">
372
+ <Example.Item title="bg: page">
373
+ <View backgroundColor="page" borderColor="neutral" padding={4}>
374
+ Content
375
+ </View>
376
+ </Example.Item>
377
+ <Example.Item title="bg: page-faded">
378
+ <View backgroundColor="page-faded" padding={4}>
379
+ Content
380
+ </View>
381
+ </Example.Item>
382
+ <Example.Item title="bg: disabled">
383
+ <View backgroundColor="disabled" padding={4}>
384
+ Content
385
+ </View>
386
+ </Example.Item>
387
+ <Example.Item title="bg: disabled-faded">
388
+ <View backgroundColor="disabled-faded" padding={4}>
389
+ Content
390
+ </View>
391
+ </Example.Item>
392
+ <Example.Item title="bg: elevation-base">
393
+ <View backgroundColor="elevation-base" borderColor="neutral" padding={4}>
394
+ Content
395
+ </View>
396
+ </Example.Item>
397
+ <Example.Item title="bg: elevation-raised">
398
+ <View backgroundColor="elevation-raised" borderColor="neutral" padding={4}>
399
+ Content
400
+ </View>
401
+ </Example.Item>
402
+ <Example.Item title="bg: elevation-overlay">
403
+ <View backgroundColor="elevation-overlay" borderColor="neutral" padding={4}>
404
+ Content
405
+ </View>
406
+ </Example.Item>
407
+ <Example.Item title="bg: neutral">
408
+ <View backgroundColor="neutral" padding={4}>
409
+ Content
410
+ </View>
411
+ </Example.Item>
412
+ <Example.Item title="bg: neutral-faded">
413
+ <View backgroundColor="neutral-faded" padding={4}>
414
+ Content
415
+ </View>
416
+ </Example.Item>
417
+ <Example.Item title="bg: primary">
418
+ <View backgroundColor="primary" padding={4}>
419
+ Content
420
+ </View>
421
+ </Example.Item>
422
+ <Example.Item title="bg: primary-faded">
423
+ <View backgroundColor="primary-faded" padding={4}>
424
+ Content
425
+ </View>
426
+ </Example.Item>
427
+ <Example.Item title="bg: critical">
428
+ <View backgroundColor="critical" padding={4}>
429
+ Content
430
+ </View>
431
+ </Example.Item>
432
+ <Example.Item title="bg: critical-faded">
433
+ <View backgroundColor="critical-faded" padding={4}>
434
+ Content
435
+ </View>
436
+ </Example.Item>
437
+ <Example.Item title="bg: positive">
438
+ <View backgroundColor="positive" padding={4}>
439
+ Content
440
+ </View>
441
+ </Example.Item>
442
+ <Example.Item title="bg: positive-faded">
443
+ <View backgroundColor="positive-faded" padding={4}>
444
+ Content
445
+ </View>
446
+ </Example.Item>
447
+ </Example>);
448
+ export const border = () => (<Example>
449
+ <Example.Item title="border: neutral">
450
+ <View borderColor="neutral" padding={4}>
451
+ Content
452
+ </View>
453
+ </Example.Item>
454
+
455
+ <Example.Item title="border: neutral-faded">
456
+ <View borderColor="neutral-faded" padding={4}>
457
+ Content
458
+ </View>
459
+ </Example.Item>
460
+
461
+ <Example.Item title="border: primary">
462
+ <View borderColor="primary" padding={4}>
463
+ Content
464
+ </View>
465
+ </Example.Item>
466
+
467
+ <Example.Item title="border: primary-faded">
468
+ <View borderColor="primary-faded" padding={4}>
469
+ Content
470
+ </View>
471
+ </Example.Item>
472
+
473
+ <Example.Item title="border: critical">
474
+ <View borderColor="critical" padding={4}>
475
+ Content
476
+ </View>
477
+ </Example.Item>
478
+
479
+ <Example.Item title="border: critical-faded">
480
+ <View borderColor="critical-faded" padding={4}>
481
+ Content
482
+ </View>
483
+ </Example.Item>
484
+
485
+ <Example.Item title="border: positive">
486
+ <View borderColor="positive" padding={4}>
487
+ Content
488
+ </View>
489
+ </Example.Item>
490
+
491
+ <Example.Item title="border: positive-faded">
492
+ <View borderColor="positive" padding={4}>
493
+ Content
494
+ </View>
495
+ </Example.Item>
496
+
497
+ <Example.Item title="border: transparent, background: primary-faded">
498
+ <View borderColor="transparent" backgroundColor="primary-faded" padding={4}>
499
+ Content
500
+ </View>
501
+ </Example.Item>
502
+ </Example>);
503
+ export const radius = () => (<Example>
504
+ <Example.Item title="radius: small">
505
+ <View borderRadius="small" borderColor="neutral" padding={4}>
506
+ Content
507
+ </View>
508
+ </Example.Item>
509
+
510
+ <Example.Item title="radius: medium">
511
+ <View borderRadius="medium" borderColor="neutral" padding={4}>
512
+ Content
513
+ </View>
514
+ </Example.Item>
515
+
516
+ <Example.Item title="radius: large">
517
+ <View borderRadius="large" borderColor="neutral" padding={4}>
518
+ Content
519
+ </View>
520
+ </Example.Item>
521
+
522
+ <Example.Item title="radius: circular">
523
+ <View borderRadius="circular" borderColor="neutral" padding={4}>
524
+ Content
525
+ </View>
526
+ </Example.Item>
527
+ </Example>);
528
+ export const shadow = () => (<Example>
529
+ <Example.Item title="shadow: raised, radius: medium">
530
+ <View height="100px" width="100px" shadow="raised" borderRadius="medium" backgroundColor="elevation-raised"/>
531
+ </Example.Item>
532
+ <Example.Item title="shadow: overlay, radius: medium">
533
+ <View height="100px" width="100px" shadow="overlay" borderRadius="medium" backgroundColor="elevation-overlay"/>
534
+ </Example.Item>
535
+ </Example>);
536
+ export const overflow = () => (<Example>
537
+ <Example.Item title={["overflow: hidden, radius: medium", "child background should have radius"]}>
538
+ <View height="100px" width="100px" shadow="raised" borderRadius="medium" overflow="hidden">
539
+ <View backgroundColor="primary" height="100%" width="100%"/>
540
+ </View>
541
+ </Example.Item>
542
+ </Example>);
543
+ export const position = () => (<Example>
544
+ <Example.Item title="position: relative + absolute">
545
+ <View borderColor="neutral" position="relative">
546
+ <Placeholder />
547
+ <View position="absolute" insetTop={0} insetEnd={0} backgroundColor="critical" zIndex={5}>
548
+ top
549
+ </View>
550
+ <View position="absolute" insetTop={0} insetEnd={0} backgroundColor="primary">
551
+ below
552
+ </View>
553
+ </View>
554
+ </Example.Item>
555
+
556
+ <Example.Item title="position: sticky">
557
+ <div style={{ overflow: "auto", height: 100 }}>
558
+ <View position="sticky" borderColor="primary" insetTop={0}>
559
+ Content
560
+ </View>
561
+ <Placeholder h={1000}/>
562
+ </div>
563
+ </Example.Item>
564
+
565
+ <Example.Item title={["responsive", "[s] position: absolute", "[m+]: position: relative"]}>
566
+ <div style={{ overflow: "auto", height: 100, position: "relative" }}>
567
+ <View position={{ s: "absolute", m: "relative" }} borderColor="primary" insetTop={0}>
568
+ Content
569
+ </View>
570
+ <Placeholder h={1000}/>
571
+ </div>
572
+ </Example.Item>
573
+ </Example>);
574
+ export const inset = () => (<Example>
575
+ <Example.Item title="inset: 4">
576
+ <View backgroundColor="neutral-faded" width={25} height={25}>
577
+ <View backgroundColor="neutral" position="absolute" inset={4}/>
578
+ </View>
579
+ </Example.Item>
580
+
581
+ <Example.Item title="insetTop: 4">
582
+ <View backgroundColor="neutral-faded" width={25} height={25}>
583
+ <View backgroundColor="neutral" position="absolute" insetTop={4} height={10} width={10}/>
584
+ </View>
585
+ </Example.Item>
586
+
587
+ <Example.Item title="insetStart: 4">
588
+ <View backgroundColor="neutral-faded" width={25} height={25}>
589
+ <View backgroundColor="neutral" position="absolute" insetStart={4} height={10} width={10}/>
590
+ </View>
591
+ </Example.Item>
592
+
593
+ <Example.Item title="insetEnd: 4">
594
+ <View backgroundColor="neutral-faded" width={25} height={25}>
595
+ <View backgroundColor="neutral" position="absolute" insetEnd={4} height={10} width={10}/>
596
+ </View>
597
+ </Example.Item>
598
+
599
+ <Example.Item title="insetBottom: 4">
600
+ <View backgroundColor="neutral-faded" width={25} height={25}>
601
+ <View backgroundColor="neutral" position="absolute" insetBottom={4} height={10} width={10}/>
602
+ </View>
603
+ </Example.Item>
604
+ </Example>);
605
+ const Animated = () => {
606
+ const [background, setBackground] = React.useState("neutral");
607
+ return (<View gap={3} align="start">
608
+ <Button onClick={() => setBackground((prev) => (prev === "neutral" ? "primary" : "neutral"))}>
609
+ Change background
610
+ </Button>
611
+ <View height="100px" width="100px" backgroundColor={background} align="center" justify="center" animated>
612
+ Content
613
+ </View>
614
+ </View>);
615
+ };
616
+ export const animated = () => <Animated />;
617
+ export const itemGapBefore = () => (<Example>
618
+ <Example.Item title={["gap: 4, 3rd item gapBefore: 10, direction: row", "increased gap"]}>
619
+ <View direction="row" gap={4}>
620
+ <Placeholder />
621
+ <Placeholder />
622
+ <View.Item gapBefore={10}>
623
+ <Placeholder />
624
+ </View.Item>
625
+ </View>
626
+ </Example.Item>
627
+ <Example.Item title={["gap: 10, 3rd item gapBefore: 4, direction: row", "reduced gap"]}>
628
+ <View direction="row" gap={10}>
629
+ <Placeholder />
630
+ <Placeholder />
631
+ <View.Item gapBefore={4}>
632
+ <Placeholder />
633
+ </View.Item>
634
+ </View>
635
+ </Example.Item>
636
+ <Example.Item title={["gap: 10, 3rd item gapBefore: 0, direction: row", "removed gap"]}>
637
+ <View direction="row" gap={10}>
638
+ <Placeholder />
639
+ <Placeholder />
640
+ <View.Item gapBefore={0}>
641
+ <Placeholder />
642
+ </View.Item>
643
+ </View>
644
+ </Example.Item>
645
+
646
+ <Example.Item title="gap: 4, direction: row, 2nd item gap: auto">
647
+ <View direction="row" gap={4}>
648
+ <Placeholder w={200}/>
649
+ <View.Item gapBefore="auto">
650
+ <Placeholder />
651
+ </View.Item>
652
+ </View>
653
+ </Example.Item>
654
+
655
+ <Example.Item title={["gap: 4, 3rd item gapBefore: 10, direction: column", "increased gap"]}>
656
+ <View direction="column" gap={4}>
657
+ <Placeholder />
658
+ <Placeholder />
659
+ <View.Item gapBefore={10}>
660
+ <Placeholder />
661
+ </View.Item>
662
+ </View>
663
+ </Example.Item>
664
+ <Example.Item title={["gap: 10, 3rd item gapBefore: 4, direction: column", "reduced gap"]}>
665
+ <View direction="column" gap={10}>
666
+ <Placeholder />
667
+ <Placeholder />
668
+ <View.Item gapBefore={4}>
669
+ <Placeholder />
670
+ </View.Item>
671
+ </View>
672
+ </Example.Item>
673
+ <Example.Item title={["gap: 10, 3rd item gapBefore: 0, direction: column", "removed gap"]}>
674
+ <View direction="column" gap={10}>
675
+ <Placeholder />
676
+ <Placeholder />
677
+ <View.Item gapBefore={0}>
678
+ <Placeholder />
679
+ </View.Item>
680
+ </View>
681
+ </Example.Item>
682
+
683
+ <Example.Item title="gap: 4, direction: column, height: 200px, 2nd item gap: auto">
684
+ <View height="200px" gap={4}>
685
+ <Placeholder />
686
+ <View.Item gapBefore="auto">
687
+ <Placeholder />
688
+ </View.Item>
689
+ </View>
690
+ </Example.Item>
691
+
692
+ <Example.Item title={[
693
+ "responsive item gap",
694
+ "gap: 4, direction: row",
695
+ "[s] 3rd item gapBefore: 10",
696
+ "[m+] 3rd item gapBefore: 0",
697
+ ]}>
698
+ <View direction="row" gap={4}>
699
+ <Placeholder />
700
+ <Placeholder />
701
+ <View.Item gapBefore={{ s: 10, m: 0 }}>
702
+ <Placeholder />
703
+ </View.Item>
704
+ </View>
705
+ </Example.Item>
706
+ </Example>);
707
+ export const itemGrow = () => (<Example>
708
+ <Example.Item title="direction: row, 2nd item grow">
709
+ <View direction="row" gap={3}>
710
+ <Placeholder w={200}/>
711
+ <View.Item grow>
712
+ <Placeholder />
713
+ </View.Item>
714
+ </View>
715
+ </Example.Item>
716
+ <Example.Item title="direction: column, height: 200px, 2nd item grow">
717
+ <View direction="column" gap={3} height="200px">
718
+ <Placeholder />
719
+ <View.Item grow>
720
+ <Placeholder h="100%"/>
721
+ </View.Item>
722
+ </View>
723
+ </Example.Item>
724
+ <Example.Item title="direction: row, 2nd item grow, applied to View">
725
+ <View direction="row" gap={3}>
726
+ <Placeholder w={200}/>
727
+ <View grow>
728
+ <Placeholder />
729
+ </View>
730
+ </View>
731
+ </Example.Item>
732
+ <Example.Item title={[
733
+ "responsive item grow, direction: row",
734
+ "[s] 2nd item grow",
735
+ "[m+] 2nd item doesn't grow",
736
+ ]}>
737
+ <View direction="row" gap={3}>
738
+ <Placeholder w={200}/>
739
+ <View.Item grow={{ s: true, m: false }}>
740
+ <Placeholder />
741
+ </View.Item>
742
+ </View>
743
+ </Example.Item>
744
+ <Example.Item title={[
745
+ "responsive item grow, direction: column, height: 200px",
746
+ "[s] 2nd item grow",
747
+ "[m+] 2nd item doesn't grow",
748
+ ]}>
749
+ <View direction="column" gap={3} height="200px">
750
+ <Placeholder />
751
+ <View.Item grow={{ s: true, m: false }}>
752
+ <Placeholder h="100%"/>
753
+ </View.Item>
754
+ </View>
755
+ </Example.Item>
756
+ </Example>);
757
+ export const itemColumns = () => (<Example>
758
+ <Example.Item title="columns 6, 6, gap: 0">
759
+ <View direction="row">
760
+ <View.Item columns={6}>
761
+ <Placeholder>Item 1</Placeholder>
762
+ </View.Item>
763
+ <View.Item columns={6}>
764
+ <Placeholder>Item 2</Placeholder>
765
+ </View.Item>
766
+ </View>
767
+ </Example.Item>
768
+
769
+ <Example.Item title="columns 6, 6, gap: 4">
770
+ <View direction="row" gap={4}>
771
+ <View.Item columns={6}>
772
+ <Placeholder>Item 1</Placeholder>
773
+ </View.Item>
774
+ <View.Item columns={6}>
775
+ <Placeholder>Item 2</Placeholder>
776
+ </View.Item>
777
+ </View>
778
+ </Example.Item>
779
+
780
+ <Example.Item title="columns 3, 9, gap: 4">
781
+ <View direction="row" gap={4}>
782
+ <View.Item columns={3}>
783
+ <Placeholder>Item 1</Placeholder>
784
+ </View.Item>
785
+ <View.Item columns={9}>
786
+ <Placeholder>Item 2</Placeholder>
787
+ </View.Item>
788
+ </View>
789
+ </Example.Item>
790
+
791
+ <Example.Item title="columns 6, 6, 9, gap: 4">
792
+ <View direction="row" gap={4}>
793
+ <View.Item columns={6}>
794
+ <Placeholder>Item 1</Placeholder>
795
+ </View.Item>
796
+ <View.Item columns={6}>
797
+ <Placeholder>Item 2</Placeholder>
798
+ </View.Item>
799
+ <View.Item columns={9}>
800
+ <Placeholder>Item 3</Placeholder>
801
+ </View.Item>
802
+ </View>
803
+ </Example.Item>
804
+
805
+ <Example.Item title={["responsive columns", "[s] columns 6, 6, 12, gap: 4", "[m+]: 4, 4, 4"]}>
806
+ <View direction="row" gap={4}>
807
+ <View.Item columns={{ s: 6, m: 4 }}>
808
+ <Placeholder>Item 1</Placeholder>
809
+ </View.Item>
810
+ <View.Item columns={{ s: 6, m: 4 }}>
811
+ <Placeholder>Item 2</Placeholder>
812
+ </View.Item>
813
+ <View.Item columns={{ s: 12, m: 4 }}>
814
+ <Placeholder>Item 3</Placeholder>
815
+ </View.Item>
816
+ </View>
817
+ </Example.Item>
818
+
819
+ <Example.Item title="columns 6, 6, 9, gap: 4, 2nd item gapBefore: 20">
820
+ <View direction="row" gap={4}>
821
+ <View.Item columns={6}>
822
+ <Placeholder>Item 1</Placeholder>
823
+ </View.Item>
824
+ <View.Item columns={6} gapBefore={20}>
825
+ <Placeholder>Item 2</Placeholder>
826
+ </View.Item>
827
+ <View.Item columns={9}>
828
+ <Placeholder>Item 3</Placeholder>
829
+ </View.Item>
830
+ </View>
831
+ </Example.Item>
832
+ </Example>);
833
+ export const itemOrder = () => (<Example>
834
+ <Example.Item title="order: 1 3 2">
835
+ <View direction="row" gap={4}>
836
+ <View.Item columns={4}>
837
+ <Placeholder>Item 1</Placeholder>
838
+ </View.Item>
839
+ <View.Item columns={4} order={1}>
840
+ <Placeholder>Item 2</Placeholder>
841
+ </View.Item>
842
+ <View.Item columns={4}>
843
+ <Placeholder>Item 3</Placeholder>
844
+ </View.Item>
845
+ </View>
846
+ </Example.Item>
847
+ <Example.Item title={["responsive order", "[s] 1 2 3", "[m+] 1 3 2"]}>
848
+ <View direction="row" gap={4}>
849
+ <View.Item columns={4}>
850
+ <Placeholder>Item 1</Placeholder>
851
+ </View.Item>
852
+ <View.Item columns={4} order={{ s: 0, m: 1 }}>
853
+ <Placeholder>Item 2</Placeholder>
854
+ </View.Item>
855
+ <View.Item columns={4}>
856
+ <Placeholder>Item 3</Placeholder>
857
+ </View.Item>
858
+ </View>
859
+ </Example.Item>
860
+ <Example.Item title={[
861
+ "responsive order",
862
+ "[s]: 1 3 2, 2 is full width on second row",
863
+ "[m+]: 1 2 3, 2 has grow in the center of the first row",
864
+ ]}>
865
+ <View direction="row" gap={3}>
866
+ <View.Item columns={{ s: 6, m: "auto" }}>
867
+ <Placeholder>Item 1</Placeholder>
868
+ </View.Item>
869
+ <View.Item grow={{ s: false, m: true }} order={{ s: 1, m: 0 }} columns={{ s: 12, m: "auto" }}>
870
+ <Placeholder>Item 2</Placeholder>
871
+ </View.Item>
872
+ <View.Item columns={{ s: 6, m: "auto" }}>
873
+ <Placeholder>Item 3</Placeholder>
874
+ </View.Item>
875
+ </View>
876
+ </Example.Item>
877
+ </Example>);
878
+ export const testHiddenItem = () => (<Example>
879
+ <Example.Item title={[
880
+ "[s] 2nd item: visible, grow, 3rd item: !grow",
881
+ "[m+] 2nd item: hidden, 2nd item divider: hidden, 3rd item: grow",
882
+ ]}>
883
+ <View direction="row" divided gap={3}>
884
+ <Placeholder />
885
+ <Hidden hide={{ s: false, m: true }}>
886
+ <View.Item grow key="3">
887
+ <Placeholder />
888
+ </View.Item>
889
+ </Hidden>
890
+ <View.Item grow={{ s: false, m: true }}>
891
+ <Placeholder />
892
+ </View.Item>
893
+ </View>
894
+ </Example.Item>
895
+
896
+ <Example.Item title={[
897
+ "[s] 2nd item: visible, grow, 3rd item: !grow",
898
+ "[m+] 2nd item: hidden, 2nd item: grow doesn't push 3rd item, 3rd item: grow",
899
+ ]}>
900
+ <View direction="row" gap={3}>
901
+ <Placeholder key="1"/>
902
+ <Hidden hide={{ s: false, m: true }} key="hidden">
903
+ {(className) => (<View.Item grow className={className} key="hidden">
904
+ <Placeholder />
905
+ </View.Item>)}
906
+ </Hidden>
907
+ <View.Item grow={{ s: false, m: true }} key="3">
908
+ <Placeholder />
909
+ </View.Item>
910
+ </View>
911
+ </Example.Item>
912
+ </Example>);
913
+ export const testNestedGaps = () => (<Example>
914
+ <Example.Item title={[
915
+ "direction: column, gap: 10",
916
+ "Child 1: direction: column, gap: 2",
917
+ "Child 2: direction column, gap: 6",
918
+ "Child 3: gapBefore: 0",
919
+ "Child 3 view: direction: row, gap: 2",
920
+ ]}>
921
+ <View gap={10}>
922
+ <View gap={2}>
923
+ <Placeholder>Child 1</Placeholder>
924
+ <Placeholder>Child 1</Placeholder>
925
+ </View>
926
+
927
+ <View gap={6}>
928
+ <Placeholder>Child 2</Placeholder>
929
+ <Placeholder>Child 2</Placeholder>
930
+ </View>
931
+
932
+ <View.Item gapBefore={0}>
933
+ <View direction="row" gap={2}>
934
+ <Placeholder>Child 3, very long text</Placeholder>
935
+ <Placeholder>Child 3, very long text</Placeholder>
936
+ <Placeholder>Child 3, very long text</Placeholder>
937
+ <Placeholder>Child 3, very long text</Placeholder>
938
+ <Placeholder>Child 3, very long text</Placeholder>
939
+ <Placeholder>Child 3, very long text</Placeholder>
940
+ </View>
941
+ </View.Item>
942
+ </View>
943
+ </Example.Item>
944
+ </Example>);
945
+ export const testComposition = () => (<Example>
946
+ <Example.Item title={[
947
+ "View.Item, MenuItem, Aspect ratio",
948
+ "ratio should increase height on viewport change",
949
+ ]}>
950
+ <View direction="row" gap={3}>
951
+ <View.Item>
952
+ <Placeholder />
953
+ </View.Item>
954
+ <MenuItem selected roundedCorners>
955
+ Menu
956
+ </MenuItem>
957
+ <View.Item grow>
958
+ <View aspectRatio={16 / 9}>
959
+ <Placeholder h="100%"/>
960
+ </View>
961
+ </View.Item>
962
+ </View>
963
+ </Example.Item>
964
+ <Example.Item title="Scrollable tabs inside View.Item with grow">
965
+ <View gap={3}>
966
+ <Placeholder />
967
+ <View direction="row" align="center" gap={3}>
968
+ <Placeholder />
969
+ <View.Item grow>
970
+ <View padding={0} align="center">
971
+ <Tabs variant="pills">
972
+ <Tabs.List>
973
+ <Tabs.Item value="1">Very long item</Tabs.Item>
974
+ <Tabs.Item value="2">Very long item</Tabs.Item>
975
+ <Tabs.Item value="3">Very long item</Tabs.Item>
976
+ <Tabs.Item value="4">Very long item</Tabs.Item>
977
+ <Tabs.Item value="5">Very long item</Tabs.Item>
978
+ <Tabs.Item value="6">Very long item</Tabs.Item>
979
+ </Tabs.List>
980
+ </Tabs>
981
+ </View>
982
+ </View.Item>
983
+ <Placeholder />
984
+ </View>
985
+ </View>
986
+ </Example.Item>
987
+ <Example.Item title="2nd item has grow, Avatar stays circle">
988
+ <View direction="row" gap={3}>
989
+ <Avatar initials="DB"/>
990
+ <View.Item grow>
991
+ Veggies sunt bona vobis, proinde vos postulo esse magis grape pea sprouts horseradish
992
+ courgette maize spinach prairie turnip jícama coriander quandong gourd broccoli seakale
993
+ gumbo. Parsley corn lentil zucchini radicchio maize burdock avocado sea lettuce. Garbanzo
994
+ tigernut earthnut pea fennel.
995
+ </View.Item>
996
+ </View>
997
+ </Example.Item>
998
+ <Example.Item title={[
999
+ "item gapBefore from parent doesn't affect the child view",
1000
+ "columns should take full width",
1001
+ ]}>
1002
+ <View>
1003
+ <View.Item gapBefore={20}>
1004
+ <View direction="row" gap={4}>
1005
+ <View.Item columns={6}>
1006
+ <Placeholder />
1007
+ </View.Item>
1008
+ <View.Item columns={6}>
1009
+ <Placeholder />
1010
+ </View.Item>
1011
+ </View>
1012
+ </View.Item>
1013
+ </View>
1014
+ </Example.Item>
1015
+ </Example>);