@dxc-technology/halstack-react 0.0.0-a9032ad → 0.0.0-aa03ee1

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 (426) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +235 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +247 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/types.d.ts +64 -0
  9. package/accordion/types.js +5 -0
  10. package/accordion-group/AccordionGroup.d.ts +7 -0
  11. package/accordion-group/AccordionGroup.js +170 -0
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/types.d.ts +68 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.d.ts +4 -0
  21. package/badge/Badge.js +59 -0
  22. package/badge/types.d.ts +4 -0
  23. package/badge/types.js +5 -0
  24. package/bleed/Bleed.d.ts +3 -0
  25. package/bleed/Bleed.js +84 -0
  26. package/bleed/Bleed.stories.tsx +342 -0
  27. package/bleed/types.d.ts +13 -0
  28. package/bleed/types.js +5 -0
  29. package/box/Box.d.ts +4 -0
  30. package/box/Box.js +126 -0
  31. package/box/Box.stories.tsx +132 -0
  32. package/box/types.d.ts +43 -0
  33. package/box/types.js +5 -0
  34. package/button/Button.d.ts +4 -0
  35. package/button/Button.js +171 -0
  36. package/button/Button.stories.tsx +274 -0
  37. package/button/types.d.ts +53 -0
  38. package/button/types.js +5 -0
  39. package/card/Card.d.ts +4 -0
  40. package/card/Card.js +164 -0
  41. package/card/Card.stories.tsx +201 -0
  42. package/card/ice-cream.jpg +0 -0
  43. package/card/types.d.ts +67 -0
  44. package/card/types.js +5 -0
  45. package/checkbox/Checkbox.d.ts +4 -0
  46. package/checkbox/Checkbox.js +253 -0
  47. package/checkbox/Checkbox.stories.tsx +192 -0
  48. package/checkbox/types.d.ts +60 -0
  49. package/checkbox/types.js +5 -0
  50. package/chip/Chip.d.ts +4 -0
  51. package/chip/Chip.js +161 -0
  52. package/chip/Chip.stories.tsx +119 -0
  53. package/chip/types.d.ts +45 -0
  54. package/chip/types.js +5 -0
  55. package/{dist/common → common}/OpenSans.css +0 -0
  56. package/{dist/common → common}/RequiredComponent.js +5 -19
  57. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  63. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  64. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  65. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  67. package/common/utils.js +22 -0
  68. package/common/variables.js +1378 -0
  69. package/date-input/DateInput.d.ts +4 -0
  70. package/date-input/DateInput.js +358 -0
  71. package/date-input/DateInput.stories.tsx +138 -0
  72. package/date-input/types.d.ts +100 -0
  73. package/date-input/types.js +5 -0
  74. package/dialog/Dialog.d.ts +4 -0
  75. package/dialog/Dialog.js +166 -0
  76. package/dialog/Dialog.stories.tsx +212 -0
  77. package/dialog/types.d.ts +43 -0
  78. package/dialog/types.js +5 -0
  79. package/dropdown/Dropdown.d.ts +4 -0
  80. package/dropdown/Dropdown.js +395 -0
  81. package/dropdown/Dropdown.stories.tsx +249 -0
  82. package/dropdown/types.d.ts +80 -0
  83. package/dropdown/types.js +5 -0
  84. package/file-input/FileInput.d.ts +4 -0
  85. package/file-input/FileInput.js +590 -0
  86. package/file-input/FileInput.stories.tsx +507 -0
  87. package/file-input/FileItem.d.ts +14 -0
  88. package/file-input/FileItem.js +184 -0
  89. package/file-input/types.d.ts +112 -0
  90. package/file-input/types.js +5 -0
  91. package/footer/Footer.d.ts +4 -0
  92. package/footer/Footer.js +258 -0
  93. package/footer/Footer.stories.tsx +130 -0
  94. package/footer/Icons.d.ts +2 -0
  95. package/footer/Icons.js +77 -0
  96. package/footer/types.d.ts +65 -0
  97. package/footer/types.js +5 -0
  98. package/header/Header.d.ts +7 -0
  99. package/header/Header.js +324 -0
  100. package/header/Header.stories.tsx +162 -0
  101. package/header/Icons.d.ts +2 -0
  102. package/header/Icons.js +34 -0
  103. package/header/types.d.ts +47 -0
  104. package/header/types.js +5 -0
  105. package/heading/Heading.d.ts +4 -0
  106. package/heading/Heading.js +159 -0
  107. package/heading/Heading.stories.tsx +54 -0
  108. package/heading/types.d.ts +33 -0
  109. package/heading/types.js +5 -0
  110. package/inset/Inset.d.ts +3 -0
  111. package/inset/Inset.js +84 -0
  112. package/inset/Inset.stories.tsx +229 -0
  113. package/inset/types.d.ts +13 -0
  114. package/inset/types.js +5 -0
  115. package/layout/ApplicationLayout.d.ts +10 -0
  116. package/layout/ApplicationLayout.js +231 -0
  117. package/layout/ApplicationLayout.stories.tsx +171 -0
  118. package/layout/Icons.js +55 -0
  119. package/layout/types.d.ts +57 -0
  120. package/layout/types.js +5 -0
  121. package/link/Link.d.ts +3 -0
  122. package/link/Link.js +153 -0
  123. package/link/Link.stories.tsx +151 -0
  124. package/link/types.d.ts +70 -0
  125. package/link/types.js +5 -0
  126. package/list/List.d.ts +4 -0
  127. package/list/List.js +47 -0
  128. package/list/List.stories.tsx +95 -0
  129. package/list/types.d.ts +7 -0
  130. package/list/types.js +5 -0
  131. package/main.d.ts +46 -0
  132. package/{dist/main.js → main.js} +159 -59
  133. package/number-input/NumberInput.d.ts +4 -0
  134. package/number-input/NumberInput.js +83 -0
  135. package/number-input/NumberInput.stories.tsx +115 -0
  136. package/number-input/NumberInputContext.d.ts +4 -0
  137. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  138. package/number-input/numberInputContextTypes.d.ts +19 -0
  139. package/number-input/numberInputContextTypes.js +5 -0
  140. package/number-input/types.d.ts +117 -0
  141. package/number-input/types.js +5 -0
  142. package/package.json +40 -23
  143. package/paginator/Icons.js +66 -0
  144. package/paginator/Paginator.d.ts +4 -0
  145. package/paginator/Paginator.js +192 -0
  146. package/paginator/Paginator.stories.tsx +63 -0
  147. package/paginator/types.d.ts +38 -0
  148. package/paginator/types.js +5 -0
  149. package/password-input/PasswordInput.d.ts +4 -0
  150. package/password-input/PasswordInput.js +163 -0
  151. package/password-input/PasswordInput.stories.tsx +131 -0
  152. package/password-input/types.d.ts +107 -0
  153. package/password-input/types.js +5 -0
  154. package/progress-bar/ProgressBar.d.ts +4 -0
  155. package/progress-bar/ProgressBar.js +170 -0
  156. package/progress-bar/ProgressBar.stories.jsx +58 -0
  157. package/progress-bar/types.d.ts +37 -0
  158. package/progress-bar/types.js +5 -0
  159. package/radio/Radio.d.ts +4 -0
  160. package/radio/Radio.js +174 -0
  161. package/radio/Radio.stories.tsx +192 -0
  162. package/radio/types.d.ts +54 -0
  163. package/radio/types.js +5 -0
  164. package/radio-group/Radio.d.ts +4 -0
  165. package/radio-group/Radio.js +140 -0
  166. package/radio-group/RadioGroup.d.ts +4 -0
  167. package/radio-group/RadioGroup.js +273 -0
  168. package/radio-group/RadioGroup.stories.tsx +79 -0
  169. package/radio-group/RadioGroup.test.js +248 -0
  170. package/radio-group/types.d.ts +36 -0
  171. package/radio-group/types.js +5 -0
  172. package/resultsetTable/ResultsetTable.d.ts +4 -0
  173. package/resultsetTable/ResultsetTable.js +254 -0
  174. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  175. package/resultsetTable/types.d.ts +67 -0
  176. package/resultsetTable/types.js +5 -0
  177. package/row/Row.d.ts +3 -0
  178. package/row/Row.js +127 -0
  179. package/row/Row.stories.tsx +237 -0
  180. package/row/types.d.ts +10 -0
  181. package/row/types.js +5 -0
  182. package/select/Select.d.ts +4 -0
  183. package/select/Select.js +869 -0
  184. package/select/Select.stories.tsx +582 -0
  185. package/select/types.d.ts +170 -0
  186. package/select/types.js +5 -0
  187. package/sidenav/Sidenav.d.ts +9 -0
  188. package/sidenav/Sidenav.js +136 -0
  189. package/sidenav/Sidenav.stories.tsx +182 -0
  190. package/sidenav/types.d.ts +50 -0
  191. package/sidenav/types.js +5 -0
  192. package/slider/Slider.d.ts +4 -0
  193. package/slider/Slider.js +317 -0
  194. package/slider/Slider.stories.tsx +177 -0
  195. package/slider/types.d.ts +78 -0
  196. package/slider/types.js +5 -0
  197. package/spinner/Spinner.d.ts +4 -0
  198. package/spinner/Spinner.js +250 -0
  199. package/spinner/Spinner.stories.jsx +103 -0
  200. package/spinner/types.d.ts +32 -0
  201. package/spinner/types.js +5 -0
  202. package/stack/Stack.d.ts +3 -0
  203. package/stack/Stack.js +97 -0
  204. package/stack/Stack.stories.tsx +164 -0
  205. package/stack/types.d.ts +9 -0
  206. package/stack/types.js +5 -0
  207. package/switch/Switch.d.ts +4 -0
  208. package/switch/Switch.js +179 -0
  209. package/switch/Switch.stories.tsx +160 -0
  210. package/switch/types.d.ts +58 -0
  211. package/switch/types.js +5 -0
  212. package/table/Table.d.ts +4 -0
  213. package/table/Table.js +118 -0
  214. package/table/Table.stories.jsx +277 -0
  215. package/table/types.d.ts +21 -0
  216. package/table/types.js +5 -0
  217. package/tabs/Tabs.d.ts +4 -0
  218. package/tabs/Tabs.js +213 -0
  219. package/tabs/Tabs.stories.tsx +120 -0
  220. package/tabs/types.d.ts +78 -0
  221. package/tabs/types.js +5 -0
  222. package/tag/Tag.d.ts +4 -0
  223. package/tag/Tag.js +188 -0
  224. package/tag/Tag.stories.tsx +138 -0
  225. package/tag/types.d.ts +69 -0
  226. package/tag/types.js +5 -0
  227. package/text/Text.d.ts +7 -0
  228. package/text/Text.js +30 -0
  229. package/text/Text.stories.tsx +19 -0
  230. package/text-input/TextInput.d.ts +4 -0
  231. package/text-input/TextInput.js +796 -0
  232. package/text-input/TextInput.stories.tsx +474 -0
  233. package/text-input/types.d.ts +159 -0
  234. package/text-input/types.js +5 -0
  235. package/textarea/Textarea.d.ts +4 -0
  236. package/textarea/Textarea.js +286 -0
  237. package/textarea/Textarea.stories.jsx +157 -0
  238. package/textarea/types.d.ts +130 -0
  239. package/textarea/types.js +5 -0
  240. package/toggle-group/ToggleGroup.d.ts +4 -0
  241. package/toggle-group/ToggleGroup.js +214 -0
  242. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  243. package/toggle-group/types.d.ts +97 -0
  244. package/toggle-group/types.js +5 -0
  245. package/useTheme.d.ts +2 -0
  246. package/useTheme.js +22 -0
  247. package/wizard/Wizard.d.ts +4 -0
  248. package/wizard/Wizard.js +281 -0
  249. package/wizard/Wizard.stories.tsx +224 -0
  250. package/wizard/types.d.ts +60 -0
  251. package/wizard/types.js +5 -0
  252. package/README.md +0 -66
  253. package/babel.config.js +0 -4
  254. package/dist/accordion/Accordion.js +0 -248
  255. package/dist/accordion/Accordion.stories.js +0 -207
  256. package/dist/accordion/readme.md +0 -96
  257. package/dist/alert/Alert.js +0 -304
  258. package/dist/alert/Alert.stories.js +0 -158
  259. package/dist/alert/close.svg +0 -4
  260. package/dist/alert/error.svg +0 -4
  261. package/dist/alert/info.svg +0 -4
  262. package/dist/alert/readme.md +0 -43
  263. package/dist/alert/success.svg +0 -4
  264. package/dist/alert/warning.svg +0 -4
  265. package/dist/box/Box.js +0 -148
  266. package/dist/button/Button.js +0 -181
  267. package/dist/button/Button.stories.js +0 -224
  268. package/dist/button/readme.md +0 -93
  269. package/dist/card/Card.js +0 -217
  270. package/dist/checkbox/Checkbox.js +0 -240
  271. package/dist/checkbox/Checkbox.stories.js +0 -144
  272. package/dist/checkbox/readme.md +0 -116
  273. package/dist/chip/Chip.js +0 -173
  274. package/dist/common/services/example-service.js +0 -10
  275. package/dist/common/services/example-service.test.js +0 -12
  276. package/dist/common/utils.js +0 -42
  277. package/dist/common/variables.js +0 -438
  278. package/dist/date/Date.js +0 -356
  279. package/dist/date/Date.stories.js +0 -205
  280. package/dist/date/calendar.svg +0 -1
  281. package/dist/date/calendar_dark.svg +0 -1
  282. package/dist/date/readme.md +0 -73
  283. package/dist/dialog/Dialog.js +0 -197
  284. package/dist/dialog/Dialog.stories.js +0 -217
  285. package/dist/dialog/readme.md +0 -32
  286. package/dist/dropdown/Dropdown.js +0 -416
  287. package/dist/dropdown/Dropdown.stories.js +0 -249
  288. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  289. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  290. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  291. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  292. package/dist/dropdown/readme.md +0 -69
  293. package/dist/footer/Footer.js +0 -346
  294. package/dist/footer/Footer.stories.js +0 -94
  295. package/dist/footer/dxc_logo_wht.png +0 -0
  296. package/dist/footer/readme.md +0 -41
  297. package/dist/header/Header.js +0 -360
  298. package/dist/header/Header.stories.js +0 -176
  299. package/dist/header/close_icon.svg +0 -1
  300. package/dist/header/dxc_logo_black.png +0 -0
  301. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  302. package/dist/header/dxc_logo_white.png +0 -0
  303. package/dist/header/hamb_menu_black.svg +0 -1
  304. package/dist/header/hamb_menu_white.svg +0 -1
  305. package/dist/header/readme.md +0 -33
  306. package/dist/heading/Heading.js +0 -153
  307. package/dist/input-text/InputText.js +0 -519
  308. package/dist/input-text/InputText.stories.js +0 -209
  309. package/dist/input-text/error.svg +0 -1
  310. package/dist/input-text/readme.md +0 -91
  311. package/dist/layout/ApplicationLayout.js +0 -276
  312. package/dist/layout/SideNav.js +0 -67
  313. package/dist/layout/facebook.svg +0 -45
  314. package/dist/layout/linkedin.svg +0 -50
  315. package/dist/layout/twitter.svg +0 -53
  316. package/dist/link/Link.js +0 -136
  317. package/dist/link/readme.md +0 -51
  318. package/dist/paginator/Paginator.js +0 -196
  319. package/dist/paginator/images/next.svg +0 -3
  320. package/dist/paginator/images/nextPage.svg +0 -3
  321. package/dist/paginator/images/previous.svg +0 -3
  322. package/dist/paginator/images/previousPage.svg +0 -3
  323. package/dist/paginator/readme.md +0 -50
  324. package/dist/progress-bar/ProgressBar.js +0 -185
  325. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  326. package/dist/progress-bar/readme.md +0 -63
  327. package/dist/radio/Radio.js +0 -195
  328. package/dist/radio/Radio.stories.js +0 -166
  329. package/dist/radio/readme.md +0 -70
  330. package/dist/resultsetTable/ResultsetTable.js +0 -333
  331. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  332. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  333. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  334. package/dist/select/Select.js +0 -451
  335. package/dist/select/Select.stories.js +0 -235
  336. package/dist/select/readme.md +0 -72
  337. package/dist/sidenav/Sidenav.js +0 -222
  338. package/dist/sidenav/arrow_icon.svg +0 -3
  339. package/dist/slider/Slider.js +0 -258
  340. package/dist/slider/Slider.stories.js +0 -241
  341. package/dist/slider/readme.md +0 -64
  342. package/dist/spinner/Spinner.js +0 -193
  343. package/dist/spinner/Spinner.stories.js +0 -183
  344. package/dist/spinner/readme.md +0 -65
  345. package/dist/switch/Switch.js +0 -199
  346. package/dist/switch/Switch.stories.js +0 -134
  347. package/dist/switch/readme.md +0 -133
  348. package/dist/table/Table.js +0 -93
  349. package/dist/tabs/Tabs.js +0 -172
  350. package/dist/tabs/Tabs.stories.js +0 -130
  351. package/dist/tabs/readme.md +0 -78
  352. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  353. package/dist/tabs-for-sections/readme.md +0 -78
  354. package/dist/tag/Tag.js +0 -217
  355. package/dist/textarea/Textarea.js +0 -227
  356. package/dist/toggle/Toggle.js +0 -223
  357. package/dist/toggle/Toggle.stories.js +0 -297
  358. package/dist/toggle/readme.md +0 -80
  359. package/dist/toggle-group/ToggleGroup.js +0 -214
  360. package/dist/toggle-group/readme.md +0 -82
  361. package/dist/upload/Upload.js +0 -200
  362. package/dist/upload/Upload.stories.js +0 -72
  363. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  364. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  365. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  366. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  367. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  368. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  369. package/dist/upload/file-upload/FileToUpload.js +0 -158
  370. package/dist/upload/file-upload/audio-icon.svg +0 -4
  371. package/dist/upload/file-upload/close.svg +0 -4
  372. package/dist/upload/file-upload/file-icon.svg +0 -4
  373. package/dist/upload/file-upload/video-icon.svg +0 -4
  374. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  375. package/dist/upload/readme.md +0 -37
  376. package/dist/upload/transaction/Transaction.js +0 -155
  377. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  378. package/dist/upload/transaction/audio-icon.svg +0 -4
  379. package/dist/upload/transaction/error-icon.svg +0 -4
  380. package/dist/upload/transaction/file-icon-err.svg +0 -4
  381. package/dist/upload/transaction/file-icon.svg +0 -4
  382. package/dist/upload/transaction/image-icon-err.svg +0 -4
  383. package/dist/upload/transaction/image-icon.svg +0 -4
  384. package/dist/upload/transaction/success-icon.svg +0 -4
  385. package/dist/upload/transaction/video-icon-err.svg +0 -4
  386. package/dist/upload/transaction/video-icon.svg +0 -4
  387. package/dist/upload/transactions/Transactions.js +0 -120
  388. package/dist/wizard/Wizard.js +0 -327
  389. package/dist/wizard/invalid_icon.svg +0 -6
  390. package/dist/wizard/valid_icon.svg +0 -6
  391. package/dist/wizard/validation-wrong.svg +0 -6
  392. package/test/Accordion.test.js +0 -33
  393. package/test/Alert.test.js +0 -53
  394. package/test/Box.test.js +0 -10
  395. package/test/Button.test.js +0 -18
  396. package/test/Card.test.js +0 -30
  397. package/test/Checkbox.test.js +0 -45
  398. package/test/Chip.test.js +0 -25
  399. package/test/Date.test.js +0 -393
  400. package/test/Dialog.test.js +0 -23
  401. package/test/Dropdown.test.js +0 -130
  402. package/test/Footer.test.js +0 -99
  403. package/test/Header.test.js +0 -39
  404. package/test/Heading.test.js +0 -35
  405. package/test/InputText.test.js +0 -236
  406. package/test/Link.test.js +0 -25
  407. package/test/Paginator.test.js +0 -165
  408. package/test/ProgressBar.test.js +0 -35
  409. package/test/Radio.test.js +0 -37
  410. package/test/ResultsetTable.test.js +0 -282
  411. package/test/Select.test.js +0 -191
  412. package/test/Sidenav.test.js +0 -87
  413. package/test/Slider.test.js +0 -65
  414. package/test/Spinner.test.js +0 -27
  415. package/test/Switch.test.js +0 -45
  416. package/test/Table.test.js +0 -36
  417. package/test/Tabs.test.js +0 -88
  418. package/test/TabsForSections.test.js +0 -34
  419. package/test/Tag.test.js +0 -32
  420. package/test/TextArea.test.js +0 -52
  421. package/test/Toggle.test.js +0 -43
  422. package/test/ToggleGroup.test.js +0 -81
  423. package/test/Upload.test.js +0 -60
  424. package/test/Wizard.test.js +0 -130
  425. package/test/mocks/pngMock.js +0 -1
  426. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,229 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcStack from "./../stack/Stack";
5
+ import DxcInset from "./Inset";
6
+
7
+ export default {
8
+ title: "Inset",
9
+ component: DxcInset,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Default" level={4} />
15
+ <Container>
16
+ <DxcInset>
17
+ <Placeholder></Placeholder>
18
+ </DxcInset>
19
+ </Container>
20
+ <Title title="space = none" level={4} />
21
+ <Container>
22
+ <DxcInset space="none">
23
+ <Placeholder></Placeholder>
24
+ </DxcInset>
25
+ </Container>
26
+ <Title title="space = xxxsmall" level={4} />
27
+ <Container>
28
+ <DxcInset space="xxxsmall">
29
+ <Placeholder></Placeholder>
30
+ </DxcInset>
31
+ </Container>
32
+ <Title title="space = xxsmall" level={4} />
33
+ <Container>
34
+ <DxcInset space="xxsmall">
35
+ <Placeholder></Placeholder>
36
+ </DxcInset>
37
+ </Container>
38
+ <Title title="space = xsmall" level={4} />
39
+ <Container>
40
+ <DxcInset space="xsmall">
41
+ <Placeholder></Placeholder>
42
+ </DxcInset>
43
+ </Container>
44
+ <Title title="space = small" level={4} />
45
+ <Container>
46
+ <DxcInset space="small">
47
+ <Placeholder></Placeholder>
48
+ </DxcInset>
49
+ </Container>
50
+ <Title title="space = medium" level={4} />
51
+ <Container>
52
+ <DxcInset space="medium">
53
+ <Placeholder></Placeholder>
54
+ </DxcInset>
55
+ </Container>
56
+ <Title title="space = large" level={4} />
57
+ <Container>
58
+ <DxcInset space="large">
59
+ <Placeholder></Placeholder>
60
+ </DxcInset>
61
+ </Container>
62
+ <Title title="space = xlarge" level={4} />
63
+ <Container>
64
+ <DxcInset space="xlarge">
65
+ <Placeholder></Placeholder>
66
+ </DxcInset>
67
+ </Container>
68
+ <Title title="space = xxlarge" level={4} />
69
+ <Container>
70
+ <DxcInset space="xxlarge">
71
+ <Placeholder></Placeholder>
72
+ </DxcInset>
73
+ </Container>
74
+ <Title title="space = xxxlarge" level={4} />
75
+ <Container>
76
+ <DxcInset space="xxxlarge">
77
+ <Placeholder></Placeholder>
78
+ </DxcInset>
79
+ </Container>
80
+ <Title title="horizontal = none" level={4} />
81
+ <Container>
82
+ <DxcInset horizontal="none">
83
+ <Placeholder></Placeholder>
84
+ </DxcInset>
85
+ </Container>
86
+ <Title title="horizontal = xxxsmall" level={4} />
87
+ <Container>
88
+ <DxcInset horizontal="xxxsmall">
89
+ <Placeholder></Placeholder>
90
+ </DxcInset>
91
+ </Container>
92
+ <Title title="horizontal = xxsmall" level={4} />
93
+ <Container>
94
+ <DxcInset horizontal="xxsmall">
95
+ <Placeholder></Placeholder>
96
+ </DxcInset>
97
+ </Container>
98
+ <Title title="horizontal = xsmall" level={4} />
99
+ <Container>
100
+ <DxcInset horizontal="xsmall">
101
+ <Placeholder></Placeholder>
102
+ </DxcInset>
103
+ </Container>
104
+ <Title title="horizontal = small" level={4} />
105
+ <Container>
106
+ <DxcInset horizontal="small">
107
+ <Placeholder></Placeholder>
108
+ </DxcInset>
109
+ </Container>
110
+ <Title title="horizontal = medium" level={4} />
111
+ <Container>
112
+ <DxcInset horizontal="medium">
113
+ <Placeholder></Placeholder>
114
+ </DxcInset>
115
+ </Container>
116
+ <Title title="horizontal = large" level={4} />
117
+ <Container>
118
+ <DxcInset horizontal="large">
119
+ <Placeholder></Placeholder>
120
+ </DxcInset>
121
+ </Container>
122
+ <Title title="horizontal = xlarge" level={4} />
123
+ <Container>
124
+ <DxcInset horizontal="xlarge">
125
+ <Placeholder></Placeholder>
126
+ </DxcInset>
127
+ </Container>
128
+ <Title title="horizontal = xxlarge" level={4} />
129
+ <Container>
130
+ <DxcInset horizontal="xxlarge">
131
+ <Placeholder></Placeholder>
132
+ </DxcInset>
133
+ </Container>
134
+ <Title title="horizontal = xxxlarge" level={4} />
135
+ <Container>
136
+ <DxcInset horizontal="xxxlarge">
137
+ <Placeholder></Placeholder>
138
+ </DxcInset>
139
+ </Container>
140
+ <Title title="vertical = none" level={4} />
141
+ <Container>
142
+ <DxcInset vertical="none">
143
+ <Placeholder></Placeholder>
144
+ </DxcInset>
145
+ </Container>
146
+ <Title title="vertical = xxxsmall" level={4} />
147
+ <Container>
148
+ <DxcInset vertical="xxxsmall">
149
+ <Placeholder></Placeholder>
150
+ </DxcInset>
151
+ </Container>
152
+ <Title title="vertical = xxsmall" level={4} />
153
+ <Container>
154
+ <DxcInset vertical="xxsmall">
155
+ <Placeholder></Placeholder>
156
+ </DxcInset>
157
+ </Container>
158
+ <Title title="vertical = xsmall" level={4} />
159
+ <Container>
160
+ <DxcInset vertical="xsmall">
161
+ <Placeholder></Placeholder>
162
+ </DxcInset>
163
+ </Container>
164
+ <Title title="vertical = small" level={4} />
165
+ <Container>
166
+ <DxcInset vertical="small">
167
+ <Placeholder></Placeholder>
168
+ </DxcInset>
169
+ </Container>
170
+ <Title title="vertical = medium" level={4} />
171
+ <Container>
172
+ <DxcInset vertical="medium">
173
+ <Placeholder></Placeholder>
174
+ </DxcInset>
175
+ </Container>
176
+ <Title title="vertical = large" level={4} />
177
+ <Container>
178
+ <DxcInset vertical="large">
179
+ <Placeholder></Placeholder>
180
+ </DxcInset>
181
+ </Container>
182
+ <Title title="vertical = xlarge" level={4} />
183
+ <Container>
184
+ <DxcInset vertical="xlarge">
185
+ <Placeholder></Placeholder>
186
+ </DxcInset>
187
+ </Container>
188
+ <Title title="vertical = xxlarge" level={4} />
189
+ <Container>
190
+ <DxcInset vertical="xxlarge">
191
+ <Placeholder></Placeholder>
192
+ </DxcInset>
193
+ </Container>
194
+ <Title title="vertical = xxxlarge" level={4} />
195
+ <Container>
196
+ <DxcInset vertical="xxxlarge">
197
+ <Placeholder></Placeholder>
198
+ </DxcInset>
199
+ </Container>
200
+ <Title title="top = xxsmall, right= medium, bottom = large and left = xxlarge" level={4} />
201
+ <Container>
202
+ <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
203
+ <Placeholder></Placeholder>
204
+ </DxcInset>
205
+ </Container>
206
+ <Title title="Inside a stack" level={4} />
207
+ <Container>
208
+ <DxcStack gutter="medium" divider>
209
+ <Placeholder></Placeholder>
210
+ <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
211
+ <Placeholder></Placeholder>
212
+ </DxcInset>
213
+ <Placeholder></Placeholder>
214
+ </DxcStack>
215
+ </Container>
216
+ </>
217
+ );
218
+
219
+ const Container = styled.div`
220
+ background: #f2eafa;
221
+ margin: 2.5rem;
222
+ `;
223
+
224
+ const Placeholder = styled.div`
225
+ min-height: 40px;
226
+ min-width: 120px;
227
+ border: 1px solid #a46ede;
228
+ background-color: #e5d5f6;
229
+ `;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
3
+ declare type Props = {
4
+ space?: Spacing;
5
+ horizontal?: Spacing;
6
+ vertical?: Spacing;
7
+ top?: Spacing;
8
+ right?: Spacing;
9
+ bottom?: Spacing;
10
+ left?: Spacing;
11
+ children: React.ReactNode;
12
+ };
13
+ export default Props;
package/inset/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import AppLayoutPropsType, { AppLayoutFooterPropsType, AppLayoutMainPropsType, AppLayoutHeaderPropsType } from "./types";
3
+ declare const DxcApplicationLayout: {
4
+ ({ children }: AppLayoutPropsType): JSX.Element;
5
+ Header: ({ children }: AppLayoutHeaderPropsType) => JSX.Element;
6
+ Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
7
+ Footer: ({ children }: AppLayoutFooterPropsType) => JSX.Element;
8
+ SideNav: (props: any) => JSX.Element;
9
+ };
10
+ export default DxcApplicationLayout;
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _main = require("../main");
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _variables = require("../common/variables.js");
25
+
26
+ var _Icons = require("./Icons");
27
+
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
31
+
32
+ var _excluded = ["displayArrow", "mode"];
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ var year = new Date().getFullYear();
39
+
40
+ var Header = function Header(_ref) {
41
+ var children = _ref.children;
42
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
43
+ };
44
+
45
+ var Main = function Main(_ref2) {
46
+ var children = _ref2.children;
47
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
48
+ };
49
+
50
+ var Footer = function Footer(_ref3) {
51
+ var children = _ref3.children;
52
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
53
+ };
54
+
55
+ var SideNav = function SideNav(props) {
56
+ var _props$displayArrow = props.displayArrow,
57
+ displayArrow = _props$displayArrow === void 0 ? true : _props$displayArrow,
58
+ _props$mode = props.mode,
59
+ mode = _props$mode === void 0 ? "overlay" : _props$mode,
60
+ childProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
61
+ return /*#__PURE__*/_react["default"].createElement(_main.DxcSidenav, childProps, childProps.children);
62
+ };
63
+
64
+ var defaultFooter = function defaultFooter() {
65
+ return /*#__PURE__*/_react["default"].createElement(_main.DxcFooter, {
66
+ copyright: "\xA9 DXC Technology ".concat(year, "\u200B\u200B\u200B\u200B. All rights reserved."),
67
+ bottomLinks: [{
68
+ href: "https://www.linkedin.com/company/dxctechnology",
69
+ text: "Linkedin"
70
+ }, {
71
+ href: "https://twitter.com/dxctechnology",
72
+ text: "Twitter"
73
+ }, {
74
+ href: "https://www.facebook.com/DXCTechnology/",
75
+ text: "Facebook"
76
+ }],
77
+ socialLinks: [{
78
+ href: "https://www.linkedin.com/company/dxctechnology",
79
+ logo: _Icons.linkedinLogo
80
+ }, {
81
+ href: "https://twitter.com/dxctechnology",
82
+ logo: _Icons.twitterLogo
83
+ }, {
84
+ href: "https://www.facebook.com/DXCTechnology/",
85
+ logo: _Icons.facebookLogo
86
+ }]
87
+ });
88
+ };
89
+
90
+ var defaultHeader = function defaultHeader() {
91
+ return /*#__PURE__*/_react["default"].createElement(_main.DxcHeader, {
92
+ underlined: true
93
+ });
94
+ };
95
+
96
+ var childTypeExists = function childTypeExists(children, childType) {
97
+ return children.find(function (child) {
98
+ return child && child.type && child.type === childType;
99
+ });
100
+ };
101
+
102
+ var DxcApplicationLayout = function DxcApplicationLayout(_ref4) {
103
+ var children = _ref4.children;
104
+ var ref = (0, _react.useRef)(null);
105
+ var colorsTheme = (0, _useTheme["default"])();
106
+
107
+ var _useState = (0, _react.useState)(true),
108
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
109
+ isSideNavVisible = _useState2[0],
110
+ setIsSideNavVisible = _useState2[1];
111
+
112
+ var _useState3 = (0, _react.useState)(false),
113
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
114
+ isResponsive = _useState4[0],
115
+ setIsResponsive = _useState4[1];
116
+
117
+ var _useState5 = (0, _react.useState)(null),
118
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
119
+ previousWidth = _useState6[0],
120
+ setPreviousWidth = _useState6[1];
121
+
122
+ var childrenArray = _react["default"].Children.toArray(children);
123
+
124
+ var header = childTypeExists(childrenArray, _main.DxcHeader) || childTypeExists(childrenArray, Header) || defaultHeader();
125
+ var footer = childTypeExists(childrenArray, _main.DxcFooter) || childTypeExists(childrenArray, Footer) || defaultFooter();
126
+ var sideNav = childTypeExists(childrenArray, SideNav);
127
+ var main = childTypeExists(childrenArray, Main);
128
+ var displayArrow = sideNav && sideNav.props && sideNav.props.displayArrow;
129
+ var sideNavMode = sideNav && sideNav.props && sideNav.props.mode;
130
+
131
+ var ArrowIcon = function ArrowIcon() {
132
+ return /*#__PURE__*/_react["default"].createElement("svg", {
133
+ xmlns: "http://www.w3.org/2000/svg",
134
+ width: "15.995",
135
+ height: "10.01",
136
+ viewBox: "0 0 15.995 10.01"
137
+ }, /*#__PURE__*/_react["default"].createElement("path", {
138
+ "data-testid": "arrow-to-right",
139
+ d: "M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z",
140
+ transform: "translate(-2 -6.996)"
141
+ }));
142
+ };
143
+
144
+ var handleResize = function handleResize(width) {
145
+ if (width) {
146
+ setPreviousWidth(width);
147
+ setIsResponsive(width <= _variables.responsiveSizes.tablet);
148
+ setIsSideNavVisible(true);
149
+ }
150
+ };
151
+
152
+ var handleEventListener = function handleEventListener() {
153
+ if (previousWidth !== ref.current.offsetWidth) handleResize(ref.current.offsetWidth);
154
+ };
155
+
156
+ (0, _react.useEffect)(function () {
157
+ if (ref.current) {
158
+ window.addEventListener("resize", handleEventListener);
159
+ handleResize(ref.current.offsetWidth);
160
+ }
161
+
162
+ return function () {
163
+ window.removeEventListener("resize", handleEventListener);
164
+ };
165
+ }, [ref.current]);
166
+
167
+ var handleSidenav = function handleSidenav() {
168
+ setIsSideNavVisible(!isSideNavVisible);
169
+ };
170
+
171
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
172
+ theme: colorsTheme.sidenav
173
+ }, /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
174
+ ref: ref
175
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(ContentContainer, null, /*#__PURE__*/_react["default"].createElement(SideNavArrowContainer, {
176
+ isSideNavVisible: isSideNavVisible
177
+ }, sideNav, /*#__PURE__*/_react["default"].createElement(ArrowContainer, null, sideNav && (displayArrow || isResponsive) && /*#__PURE__*/_react["default"].createElement(ArrowTrigger, {
178
+ role: "button",
179
+ tabIndex: 0,
180
+ onClick: handleSidenav,
181
+ isSideNavVisible: isSideNavVisible
182
+ }, /*#__PURE__*/_react["default"].createElement(ArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(MainBodyContainer, null, /*#__PURE__*/_react["default"].createElement(MainContent, {
183
+ sideNav: sideNav,
184
+ mode: isResponsive ? "overlay" : sideNavMode,
185
+ isSideNavVisible: isSideNavVisible
186
+ }, main), /*#__PURE__*/_react["default"].createElement(FooterContainer, {
187
+ sideNav: sideNav,
188
+ mode: isResponsive ? "overlay" : sideNavMode,
189
+ isSideNavVisible: isSideNavVisible
190
+ }, footer))))));
191
+ };
192
+
193
+ DxcApplicationLayout.Header = Header;
194
+ DxcApplicationLayout.Main = Main;
195
+ DxcApplicationLayout.Footer = Footer;
196
+ DxcApplicationLayout.SideNav = SideNav;
197
+
198
+ var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n"])));
199
+
200
+ var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1250;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n"])));
201
+
202
+ var BodyContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n display: flex;\n flex-direction: column;\n"])));
203
+
204
+ var ContentContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n align-items: flex-start;\n"])));
205
+
206
+ var MainBodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 0;\n display: flex;\n flex-direction: column;\n"])));
207
+
208
+ var FooterContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"])), function (props) {
209
+ return props.sideNav ? props.mode === "push" && !props.isSideNavVisible || props.mode === "overlay" ? "-300px" : "" : "";
210
+ });
211
+
212
+ var MainContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n position: relative;\n min-height: calc(100vh - 184px);\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"])), function (props) {
213
+ return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "" : "-297px" : "";
214
+ });
215
+
216
+ var SideNavArrowContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n z-index: 1200;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n height: calc(100vh - 64px);\n position: sticky;\n top: 64px;\n"])), function (props) {
217
+ return props.isSideNavVisible ? "translateX(0)" : !props.isSideNavVisible ? "translateX(-100%)" : "";
218
+ });
219
+
220
+ var ArrowContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n height: calc(100vh - 64px);\n left: 279px;\n"])));
221
+
222
+ var ArrowTrigger = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: sticky;\n top: 45vh;\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n z-index: 1250;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n :focus {\n outline: #0095ff auto 1px;\n }\n"])), function (props) {
223
+ return "".concat(props.theme.arrowContainerColor);
224
+ }, function (props) {
225
+ return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
226
+ }, function (props) {
227
+ return props.theme.arrowColor;
228
+ });
229
+
230
+ var _default = DxcApplicationLayout;
231
+ exports["default"] = _default;
@@ -0,0 +1,171 @@
1
+ import React from "react";
2
+ import DxcApplicationLayout from "./ApplicationLayout";
3
+ import DxcSidenav from "../sidenav/Sidenav";
4
+ import Title from "../../.storybook/components/Title";
5
+ import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
6
+ import { userEvent, within, waitFor } from "@storybook/testing-library";
7
+
8
+ export default {
9
+ title: "Application Layout ",
10
+ component: DxcApplicationLayout,
11
+ parameters: {
12
+ viewport: {
13
+ viewports: INITIAL_VIEWPORTS,
14
+ }
15
+ }
16
+ };
17
+
18
+ export const DefaultApplicationLayout = () => (
19
+ <>
20
+ <DxcApplicationLayout>
21
+ <DxcApplicationLayout.Main>
22
+ <Title title="Default application layout" theme="light" level={4} />
23
+ <p>Main Content</p>
24
+ <p>Main Content</p>
25
+ <p>Main Content</p>
26
+ <p>Main Content</p>
27
+ </DxcApplicationLayout.Main>
28
+ </DxcApplicationLayout>
29
+ </>
30
+ );
31
+
32
+ export const ApplicationLayoutWithDefaultSidenav = () => (
33
+ <>
34
+ <DxcApplicationLayout>
35
+ <DxcApplicationLayout.SideNav>
36
+ <DxcSidenav.Title>Application layout with sidenav</DxcSidenav.Title>
37
+ <p>SideNav Content</p>
38
+ <p>SideNav Content</p>
39
+ <p>SideNav Content</p>
40
+ <p>SideNav Content</p>
41
+ <p>SideNav Content</p>
42
+ </DxcApplicationLayout.SideNav>
43
+ <DxcApplicationLayout.Main>
44
+ <p>Main Content</p>
45
+ <p>Main Content</p>
46
+ <p>Main Content</p>
47
+ <p>Main Content</p>
48
+ </DxcApplicationLayout.Main>
49
+ </DxcApplicationLayout>
50
+ </>
51
+ );
52
+
53
+ export const ApplicationLayoutWithPushSidenav = () => (
54
+ <>
55
+ <DxcApplicationLayout>
56
+ <DxcApplicationLayout.SideNav mode="push">
57
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
58
+ <p>SideNav Content</p>
59
+ <p>SideNav Content</p>
60
+ <p>SideNav Content</p>
61
+ <p>SideNav Content</p>
62
+ <p>SideNav Content</p>
63
+ </DxcApplicationLayout.SideNav>
64
+ <DxcApplicationLayout.Main>
65
+ <p>Main Content</p>
66
+ <p>Main Content</p>
67
+ <p>Main Content</p>
68
+ <p>Main Content</p>
69
+ </DxcApplicationLayout.Main>
70
+ </DxcApplicationLayout>
71
+ </>
72
+ );
73
+
74
+ export const ApplicationLayoutWithArrowSidenav = () => (
75
+ <>
76
+ <DxcApplicationLayout>
77
+ <DxcApplicationLayout.SideNav mode="overlay" displayArrow>
78
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
79
+ <p>SideNav Content</p>
80
+ <p>SideNav Content</p>
81
+ <p>SideNav Content</p>
82
+ <p>SideNav Content</p>
83
+ <p>SideNav Content</p>
84
+ </DxcApplicationLayout.SideNav>
85
+ <DxcApplicationLayout.Main>
86
+ <p>Main Content</p>
87
+ <p>Main Content</p>
88
+ <p>Main Content</p>
89
+ <p>Main Content</p>
90
+ </DxcApplicationLayout.Main>
91
+ </DxcApplicationLayout>
92
+ </>
93
+ );
94
+
95
+ export const ApplicationLayoutWithResponsiveSidenav = () => (
96
+ <>
97
+ <DxcApplicationLayout>
98
+ <DxcApplicationLayout.SideNav>
99
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
100
+ <p>SideNav Content</p>
101
+ <p>SideNav Content</p>
102
+ <p>SideNav Content</p>
103
+ <p>SideNav Content</p>
104
+ <p>SideNav Content</p>
105
+ </DxcApplicationLayout.SideNav>
106
+ <DxcApplicationLayout.Main>
107
+ <p>Main Content</p>
108
+ <p>Main Content</p>
109
+ <p>Main Content</p>
110
+ <p>Main Content</p>
111
+ </DxcApplicationLayout.Main>
112
+ </DxcApplicationLayout>
113
+ </>
114
+ );
115
+
116
+ ApplicationLayoutWithResponsiveSidenav.parameters = {
117
+ viewport: {
118
+ defaultViewport: 'pixel',
119
+ },
120
+ };
121
+
122
+ export const ApplicationLayoutWithCustomHeader = () => (
123
+ <>
124
+ <DxcApplicationLayout>
125
+ <DxcApplicationLayout.Header> <p>Custom Header</p> </DxcApplicationLayout.Header>
126
+ <DxcApplicationLayout.SideNav>
127
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
128
+ <p>SideNav Content</p>
129
+ <p>SideNav Content</p>
130
+ <p>SideNav Content</p>
131
+ <p>SideNav Content</p>
132
+ <p>SideNav Content</p>
133
+ </DxcApplicationLayout.SideNav>
134
+ <DxcApplicationLayout.Main>
135
+ <p>Main Content</p>
136
+ <p>Main Content</p>
137
+ <p>Main Content</p>
138
+ <p>Main Content</p>
139
+ </DxcApplicationLayout.Main>
140
+ </DxcApplicationLayout>
141
+ </>
142
+ );
143
+
144
+ export const ApplicationLayoutWithCustomFooter = () => (
145
+ <>
146
+ <DxcApplicationLayout>
147
+ <DxcApplicationLayout.SideNav>
148
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
149
+ <p>SideNav Content</p>
150
+ <p>SideNav Content</p>
151
+ <p>SideNav Content</p>
152
+ <p>SideNav Content</p>
153
+ <p>SideNav Content</p>
154
+ </DxcApplicationLayout.SideNav>
155
+ <DxcApplicationLayout.Main>
156
+ <p>Main Content</p>
157
+ <p>Main Content</p>
158
+ <p>Main Content</p>
159
+ <p>Main Content</p>
160
+ </DxcApplicationLayout.Main>
161
+ <DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
162
+ </DxcApplicationLayout>
163
+ </>
164
+ );
165
+
166
+ export const ApplicationLayoutWithClosingSidenav = ApplicationLayoutWithArrowSidenav.bind({});
167
+ ApplicationLayoutWithClosingSidenav.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const arrow = canvas.getByRole("button");
170
+ await userEvent.click(arrow);
171
+ };