@dxc-technology/halstack-react 0.0.0-ba408d4 → 0.0.0-bb8df10

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 (351) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +18 -81
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -76
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +7 -23
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +28 -64
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +61 -87
  45. package/button/Button.stories.tsx +259 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +14 -18
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +67 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +4 -0
  56. package/checkbox/Checkbox.js +45 -63
  57. package/checkbox/Checkbox.stories.tsx +188 -0
  58. package/checkbox/Checkbox.test.js +78 -0
  59. package/checkbox/types.d.ts +64 -0
  60. package/checkbox/types.js +5 -0
  61. package/chip/Chip.d.ts +4 -0
  62. package/chip/Chip.js +16 -76
  63. package/chip/Chip.stories.tsx +119 -0
  64. package/chip/Chip.test.js +56 -0
  65. package/chip/types.d.ts +45 -0
  66. package/chip/types.js +5 -0
  67. package/common/variables.js +316 -377
  68. package/date-input/DateInput.d.ts +4 -0
  69. package/date-input/DateInput.js +65 -89
  70. package/date-input/DateInput.stories.tsx +138 -0
  71. package/date-input/DateInput.test.js +479 -0
  72. package/date-input/types.d.ts +107 -0
  73. package/date-input/types.js +5 -0
  74. package/dialog/Dialog.d.ts +4 -0
  75. package/dialog/Dialog.js +52 -74
  76. package/dialog/Dialog.stories.tsx +211 -0
  77. package/dialog/Dialog.test.js +70 -0
  78. package/dialog/types.d.ts +43 -0
  79. package/dialog/types.js +5 -0
  80. package/dropdown/Dropdown.d.ts +4 -0
  81. package/dropdown/Dropdown.js +239 -302
  82. package/dropdown/Dropdown.stories.tsx +312 -0
  83. package/dropdown/Dropdown.test.js +591 -0
  84. package/dropdown/DropdownMenu.d.ts +4 -0
  85. package/dropdown/DropdownMenu.js +80 -0
  86. package/dropdown/DropdownMenuItem.d.ts +4 -0
  87. package/dropdown/DropdownMenuItem.js +92 -0
  88. package/dropdown/types.d.ts +100 -0
  89. package/dropdown/types.js +5 -0
  90. package/file-input/FileInput.d.ts +4 -0
  91. package/file-input/FileInput.js +172 -111
  92. package/file-input/FileInput.stories.tsx +507 -0
  93. package/file-input/FileInput.test.js +457 -0
  94. package/file-input/FileItem.d.ts +14 -0
  95. package/file-input/FileItem.js +16 -23
  96. package/file-input/types.d.ts +112 -0
  97. package/file-input/types.js +5 -0
  98. package/flex/Flex.d.ts +4 -0
  99. package/flex/Flex.js +57 -0
  100. package/flex/Flex.stories.tsx +103 -0
  101. package/flex/types.d.ts +21 -0
  102. package/flex/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +36 -148
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +4 -4
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +119 -140
  113. package/header/Header.stories.tsx +172 -0
  114. package/header/Header.test.js +79 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/header/Icons.js +4 -29
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/heading/Heading.js +7 -24
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +51 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +20 -0
  131. package/layout/ApplicationLayout.js +71 -135
  132. package/layout/ApplicationLayout.stories.tsx +161 -0
  133. package/layout/Icons.d.ts +5 -0
  134. package/layout/Icons.js +13 -2
  135. package/layout/SidenavContext.d.ts +5 -0
  136. package/layout/SidenavContext.js +19 -0
  137. package/layout/types.d.ts +42 -0
  138. package/layout/types.js +5 -0
  139. package/link/Link.d.ts +4 -0
  140. package/link/Link.js +60 -107
  141. package/link/Link.stories.tsx +193 -0
  142. package/link/Link.test.js +83 -0
  143. package/link/types.d.ts +54 -0
  144. package/link/types.js +5 -0
  145. package/main.d.ts +12 -12
  146. package/main.js +64 -58
  147. package/number-input/NumberInput.d.ts +4 -0
  148. package/number-input/NumberInput.js +16 -68
  149. package/number-input/NumberInput.stories.tsx +115 -0
  150. package/number-input/NumberInput.test.js +506 -0
  151. package/number-input/NumberInputContext.d.ts +4 -0
  152. package/number-input/NumberInputContext.js +5 -2
  153. package/number-input/numberInputContextTypes.d.ts +19 -0
  154. package/number-input/numberInputContextTypes.js +5 -0
  155. package/number-input/types.d.ts +124 -0
  156. package/number-input/types.js +5 -0
  157. package/package.json +17 -13
  158. package/paginator/Paginator.js +19 -46
  159. package/paginator/Paginator.stories.tsx +63 -0
  160. package/paginator/Paginator.test.js +308 -0
  161. package/paragraph/Paragraph.d.ts +6 -0
  162. package/paragraph/Paragraph.js +38 -0
  163. package/paragraph/Paragraph.stories.tsx +44 -0
  164. package/password-input/PasswordInput.d.ts +4 -0
  165. package/password-input/PasswordInput.js +24 -57
  166. package/password-input/PasswordInput.stories.tsx +131 -0
  167. package/password-input/PasswordInput.test.js +180 -0
  168. package/password-input/types.d.ts +110 -0
  169. package/password-input/types.js +5 -0
  170. package/progress-bar/ProgressBar.d.ts +4 -0
  171. package/progress-bar/ProgressBar.js +60 -72
  172. package/progress-bar/ProgressBar.stories.jsx +60 -0
  173. package/progress-bar/ProgressBar.test.js +110 -0
  174. package/progress-bar/types.d.ts +36 -0
  175. package/progress-bar/types.js +5 -0
  176. package/quick-nav/QuickNav.d.ts +4 -0
  177. package/quick-nav/QuickNav.js +118 -0
  178. package/quick-nav/QuickNav.stories.tsx +264 -0
  179. package/quick-nav/types.d.ts +21 -0
  180. package/quick-nav/types.js +5 -0
  181. package/radio-group/Radio.d.ts +4 -0
  182. package/radio-group/Radio.js +141 -0
  183. package/radio-group/RadioGroup.d.ts +4 -0
  184. package/radio-group/RadioGroup.js +281 -0
  185. package/radio-group/RadioGroup.stories.tsx +100 -0
  186. package/radio-group/RadioGroup.test.js +695 -0
  187. package/radio-group/types.d.ts +114 -0
  188. package/radio-group/types.js +5 -0
  189. package/resultsetTable/ResultsetTable.d.ts +4 -0
  190. package/resultsetTable/ResultsetTable.js +9 -29
  191. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  192. package/resultsetTable/ResultsetTable.test.js +348 -0
  193. package/resultsetTable/types.d.ts +67 -0
  194. package/resultsetTable/types.js +5 -0
  195. package/select/Icons.d.ts +10 -0
  196. package/select/Icons.js +93 -0
  197. package/select/Listbox.d.ts +4 -0
  198. package/select/Listbox.js +199 -0
  199. package/select/Option.d.ts +4 -0
  200. package/select/Option.js +110 -0
  201. package/select/Select.d.ts +4 -0
  202. package/select/Select.js +158 -380
  203. package/select/Select.stories.tsx +627 -0
  204. package/select/Select.test.js +2175 -0
  205. package/select/types.d.ts +210 -0
  206. package/select/types.js +5 -0
  207. package/sidenav/Sidenav.d.ts +10 -0
  208. package/sidenav/Sidenav.js +186 -63
  209. package/sidenav/Sidenav.stories.tsx +180 -0
  210. package/sidenav/Sidenav.test.js +44 -0
  211. package/sidenav/types.d.ts +73 -0
  212. package/sidenav/types.js +5 -0
  213. package/slider/Slider.d.ts +4 -0
  214. package/slider/Slider.js +147 -154
  215. package/slider/Slider.stories.tsx +183 -0
  216. package/slider/Slider.test.js +250 -0
  217. package/slider/types.d.ts +82 -0
  218. package/slider/types.js +5 -0
  219. package/spinner/Spinner.d.ts +4 -0
  220. package/spinner/Spinner.js +9 -26
  221. package/spinner/Spinner.stories.jsx +103 -0
  222. package/spinner/Spinner.test.js +64 -0
  223. package/spinner/types.d.ts +32 -0
  224. package/spinner/types.js +5 -0
  225. package/switch/Switch.d.ts +4 -0
  226. package/switch/Switch.js +129 -86
  227. package/switch/Switch.stories.tsx +138 -0
  228. package/switch/Switch.test.js +212 -0
  229. package/switch/types.d.ts +61 -0
  230. package/switch/types.js +5 -0
  231. package/table/Table.d.ts +4 -0
  232. package/table/Table.js +3 -3
  233. package/table/Table.stories.jsx +277 -0
  234. package/table/Table.test.js +26 -0
  235. package/table/types.d.ts +21 -0
  236. package/table/types.js +5 -0
  237. package/tabs/Tab.d.ts +4 -0
  238. package/tabs/Tab.js +135 -0
  239. package/tabs/Tabs.d.ts +4 -0
  240. package/tabs/Tabs.js +364 -156
  241. package/tabs/Tabs.stories.tsx +186 -0
  242. package/tabs/Tabs.test.js +351 -0
  243. package/tabs/types.d.ts +92 -0
  244. package/tabs/types.js +5 -0
  245. package/tabs-nav/NavTabs.d.ts +8 -0
  246. package/tabs-nav/NavTabs.js +125 -0
  247. package/tabs-nav/NavTabs.stories.tsx +170 -0
  248. package/tabs-nav/NavTabs.test.js +82 -0
  249. package/tabs-nav/Tab.d.ts +4 -0
  250. package/tabs-nav/Tab.js +130 -0
  251. package/tabs-nav/types.d.ts +53 -0
  252. package/tabs-nav/types.js +5 -0
  253. package/tag/Tag.d.ts +4 -0
  254. package/tag/Tag.js +34 -59
  255. package/tag/Tag.stories.tsx +142 -0
  256. package/tag/Tag.test.js +60 -0
  257. package/tag/types.d.ts +69 -0
  258. package/tag/types.js +5 -0
  259. package/text-input/Suggestion.d.ts +4 -0
  260. package/text-input/Suggestion.js +55 -0
  261. package/text-input/TextInput.d.ts +4 -0
  262. package/text-input/TextInput.js +103 -167
  263. package/text-input/TextInput.stories.tsx +473 -0
  264. package/text-input/TextInput.test.js +1712 -0
  265. package/text-input/types.d.ts +178 -0
  266. package/text-input/types.js +5 -0
  267. package/textarea/Textarea.d.ts +4 -0
  268. package/textarea/Textarea.js +39 -79
  269. package/textarea/Textarea.stories.jsx +157 -0
  270. package/textarea/Textarea.test.js +437 -0
  271. package/textarea/types.d.ts +137 -0
  272. package/textarea/types.js +5 -0
  273. package/toggle-group/ToggleGroup.d.ts +4 -0
  274. package/toggle-group/ToggleGroup.js +18 -46
  275. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  276. package/toggle-group/ToggleGroup.test.js +156 -0
  277. package/toggle-group/types.d.ts +105 -0
  278. package/toggle-group/types.js +5 -0
  279. package/typography/Typography.d.ts +4 -0
  280. package/typography/Typography.js +131 -0
  281. package/typography/Typography.stories.tsx +198 -0
  282. package/typography/types.d.ts +18 -0
  283. package/typography/types.js +5 -0
  284. package/useTheme.d.ts +2 -0
  285. package/useTheme.js +2 -2
  286. package/useTranslatedLabels.d.ts +2 -0
  287. package/useTranslatedLabels.js +20 -0
  288. package/wizard/Wizard.d.ts +4 -0
  289. package/wizard/Wizard.js +118 -104
  290. package/wizard/Wizard.stories.tsx +233 -0
  291. package/wizard/Wizard.test.js +141 -0
  292. package/wizard/types.d.ts +65 -0
  293. package/wizard/types.js +5 -0
  294. package/ThemeContext.js +0 -246
  295. package/V3Select/V3Select.js +0 -455
  296. package/V3Select/index.d.ts +0 -27
  297. package/V3Textarea/V3Textarea.js +0 -260
  298. package/V3Textarea/index.d.ts +0 -27
  299. package/accordion/index.d.ts +0 -28
  300. package/accordion-group/index.d.ts +0 -16
  301. package/alert/index.d.ts +0 -51
  302. package/box/index.d.ts +0 -25
  303. package/card/index.d.ts +0 -22
  304. package/checkbox/index.d.ts +0 -24
  305. package/chip/index.d.ts +0 -22
  306. package/date/Date.js +0 -373
  307. package/date/index.d.ts +0 -27
  308. package/date-input/index.d.ts +0 -95
  309. package/dialog/index.d.ts +0 -18
  310. package/dropdown/index.d.ts +0 -26
  311. package/file-input/index.d.ts +0 -81
  312. package/footer/index.d.ts +0 -25
  313. package/header/index.d.ts +0 -25
  314. package/heading/index.d.ts +0 -17
  315. package/input-text/Icons.js +0 -22
  316. package/input-text/InputText.js +0 -611
  317. package/input-text/index.d.ts +0 -36
  318. package/link/index.d.ts +0 -23
  319. package/number-input/index.d.ts +0 -113
  320. package/password-input/index.d.ts +0 -94
  321. package/progress-bar/index.d.ts +0 -18
  322. package/radio/Radio.js +0 -195
  323. package/radio/index.d.ts +0 -23
  324. package/resultsetTable/index.d.ts +0 -19
  325. package/select/index.d.ts +0 -131
  326. package/sidenav/index.d.ts +0 -13
  327. package/slider/index.d.ts +0 -29
  328. package/spinner/index.d.ts +0 -17
  329. package/switch/index.d.ts +0 -24
  330. package/table/index.d.ts +0 -13
  331. package/tabs/index.d.ts +0 -19
  332. package/tag/index.d.ts +0 -24
  333. package/text-input/index.d.ts +0 -135
  334. package/textarea/index.d.ts +0 -117
  335. package/toggle/Toggle.js +0 -186
  336. package/toggle/index.d.ts +0 -21
  337. package/toggle-group/index.d.ts +0 -21
  338. package/upload/Upload.js +0 -201
  339. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  340. package/upload/buttons-upload/Icons.js +0 -40
  341. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  342. package/upload/dragAndDropArea/Icons.js +0 -39
  343. package/upload/file-upload/FileToUpload.js +0 -115
  344. package/upload/file-upload/Icons.js +0 -66
  345. package/upload/files-upload/FilesToUpload.js +0 -109
  346. package/upload/index.d.ts +0 -15
  347. package/upload/transaction/Icons.js +0 -160
  348. package/upload/transaction/Transaction.js +0 -104
  349. package/upload/transactions/Transactions.js +0 -94
  350. package/wizard/Icons.js +0 -65
  351. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Padding = {
10
+ top?: Space;
11
+ bottom?: Space;
12
+ left?: Space;
13
+ right?: Space;
14
+ };
15
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
16
+ export declare type AccordionPropsType = {
17
+ /**
18
+ * The panel label.
19
+ */
20
+ label: string;
21
+ /**
22
+ * Element or path used as the icon that will be placed next to panel label.
23
+ */
24
+ icon?: string | SVG;
25
+ /**
26
+ * Assistive text to be placed on the right side of the panel.
27
+ */
28
+ assistiveText?: string;
29
+ /**
30
+ * If true, the component will be disabled.
31
+ */
32
+ disabled?: boolean;
33
+ /**
34
+ * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
35
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
36
+ */
37
+ padding?: Space | Padding;
38
+ /**
39
+ * The expanded panel of the accordion. This area can be used to render
40
+ * custom content.
41
+ */
42
+ children: React.ReactNode;
43
+ };
44
+ declare type Props = {
45
+ /**
46
+ * Initially active accordion, only when it is uncontrolled.
47
+ */
48
+ defaultIndexActive?: number;
49
+ /**
50
+ * The index of the active accordion. If undefined, the component will be uncontrolled and the active accordion will be managed internally by the component.
51
+ * If null, the component will be controlled and all accordions will be closed.
52
+ */
53
+ indexActive?: number;
54
+ /**
55
+ * If true, the component will be disabled.
56
+ */
57
+ disabled?: boolean;
58
+ /**
59
+ * This function will be called when the user clicks on an accordion. The index of the clicked accordion will be passed as a parameter.
60
+ */
61
+ onActiveChange?: (indexActive: number) => void;
62
+ /**
63
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
64
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
65
+ */
66
+ margin?: Space | Margin;
67
+ /**
68
+ * Customized accordion(s) that are allowed inside an Accordion Group.
69
+ */
70
+ children: React.ReactElement<AccordionPropsType>[] | React.ReactElement<AccordionPropsType>;
71
+ };
72
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import AlertPropsType from "./types";
3
+ declare const DxcAlert: ({ type, mode, inlineText, onClose, children, margin, size, tabIndex, }: AlertPropsType) => JSX.Element;
4
+ export default DxcAlert;
package/alert/Alert.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -19,15 +17,15 @@ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
20
  var _variables = require("../common/variables.js");
25
21
 
26
22
  var _utils = require("../common/utils.js");
27
23
 
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
25
 
30
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
+
28
+ var _BackgroundColorContext = require("../BackgroundColorContext");
31
29
 
32
30
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
33
31
 
@@ -113,9 +111,10 @@ var DxcAlert = function DxcAlert(_ref) {
113
111
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
114
112
  tabIndex = _ref.tabIndex;
115
113
  var colorsTheme = (0, _useTheme["default"])();
114
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
116
115
 
117
116
  var getTypeText = function getTypeText() {
118
- return type === "info" ? "information" : type === "confirm" ? "success" : type === "warning" ? "warning" : "error";
117
+ return type === "info" ? translatedLabels.alert.infoTitleText : type === "confirm" ? translatedLabels.alert.successTitleText : type === "warning" ? translatedLabels.alert.warningTitleText : translatedLabels.alert.errorTitleText;
119
118
  };
120
119
 
121
120
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
@@ -134,7 +133,7 @@ var DxcAlert = function DxcAlert(_ref) {
134
133
  type: type
135
134
  }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), /*#__PURE__*/_react["default"].createElement(AlertText, null, /*#__PURE__*/_react["default"].createElement(AlertTitle, {
136
135
  type: type
137
- }, getTypeText(type)), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
136
+ }, getTypeText()), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
138
137
  onClick: onClose,
139
138
  tabIndex: tabIndex
140
139
  }, alertIcons.close)), children && /*#__PURE__*/_react["default"].createElement(AlertContent, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
@@ -290,20 +289,5 @@ var AlertCloseAction = _styledComponents["default"].button(_templateObject10 ||
290
289
  return props.theme.activeActionBackgroundColor;
291
290
  });
292
291
 
293
- DxcAlert.propTypes = {
294
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
295
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
296
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
297
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
298
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
299
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
300
- type: _propTypes["default"].oneOf(["info", "confirm", "warning", "error"]),
301
- mode: _propTypes["default"].oneOf(["inline", "modal"]),
302
- inlineText: _propTypes["default"].string,
303
- onClose: _propTypes["default"].func,
304
- children: _propTypes["default"].element,
305
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
306
- tabIndex: _propTypes["default"].number
307
- };
308
292
  var _default = DxcAlert;
309
293
  exports["default"] = _default;
@@ -0,0 +1,170 @@
1
+ import React from "react";
2
+ import DxcAlert from "./Alert";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ export default {
7
+ title: "Alert",
8
+ component: DxcAlert,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <ExampleContainer>
14
+ <Title title="Info" theme="light" level={4} />
15
+ <DxcAlert inlineText="Info type alert with inline text." />
16
+ </ExampleContainer>
17
+ <ExampleContainer>
18
+ <Title title="Confirm" theme="light" level={4} />
19
+ <DxcAlert type="confirm" inlineText="Confirm type alert with inline text." />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Warning" theme="light" level={4} />
23
+ <DxcAlert type="warning" inlineText="Warning type alert with inline text." />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Error" theme="light" level={4} />
27
+ <DxcAlert type="error" inlineText="Error type alert with inline text." />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="With close button" theme="light" level={4} />
31
+ <DxcAlert inlineText="Info type alert with inline text and close button." onClose={() => {}} />
32
+ </ExampleContainer>
33
+ <ExampleContainer pseudoState="pseudo-hover">
34
+ <Title title="With hovered close button" theme="light" level={4} />
35
+ <DxcAlert inlineText="Info type alert with inline text and close button." onClose={() => {}} />
36
+ </ExampleContainer>
37
+ <ExampleContainer pseudoState="pseudo-focus">
38
+ <Title title="With focused close button" theme="light" level={4} />
39
+ <DxcAlert inlineText="Info type alert with inline text and close button." onClose={() => {}} />
40
+ </ExampleContainer>
41
+ <ExampleContainer pseudoState="pseudo-active">
42
+ <Title title="With actived close button" theme="light" level={4} />
43
+ <DxcAlert inlineText="Info type alert with inline text and close button." onClose={() => {}} />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="With children" theme="light" level={4} />
47
+ <DxcAlert>
48
+ <div>
49
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
50
+ lobortis eget.
51
+ </div>
52
+ </DxcAlert>
53
+ </ExampleContainer>
54
+ <ExampleContainer>
55
+ <Title title="With inline text and children" theme="light" level={4} />
56
+ <DxcAlert inlineText="Info type alert with inline text.">
57
+ <div>
58
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
59
+ lobortis eget.
60
+ </div>
61
+ </DxcAlert>
62
+ </ExampleContainer>
63
+ <Title title="Margins" theme="light" level={2} />
64
+ <ExampleContainer>
65
+ <Title title="Xxsmall" theme="light" level={4} />
66
+ <DxcAlert margin="xxsmall" inlineText="Info type alert with inline text and xxsmall margin." />
67
+ </ExampleContainer>
68
+ <ExampleContainer>
69
+ <Title title="Xsmall" theme="light" level={4} />
70
+ <DxcAlert margin="xsmall" inlineText="Info type alert with inline text and xsmall margin." />
71
+ </ExampleContainer>
72
+ <ExampleContainer>
73
+ <Title title="Small" theme="light" level={4} />
74
+ <DxcAlert margin="small" inlineText="Info type alert with inline text and small margin." />
75
+ </ExampleContainer>
76
+ <ExampleContainer>
77
+ <Title title="Medium" theme="light" level={4} />
78
+ <DxcAlert margin="medium" inlineText="Info type alert with inline text and medium margin." />
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Large" theme="light" level={4} />
82
+ <DxcAlert margin="large" inlineText="Info type alert with inline text and large margin." />
83
+ </ExampleContainer>
84
+ <ExampleContainer>
85
+ <Title title="Xlarge" theme="light" level={4} />
86
+ <DxcAlert margin="xlarge" inlineText="Info type alert with inline text and xlarge margin." />
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Xxlarge" theme="light" level={4} />
90
+ <DxcAlert margin="xxlarge" inlineText="Info type alert with inline text and xxlarge margin." />
91
+ </ExampleContainer>
92
+ <Title title="Sizes" theme="light" level={2} />
93
+ <ExampleContainer>
94
+ <Title title="FitContent" theme="light" level={4} />
95
+ <DxcAlert
96
+ size="fitContent"
97
+ inlineText="Info type alert with inline text, children, close button and fitContent size."
98
+ onClose={() => {}}
99
+ >
100
+ <div>
101
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
102
+ lobortis eget.
103
+ </div>
104
+ </DxcAlert>
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Small" theme="light" level={4} />
108
+ <DxcAlert
109
+ size="small"
110
+ inlineText="Info type alert with inline text, children, close button and small size."
111
+ onClose={() => {}}
112
+ >
113
+ <div>
114
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
115
+ lobortis eget.
116
+ </div>
117
+ </DxcAlert>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Medium" theme="light" level={4} />
121
+ <DxcAlert
122
+ size="medium"
123
+ inlineText="Info type alert with inline text, children, close button and medium size."
124
+ onClose={() => {}}
125
+ >
126
+ <div>
127
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
128
+ lobortis eget.
129
+ </div>
130
+ </DxcAlert>
131
+ </ExampleContainer>
132
+ <ExampleContainer>
133
+ <Title title="Large" theme="light" level={4} />
134
+ <DxcAlert
135
+ size="large"
136
+ inlineText="Info type alert with inline text, children, close button and large size."
137
+ onClose={() => {}}
138
+ >
139
+ <div>
140
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
141
+ lobortis eget.
142
+ </div>
143
+ </DxcAlert>
144
+ </ExampleContainer>
145
+ <ExampleContainer>
146
+ <Title title="FillParent" theme="light" level={4} />
147
+ <DxcAlert
148
+ size="fillParent"
149
+ inlineText="Info type alert with inline text, children, close button and fillParent size."
150
+ onClose={() => {}}
151
+ >
152
+ <div>
153
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
154
+ lobortis eget.
155
+ </div>
156
+ </DxcAlert>
157
+ </ExampleContainer>
158
+ </>
159
+ );
160
+
161
+ export const ModalAlert = () => (
162
+ <ExampleContainer>
163
+ <DxcAlert inlineText="Modal alert." mode="modal" onClose={() => {}}>
164
+ <div>
165
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
166
+ lobortis eget.
167
+ </div>
168
+ </DxcAlert>
169
+ </ExampleContainer>
170
+ );
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Alert = _interopRequireDefault(require("./Alert"));
10
+
11
+ describe("Alert component tests", function () {
12
+ test("Info alert renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
14
+ type: "info",
15
+ inlineText: "info-alert-text"
16
+ })),
17
+ getByText = _render.getByText;
18
+
19
+ expect(getByText("information")).toBeTruthy();
20
+ expect(getByText("info-alert-text")).toBeTruthy();
21
+ });
22
+ test("Confirm alert renders with correct text", function () {
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
24
+ type: "confirm",
25
+ inlineText: "confirm-alert-text"
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ expect(getByText("success")).toBeTruthy();
30
+ expect(getByText("confirm-alert-text")).toBeTruthy();
31
+ });
32
+ test("Warning alert renders with correct text", function () {
33
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
34
+ type: "warning",
35
+ inlineText: "warning-alert-text"
36
+ })),
37
+ getByText = _render3.getByText;
38
+
39
+ expect(getByText("warning")).toBeTruthy();
40
+ expect(getByText("warning-alert-text")).toBeTruthy();
41
+ });
42
+ test("Error alert renders with correct text", function () {
43
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
44
+ type: "error",
45
+ inlineText: "error-alert-text"
46
+ })),
47
+ getByText = _render4.getByText;
48
+
49
+ expect(getByText("error")).toBeTruthy();
50
+ expect(getByText("error-alert-text")).toBeTruthy();
51
+ });
52
+ test("Alert renders with correct children", function () {
53
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
54
+ inlineText: "alert-text"
55
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "sample-children"))),
56
+ getByText = _render5.getByText;
57
+
58
+ expect(getByText("alert-text")).toBeTruthy();
59
+ expect(getByText("sample-children")).toBeTruthy();
60
+ });
61
+ test("Calls correct function on close", function () {
62
+ var onClose = jest.fn();
63
+
64
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
65
+ onClose: onClose,
66
+ inlineText: "info-alert-text"
67
+ })),
68
+ getByRole = _render6.getByRole;
69
+
70
+ var closeButton = getByRole("button");
71
+
72
+ _react2.fireEvent.click(closeButton);
73
+
74
+ expect(onClose).toHaveBeenCalled();
75
+ });
76
+ test("Modal alert calls correct function on close", function () {
77
+ var onClose = jest.fn();
78
+
79
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
80
+ onClose: onClose,
81
+ mode: "modal",
82
+ inlineText: "info-alert-text"
83
+ })),
84
+ getByRole = _render7.getByRole;
85
+
86
+ var closeButton = getByRole("button");
87
+
88
+ _react2.fireEvent.click(closeButton);
89
+
90
+ expect(onClose).toHaveBeenCalled();
91
+ });
92
+ });
@@ -0,0 +1,49 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * Uses on of the available alert types.
12
+ */
13
+ type?: "info" | "confirm" | "warning" | "error";
14
+ /**
15
+ * Uses on of the available alert modes:
16
+ * 'inline': If onClose function is received, close button will be visible and the function will be executed when it's clicked.
17
+ * There is no overlay layer. Position should be decided by the user.
18
+ * 'modal': The alert will be displayed in the middle of the screen with an overlay layer behind.
19
+ * The onClose function will be executed when the X button or the overlay is clicked. d
20
+ * The user has the responsibility of hidding the modal in the onClose function, otherwise the modal will remain visible.
21
+ */
22
+ mode?: "inline" | "modal";
23
+ /**
24
+ * Text to display after icon and alert type and before content.
25
+ */
26
+ inlineText?: string;
27
+ /**
28
+ * This function will be called when the user clicks the close button. If there is no function we should close the alert by default.
29
+ */
30
+ onClose?: () => void;
31
+ /**
32
+ * The details section of the alert. Can be used to render custom content in this area.
33
+ */
34
+ children?: React.ReactNode;
35
+ /**
36
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
37
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
38
+ */
39
+ margin?: Space | Margin;
40
+ /**
41
+ * Size of the component.
42
+ */
43
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
44
+ /**
45
+ * Tabindex value given to the close button.
46
+ */
47
+ tabIndex?: number;
48
+ };
49
+ export default Props;
package/alert/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import BadgePropsType from "./types";
3
+ declare const DxcBadge: ({ notificationText, disabled }: BadgePropsType) => JSX.Element;
4
+ export default DxcBadge;
package/badge/Badge.js CHANGED
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
17
 
18
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
19
 
20
20
  var _templateObject;
21
21
 
@@ -24,17 +24,19 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
24
24
  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; }
25
25
 
26
26
  var DxcBadge = function DxcBadge(_ref) {
27
- var notificationText = _ref.notificationText;
27
+ var notificationText = _ref.notificationText,
28
+ disabled = _ref.disabled;
28
29
  var colorsTheme = (0, _useTheme["default"])();
29
30
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
30
31
  theme: colorsTheme.tabs
31
32
  }, /*#__PURE__*/_react["default"].createElement(StyledDxcBadge, {
32
- notificationText: notificationText
33
+ notificationText: notificationText,
34
+ disabled: disabled
33
35
  }, /*#__PURE__*/_react["default"].createElement("span", null, notificationText)));
34
36
  };
35
37
 
36
38
  var StyledDxcBadge = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n display: flex;\n padding-bottom: 1px;\n padding-right: 1px;\n flex-wrap: wrap;\n box-sizing: border-box;\n align-items: center;\n line-height: 1;\n align-content: center;\n flex-direction: row;\n justify-content: center;\n"])), function (props) {
37
- return props.theme.badgeBackgroundColor;
39
+ return props.disabled ? props.theme.disabledBadgeBackgroundColor : props.theme.badgeBackgroundColor;
38
40
  }, function (props) {
39
41
  return props.theme.badgeFontFamily;
40
42
  }, function (props) {
@@ -0,0 +1,5 @@
1
+ declare type Props = {
2
+ notificationText: boolean | number | string;
3
+ disabled?: boolean;
4
+ };
5
+ export default Props;
package/badge/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import BleedPropsType from "./types";
3
+ export default function Bleed({ space, horizontal, vertical, top, right, bottom, left, children, }: BleedPropsType): JSX.Element;
package/bleed/Bleed.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = Bleed;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _templateObject;
17
+
18
+ function Bleed(_ref) {
19
+ var space = _ref.space,
20
+ horizontal = _ref.horizontal,
21
+ vertical = _ref.vertical,
22
+ top = _ref.top,
23
+ right = _ref.right,
24
+ bottom = _ref.bottom,
25
+ left = _ref.left,
26
+ children = _ref.children;
27
+ return /*#__PURE__*/_react["default"].createElement(StyledBleed, {
28
+ space: space,
29
+ horizontal: horizontal,
30
+ vertical: vertical,
31
+ top: top,
32
+ right: right,
33
+ bottom: bottom,
34
+ left: left
35
+ }, children);
36
+ }
37
+
38
+ function getSpacingValue(spacingName) {
39
+ return spacingName ? spacingName : "0rem";
40
+ }
41
+
42
+ var StyledBleed = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
43
+ var space = _ref2.space,
44
+ horizontal = _ref2.horizontal,
45
+ vertical = _ref2.vertical,
46
+ top = _ref2.top,
47
+ right = _ref2.right,
48
+ bottom = _ref2.bottom,
49
+ left = _ref2.left;
50
+ return "\n margin: -".concat(getSpacingValue(top || vertical || space), " -").concat(getSpacingValue(right || horizontal || space), " -").concat(getSpacingValue(bottom || vertical || space), " -").concat(getSpacingValue(left || horizontal || space), ";\n");
51
+ });