@dxc-technology/halstack-react 0.0.0-8f6bfb3 → 0.0.0-8f8dc10

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 (332) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -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 +170 -0
  13. package/accordion-group/types.d.ts +72 -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/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +36 -29
  21. package/box/Box.stories.jsx +132 -0
  22. package/box/index.d.ts +25 -0
  23. package/button/Button.d.ts +4 -0
  24. package/button/Button.js +182 -0
  25. package/button/Button.stories.tsx +293 -0
  26. package/button/types.d.ts +57 -0
  27. package/button/types.js +5 -0
  28. package/card/Card.d.ts +4 -0
  29. package/card/Card.js +165 -0
  30. package/card/types.d.ts +69 -0
  31. package/card/types.js +5 -0
  32. package/checkbox/Checkbox.d.ts +4 -0
  33. package/checkbox/Checkbox.js +253 -0
  34. package/checkbox/types.d.ts +60 -0
  35. package/checkbox/types.js +5 -0
  36. package/chip/Chip.js +221 -0
  37. package/chip/index.d.ts +22 -0
  38. package/{dist/common → common}/OpenSans.css +0 -0
  39. package/{dist/common → common}/RequiredComponent.js +3 -11
  40. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  50. package/common/utils.js +22 -0
  51. package/common/variables.js +1569 -0
  52. package/{dist/date → date}/Date.js +81 -65
  53. package/date/index.d.ts +27 -0
  54. package/date-input/DateInput.d.ts +4 -0
  55. package/date-input/DateInput.js +361 -0
  56. package/date-input/types.d.ts +100 -0
  57. package/date-input/types.js +5 -0
  58. package/dialog/Dialog.d.ts +4 -0
  59. package/dialog/Dialog.js +165 -0
  60. package/dialog/types.d.ts +43 -0
  61. package/dialog/types.js +5 -0
  62. package/dropdown/Dropdown.d.ts +4 -0
  63. package/dropdown/Dropdown.js +417 -0
  64. package/dropdown/types.d.ts +89 -0
  65. package/dropdown/types.js +5 -0
  66. package/file-input/FileInput.js +532 -0
  67. package/file-input/FileItem.js +193 -0
  68. package/file-input/index.d.ts +81 -0
  69. package/footer/Footer.d.ts +4 -0
  70. package/footer/Footer.js +266 -0
  71. package/footer/Footer.stories.jsx +151 -0
  72. package/footer/Icons.js +77 -0
  73. package/footer/types.d.ts +61 -0
  74. package/footer/types.js +5 -0
  75. package/header/Header.js +326 -0
  76. package/header/Icons.js +59 -0
  77. package/header/index.d.ts +25 -0
  78. package/heading/Heading.js +176 -0
  79. package/heading/index.d.ts +17 -0
  80. package/input-text/Icons.js +22 -0
  81. package/input-text/InputText.js +611 -0
  82. package/input-text/index.d.ts +36 -0
  83. package/{dist/layout → layout}/ApplicationLayout.js +39 -136
  84. package/layout/Icons.js +55 -0
  85. package/link/Link.js +183 -0
  86. package/link/index.d.ts +23 -0
  87. package/main.d.ts +44 -0
  88. package/{dist/main.js → main.js} +125 -65
  89. package/number-input/NumberInput.js +128 -0
  90. package/number-input/NumberInput.stories.jsx +115 -0
  91. package/number-input/NumberInputContext.js +16 -0
  92. package/number-input/index.d.ts +113 -0
  93. package/package.json +32 -23
  94. package/paginator/Icons.js +66 -0
  95. package/paginator/Paginator.d.ts +4 -0
  96. package/paginator/Paginator.js +198 -0
  97. package/paginator/Paginator.stories.tsx +63 -0
  98. package/paginator/types.d.ts +38 -0
  99. package/paginator/types.js +5 -0
  100. package/password-input/PasswordInput.js +199 -0
  101. package/password-input/PasswordInput.stories.jsx +131 -0
  102. package/password-input/index.d.ts +94 -0
  103. package/progress-bar/ProgressBar.d.ts +4 -0
  104. package/progress-bar/ProgressBar.js +170 -0
  105. package/progress-bar/types.d.ts +37 -0
  106. package/progress-bar/types.js +5 -0
  107. package/radio/Radio.d.ts +4 -0
  108. package/radio/Radio.js +174 -0
  109. package/radio/types.d.ts +54 -0
  110. package/radio/types.js +5 -0
  111. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +92 -145
  112. package/resultsetTable/index.d.ts +19 -0
  113. package/select/Select.js +865 -0
  114. package/select/index.d.ts +131 -0
  115. package/sidenav/Sidenav.js +145 -0
  116. package/sidenav/index.d.ts +13 -0
  117. package/slider/Slider.d.ts +4 -0
  118. package/slider/Slider.js +306 -0
  119. package/slider/types.d.ts +83 -0
  120. package/slider/types.js +5 -0
  121. package/spinner/Spinner.js +267 -0
  122. package/spinner/index.d.ts +17 -0
  123. package/switch/Switch.d.ts +4 -0
  124. package/switch/Switch.js +179 -0
  125. package/switch/types.d.ts +58 -0
  126. package/switch/types.js +5 -0
  127. package/table/Table.js +118 -0
  128. package/table/Table.stories.jsx +276 -0
  129. package/table/index.d.ts +13 -0
  130. package/tabs/Tabs.d.ts +4 -0
  131. package/tabs/Tabs.js +211 -0
  132. package/tabs/types.d.ts +71 -0
  133. package/tabs/types.js +5 -0
  134. package/tag/Tag.js +208 -0
  135. package/tag/index.d.ts +24 -0
  136. package/text-input/TextInput.js +825 -0
  137. package/text-input/index.d.ts +135 -0
  138. package/textarea/Textarea.js +317 -0
  139. package/textarea/Textarea.stories.jsx +135 -0
  140. package/textarea/index.d.ts +117 -0
  141. package/{dist/toggle → toggle}/Toggle.js +30 -67
  142. package/toggle/index.d.ts +21 -0
  143. package/toggle-group/ToggleGroup.js +243 -0
  144. package/toggle-group/index.d.ts +21 -0
  145. package/{dist/upload → upload}/Upload.js +23 -22
  146. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  147. package/upload/buttons-upload/Icons.js +40 -0
  148. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  149. package/upload/dragAndDropArea/Icons.js +39 -0
  150. package/upload/file-upload/FileToUpload.js +115 -0
  151. package/upload/file-upload/Icons.js +66 -0
  152. package/upload/files-upload/FilesToUpload.js +109 -0
  153. package/upload/index.d.ts +15 -0
  154. package/upload/transaction/Icons.js +160 -0
  155. package/upload/transaction/Transaction.js +104 -0
  156. package/upload/transactions/Transactions.js +94 -0
  157. package/{dist/useTheme.js → useTheme.js} +0 -0
  158. package/wizard/Icons.js +65 -0
  159. package/wizard/Wizard.js +271 -0
  160. package/wizard/index.d.ts +18 -0
  161. package/README.md +0 -66
  162. package/babel.config.js +0 -8
  163. package/dist/ThemeContext.js +0 -149
  164. package/dist/accordion/Accordion.js +0 -268
  165. package/dist/accordion/Accordion.stories.js +0 -207
  166. package/dist/accordion/readme.md +0 -96
  167. package/dist/accordion-group/AccordionGroup.js +0 -159
  168. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  169. package/dist/accordion-group/readme.md +0 -70
  170. package/dist/alert/Alert.js +0 -303
  171. package/dist/alert/Alert.stories.js +0 -158
  172. package/dist/alert/close.svg +0 -4
  173. package/dist/alert/error.svg +0 -4
  174. package/dist/alert/info.svg +0 -4
  175. package/dist/alert/readme.md +0 -43
  176. package/dist/alert/success.svg +0 -4
  177. package/dist/alert/warning.svg +0 -4
  178. package/dist/badge/Badge.js +0 -42
  179. package/dist/button/Button.js +0 -199
  180. package/dist/button/Button.stories.js +0 -224
  181. package/dist/button/readme.md +0 -93
  182. package/dist/card/Card.js +0 -217
  183. package/dist/checkbox/Checkbox.js +0 -229
  184. package/dist/checkbox/Checkbox.stories.js +0 -144
  185. package/dist/checkbox/readme.md +0 -116
  186. package/dist/chip/Chip.js +0 -203
  187. package/dist/common/services/example-service.js +0 -10
  188. package/dist/common/services/example-service.test.js +0 -12
  189. package/dist/common/utils.js +0 -42
  190. package/dist/common/variables.js +0 -387
  191. package/dist/date/Date.stories.js +0 -205
  192. package/dist/date/calendar.svg +0 -1
  193. package/dist/date/calendar_dark.svg +0 -1
  194. package/dist/date/readme.md +0 -73
  195. package/dist/dialog/Dialog.js +0 -195
  196. package/dist/dialog/Dialog.stories.js +0 -217
  197. package/dist/dialog/readme.md +0 -32
  198. package/dist/dropdown/Dropdown.js +0 -446
  199. package/dist/dropdown/Dropdown.stories.js +0 -249
  200. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  201. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  202. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  203. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  204. package/dist/dropdown/readme.md +0 -69
  205. package/dist/footer/Footer.js +0 -366
  206. package/dist/footer/Footer.stories.js +0 -94
  207. package/dist/footer/dxc_logo_wht.png +0 -0
  208. package/dist/footer/readme.md +0 -41
  209. package/dist/header/Header.js +0 -373
  210. package/dist/header/Header.stories.js +0 -176
  211. package/dist/header/close_icon.svg +0 -1
  212. package/dist/header/dxc_logo_black.png +0 -0
  213. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  214. package/dist/header/dxc_logo_white.png +0 -0
  215. package/dist/header/hamb_menu_black.svg +0 -1
  216. package/dist/header/hamb_menu_white.svg +0 -1
  217. package/dist/header/readme.md +0 -33
  218. package/dist/heading/Heading.js +0 -153
  219. package/dist/input-text/InputText.js +0 -570
  220. package/dist/input-text/InputText.stories.js +0 -209
  221. package/dist/input-text/error.svg +0 -1
  222. package/dist/input-text/readme.md +0 -91
  223. package/dist/layout/facebook.svg +0 -45
  224. package/dist/layout/linkedin.svg +0 -50
  225. package/dist/layout/twitter.svg +0 -53
  226. package/dist/link/Link.js +0 -192
  227. package/dist/link/readme.md +0 -51
  228. package/dist/paginator/Paginator.js +0 -254
  229. package/dist/paginator/images/next.svg +0 -3
  230. package/dist/paginator/images/nextPage.svg +0 -3
  231. package/dist/paginator/images/previous.svg +0 -3
  232. package/dist/paginator/images/previousPage.svg +0 -3
  233. package/dist/paginator/readme.md +0 -50
  234. package/dist/progress-bar/ProgressBar.js +0 -185
  235. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  236. package/dist/progress-bar/readme.md +0 -63
  237. package/dist/radio/Radio.js +0 -195
  238. package/dist/radio/Radio.stories.js +0 -166
  239. package/dist/radio/readme.md +0 -70
  240. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  241. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  242. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  243. package/dist/select/Select.js +0 -473
  244. package/dist/select/Select.stories.js +0 -235
  245. package/dist/select/readme.md +0 -72
  246. package/dist/sidenav/Sidenav.js +0 -125
  247. package/dist/slider/Slider.js +0 -257
  248. package/dist/slider/Slider.stories.js +0 -241
  249. package/dist/slider/readme.md +0 -64
  250. package/dist/spinner/Spinner.js +0 -192
  251. package/dist/spinner/Spinner.stories.js +0 -183
  252. package/dist/spinner/readme.md +0 -65
  253. package/dist/switch/Switch.js +0 -190
  254. package/dist/switch/Switch.stories.js +0 -134
  255. package/dist/switch/readme.md +0 -133
  256. package/dist/table/Table.js +0 -104
  257. package/dist/tabs/Tabs.js +0 -302
  258. package/dist/tabs/Tabs.stories.js +0 -130
  259. package/dist/tabs/readme.md +0 -78
  260. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  261. package/dist/tabs-for-sections/readme.md +0 -78
  262. package/dist/tag/Tag.js +0 -249
  263. package/dist/textarea/Textarea.js +0 -224
  264. package/dist/toggle/Toggle.stories.js +0 -297
  265. package/dist/toggle/readme.md +0 -80
  266. package/dist/toggle-group/ToggleGroup.js +0 -223
  267. package/dist/toggle-group/readme.md +0 -82
  268. package/dist/upload/Upload.stories.js +0 -72
  269. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  270. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  271. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  272. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  273. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  274. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  275. package/dist/upload/file-upload/FileToUpload.js +0 -158
  276. package/dist/upload/file-upload/audio-icon.svg +0 -4
  277. package/dist/upload/file-upload/close.svg +0 -4
  278. package/dist/upload/file-upload/file-icon.svg +0 -4
  279. package/dist/upload/file-upload/video-icon.svg +0 -4
  280. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  281. package/dist/upload/readme.md +0 -37
  282. package/dist/upload/transaction/Transaction.js +0 -155
  283. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  284. package/dist/upload/transaction/audio-icon.svg +0 -4
  285. package/dist/upload/transaction/error-icon.svg +0 -4
  286. package/dist/upload/transaction/file-icon-err.svg +0 -4
  287. package/dist/upload/transaction/file-icon.svg +0 -4
  288. package/dist/upload/transaction/image-icon-err.svg +0 -4
  289. package/dist/upload/transaction/image-icon.svg +0 -4
  290. package/dist/upload/transaction/success-icon.svg +0 -4
  291. package/dist/upload/transaction/video-icon-err.svg +0 -4
  292. package/dist/upload/transaction/video-icon.svg +0 -4
  293. package/dist/upload/transactions/Transactions.js +0 -120
  294. package/dist/wizard/Wizard.js +0 -328
  295. package/dist/wizard/invalid_icon.svg +0 -6
  296. package/dist/wizard/valid_icon.svg +0 -6
  297. package/dist/wizard/validation-wrong.svg +0 -6
  298. package/test/Accordion.test.js +0 -33
  299. package/test/AccordionGroup.test.js +0 -109
  300. package/test/Alert.test.js +0 -53
  301. package/test/Box.test.js +0 -10
  302. package/test/Button.test.js +0 -18
  303. package/test/Card.test.js +0 -30
  304. package/test/Checkbox.test.js +0 -45
  305. package/test/Chip.test.js +0 -25
  306. package/test/Date.test.js +0 -393
  307. package/test/Dialog.test.js +0 -23
  308. package/test/Dropdown.test.js +0 -130
  309. package/test/Footer.test.js +0 -99
  310. package/test/Header.test.js +0 -39
  311. package/test/Heading.test.js +0 -35
  312. package/test/InputText.test.js +0 -240
  313. package/test/Link.test.js +0 -42
  314. package/test/Paginator.test.js +0 -177
  315. package/test/ProgressBar.test.js +0 -35
  316. package/test/Radio.test.js +0 -37
  317. package/test/ResultsetTable.test.js +0 -330
  318. package/test/Select.test.js +0 -192
  319. package/test/Sidenav.test.js +0 -45
  320. package/test/Slider.test.js +0 -82
  321. package/test/Spinner.test.js +0 -27
  322. package/test/Switch.test.js +0 -45
  323. package/test/Table.test.js +0 -36
  324. package/test/Tabs.test.js +0 -109
  325. package/test/TabsForSections.test.js +0 -34
  326. package/test/Tag.test.js +0 -32
  327. package/test/TextArea.test.js +0 -52
  328. package/test/ToggleGroup.test.js +0 -81
  329. package/test/Upload.test.js +0 -60
  330. package/test/Wizard.test.js +0 -130
  331. package/test/mocks/pngMock.js +0 -1
  332. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,71 @@
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 SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
10
+ declare type Tab = {
11
+ /**
12
+ * Tab label.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Element used as the icon that will be displayed in the tab.
17
+ */
18
+ icon?: SVG;
19
+ /**
20
+ * @deprecated URL of the icon to be displayed in the tab.
21
+ */
22
+ iconSrc?: string;
23
+ /**
24
+ * Whether the tab is disabled or not.
25
+ */
26
+ isDisabled?: boolean;
27
+ /**
28
+ * If the value is 'true', an empty badge will appear.
29
+ * If it is 'false', no badge will appear.
30
+ * If a number is put it will be shown as the label of the notification
31
+ * in the tab, taking into account that if that number is greater than 99,
32
+ * it will appear as '+99' in the badge.
33
+ */
34
+ notificationNumber?: boolean | number;
35
+ };
36
+ declare type Props = {
37
+ /**
38
+ * An array of objects representing the tabs.
39
+ */
40
+ tabs: [Tab, ...Tab[]];
41
+ /**
42
+ * Whether the icon should appear above or to the left of the label.
43
+ */
44
+ iconPosition?: "top" | "left";
45
+ /**
46
+ * The index of the active tab. If undefined, the component will be
47
+ * uncontrolled and the active tab will be managed internally by the component.
48
+ */
49
+ activeTabIndex?: number;
50
+ /**
51
+ * This function will be called when the user clicks on a tab. The index of the
52
+ * clicked tab will be passed as a parameter.
53
+ */
54
+ onTabClick?: (tabIndex: number) => void;
55
+ /**
56
+ * This function will be called when the user hovers a tab.The index of the
57
+ * hovered tab will be passed as a parameter.
58
+ */
59
+ onTabHover?: (tabIndex: number) => void;
60
+ /**
61
+ * Size of the margin to be applied to the component. You can pass an object
62
+ * with 'top', 'bottom', 'left' and 'right' properties in order to specify
63
+ * different margin sizes.
64
+ */
65
+ margin?: Space | Margin;
66
+ /**
67
+ * Value of the tabindex for each tab.
68
+ */
69
+ tabIndex?: number;
70
+ };
71
+ export default Props;
package/tabs/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/tag/Tag.js ADDED
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
+
30
+ var _Box = _interopRequireDefault(require("../box/Box"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
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 || _typeof3(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 DxcTag = function DxcTag(_ref) {
39
+ var icon = _ref.icon,
40
+ iconSrc = _ref.iconSrc,
41
+ label = _ref.label,
42
+ margin = _ref.margin,
43
+ linkHref = _ref.linkHref,
44
+ onClick = _ref.onClick,
45
+ _ref$iconBgColor = _ref.iconBgColor,
46
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
47
+ _ref$labelPosition = _ref.labelPosition,
48
+ labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
49
+ _ref$newWindow = _ref.newWindow,
50
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
51
+ _ref$size = _ref.size,
52
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
53
+ _ref$tabIndex = _ref.tabIndex,
54
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
55
+ var colorsTheme = (0, _useTheme["default"])();
56
+
57
+ var _useState = (0, _react.useState)(false),
58
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
59
+ isHovered = _useState2[0],
60
+ changeIsHovered = _useState2[1];
61
+
62
+ var clickHandler = function clickHandler() {
63
+ onClick && onClick();
64
+ };
65
+
66
+ var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
67
+ size: size,
68
+ shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
69
+ }, /*#__PURE__*/_react["default"].createElement(TagContent, {
70
+ labelPosition: labelPosition,
71
+ size: size
72
+ }, /*#__PURE__*/_react["default"].createElement(IconContainer, {
73
+ iconBgColor: iconBgColor
74
+ }, icon ? /*#__PURE__*/_react["default"].createElement(TagIconContainer, null, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : /*#__PURE__*/_react["default"].createElement(TagIcon, {
75
+ src: iconSrc
76
+ })), size !== "small" && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
77
+
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
+ theme: colorsTheme.tag
80
+ }, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
81
+ margin: margin,
82
+ onMouseEnter: function onMouseEnter() {
83
+ return changeIsHovered(true);
84
+ },
85
+ onMouseLeave: function onMouseLeave() {
86
+ return changeIsHovered(false);
87
+ },
88
+ onClick: clickHandler,
89
+ hasAction: onClick || linkHref
90
+ }, onClick ? /*#__PURE__*/_react["default"].createElement(StyledButton, {
91
+ tabIndex: tabIndex
92
+ }, tagContent) : linkHref ? /*#__PURE__*/_react["default"].createElement(StyledLink, {
93
+ tabIndex: tabIndex,
94
+ href: linkHref,
95
+ target: newWindow ? "_blank" : "_self"
96
+ }, tagContent) : tagContent));
97
+ };
98
+
99
+ var sizes = {
100
+ small: "42px",
101
+ medium: "240px",
102
+ large: "480px",
103
+ fillParent: "100%",
104
+ fitContent: "unset"
105
+ };
106
+
107
+ var calculateWidth = function calculateWidth(size) {
108
+ return sizes[size];
109
+ };
110
+
111
+ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (_ref2) {
112
+ var hasAction = _ref2.hasAction;
113
+ return hasAction && "pointer" || "unset";
114
+ }, function (_ref3) {
115
+ var margin = _ref3.margin;
116
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
117
+ }, function (_ref4) {
118
+ var margin = _ref4.margin;
119
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
120
+ }, function (_ref5) {
121
+ var margin = _ref5.margin;
122
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
123
+ }, function (_ref6) {
124
+ var margin = _ref6.margin;
125
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
126
+ }, function (_ref7) {
127
+ var margin = _ref7.margin;
128
+ return margin && margin.left ? _variables.spaces[margin.left] : "";
129
+ });
130
+
131
+ var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n width: ", ";\n height: ", ";\n"])), function (_ref8) {
132
+ var labelPosition = _ref8.labelPosition;
133
+ return labelPosition === "before" && "row-reverse" || "row";
134
+ }, function (props) {
135
+ return calculateWidth(props.size);
136
+ }, function (props) {
137
+ return props.theme.height;
138
+ });
139
+
140
+ var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n border-radius: 4px;\n\n :focus {\n outline: 2px solid ", ";\n outline-offset: 0px;\n }\n"])), function (props) {
141
+ return props.theme.focusColor;
142
+ });
143
+
144
+ var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
145
+ return props.theme.focusColor;
146
+ });
147
+
148
+ var TagIcon = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n width: ", ";\n height: ", ";\n"])), function (props) {
149
+ return props.theme.iconWidth;
150
+ }, function (props) {
151
+ return props.theme.iconHeight;
152
+ });
153
+
154
+ var TagIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
155
+ return props.theme.iconWidth;
156
+ }, function (props) {
157
+ return props.theme.iconHeight;
158
+ });
159
+
160
+ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n"])), function (_ref9) {
161
+ var iconBgColor = _ref9.iconBgColor;
162
+ return iconBgColor;
163
+ }, function (props) {
164
+ return props.theme.iconSectionWidth;
165
+ }, function (props) {
166
+ return props.theme.iconColor;
167
+ });
168
+
169
+ var TagLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
170
+ return props.theme.fontFamily;
171
+ }, function (props) {
172
+ return props.theme.fontSize;
173
+ }, function (props) {
174
+ return props.theme.fontStyle;
175
+ }, function (props) {
176
+ return props.theme.fontWeight;
177
+ }, function (props) {
178
+ return props.theme.fontColor;
179
+ }, function (props) {
180
+ return props.theme.labelPaddingTop;
181
+ }, function (props) {
182
+ return props.theme.labelPaddingBottom;
183
+ }, function (props) {
184
+ return props.theme.labelPaddingLeft;
185
+ }, function (props) {
186
+ return props.theme.labelPaddingRight;
187
+ });
188
+
189
+ DxcTag.propTypes = {
190
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
191
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
192
+ iconSrc: _propTypes["default"].string,
193
+ iconBgColor: _propTypes["default"].string,
194
+ label: _propTypes["default"].string,
195
+ labelPosition: _propTypes["default"].oneOf(["before", "after"]),
196
+ linkHref: _propTypes["default"].string,
197
+ onClick: _propTypes["default"].func,
198
+ newWindow: _propTypes["default"].bool,
199
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
200
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
201
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
202
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
203
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
204
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
205
+ tabIndex: _propTypes["default"].number
206
+ };
207
+ var _default = DxcTag;
208
+ exports["default"] = _default;
package/tag/index.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ icon?: any;
12
+ iconSrc?: string;
13
+ label?: string;
14
+ linkHref?: string;
15
+ onClick?: void,
16
+ iconBgColor?: string;
17
+ labelPosition?: "before" | "after";
18
+ newWindow?: boolean;
19
+ margin?: Space | Margin;
20
+ size?: Size;
21
+ tabIndex?: number;
22
+ };
23
+
24
+ export default function DxcTag(props: Props): JSX.Element;