@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
package/grid/Grid.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _templateObject, _templateObject2;
12
+ var DxcGrid = function DxcGrid(props) {
13
+ return /*#__PURE__*/_react["default"].createElement(Grid, props);
14
+ };
15
+ var Grid = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n ", "\n ", "\n ", "\n ", "\n"])), function (_ref) {
16
+ var templateColumns = _ref.templateColumns;
17
+ return templateColumns && "grid-template-columns: ".concat(templateColumns.join(" "), ";");
18
+ }, function (_ref2) {
19
+ var templateRows = _ref2.templateRows;
20
+ return templateRows && "grid-template-rows: ".concat(templateRows.join(" "), ";");
21
+ }, function (_ref3) {
22
+ var templateAreas = _ref3.templateAreas;
23
+ return templateAreas && "grid-template-areas: ".concat(templateAreas.map(function (row) {
24
+ return "\"".concat(row, "\"");
25
+ }).join(" "), ";");
26
+ }, function (_ref4) {
27
+ var autoColumns = _ref4.autoColumns;
28
+ return autoColumns && "grid-auto-columns: ".concat(autoColumns, ";");
29
+ }, function (_ref5) {
30
+ var autoRows = _ref5.autoRows;
31
+ return autoRows && "grid-auto-rows: ".concat(autoRows, ";");
32
+ }, function (_ref6) {
33
+ var autoFlow = _ref6.autoFlow;
34
+ return autoFlow && "grid-auto-flow: ".concat(autoFlow, ";");
35
+ }, function (_ref7) {
36
+ var _gap$rowGap, _gap$columnGap;
37
+ var gap = _ref7.gap;
38
+ return gap != null && (typeof gap === "string" ? "gap: ".concat(gap, ";") : "row-gap: ".concat((_gap$rowGap = gap.rowGap) !== null && _gap$rowGap !== void 0 ? _gap$rowGap : "", "; column-gap: ").concat((_gap$columnGap = gap.columnGap) !== null && _gap$columnGap !== void 0 ? _gap$columnGap : "", ";"));
39
+ }, function (_ref8) {
40
+ var _placeItems$alignItem, _placeItems$justifyIt;
41
+ var placeItems = _ref8.placeItems;
42
+ return placeItems && (typeof placeItems === "string" ? "place-items: ".concat(placeItems) : "align-items: ".concat((_placeItems$alignItem = placeItems.alignItems) !== null && _placeItems$alignItem !== void 0 ? _placeItems$alignItem : "", "; justify-items: ").concat((_placeItems$justifyIt = placeItems.justifyItems) !== null && _placeItems$justifyIt !== void 0 ? _placeItems$justifyIt : "", ";"));
43
+ }, function (_ref9) {
44
+ var _placeContent$alignCo, _placeContent$justify;
45
+ var placeContent = _ref9.placeContent;
46
+ return placeContent && (typeof placeContent === "string" ? "place-content: ".concat(placeContent) : "align-content: ".concat((_placeContent$alignCo = placeContent.alignContent) !== null && _placeContent$alignCo !== void 0 ? _placeContent$alignCo : "", "; justify-content: ").concat((_placeContent$justify = placeContent.justifyContent) !== null && _placeContent$justify !== void 0 ? _placeContent$justify : "", ";"));
47
+ }, function (_ref10) {
48
+ var areaName = _ref10.areaName;
49
+ return areaName && "grid-area: ".concat(areaName, ";");
50
+ }, function (_ref11) {
51
+ var column = _ref11.column;
52
+ return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
53
+ }, function (_ref12) {
54
+ var row = _ref12.row;
55
+ return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
56
+ }, function (_ref13) {
57
+ var _placeSelf$alignSelf, _placeSelf$justifySel;
58
+ var placeSelf = _ref13.placeSelf;
59
+ return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf = placeSelf.alignSelf) !== null && _placeSelf$alignSelf !== void 0 ? _placeSelf$alignSelf : "", "; justify-self: ").concat((_placeSelf$justifySel = placeSelf.justifySelf) !== null && _placeSelf$justifySel !== void 0 ? _placeSelf$justifySel : "", ";"));
60
+ });
61
+ var GridItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref14) {
62
+ var areaName = _ref14.areaName;
63
+ return areaName && "grid-area: ".concat(areaName, ";");
64
+ }, function (_ref15) {
65
+ var column = _ref15.column;
66
+ return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
67
+ }, function (_ref16) {
68
+ var row = _ref16.row;
69
+ return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
70
+ }, function (_ref17) {
71
+ var _placeSelf$alignSelf2, _placeSelf$justifySel2;
72
+ var placeSelf = _ref17.placeSelf;
73
+ return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf2 = placeSelf.alignSelf) !== null && _placeSelf$alignSelf2 !== void 0 ? _placeSelf$alignSelf2 : "", "; justify-self: ").concat((_placeSelf$justifySel2 = placeSelf.justifySelf) !== null && _placeSelf$justifySel2 !== void 0 ? _placeSelf$justifySel2 : "", ";"));
74
+ });
75
+ DxcGrid.Item = GridItem;
76
+ var _default = exports["default"] = DxcGrid;
@@ -0,0 +1,219 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import styled from "styled-components";
5
+ import DxcGrid from "./Grid";
6
+ import DxcInset from "../inset/Inset";
7
+
8
+ export default {
9
+ title: "Grid",
10
+ component: DxcGrid,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <Title title="Default" level={4} />
16
+ <ExampleContainer>
17
+ <DxcGrid>
18
+ <ColoredContainer />
19
+ <ColoredContainer />
20
+ <ColoredContainer />
21
+ </DxcGrid>
22
+ </ExampleContainer>
23
+ <Title title="Place items" level={4} />
24
+ <ExampleContainer>
25
+ <DxcGrid templateRows={["200px"]} placeItems="center">
26
+ <ColoredContainer height="50px" width="50px" />
27
+ </DxcGrid>
28
+ <DxcGrid placeItems={{ justifyItems: "end" }}>
29
+ <ColoredContainer />
30
+ <ColoredContainer />
31
+ <ColoredContainer />
32
+ </DxcGrid>
33
+ <DxcGrid templateRows={["repeat(3, 100px)"]} placeItems={{ alignItems: "end", justifyItems: "center" }}>
34
+ <ColoredContainer height="50px" width="50px" />
35
+ <ColoredContainer height="50px" width="50px" />
36
+ <ColoredContainer height="50px" width="50px" />
37
+ </DxcGrid>
38
+ </ExampleContainer>
39
+ <Title title="Place content" level={4} />
40
+ <Container height="200px">
41
+ <DxcGrid placeContent="center">
42
+ <ColoredContainer height="50px" width="50px" />
43
+ <ColoredContainer height="50px" width="50px" />
44
+ </DxcGrid>
45
+ </Container>
46
+ <Container height="200px">
47
+ <DxcGrid placeContent={{ alignContent: "center" }}>
48
+ <ColoredContainer height="50px" width="50px" />
49
+ </DxcGrid>
50
+ </Container>
51
+ <Container height="200px">
52
+ <DxcGrid placeContent={{ alignContent: "center", justifyContent: "end" }}>
53
+ <ColoredContainer height="50px" width="50px" />
54
+ </DxcGrid>
55
+ </Container>
56
+ <Title title="Place self" level={4} />
57
+ <ExampleContainer>
58
+ <DxcGrid templateRows={["repeat(3, 100px)"]}>
59
+ <DxcGrid.Item placeSelf="center">
60
+ <ColoredContainer height="50px" width="50px" />
61
+ </DxcGrid.Item>
62
+ <DxcGrid.Item placeSelf={{ alignSelf: "end" }}>
63
+ <ColoredContainer height="40px" width="40px" />
64
+ <ColoredContainer height="30px" width="30px" />
65
+ </DxcGrid.Item>
66
+ <DxcGrid.Item placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
67
+ <ColoredContainer height="50px" width="50px" />
68
+ </DxcGrid.Item>
69
+ </DxcGrid>
70
+ </ExampleContainer>
71
+ <Title title="Halstack layout using template areas" level={4} />
72
+ <ExampleContainer>
73
+ <DxcGrid
74
+ templateColumns={["repeat(4, 1fr)"]}
75
+ templateRows={["40px", "200px", "60px"]}
76
+ templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
77
+ gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
78
+ >
79
+ <DxcGrid.Item areaName="header" as="header">
80
+ <ColoredContainer height="100%" />
81
+ </DxcGrid.Item>
82
+ <DxcGrid.Item areaName="main" as="main">
83
+ <ColoredContainer height="100%" />
84
+ </DxcGrid.Item>
85
+ <DxcGrid.Item areaName="sidenav" as="nav">
86
+ <ColoredContainer height="100%" />
87
+ </DxcGrid.Item>
88
+ <DxcGrid.Item areaName="footer" as="footer">
89
+ <ColoredContainer height="100%" />
90
+ </DxcGrid.Item>
91
+ </DxcGrid>
92
+ </ExampleContainer>
93
+ <Title title="Template rows and columns with flexible sizes" level={4} />
94
+ <ExampleContainer>
95
+ <DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
96
+ <DxcGrid.Item column={{ start: 1, end: -1 }}>
97
+ <ColoredContainer color="yellow" height="100%">
98
+ Header
99
+ </ColoredContainer>
100
+ </DxcGrid.Item>
101
+ <DxcGrid.Item column={1}>
102
+ <ColoredContainer color="lightcyan" height="100%">
103
+ Sidenav
104
+ </ColoredContainer>
105
+ </DxcGrid.Item>
106
+ <DxcGrid
107
+ column={{ start: 2, end: -1 }}
108
+ templateRows={["repeat(4, 1fr)"]}
109
+ templateColumns={["repeat(2, 1fr)"]}
110
+ gap="1rem"
111
+ >
112
+ <ColoredContainer />
113
+ <ColoredContainer />
114
+ <ColoredContainer />
115
+ <ColoredContainer />
116
+ <ColoredContainer />
117
+ <ColoredContainer />
118
+ <ColoredContainer />
119
+ <ColoredContainer />
120
+ </DxcGrid>
121
+ <DxcGrid.Item column={{ start: 1, end: -1 }}>
122
+ <ColoredContainer color="black" height="100%">
123
+ Footer
124
+ </ColoredContainer>
125
+ </DxcGrid.Item>
126
+ </DxcGrid>
127
+ </ExampleContainer>
128
+ <Title title="Overlapping" level={4} />
129
+ <DxcInset bottom="2rem">
130
+ <ExampleContainer>
131
+ <DxcGrid templateRows={["50px", "50px"]}>
132
+ <ColoredContainer color="yellow" height="100px">
133
+ 1
134
+ </ColoredContainer>
135
+ <ColoredContainer color="transparent" height="100px">
136
+ 2
137
+ </ColoredContainer>
138
+ </DxcGrid>
139
+ </ExampleContainer>
140
+ </DxcInset>
141
+ <Title title="Implicit rows and columns" level={4} />
142
+ <ExampleContainer>
143
+ <DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
144
+ <DxcGrid.Item>
145
+ <ColoredContainer height="50px">1</ColoredContainer>
146
+ </DxcGrid.Item>
147
+ <DxcGrid.Item row={2}>
148
+ <ColoredContainer height="50px">3</ColoredContainer>
149
+ </DxcGrid.Item>
150
+ <DxcGrid.Item row={6} column={1}>
151
+ <ColoredContainer height="50px">5</ColoredContainer>
152
+ </DxcGrid.Item>
153
+ <DxcGrid.Item row={3}>
154
+ <ColoredContainer height="50px">4</ColoredContainer>
155
+ </DxcGrid.Item>
156
+ <DxcGrid.Item row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
157
+ <ColoredContainer height="50px">2</ColoredContainer>
158
+ </DxcGrid.Item>
159
+ </DxcGrid>
160
+ </ExampleContainer>
161
+ <Title title="Autoflow 'row' (default)" level={4} />
162
+ <ExampleContainer>
163
+ <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
164
+ <DxcGrid.Item row={{ start: 1, end: "span 2" }} column={1}>
165
+ <ColoredContainer height="100%">1</ColoredContainer>
166
+ </DxcGrid.Item>
167
+ <ColoredContainer color="lightyellow">2</ColoredContainer>
168
+ <ColoredContainer color="lightcyan">3</ColoredContainer>
169
+ <ColoredContainer color="lightgreen">4</ColoredContainer>
170
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
171
+ <ColoredContainer color="lightpink" height="100%">
172
+ 5
173
+ </ColoredContainer>
174
+ </DxcGrid.Item>
175
+ </DxcGrid>
176
+ </ExampleContainer>
177
+ <Title title="Autoflow 'column'" level={4} />
178
+ <ExampleContainer>
179
+ <DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
180
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={1}>
181
+ <ColoredContainer height="100%">1</ColoredContainer>
182
+ </DxcGrid.Item>
183
+ <ColoredContainer color="lightyellow">2</ColoredContainer>
184
+ <ColoredContainer color="lightcyan">3</ColoredContainer>
185
+ <ColoredContainer color="lightgreen">4</ColoredContainer>
186
+ <DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
187
+ <ColoredContainer color="lightpink" height="100%">
188
+ 5
189
+ </ColoredContainer>
190
+ </DxcGrid.Item>
191
+ </DxcGrid>
192
+ </ExampleContainer>
193
+ </>
194
+ );
195
+
196
+ const Container = styled.div<{ height?: string }>`
197
+ display: grid;
198
+ overflow: auto;
199
+ margin: 2.5rem;
200
+ ${({ height }) => height && `height: ${height}`};
201
+ `;
202
+
203
+ const ColoredContainer = styled.div<{ color?: string; width?: string; height?: string }>`
204
+ box-sizing: border-box;
205
+ display: flex;
206
+ justify-content: center;
207
+ align-items: center;
208
+ background-color: ${({ color }) => color ?? "#e5d5f6"};
209
+ padding: 1rem;
210
+ border: 1px solid #a46ede;
211
+ border-radius: 0.5rem;
212
+ font-family: Open Sans, sans-serif;
213
+ font-size: 1.5rem;
214
+ font-weight: bold;
215
+ color: #a46ede;
216
+
217
+ ${({ width }) => width && `width: ${width}`};
218
+ ${({ height }) => height && `height: ${height}`};
219
+ `;
@@ -0,0 +1,115 @@
1
+ /// <reference types="react" />
2
+ type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
+ type Gap = {
4
+ rowGap: Spaces;
5
+ columnGap?: Spaces;
6
+ } | {
7
+ rowGap?: Spaces;
8
+ columnGap: Spaces;
9
+ } | Spaces;
10
+ type GridCell = {
11
+ start: number | string;
12
+ end: number | string;
13
+ };
14
+ type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
15
+ type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
16
+ type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
17
+ type PlaceObject<Type, Suffix extends string> = {
18
+ [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
19
+ };
20
+ type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
21
+ justify?: PlaceValues;
22
+ align: PlaceValues;
23
+ }, Element> | PlaceObject<{
24
+ justify: PlaceValues;
25
+ align?: PlaceValues;
26
+ }, Element> | PlaceValues;
27
+ export type GridItemProps = {
28
+ /**
29
+ * Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
30
+ */
31
+ areaName?: string;
32
+ /**
33
+ * Sets the grid-column CSS property.
34
+ *
35
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column
36
+ */
37
+ column?: number | string | GridCell;
38
+ /**
39
+ * Sets the grid-row CSS property.
40
+ *
41
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row
42
+ */
43
+ row?: number | string | GridCell;
44
+ /**
45
+ * Sets the place-self CSS property.
46
+ *
47
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self
48
+ */
49
+ placeSelf?: PlaceGeneric<PlaceSelfValues, "self">;
50
+ /**
51
+ * Sets a custom HTML tag.
52
+ */
53
+ as?: keyof HTMLElementTagNameMap;
54
+ /**
55
+ * Custom content inside the grid container.
56
+ */
57
+ children: React.ReactNode;
58
+ };
59
+ type Props = GridItemProps & {
60
+ /**
61
+ * Sets the grid-auto-columns CSS property.
62
+ *
63
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns
64
+ */
65
+ autoColumns?: string;
66
+ /**
67
+ * Sets the grid-auto-flow CSS property.
68
+ *
69
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow
70
+ */
71
+ autoFlow?: "row" | "column" | "row dense" | "column dense";
72
+ /**
73
+ * Sets the grid-auto-rows CSS property.
74
+ *
75
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows
76
+ */
77
+ autoRows?: string;
78
+ /**
79
+ * Sets the gap CSS property.
80
+ *
81
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
82
+ */
83
+ gap?: Spaces | Gap;
84
+ /**
85
+ * Sets the place-content CSS property.
86
+ *
87
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content
88
+ */
89
+ placeContent?: PlaceGeneric<PlaceContentValues, "content">;
90
+ /**
91
+ * Sets the place-items CSS property.
92
+ *
93
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items
94
+ */
95
+ placeItems?: PlaceGeneric<PlaceItemsValues, "items">;
96
+ /**
97
+ * Sets the grid-template-areas CSS property.
98
+ *
99
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas
100
+ */
101
+ templateAreas?: string[];
102
+ /**
103
+ * Sets the grid-template-columns CSS property.
104
+ *
105
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
106
+ */
107
+ templateColumns?: string[];
108
+ /**
109
+ * Sets the grid-template-rows CSS property.
110
+ *
111
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows
112
+ */
113
+ templateRows?: string[];
114
+ };
115
+ export default Props;
package/grid/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
+ import DxcDropdown from "../dropdown/Dropdown";
2
3
  import HeaderPropsType from "./types";
3
4
  declare const DxcHeader: {
4
- ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
- Dropdown: (props: any) => JSX.Element;
5
+ ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
6
+ Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => React.JSX.Element;
6
7
  };
7
8
  export default DxcHeader;