@dxc-technology/halstack-react 0.0.0-3716032 → 0.0.0-381476a

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 (340) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +6 -19
  3. package/HalstackContext.d.ts +1356 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +117 -190
  8. package/accordion/Accordion.stories.tsx +103 -120
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +11 -22
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +38 -107
  13. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +17 -22
  18. package/alert/Alert.js +22 -55
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +75 -0
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +4 -0
  23. package/badge/Badge.js +8 -19
  24. package/badge/types.d.ts +5 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +43 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +37 -0
  29. package/box/Box.d.ts +1 -1
  30. package/box/Box.js +29 -77
  31. package/box/Box.stories.tsx +38 -51
  32. package/box/Box.test.js +13 -0
  33. package/box/types.d.ts +3 -14
  34. package/bulleted-list/BulletedList.d.ts +7 -0
  35. package/bulleted-list/BulletedList.js +99 -0
  36. package/bulleted-list/BulletedList.stories.tsx +116 -0
  37. package/bulleted-list/types.d.ts +38 -0
  38. package/button/Button.d.ts +1 -1
  39. package/button/Button.js +61 -119
  40. package/button/Button.stories.tsx +164 -96
  41. package/button/Button.test.js +36 -0
  42. package/button/types.d.ts +12 -12
  43. package/card/Card.d.ts +1 -1
  44. package/card/Card.js +58 -102
  45. package/card/Card.stories.tsx +13 -43
  46. package/card/Card.test.js +39 -0
  47. package/card/types.d.ts +6 -11
  48. package/checkbox/Checkbox.d.ts +2 -2
  49. package/checkbox/Checkbox.js +145 -178
  50. package/checkbox/Checkbox.stories.tsx +166 -136
  51. package/checkbox/Checkbox.test.js +199 -0
  52. package/checkbox/types.d.ts +18 -6
  53. package/chip/Chip.d.ts +1 -1
  54. package/chip/Chip.js +46 -124
  55. package/chip/Chip.stories.tsx +123 -30
  56. package/chip/Chip.test.js +41 -0
  57. package/chip/types.d.ts +8 -16
  58. package/common/OpenSans.css +68 -80
  59. package/common/coreTokens.d.ts +146 -0
  60. package/common/coreTokens.js +166 -0
  61. package/common/utils.d.ts +1 -0
  62. package/common/utils.js +6 -12
  63. package/common/variables.d.ts +1499 -0
  64. package/common/variables.js +1117 -1320
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +214 -0
  67. package/date-input/DateInput.js +173 -308
  68. package/date-input/DateInput.stories.tsx +203 -56
  69. package/date-input/DateInput.test.js +808 -0
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +115 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +58 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +100 -0
  76. package/date-input/types.d.ts +86 -22
  77. package/dialog/Dialog.d.ts +1 -1
  78. package/dialog/Dialog.js +70 -129
  79. package/dialog/Dialog.stories.tsx +154 -171
  80. package/dialog/Dialog.test.js +307 -0
  81. package/dialog/types.d.ts +18 -25
  82. package/dropdown/Dropdown.d.ts +1 -1
  83. package/dropdown/Dropdown.js +244 -327
  84. package/dropdown/Dropdown.stories.tsx +255 -64
  85. package/dropdown/Dropdown.test.js +599 -0
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +63 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +67 -0
  90. package/dropdown/types.d.ts +36 -27
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +224 -356
  93. package/file-input/FileInput.stories.tsx +123 -11
  94. package/file-input/FileInput.test.js +408 -0
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +50 -99
  97. package/file-input/types.d.ts +25 -8
  98. package/flex/Flex.d.ts +4 -0
  99. package/flex/Flex.js +57 -0
  100. package/flex/Flex.stories.tsx +112 -0
  101. package/flex/types.d.ts +97 -0
  102. package/flex/types.js +5 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +54 -179
  105. package/footer/Footer.stories.tsx +41 -19
  106. package/footer/Footer.test.js +85 -0
  107. package/footer/Icons.d.ts +2 -2
  108. package/footer/Icons.js +3 -8
  109. package/footer/types.d.ts +21 -22
  110. package/grid/Grid.d.ts +7 -0
  111. package/grid/Grid.js +76 -0
  112. package/grid/Grid.stories.tsx +219 -0
  113. package/grid/types.d.ts +115 -0
  114. package/grid/types.js +5 -0
  115. package/header/Header.d.ts +4 -3
  116. package/header/Header.js +104 -197
  117. package/header/Header.stories.tsx +152 -63
  118. package/header/Header.test.js +66 -0
  119. package/header/Icons.d.ts +2 -2
  120. package/header/Icons.js +4 -9
  121. package/header/types.d.ts +5 -20
  122. package/heading/Heading.js +10 -32
  123. package/heading/Heading.stories.tsx +3 -2
  124. package/heading/Heading.test.js +169 -0
  125. package/heading/types.d.ts +7 -7
  126. package/image/Image.d.ts +4 -0
  127. package/image/Image.js +70 -0
  128. package/image/Image.stories.tsx +127 -0
  129. package/image/types.d.ts +72 -0
  130. package/image/types.js +5 -0
  131. package/inset/Inset.d.ts +3 -0
  132. package/inset/Inset.js +43 -0
  133. package/inset/Inset.stories.tsx +230 -0
  134. package/inset/types.d.ts +37 -0
  135. package/inset/types.js +5 -0
  136. package/layout/ApplicationLayout.d.ts +16 -6
  137. package/layout/ApplicationLayout.js +83 -174
  138. package/layout/ApplicationLayout.stories.tsx +85 -94
  139. package/layout/Icons.d.ts +8 -0
  140. package/layout/Icons.js +51 -48
  141. package/layout/SidenavContext.d.ts +5 -0
  142. package/layout/SidenavContext.js +13 -0
  143. package/layout/types.d.ts +19 -35
  144. package/link/Link.d.ts +3 -2
  145. package/link/Link.js +64 -110
  146. package/link/Link.stories.tsx +159 -52
  147. package/link/Link.test.js +63 -0
  148. package/link/types.d.ts +15 -35
  149. package/main.d.ts +14 -16
  150. package/main.js +61 -120
  151. package/nav-tabs/NavTabs.d.ts +8 -0
  152. package/nav-tabs/NavTabs.js +90 -0
  153. package/nav-tabs/NavTabs.stories.tsx +274 -0
  154. package/nav-tabs/NavTabs.test.js +75 -0
  155. package/nav-tabs/Tab.d.ts +4 -0
  156. package/nav-tabs/Tab.js +117 -0
  157. package/nav-tabs/types.d.ts +52 -0
  158. package/nav-tabs/types.js +5 -0
  159. package/number-input/NumberInput.d.ts +7 -0
  160. package/number-input/NumberInput.js +27 -43
  161. package/number-input/NumberInput.stories.tsx +44 -28
  162. package/number-input/NumberInput.test.js +830 -0
  163. package/number-input/types.d.ts +28 -15
  164. package/package.json +44 -43
  165. package/paginator/Icons.d.ts +5 -0
  166. package/paginator/Icons.js +21 -47
  167. package/paginator/Paginator.js +33 -87
  168. package/paginator/Paginator.stories.tsx +24 -0
  169. package/paginator/Paginator.test.js +335 -0
  170. package/paginator/types.d.ts +3 -3
  171. package/paragraph/Paragraph.d.ts +5 -0
  172. package/paragraph/Paragraph.js +27 -0
  173. package/paragraph/Paragraph.stories.tsx +27 -0
  174. package/password-input/Icons.d.ts +6 -0
  175. package/password-input/Icons.js +35 -0
  176. package/password-input/PasswordInput.js +57 -123
  177. package/password-input/PasswordInput.stories.tsx +3 -34
  178. package/password-input/PasswordInput.test.js +198 -0
  179. package/password-input/types.d.ts +21 -17
  180. package/progress-bar/ProgressBar.js +67 -87
  181. package/progress-bar/ProgressBar.stories.tsx +93 -0
  182. package/progress-bar/ProgressBar.test.js +93 -0
  183. package/progress-bar/types.d.ts +3 -3
  184. package/quick-nav/QuickNav.d.ts +4 -0
  185. package/quick-nav/QuickNav.js +94 -0
  186. package/quick-nav/QuickNav.stories.tsx +356 -0
  187. package/quick-nav/types.d.ts +21 -0
  188. package/quick-nav/types.js +5 -0
  189. package/radio-group/Radio.d.ts +4 -0
  190. package/radio-group/Radio.js +124 -0
  191. package/radio-group/RadioGroup.d.ts +4 -0
  192. package/radio-group/RadioGroup.js +235 -0
  193. package/radio-group/RadioGroup.stories.tsx +214 -0
  194. package/radio-group/RadioGroup.test.js +756 -0
  195. package/radio-group/types.d.ts +114 -0
  196. package/radio-group/types.js +5 -0
  197. package/resultset-table/Icons.d.ts +7 -0
  198. package/resultset-table/Icons.js +47 -0
  199. package/resultset-table/ResultsetTable.js +159 -0
  200. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +56 -32
  201. package/resultset-table/ResultsetTable.test.js +305 -0
  202. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  203. package/resultset-table/types.js +5 -0
  204. package/select/Icons.d.ts +10 -0
  205. package/select/Icons.js +89 -0
  206. package/select/Listbox.d.ts +4 -0
  207. package/select/Listbox.js +143 -0
  208. package/select/Option.d.ts +4 -0
  209. package/select/Option.js +80 -0
  210. package/select/Select.js +210 -491
  211. package/select/Select.stories.tsx +603 -204
  212. package/select/Select.test.js +2334 -0
  213. package/select/types.d.ts +64 -25
  214. package/sidenav/Icons.d.ts +7 -0
  215. package/sidenav/Icons.js +47 -0
  216. package/sidenav/Sidenav.d.ts +6 -5
  217. package/sidenav/Sidenav.js +133 -70
  218. package/sidenav/Sidenav.stories.tsx +251 -134
  219. package/sidenav/Sidenav.test.js +37 -0
  220. package/sidenav/types.d.ts +52 -26
  221. package/slider/Slider.d.ts +2 -2
  222. package/slider/Slider.js +145 -168
  223. package/slider/Slider.test.js +254 -0
  224. package/slider/types.d.ts +11 -3
  225. package/spinner/Spinner.js +28 -64
  226. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  227. package/spinner/Spinner.test.js +55 -0
  228. package/spinner/types.d.ts +3 -3
  229. package/switch/Switch.d.ts +2 -2
  230. package/switch/Switch.js +152 -112
  231. package/switch/Switch.stories.tsx +45 -68
  232. package/switch/Switch.test.js +180 -0
  233. package/switch/types.d.ts +13 -5
  234. package/table/Table.js +7 -26
  235. package/table/{Table.stories.jsx → Table.stories.tsx} +81 -1
  236. package/table/Table.test.js +21 -0
  237. package/table/types.d.ts +8 -8
  238. package/tabs/Tab.d.ts +4 -0
  239. package/tabs/Tab.js +113 -0
  240. package/tabs/Tabs.d.ts +1 -1
  241. package/tabs/Tabs.js +318 -146
  242. package/tabs/Tabs.stories.tsx +122 -17
  243. package/tabs/Tabs.test.js +294 -0
  244. package/tabs/types.d.ts +46 -24
  245. package/tag/Tag.d.ts +1 -1
  246. package/tag/Tag.js +43 -85
  247. package/tag/Tag.stories.tsx +38 -28
  248. package/tag/Tag.test.js +49 -0
  249. package/tag/types.d.ts +25 -16
  250. package/text-input/Icons.d.ts +8 -0
  251. package/text-input/Icons.js +56 -0
  252. package/text-input/Suggestion.d.ts +4 -0
  253. package/text-input/Suggestion.js +67 -0
  254. package/text-input/Suggestions.d.ts +4 -0
  255. package/text-input/Suggestions.js +89 -0
  256. package/text-input/TextInput.js +301 -495
  257. package/text-input/TextInput.stories.tsx +280 -271
  258. package/text-input/TextInput.test.js +1739 -0
  259. package/text-input/types.d.ts +71 -25
  260. package/textarea/Textarea.js +79 -123
  261. package/textarea/Textarea.stories.tsx +175 -0
  262. package/textarea/Textarea.test.js +406 -0
  263. package/textarea/types.d.ts +27 -16
  264. package/toggle-group/ToggleGroup.d.ts +2 -2
  265. package/toggle-group/ToggleGroup.js +95 -105
  266. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  267. package/toggle-group/ToggleGroup.test.js +137 -0
  268. package/toggle-group/types.d.ts +34 -17
  269. package/typography/Typography.d.ts +4 -0
  270. package/typography/Typography.js +23 -0
  271. package/typography/Typography.stories.tsx +198 -0
  272. package/typography/types.d.ts +18 -0
  273. package/typography/types.js +5 -0
  274. package/useTheme.d.ts +1251 -1
  275. package/useTheme.js +4 -11
  276. package/useTranslatedLabels.d.ts +85 -0
  277. package/useTranslatedLabels.js +14 -0
  278. package/utils/BaseTypography.d.ts +21 -0
  279. package/utils/BaseTypography.js +94 -0
  280. package/utils/FocusLock.d.ts +13 -0
  281. package/utils/FocusLock.js +114 -0
  282. package/wizard/Wizard.d.ts +1 -1
  283. package/wizard/Wizard.js +70 -101
  284. package/wizard/Wizard.stories.tsx +48 -19
  285. package/wizard/Wizard.test.js +114 -0
  286. package/wizard/types.d.ts +12 -8
  287. package/ThemeContext.d.ts +0 -15
  288. package/ThemeContext.js +0 -243
  289. package/V3Select/V3Select.js +0 -455
  290. package/V3Select/index.d.ts +0 -27
  291. package/V3Textarea/V3Textarea.js +0 -260
  292. package/V3Textarea/index.d.ts +0 -27
  293. package/card/ice-cream.jpg +0 -0
  294. package/common/RequiredComponent.js +0 -32
  295. package/date/Date.js +0 -373
  296. package/date/index.d.ts +0 -27
  297. package/input-text/Icons.js +0 -22
  298. package/input-text/InputText.js +0 -611
  299. package/input-text/index.d.ts +0 -36
  300. package/list/List.d.ts +0 -8
  301. package/list/List.js +0 -47
  302. package/list/List.stories.tsx +0 -85
  303. package/number-input/NumberInputContext.d.ts +0 -4
  304. package/number-input/NumberInputContext.js +0 -19
  305. package/number-input/numberInputContextTypes.d.ts +0 -19
  306. package/progress-bar/ProgressBar.stories.jsx +0 -58
  307. package/radio/Radio.d.ts +0 -4
  308. package/radio/Radio.js +0 -174
  309. package/radio/Radio.stories.tsx +0 -192
  310. package/radio/types.d.ts +0 -54
  311. package/resultsetTable/ResultsetTable.js +0 -251
  312. package/row/Row.d.ts +0 -11
  313. package/row/Row.js +0 -124
  314. package/row/Row.stories.tsx +0 -223
  315. package/slider/Slider.stories.tsx +0 -177
  316. package/stack/Stack.d.ts +0 -10
  317. package/stack/Stack.js +0 -94
  318. package/stack/Stack.stories.tsx +0 -150
  319. package/text/Text.d.ts +0 -7
  320. package/text/Text.js +0 -30
  321. package/text/Text.stories.tsx +0 -19
  322. package/textarea/Textarea.stories.jsx +0 -135
  323. package/toggle/Toggle.js +0 -186
  324. package/toggle/index.d.ts +0 -21
  325. package/upload/Upload.js +0 -201
  326. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  327. package/upload/buttons-upload/Icons.js +0 -40
  328. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  329. package/upload/dragAndDropArea/Icons.js +0 -39
  330. package/upload/file-upload/FileToUpload.js +0 -115
  331. package/upload/file-upload/Icons.js +0 -66
  332. package/upload/files-upload/FilesToUpload.js +0 -109
  333. package/upload/index.d.ts +0 -15
  334. package/upload/transaction/Icons.js +0 -160
  335. package/upload/transaction/Transaction.js +0 -104
  336. package/upload/transactions/Transactions.js +0 -94
  337. /package/{radio → badge}/types.js +0 -0
  338. /package/{resultsetTable → bleed}/types.js +0 -0
  339. /package/{number-input/numberInputContextTypes.js → bulleted-list/types.js} +0 -0
  340. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -1,18 +1,16 @@
1
1
  import React from "react";
2
2
  import DxcApplicationLayout from "./ApplicationLayout";
3
- import DxcSidenav from "../sidenav/Sidenav";
4
3
  import Title from "../../.storybook/components/Title";
5
- import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
6
- import { userEvent, within, waitFor } from "@storybook/testing-library";
4
+ import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
7
5
 
8
6
  export default {
9
- title: "Application Layout ",
7
+ title: "Application Layout",
10
8
  component: DxcApplicationLayout,
11
9
  parameters: {
12
10
  viewport: {
13
11
  viewports: INITIAL_VIEWPORTS,
14
- }
15
- }
12
+ },
13
+ },
16
14
  };
17
15
 
18
16
  export const DefaultApplicationLayout = () => (
@@ -31,57 +29,25 @@ export const DefaultApplicationLayout = () => (
31
29
 
32
30
  export const ApplicationLayoutWithDefaultSidenav = () => (
33
31
  <>
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>
32
+ <DxcApplicationLayout
33
+ sidenav={
34
+ <DxcApplicationLayout.SideNav
35
+ title={
36
+ <DxcApplicationLayout.SideNav.Title>
37
+ Application layout with push sidenav
38
+ </DxcApplicationLayout.SideNav.Title>
39
+ }
40
+ >
41
+ <DxcApplicationLayout.SideNav.Section>
42
+ <p>SideNav Content</p>
43
+ <p>SideNav Content</p>
44
+ <p>SideNav Content</p>
45
+ <p>SideNav Content</p>
46
+ <p>SideNav Content</p>
47
+ </DxcApplicationLayout.SideNav.Section>
48
+ </DxcApplicationLayout.SideNav>
49
+ }
50
+ >
85
51
  <DxcApplicationLayout.Main>
86
52
  <p>Main Content</p>
87
53
  <p>Main Content</p>
@@ -94,15 +60,26 @@ export const ApplicationLayoutWithArrowSidenav = () => (
94
60
 
95
61
  export const ApplicationLayoutWithResponsiveSidenav = () => (
96
62
  <>
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>
63
+ <DxcApplicationLayout
64
+ visibilityToggleLabel="Example"
65
+ sidenav={
66
+ <DxcApplicationLayout.SideNav
67
+ title={
68
+ <DxcApplicationLayout.SideNav.Title>
69
+ Application layout with push sidenav
70
+ </DxcApplicationLayout.SideNav.Title>
71
+ }
72
+ >
73
+ <DxcApplicationLayout.SideNav.Section>
74
+ <p>SideNav Content</p>
75
+ <p>SideNav Content</p>
76
+ <p>SideNav Content</p>
77
+ <p>SideNav Content</p>
78
+ <p>SideNav Content</p>
79
+ </DxcApplicationLayout.SideNav.Section>
80
+ </DxcApplicationLayout.SideNav>
81
+ }
82
+ >
106
83
  <DxcApplicationLayout.Main>
107
84
  <p>Main Content</p>
108
85
  <p>Main Content</p>
@@ -115,22 +92,33 @@ export const ApplicationLayoutWithResponsiveSidenav = () => (
115
92
 
116
93
  ApplicationLayoutWithResponsiveSidenav.parameters = {
117
94
  viewport: {
118
- defaultViewport: 'pixel',
95
+ defaultViewport: "pixel",
119
96
  },
97
+ chromatic: { viewports: [540] },
120
98
  };
121
99
 
122
100
  export const ApplicationLayoutWithCustomHeader = () => (
123
101
  <>
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>
102
+ <DxcApplicationLayout
103
+ header={<p>Custom Header</p>}
104
+ sidenav={
105
+ <DxcApplicationLayout.SideNav
106
+ title={
107
+ <DxcApplicationLayout.SideNav.Title>
108
+ Application layout with push sidenav
109
+ </DxcApplicationLayout.SideNav.Title>
110
+ }
111
+ >
112
+ <DxcApplicationLayout.SideNav.Section>
113
+ <p>SideNav Content</p>
114
+ <p>SideNav Content</p>
115
+ <p>SideNav Content</p>
116
+ <p>SideNav Content</p>
117
+ <p>SideNav Content</p>
118
+ </DxcApplicationLayout.SideNav.Section>
119
+ </DxcApplicationLayout.SideNav>
120
+ }
121
+ >
134
122
  <DxcApplicationLayout.Main>
135
123
  <p>Main Content</p>
136
124
  <p>Main Content</p>
@@ -143,29 +131,32 @@ export const ApplicationLayoutWithCustomHeader = () => (
143
131
 
144
132
  export const ApplicationLayoutWithCustomFooter = () => (
145
133
  <>
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>
134
+ <DxcApplicationLayout
135
+ footer={<p>Custom Footer</p>}
136
+ sidenav={
137
+ <DxcApplicationLayout.SideNav
138
+ title={
139
+ <DxcApplicationLayout.SideNav.Title>
140
+ Application layout with push sidenav
141
+ </DxcApplicationLayout.SideNav.Title>
142
+ }
143
+ >
144
+ <DxcApplicationLayout.SideNav.Section>
145
+ <p>SideNav Content</p>
146
+ <p>SideNav Content</p>
147
+ <p>SideNav Content</p>
148
+ <p>SideNav Content</p>
149
+ <p>SideNav Content</p>
150
+ </DxcApplicationLayout.SideNav.Section>
151
+ </DxcApplicationLayout.SideNav>
152
+ }
153
+ >
155
154
  <DxcApplicationLayout.Main>
156
155
  <p>Main Content</p>
157
156
  <p>Main Content</p>
158
157
  <p>Main Content</p>
159
158
  <p>Main Content</p>
160
159
  </DxcApplicationLayout.Main>
161
- <DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
162
160
  </DxcApplicationLayout>
163
161
  </>
164
162
  );
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
- };
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ declare const layoutIcons: {
3
+ facebookLogo: React.JSX.Element;
4
+ xLogo: React.JSX.Element;
5
+ linkedinLogo: React.JSX.Element;
6
+ hamburgerIcon: React.JSX.Element;
7
+ };
8
+ export default layoutIcons;
package/layout/Icons.js CHANGED
@@ -1,55 +1,58 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.twitterLogo = exports.linkedinLogo = exports.facebookLogo = void 0;
9
-
7
+ exports["default"] = void 0;
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var facebookLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
- version: "1.1",
14
- id: "Capa_1",
15
- x: "0px",
16
- y: "0px",
17
- width: "438.536px",
18
- height: "438.536px",
19
- viewBox: "0 0 438.536 438.536",
20
- fill: "#FFFFFF"
21
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
22
- d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402 c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401 c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
23
- })));
24
-
25
- exports.facebookLogo = facebookLogo;
26
-
27
- var twitterLogo = /*#__PURE__*/_react["default"].createElement("svg", {
28
- version: "1.1",
29
- id: "Capa_1",
30
- x: "0px",
31
- y: "0px",
32
- width: "438.536px",
33
- height: "438.536px",
34
- viewBox: "0 0 438.536 438.536",
35
- fill: "#FFFFFF"
36
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
37
- d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M335.471,168.735c0.191,1.713,0.288,4.278,0.288,7.71 c0,15.989-2.334,32.025-6.995,48.104c-4.661,16.087-11.8,31.504-21.416,46.254c-9.606,14.749-21.074,27.791-34.396,39.115 c-13.325,11.32-29.311,20.365-47.968,27.117c-18.648,6.762-38.637,10.143-59.953,10.143c-33.116,0-63.76-8.952-91.931-26.836 c4.568,0.568,9.329,0.855,14.275,0.855c27.6,0,52.439-8.565,74.519-25.7c-12.941-0.185-24.506-4.179-34.688-11.991 c-10.185-7.803-17.273-17.699-21.271-29.691c4.947,0.76,8.658,1.137,11.132,1.137c4.187,0,9.042-0.76,14.56-2.279 c-13.894-2.669-25.598-9.562-35.115-20.697c-9.519-11.136-14.277-23.84-14.277-38.114v-0.571 c10.085,4.755,19.602,7.229,28.549,7.422c-17.321-11.613-25.981-28.265-25.981-49.963c0-10.66,2.758-20.747,8.278-30.264 c15.035,18.464,33.311,33.213,54.816,44.252c21.507,11.038,44.54,17.227,69.092,18.558c-0.95-3.616-1.427-8.186-1.427-13.704 c0-16.562,5.853-30.692,17.56-42.399c11.703-11.706,25.837-17.561,42.394-17.561c17.515,0,32.079,6.283,43.688,18.846 c13.134-2.474,25.892-7.33,38.26-14.56c-4.757,14.652-13.613,25.788-26.55,33.402c12.368-1.716,23.88-4.95,34.537-9.708 C357.458,149.793,347.462,160.166,335.471,168.735z"
38
- })));
39
-
40
- exports.twitterLogo = twitterLogo;
41
-
42
- var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
43
- version: "1.1",
44
- id: "Capa_1",
45
- x: "0px",
46
- y: "0px",
47
- width: "438.536px",
48
- height: "438.536px",
49
- viewBox: "0 0 438.536 438.536",
50
- fill: "#FFFFFF"
51
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
52
- d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
53
- })));
54
-
55
- exports.linkedinLogo = linkedinLogo;
9
+ var layoutIcons = {
10
+ facebookLogo: /*#__PURE__*/_react["default"].createElement("svg", {
11
+ version: "1.1",
12
+ id: "Capa_1",
13
+ x: "0px",
14
+ y: "0px",
15
+ width: "438.536px",
16
+ height: "438.536px",
17
+ viewBox: "0 0 438.536 438.536",
18
+ fill: "#FFFFFF"
19
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
20
+ d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402 c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401 c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
21
+ }))),
22
+ xLogo: /*#__PURE__*/_react["default"].createElement("svg", {
23
+ width: "256",
24
+ height: "256",
25
+ viewBox: "0 0 256 256",
26
+ fill: "none",
27
+ xmlns: "http://www.w3.org/2000/svg"
28
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
29
+ width: "256",
30
+ height: "256",
31
+ rx: "40",
32
+ fill: "white"
33
+ }), /*#__PURE__*/_react["default"].createElement("path", {
34
+ d: "M140.192 118.205L187.848 64H176.556L135.158 111.056L102.117 64H64L113.975 135.163L64 192H75.2914L118.982 142.296L153.883 192H192L140.192 118.205ZM124.722 135.787L119.65 128.697L79.3634 72.3294H96.7094L129.232 117.837L134.282 124.927L176.551 184.076H159.205L124.722 135.787Z",
35
+ fill: "#0F1419"
36
+ })),
37
+ linkedinLogo: /*#__PURE__*/_react["default"].createElement("svg", {
38
+ version: "1.1",
39
+ id: "Capa_1",
40
+ x: "0px",
41
+ y: "0px",
42
+ width: "438.536px",
43
+ height: "438.536px",
44
+ viewBox: "0 0 438.536 438.536",
45
+ fill: "#FFFFFF"
46
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
47
+ d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
48
+ }))),
49
+ hamburgerIcon: /*#__PURE__*/_react["default"].createElement("svg", {
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ height: "24",
52
+ width: "24",
53
+ viewBox: "0 0 24 24"
54
+ }, /*#__PURE__*/_react["default"].createElement("path", {
55
+ d: "M3 18V16H21V18ZM3 13V11H21V13ZM3 8V6H21V8Z"
56
+ }))
57
+ };
58
+ var _default = exports["default"] = layoutIcons;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ type SidenavContextType = (isSidenavVisible: boolean) => void;
3
+ export declare const SidenavContextProvider: import("react").Provider<SidenavContextType>;
4
+ export declare const useResponsiveSidenavVisibility: () => SidenavContextType;
5
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
7
+ var _react = require("react");
8
+ var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
9
+ var SidenavContextProvider = exports.SidenavContextProvider = SidenavContext.Provider;
10
+ var useResponsiveSidenavVisibility = exports.useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
11
+ var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
12
+ return changeResponsiveSidenavVisibility;
13
+ };
package/layout/types.d.ts CHANGED
@@ -1,57 +1,41 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Padding = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- declare type ChildrenType = AppLayoutHeaderPropsType | AppLayoutMainPropsType | AppLayoutFooterPropsType | AppLayoutSidenavPropsType;
10
- export declare type AppLayoutHeaderPropsType = {
2
+ export type AppLayoutMainPropsType = {
11
3
  /**
12
- * Everything between this tags will be displayed as a header, at the top of the screen.
13
- * This is optional and if it is not specified, the DxcHeader will be shown by default.
4
+ * Everything between the tags will be displayed as the content of the main part of the application.
14
5
  */
15
- children?: React.ReactNode;
6
+ children: React.ReactNode;
16
7
  };
17
- export declare type AppLayoutMainPropsType = {
8
+ export type AppLayoutSidenavPropsType = {
18
9
  /**
19
- * Everything between the tags will be displayed as the content of the main part of the application.
10
+ * The area inside the sidenav. This area can be used to render the content inside the sidenav.
20
11
  */
21
12
  children: React.ReactNode;
22
- };
23
- export declare type AppLayoutFooterPropsType = {
24
13
  /**
25
- * Everything between the tags will be displayed as a footer, at the bottom of the screen.
26
- * This is optional and if it is not specified, the DxcFooter will be shown by default.
14
+ * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
27
15
  */
28
- children?: React.ReactNode;
16
+ title?: React.ReactNode;
29
17
  };
30
- export declare type AppLayoutSidenavPropsType = {
18
+ type AppLayoutPropsType = {
31
19
  /**
32
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
33
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
20
+ * Text to be placed next to the hamburger button that toggles the
21
+ * visibility of the sidenav.
34
22
  */
35
- padding?: Space | Padding;
23
+ visibilityToggleLabel?: string;
36
24
  /**
37
- * The area inside the sidenav. This area can be used to render custom content.
25
+ * Header content.
38
26
  */
39
- children: React.ReactNode;
27
+ header?: React.ReactNode;
40
28
  /**
41
- * If false, the arrow button is hidden.
42
- * In lower resolutions the arrow will be always displayed.
29
+ * Sidenav content
43
30
  */
44
- displayArrow?: boolean;
31
+ sidenav?: React.ReactNode;
45
32
  /**
46
- * Default action over the content of the page, overlay the content or push to the right ('push' | 'overlay').
47
- * In lower resolutions the mode will always be overlay.
33
+ * Footer content
48
34
  */
49
- mode: "push" | "overlay";
50
- };
51
- declare type AppLayoutPropsType = {
35
+ footer?: React.ReactNode;
52
36
  /**
53
- * The area inside the sidenav. This area can be used to render custom content.
37
+ * Use the DxcApplicationLayout.Main provided to render main content.
54
38
  */
55
- children: React.ReactElement<ChildrenType> | React.ReactElement<ChildrenType>[];
39
+ children: React.ReactElement<AppLayoutMainPropsType>;
56
40
  };
57
41
  export default AppLayoutPropsType;
package/link/Link.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import Overload from "./types";
2
- declare const DxcLink: Overload;
1
+ import React from "react";
2
+ import { LinkProps } from "./types";
3
+ declare const DxcLink: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
3
4
  export default DxcLink;