@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad

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 (363) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +42 -5
  3. package/HalstackContext.js +28 -18
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +16 -30
  7. package/accordion/Accordion.stories.tsx +7 -49
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion/types.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  12. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  13. package/accordion-group/AccordionGroup.js +1 -1
  14. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  15. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  16. package/accordion-group/AccordionGroup.test.js +5 -9
  17. package/accordion-group/AccordionGroupAccordion.js +1 -1
  18. package/accordion-group/types.d.ts +1 -1
  19. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  20. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  21. package/action-icon/ActionIcon.js +4 -3
  22. package/action-icon/ActionIcon.stories.tsx +3 -3
  23. package/action-icon/ActionIcon.test.d.ts +1 -0
  24. package/action-icon/ActionIcon.test.js +1 -1
  25. package/action-icon/types.d.ts +1 -1
  26. package/alert/Alert.accessibility.test.d.ts +1 -0
  27. package/alert/Alert.accessibility.test.js +95 -0
  28. package/alert/Alert.js +21 -72
  29. package/alert/Alert.test.d.ts +1 -0
  30. package/alert/Alert.test.js +1 -1
  31. package/badge/Badge.accessibility.test.d.ts +1 -0
  32. package/badge/Badge.accessibility.test.js +129 -0
  33. package/badge/Badge.js +6 -4
  34. package/badge/Badge.stories.tsx +11 -11
  35. package/badge/Badge.test.d.ts +1 -0
  36. package/badge/Badge.test.js +2 -2
  37. package/badge/types.d.ts +1 -1
  38. package/bar-chart/BarChart.d.ts +4 -0
  39. package/bar-chart/BarChart.js +152 -0
  40. package/bar-chart/BarChart.stories.tsx +281 -0
  41. package/bar-chart/BarChart.test.d.ts +1 -0
  42. package/bar-chart/BarChart.test.js +194 -0
  43. package/bar-chart/theme.d.ts +3 -0
  44. package/bar-chart/theme.js +31 -0
  45. package/bar-chart/types.d.ts +118 -0
  46. package/bar-chart/types.js +5 -0
  47. package/bleed/Bleed.stories.tsx +0 -1
  48. package/box/Box.accessibility.test.d.ts +1 -0
  49. package/box/Box.accessibility.test.js +33 -0
  50. package/box/Box.js +1 -1
  51. package/box/Box.test.d.ts +1 -0
  52. package/box/Box.test.js +1 -1
  53. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  55. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  56. package/breadcrumbs/Breadcrumbs.js +79 -0
  57. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  58. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  59. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  60. package/breadcrumbs/Item.d.ts +4 -0
  61. package/breadcrumbs/Item.js +52 -0
  62. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  63. package/breadcrumbs/dropdownTheme.js +62 -0
  64. package/breadcrumbs/types.d.ts +40 -0
  65. package/breadcrumbs/types.js +5 -0
  66. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  67. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  68. package/bulleted-list/BulletedList.js +7 -4
  69. package/bulleted-list/BulletedList.stories.tsx +1 -1
  70. package/button/Button.accessibility.test.d.ts +1 -0
  71. package/button/Button.accessibility.test.js +127 -0
  72. package/button/Button.js +2 -2
  73. package/button/Button.stories.tsx +3 -4
  74. package/button/Button.test.d.ts +1 -0
  75. package/button/Button.test.js +1 -1
  76. package/card/Card.accessibility.test.d.ts +1 -0
  77. package/card/Card.accessibility.test.js +36 -0
  78. package/card/Card.js +3 -2
  79. package/card/Card.stories.tsx +1 -1
  80. package/card/Card.test.d.ts +1 -0
  81. package/card/Card.test.js +1 -1
  82. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  83. package/checkbox/Checkbox.accessibility.test.js +87 -0
  84. package/checkbox/Checkbox.js +10 -13
  85. package/checkbox/Checkbox.test.d.ts +1 -0
  86. package/checkbox/Checkbox.test.js +1 -1
  87. package/chip/Chip.accessibility.test.d.ts +1 -0
  88. package/chip/Chip.accessibility.test.js +67 -0
  89. package/chip/Chip.js +11 -6
  90. package/chip/Chip.stories.tsx +6 -25
  91. package/chip/Chip.test.d.ts +1 -0
  92. package/chip/Chip.test.js +5 -5
  93. package/common/coreTokens.d.ts +0 -1
  94. package/common/coreTokens.js +3 -4
  95. package/common/variables.d.ts +48 -5
  96. package/common/variables.js +110 -73
  97. package/container/Container.stories.tsx +3 -3
  98. package/container/types.d.ts +113 -11
  99. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  100. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  101. package/contextual-menu/ContextualMenu.d.ts +3 -5
  102. package/contextual-menu/ContextualMenu.js +118 -53
  103. package/contextual-menu/ContextualMenu.stories.tsx +124 -75
  104. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  105. package/contextual-menu/ContextualMenu.test.js +200 -24
  106. package/contextual-menu/GroupItem.d.ts +4 -0
  107. package/contextual-menu/GroupItem.js +67 -0
  108. package/contextual-menu/ItemAction.d.ts +4 -0
  109. package/contextual-menu/ItemAction.js +88 -0
  110. package/contextual-menu/MenuItem.d.ts +4 -0
  111. package/contextual-menu/MenuItem.js +29 -0
  112. package/contextual-menu/SingleItem.d.ts +4 -0
  113. package/contextual-menu/SingleItem.js +38 -0
  114. package/contextual-menu/types.d.ts +54 -11
  115. package/date-input/Calendar.js +47 -31
  116. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  117. package/date-input/DateInput.accessibility.test.js +229 -0
  118. package/date-input/DateInput.js +28 -23
  119. package/date-input/DateInput.stories.tsx +18 -12
  120. package/date-input/DateInput.test.d.ts +1 -0
  121. package/date-input/DateInput.test.js +39 -39
  122. package/date-input/DatePicker.js +13 -7
  123. package/date-input/YearPicker.js +10 -5
  124. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  125. package/dialog/Dialog.accessibility.test.js +69 -0
  126. package/dialog/Dialog.js +9 -20
  127. package/dialog/Dialog.stories.tsx +8 -4
  128. package/dialog/Dialog.test.d.ts +1 -0
  129. package/dialog/Dialog.test.js +112 -49
  130. package/divider/Divider.accessibility.test.d.ts +1 -0
  131. package/divider/Divider.accessibility.test.js +33 -0
  132. package/divider/Divider.stories.tsx +2 -1
  133. package/divider/Divider.test.d.ts +1 -0
  134. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  135. package/dropdown/Dropdown.accessibility.test.js +183 -0
  136. package/dropdown/Dropdown.js +31 -66
  137. package/dropdown/Dropdown.stories.tsx +16 -27
  138. package/dropdown/Dropdown.test.d.ts +1 -0
  139. package/dropdown/Dropdown.test.js +101 -72
  140. package/dropdown/DropdownMenu.js +4 -4
  141. package/dropdown/DropdownMenuItem.js +8 -4
  142. package/dropdown/types.d.ts +2 -4
  143. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  144. package/file-input/FileInput.accessibility.test.js +167 -0
  145. package/file-input/FileInput.js +6 -47
  146. package/file-input/FileInput.test.d.ts +1 -0
  147. package/file-input/FileInput.test.js +51 -106
  148. package/file-input/FileItem.js +18 -28
  149. package/file-input/types.d.ts +0 -4
  150. package/footer/Footer.accessibility.test.d.ts +1 -0
  151. package/footer/Footer.accessibility.test.js +125 -0
  152. package/footer/Footer.js +8 -6
  153. package/footer/Footer.stories.tsx +40 -3
  154. package/footer/Footer.test.d.ts +1 -0
  155. package/footer/Footer.test.js +1 -1
  156. package/footer/Icons.js +2 -30
  157. package/footer/types.d.ts +1 -1
  158. package/grid/Grid.stories.tsx +3 -1
  159. package/header/Header.accessibility.test.d.ts +1 -0
  160. package/header/Header.accessibility.test.js +94 -0
  161. package/header/Header.js +12 -22
  162. package/header/Header.stories.tsx +17 -1
  163. package/header/Header.test.d.ts +1 -0
  164. package/header/Header.test.js +1 -1
  165. package/header/Icons.js +1 -6
  166. package/heading/Heading.accessibility.test.d.ts +1 -0
  167. package/heading/Heading.accessibility.test.js +33 -0
  168. package/heading/Heading.js +1 -1
  169. package/heading/Heading.test.d.ts +1 -0
  170. package/heading/Heading.test.js +1 -14
  171. package/icon/Icon.accessibility.test.d.ts +1 -0
  172. package/icon/Icon.accessibility.test.js +30 -0
  173. package/icon/Icon.js +1 -1
  174. package/icon/Icon.stories.tsx +6 -4
  175. package/image/Image.accessibility.test.d.ts +1 -0
  176. package/image/Image.accessibility.test.js +56 -0
  177. package/image/Image.js +1 -1
  178. package/layout/ApplicationLayout.js +9 -6
  179. package/layout/Icons.d.ts +0 -1
  180. package/layout/Icons.js +1 -11
  181. package/link/Link.accessibility.test.d.ts +1 -0
  182. package/link/Link.accessibility.test.js +108 -0
  183. package/link/Link.js +8 -6
  184. package/link/Link.stories.tsx +4 -4
  185. package/link/Link.test.d.ts +1 -0
  186. package/link/Link.test.js +1 -1
  187. package/link/types.d.ts +1 -1
  188. package/main.d.ts +3 -1
  189. package/main.js +15 -1
  190. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  191. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  192. package/nav-tabs/NavTabs.js +19 -4
  193. package/nav-tabs/NavTabs.stories.tsx +41 -23
  194. package/nav-tabs/NavTabs.test.d.ts +1 -0
  195. package/nav-tabs/NavTabs.test.js +10 -9
  196. package/nav-tabs/Tab.js +17 -18
  197. package/nav-tabs/types.d.ts +1 -1
  198. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  199. package/number-input/NumberInput.accessibility.test.js +227 -0
  200. package/number-input/NumberInput.js +6 -3
  201. package/number-input/NumberInput.stories.tsx +11 -16
  202. package/number-input/NumberInput.test.d.ts +1 -0
  203. package/number-input/NumberInput.test.js +6 -7
  204. package/package.json +34 -28
  205. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  206. package/paginator/Paginator.accessibility.test.js +78 -0
  207. package/paginator/Paginator.js +13 -10
  208. package/paginator/Paginator.test.d.ts +1 -0
  209. package/paginator/Paginator.test.js +2 -3
  210. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  211. package/paragraph/Paragraph.accessibility.test.js +28 -0
  212. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  213. package/password-input/PasswordInput.accessibility.test.js +152 -0
  214. package/password-input/PasswordInput.js +11 -8
  215. package/password-input/PasswordInput.stories.tsx +10 -1
  216. package/password-input/PasswordInput.test.d.ts +1 -0
  217. package/password-input/PasswordInput.test.js +6 -7
  218. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  219. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  220. package/progress-bar/ProgressBar.js +6 -4
  221. package/progress-bar/ProgressBar.test.d.ts +1 -0
  222. package/progress-bar/ProgressBar.test.js +1 -1
  223. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  224. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  225. package/quick-nav/QuickNav.js +1 -1
  226. package/radio-group/Radio.js +6 -9
  227. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  228. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  229. package/radio-group/RadioGroup.js +14 -16
  230. package/radio-group/RadioGroup.test.d.ts +1 -0
  231. package/radio-group/RadioGroup.test.js +3 -5
  232. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  233. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  234. package/resultset-table/ResultsetTable.d.ts +1 -1
  235. package/resultset-table/ResultsetTable.js +47 -15
  236. package/resultset-table/ResultsetTable.stories.tsx +19 -3
  237. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  238. package/resultset-table/ResultsetTable.test.js +111 -32
  239. package/resultset-table/types.d.ts +41 -13
  240. package/select/Listbox.d.ts +3 -3
  241. package/select/Listbox.js +33 -29
  242. package/select/Option.d.ts +3 -3
  243. package/select/Option.js +21 -15
  244. package/select/Select.accessibility.test.d.ts +1 -0
  245. package/select/Select.accessibility.test.js +227 -0
  246. package/select/Select.js +85 -192
  247. package/select/Select.stories.tsx +74 -117
  248. package/select/Select.test.d.ts +1 -0
  249. package/select/Select.test.js +348 -550
  250. package/select/selectUtils.d.ts +41 -0
  251. package/select/selectUtils.js +129 -0
  252. package/select/types.d.ts +1 -1
  253. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  254. package/sidenav/Sidenav.accessibility.test.js +59 -0
  255. package/sidenav/Sidenav.js +16 -12
  256. package/sidenav/Sidenav.stories.tsx +5 -10
  257. package/sidenav/Sidenav.test.d.ts +1 -0
  258. package/sidenav/Sidenav.test.js +1 -1
  259. package/sidenav/types.d.ts +2 -2
  260. package/slider/Slider.accessibility.test.d.ts +1 -0
  261. package/slider/Slider.accessibility.test.js +103 -0
  262. package/slider/Slider.js +11 -13
  263. package/slider/Slider.stories.tsx +180 -0
  264. package/slider/Slider.test.d.ts +1 -0
  265. package/slider/Slider.test.js +13 -11
  266. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  267. package/spinner/Spinner.accessibility.test.js +96 -0
  268. package/spinner/Spinner.d.ts +1 -1
  269. package/spinner/Spinner.js +32 -47
  270. package/spinner/Spinner.test.d.ts +1 -0
  271. package/spinner/Spinner.test.js +1 -1
  272. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  273. package/status-light/StatusLight.accessibility.test.js +157 -0
  274. package/status-light/StatusLight.test.d.ts +1 -0
  275. package/status-light/StatusLight.test.js +1 -1
  276. package/switch/Switch.accessibility.test.d.ts +1 -0
  277. package/switch/Switch.accessibility.test.js +98 -0
  278. package/switch/Switch.js +6 -9
  279. package/switch/Switch.stories.tsx +12 -0
  280. package/switch/Switch.test.d.ts +1 -0
  281. package/switch/Switch.test.js +1 -1
  282. package/table/Table.accessibility.test.d.ts +1 -0
  283. package/table/Table.accessibility.test.js +92 -0
  284. package/table/Table.js +2 -11
  285. package/table/Table.stories.tsx +15 -10
  286. package/table/Table.test.d.ts +1 -0
  287. package/table/Table.test.js +2 -4
  288. package/table/types.d.ts +1 -15
  289. package/tabs/Tab.js +6 -5
  290. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  291. package/tabs/Tabs.accessibility.test.js +56 -0
  292. package/tabs/Tabs.js +9 -20
  293. package/tabs/Tabs.stories.tsx +7 -3
  294. package/tabs/Tabs.test.d.ts +1 -0
  295. package/tabs/Tabs.test.js +20 -38
  296. package/tabs/types.d.ts +2 -2
  297. package/tag/Tag.accessibility.test.d.ts +1 -0
  298. package/tag/Tag.accessibility.test.js +69 -0
  299. package/tag/Tag.js +7 -7
  300. package/tag/Tag.stories.tsx +5 -8
  301. package/tag/Tag.test.d.ts +1 -0
  302. package/tag/Tag.test.js +5 -13
  303. package/tag/types.d.ts +2 -2
  304. package/text-input/Suggestion.js +1 -1
  305. package/text-input/Suggestions.js +17 -7
  306. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  307. package/text-input/TextInput.accessibility.test.js +320 -0
  308. package/text-input/TextInput.js +56 -73
  309. package/text-input/TextInput.stories.tsx +20 -8
  310. package/text-input/TextInput.test.d.ts +1 -0
  311. package/text-input/TextInput.test.js +2 -3
  312. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  313. package/textarea/Textarea.accessibility.test.js +155 -0
  314. package/textarea/Textarea.js +14 -13
  315. package/textarea/Textarea.test.d.ts +1 -0
  316. package/textarea/Textarea.test.js +1 -1
  317. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  318. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  319. package/toggle-group/ToggleGroup.js +10 -12
  320. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  321. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  322. package/toggle-group/ToggleGroup.test.js +1 -1
  323. package/toggle-group/types.d.ts +2 -2
  324. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  325. package/tooltip/Tooltip.accessibility.test.js +144 -0
  326. package/tooltip/Tooltip.d.ts +4 -0
  327. package/tooltip/Tooltip.js +50 -0
  328. package/tooltip/Tooltip.stories.tsx +111 -0
  329. package/tooltip/Tooltip.test.d.ts +1 -0
  330. package/tooltip/Tooltip.test.js +112 -0
  331. package/tooltip/types.d.ts +16 -0
  332. package/tooltip/types.js +5 -0
  333. package/typography/Typography.accessibility.test.d.ts +1 -0
  334. package/typography/Typography.accessibility.test.js +339 -0
  335. package/typography/Typography.stories.tsx +1 -3
  336. package/typography/Typography.test.js +23 -0
  337. package/useTheme.d.ts +31 -5
  338. package/useTranslatedLabels.d.ts +11 -0
  339. package/utils/BaseTypography.js +45 -41
  340. package/utils/FocusLock.js +3 -2
  341. package/utils/useWidth.d.ts +2 -0
  342. package/utils/useWidth.js +30 -0
  343. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  344. package/wizard/Wizard.accessibility.test.js +55 -0
  345. package/wizard/Wizard.js +14 -25
  346. package/wizard/Wizard.stories.tsx +20 -1
  347. package/wizard/Wizard.test.d.ts +1 -0
  348. package/wizard/Wizard.test.js +1 -1
  349. package/wizard/types.d.ts +1 -1
  350. package/contextual-menu/MenuItemAction.d.ts +0 -4
  351. package/contextual-menu/MenuItemAction.js +0 -46
  352. package/date-input/Icons.d.ts +0 -6
  353. package/date-input/Icons.js +0 -58
  354. package/paginator/Icons.d.ts +0 -5
  355. package/paginator/Icons.js +0 -40
  356. package/password-input/Icons.d.ts +0 -6
  357. package/password-input/Icons.js +0 -35
  358. package/select/Icons.d.ts +0 -10
  359. package/select/Icons.js +0 -89
  360. package/sidenav/Icons.d.ts +0 -7
  361. package/sidenav/Icons.js +0 -47
  362. package/text-input/Icons.d.ts +0 -8
  363. package/text-input/Icons.js +0 -56
@@ -0,0 +1,88 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
16
+ var _excluded = ["badge", "collapseIcon", "icon", "label", "depthLevel"];
17
+ var ItemAction = function ItemAction(_ref) {
18
+ var badge = _ref.badge,
19
+ collapseIcon = _ref.collapseIcon,
20
+ icon = _ref.icon,
21
+ label = _ref.label,
22
+ depthLevel = _ref.depthLevel,
23
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
24
+ var modifiedBadge = badge && /*#__PURE__*/_react["default"].cloneElement(badge, {
25
+ size: "small"
26
+ });
27
+ return /*#__PURE__*/_react["default"].createElement(Action, (0, _extends2["default"])({
28
+ depthLevel: depthLevel
29
+ }, props), /*#__PURE__*/_react["default"].createElement(Label, null, collapseIcon && /*#__PURE__*/_react["default"].createElement(Icon, null, collapseIcon), icon && depthLevel === 0 && /*#__PURE__*/_react["default"].createElement(Icon, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
30
+ icon: icon
31
+ }) : icon), /*#__PURE__*/_react["default"].createElement(Text, {
32
+ selected: props.selected,
33
+ onMouseEnter: function onMouseEnter(event) {
34
+ var text = event.currentTarget;
35
+ if (text.title === "" && text.scrollWidth > text.clientWidth) text.title = label;
36
+ }
37
+ }, label)), modifiedBadge);
38
+ };
39
+ var Action = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border: none;\n border-radius: 4px;\n width: 100%;\n padding: ", ";\n box-shadow: inset 0 0 0 2px transparent;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n ", ";\n cursor: pointer;\n overflow: hidden;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n &:focus {\n outline: 2px solid ", ";\n outline-offset: -1px;\n }\n"])), function (props) {
40
+ return "".concat(_coreTokens["default"].spacing_4, " ").concat(_coreTokens["default"].spacing_8, " ").concat(_coreTokens["default"].spacing_4, " ", "\n calc(".concat(_coreTokens["default"].spacing_8, " + (").concat(_coreTokens["default"].spacing_24, " * ").concat(props.depthLevel, "))\n "), ";");
41
+ }, _coreTokens["default"].spacing_16, function (_ref2) {
42
+ var selected = _ref2.selected,
43
+ theme = _ref2.theme;
44
+ return selected ? "background-color: ".concat(theme.selectedMenuItemBackgroundColor, ";") : "background-color: ".concat(_coreTokens["default"].color_transparent);
45
+ }, function (_ref3) {
46
+ var selected = _ref3.selected,
47
+ theme = _ref3.theme;
48
+ return selected ? "background-color: ".concat(theme.hoverSelectedMenuItemBackgroundColor, ";") : "background-color: ".concat(theme.hoverMenuItemBackgroundColor, ";");
49
+ }, function (_ref4) {
50
+ var selected = _ref4.selected,
51
+ theme = _ref4.theme;
52
+ return selected ? "background-color: ".concat(theme.activeSelectedMenuItemBackgroundColor, ";") : "background-color: ".concat(theme.activeMenuItemBackgroundColor, ";");
53
+ }, _coreTokens["default"].color_blue_600);
54
+ var Icon = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: ", ";\n color: ", ";\n\n svg {\n height: ", ";\n width: ", ";\n }\n"])), function (_ref5) {
55
+ var theme = _ref5.theme;
56
+ return theme.iconSize;
57
+ }, function (_ref6) {
58
+ var theme = _ref6.theme;
59
+ return theme.iconColor;
60
+ }, function (_ref7) {
61
+ var theme = _ref7.theme;
62
+ return theme.iconSize;
63
+ }, function (_ref8) {
64
+ var theme = _ref8.theme;
65
+ return theme.iconSize;
66
+ });
67
+ var Label = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: ", ";\n overflow: hidden;\n"])), _coreTokens["default"].spacing_8);
68
+ var Text = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"])), function (_ref9) {
69
+ var theme = _ref9.theme;
70
+ return theme.menuItemFontColor;
71
+ }, function (_ref10) {
72
+ var theme = _ref10.theme;
73
+ return theme.fontFamily;
74
+ }, function (_ref11) {
75
+ var theme = _ref11.theme;
76
+ return theme.menuItemFontSize;
77
+ }, function (_ref12) {
78
+ var theme = _ref12.theme;
79
+ return theme.menuItemFontStyle;
80
+ }, function (_ref13) {
81
+ var selected = _ref13.selected,
82
+ theme = _ref13.theme;
83
+ return selected ? theme.selectedMenuItemFontWeight : theme.menuItemFontWeight;
84
+ }, function (_ref14) {
85
+ var theme = _ref14.theme;
86
+ return theme.menuItemLineHeight;
87
+ });
88
+ var _default = exports["default"] = ItemAction;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { MenuItemProps } from "./types";
3
+ declare const MenuItem: ({ item, depthLevel }: MenuItemProps) => React.JSX.Element;
4
+ export default MenuItem;
@@ -0,0 +1,29 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
13
+ var _SingleItem = _interopRequireDefault(require("./SingleItem"));
14
+ var _GroupItem = _interopRequireDefault(require("./GroupItem"));
15
+ var _templateObject;
16
+ var MenuItem = function MenuItem(_ref) {
17
+ var item = _ref.item,
18
+ _ref$depthLevel = _ref.depthLevel,
19
+ depthLevel = _ref$depthLevel === void 0 ? 0 : _ref$depthLevel;
20
+ return /*#__PURE__*/_react["default"].createElement(StyledMenuItem, {
21
+ role: "menuitem"
22
+ }, "items" in item ? /*#__PURE__*/_react["default"].createElement(_GroupItem["default"], (0, _extends2["default"])({}, item, {
23
+ depthLevel: depthLevel
24
+ })) : /*#__PURE__*/_react["default"].createElement(_SingleItem["default"], (0, _extends2["default"])({}, item, {
25
+ depthLevel: depthLevel
26
+ })));
27
+ };
28
+ var StyledMenuItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n gap: ", ";\n"])), _coreTokens["default"].spacing_4);
29
+ var _default = exports["default"] = MenuItem;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SingleItemProps } from "./types";
3
+ declare const SingleItem: ({ id, onSelect, selectedByDefault, ...props }: SingleItemProps) => React.JSX.Element;
4
+ export default SingleItem;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _ContextualMenu = require("./ContextualMenu");
13
+ var _ItemAction = _interopRequireDefault(require("./ItemAction"));
14
+ var _excluded = ["id", "onSelect", "selectedByDefault"];
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ var SingleItem = function SingleItem(_ref) {
18
+ var id = _ref.id,
19
+ onSelect = _ref.onSelect,
20
+ selectedByDefault = _ref.selectedByDefault,
21
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
22
+ var _useContext = (0, _react.useContext)(_ContextualMenu.ContextualMenuContext),
23
+ selectedItemId = _useContext.selectedItemId,
24
+ setSelectedItemId = _useContext.setSelectedItemId;
25
+ var handleClick = function handleClick() {
26
+ setSelectedItemId(id);
27
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect();
28
+ };
29
+ (0, _react.useEffect)(function () {
30
+ if (selectedItemId === -1 && selectedByDefault) setSelectedItemId(id);
31
+ }, [selectedItemId, selectedByDefault, id]);
32
+ return /*#__PURE__*/_react["default"].createElement(_ItemAction["default"], (0, _extends2["default"])({
33
+ "aria-selected": selectedItemId === -1 ? selectedByDefault : selectedItemId === id,
34
+ onClick: handleClick,
35
+ selected: selectedItemId === -1 ? selectedByDefault : selectedItemId === id
36
+ }, props));
37
+ };
38
+ var _default = exports["default"] = SingleItem;
@@ -1,22 +1,65 @@
1
- /// <reference types="react" />
2
- import { NotificationProps, CommonProps, ContextualProps } from "../badge/types";
1
+ import React from "react";
3
2
  type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
4
- export type Item = {
5
- label: string;
3
+ type CommonItemProps = {
4
+ badge?: React.ReactElement;
6
5
  icon?: string | SVG;
7
- slot?: React.ReactNode;
6
+ label: string;
7
+ };
8
+ type Item = CommonItemProps & {
8
9
  onSelect?: () => void;
10
+ selectedByDefault?: boolean;
11
+ };
12
+ type GroupItem = CommonItemProps & {
13
+ items: (Item | GroupItem)[];
9
14
  };
10
- export type Section = {
15
+ type Section = {
16
+ items: (Item | GroupItem)[];
11
17
  title?: string;
12
- items: Item[];
13
18
  };
14
19
  type Props = {
15
- defaultSelectedItemIndex?: number;
16
- items: Item[] | Section[];
20
+ /**
21
+ * Array of items to be displayed in the Contextual menu.
22
+ * Each item can be a single/simple item, a group item or a section.
23
+ */
24
+ items: (Item | GroupItem)[] | Section[];
25
+ };
26
+ /**
27
+ * Contextual menu internal types.
28
+ */
29
+ type ItemWithId = Item & {
30
+ id: number;
31
+ };
32
+ type GroupItemWithId = {
33
+ badge?: React.ReactElement;
34
+ icon: string | SVG;
35
+ items: (ItemWithId | GroupItemWithId)[];
36
+ label: string;
17
37
  };
18
- export type MenuItemActionProps = Item & {
38
+ type SectionWithId = {
39
+ items: (ItemWithId | GroupItemWithId)[];
40
+ title?: string;
41
+ };
42
+ type SingleItemProps = ItemWithId & {
43
+ depthLevel: number;
44
+ };
45
+ type GroupItemProps = GroupItemWithId & {
46
+ depthLevel: number;
47
+ };
48
+ type MenuItemProps = {
49
+ item: ItemWithId | GroupItemWithId;
50
+ depthLevel?: number;
51
+ };
52
+ type ItemActionProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
53
+ badge?: Item["badge"];
54
+ collapseIcon?: React.ReactNode;
55
+ depthLevel: number;
56
+ icon?: Item["icon"];
57
+ label: Item["label"];
19
58
  selected: boolean;
20
59
  };
21
- export type BadgeProps = (ContextualProps | NotificationProps) & Omit<CommonProps, "size">;
60
+ type ContextualMenuContextProps = {
61
+ selectedItemId: number;
62
+ setSelectedItemId: React.Dispatch<React.SetStateAction<number>>;
63
+ };
22
64
  export default Props;
65
+ export type { ContextualMenuContextProps, GroupItem, GroupItemProps, GroupItemWithId, Item, ItemActionProps, ItemWithId, MenuItemProps, Section, SectionWithId, SingleItemProps, };
@@ -11,10 +11,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
14
- var _Flex = _interopRequireDefault(require("../flex/Flex"));
15
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
16
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
17
  var getDays = function getDays(innerDate) {
19
18
  var monthDayCells = [];
20
19
  var lastMonthNumberOfDays = innerDate.set("month", innerDate.get("month") - 1).endOf("month");
@@ -49,12 +48,20 @@ var getDateToFocus = function getDateToFocus(selectedDate, innerDate, today) {
49
48
  var isDaySelected = function isDaySelected(date, selectedDate) {
50
49
  return (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("month")) === date.month && (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === date.year && (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("date")) === date.day;
51
50
  };
51
+ var divideDaysIntoWeeks = function divideDaysIntoWeeks(data, weekSize) {
52
+ return Array.from({
53
+ length: Math.ceil(data.length / weekSize)
54
+ }, function (_, rowIndex) {
55
+ return data.slice(rowIndex * weekSize, (rowIndex + 1) * weekSize);
56
+ });
57
+ };
52
58
  var Calendar = function Calendar(_ref) {
53
59
  var selectedDate = _ref.selectedDate,
54
60
  innerDate = _ref.innerDate,
55
61
  onInnerDateChange = _ref.onInnerDateChange,
56
62
  onDaySelect = _ref.onDaySelect,
57
63
  today = _ref.today;
64
+ var id = (0, _react.useId)();
58
65
  var _useState = (0, _react.useState)(getDateToFocus(selectedDate, innerDate, today)),
59
66
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
60
67
  dateToFocus = _useState2[0],
@@ -88,7 +95,7 @@ var Calendar = function Calendar(_ref) {
88
95
  (0, _react.useEffect)(function () {
89
96
  if (isFocusable) {
90
97
  var _document$getElementB;
91
- (_document$getElementB = document.getElementById("day_".concat(dateToFocus.get("date"), "_month").concat(dateToFocus.get("month")))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
98
+ (_document$getElementB = document.getElementById("".concat(id, "_day_").concat(dateToFocus.get("date"), "_month").concat(dateToFocus.get("month")))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
92
99
  setIsFocusable(false);
93
100
  }
94
101
  }, [dateToFocus, isFocusable]);
@@ -146,33 +153,40 @@ var Calendar = function Calendar(_ref) {
146
153
  break;
147
154
  }
148
155
  };
149
- return /*#__PURE__*/_react["default"].createElement(CalendarContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
150
- alignItems: "center",
151
- justifyContent: "space-between"
156
+ return /*#__PURE__*/_react["default"].createElement(CalendarContainer, {
157
+ role: "grid"
158
+ }, /*#__PURE__*/_react["default"].createElement(CalendarHeaderRow, {
159
+ role: "row"
152
160
  }, weekDays.map(function (weekDay) {
153
161
  return /*#__PURE__*/_react["default"].createElement(WeekHeaderCell, {
154
- key: weekDay
162
+ key: weekDay,
163
+ role: "columnheader"
155
164
  }, weekDay);
156
- })), /*#__PURE__*/_react["default"].createElement(DayCellsContainer, {
157
- onBlur: handleOnBlur
158
- }, dayCells.map(function (date, index) {
159
- return /*#__PURE__*/_react["default"].createElement(DayCell, {
160
- onKeyDown: function onKeyDown(event) {
161
- return handleDayKeyboardEvent(event, date);
162
- },
163
- "aria-label": date.day,
164
- id: "day_".concat(date.day, "_month").concat(date.month),
165
- key: "day_".concat(index),
166
- onClick: function onClick() {
167
- return onDateClickHandler(date);
168
- },
169
- selected: isDaySelected(date, selectedDate),
170
- actualMonth: date.month === innerDate.get("month"),
171
- autoFocus: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month"),
172
- "aria-selected": isDaySelected(date, selectedDate),
173
- tabIndex: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month") ? 0 : -1,
174
- isCurrentDay: today.get("date") === date.day && today.get("month") === innerDate.get("month") && today.get("month") === date.month && today.get("year") === innerDate.get("year")
175
- }, date.day);
165
+ })), /*#__PURE__*/_react["default"].createElement(MonthContainer, {
166
+ onBlur: handleOnBlur,
167
+ role: "rowgroup"
168
+ }, divideDaysIntoWeeks(dayCells, weekDays.length).map(function (week, rowIndex) {
169
+ return /*#__PURE__*/_react["default"].createElement(WeekContainer, {
170
+ key: "".concat(id, "_week_").concat(rowIndex),
171
+ role: "row"
172
+ }, week.map(function (date, index) {
173
+ return /*#__PURE__*/_react["default"].createElement(DayCellButton, {
174
+ id: "".concat(id, "_day_").concat(date.day, "_month").concat(date.month),
175
+ role: "gridcell",
176
+ "aria-selected": isDaySelected(date, selectedDate),
177
+ onKeyDown: function onKeyDown(event) {
178
+ return handleDayKeyboardEvent(event, date);
179
+ },
180
+ onClick: function onClick() {
181
+ return onDateClickHandler(date);
182
+ },
183
+ selected: isDaySelected(date, selectedDate),
184
+ actualMonth: date.month === innerDate.get("month"),
185
+ autoFocus: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month"),
186
+ tabIndex: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month") ? 0 : -1,
187
+ isCurrentDay: today.get("date") === date.day && today.get("month") === innerDate.get("month") && today.get("month") === date.month && today.get("year") === innerDate.get("year")
188
+ }, date.day);
189
+ }));
176
190
  })));
177
191
  };
178
192
  var CalendarContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0px 8px 8px 8px;\n width: 292px;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
@@ -184,9 +198,11 @@ var CalendarContainer = _styledComponents["default"].div(_templateObject || (_te
184
198
  }, function (props) {
185
199
  return props.theme.dateInput.pickerFontWeight;
186
200
  });
187
- var WeekHeaderCell = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n"])));
188
- var DayCellsContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 4px;\n flex-wrap: wrap;\n justify-content: space-between;\n"])));
189
- var DayCell = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 36px;\n height: 36px;\n padding: 0;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n &:focus {\n outline: ", " solid 2px;\n }\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n\n ", "\n background-color: ", ";\n color: ", ";\n"])), function (props) {
201
+ var CalendarHeaderRow = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n"])));
202
+ var WeekHeaderCell = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n"])));
203
+ var MonthContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 4px;\n flex-direction: column;\n justify-content: space-between;\n"])));
204
+ var WeekContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 4px;\n justify-content: space-between;\n"])));
205
+ var DayCellButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 36px;\n height: 36px;\n padding: 0;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n &:focus {\n outline: ", " solid 2px;\n }\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n\n ", "\n background-color: ", ";\n color: ", ";\n"])), function (props) {
190
206
  return props.theme.dateInput.pickerFontFamily;
191
207
  }, function (props) {
192
208
  return props.theme.dateInput.pickerFontSize;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _DateInput = _interopRequireDefault(require("./DateInput"));
12
+ var _disabledRules = require("../../test/accessibility/rules/specific/date-input/disabledRules.js");
13
+ // Mocking DOMRect for Radix Primitive Popover
14
+ global.globalThis = global;
15
+ global.DOMRect = {
16
+ fromRect: function fromRect() {
17
+ return {
18
+ top: 0,
19
+ left: 0,
20
+ bottom: 0,
21
+ right: 0,
22
+ width: 0,
23
+ height: 0,
24
+ x: 0,
25
+ y: 0
26
+ };
27
+ }
28
+ };
29
+ global.ResizeObserver = /*#__PURE__*/function () {
30
+ function ResizeObserver() {
31
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
32
+ }
33
+ return (0, _createClass2["default"])(ResizeObserver, [{
34
+ key: "observe",
35
+ value: function observe() {}
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }, {
40
+ key: "disconnect",
41
+ value: function disconnect() {}
42
+ }]);
43
+ }();
44
+
45
+ // TODO: REMOVE
46
+
47
+ var disabledRules = {
48
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
49
+ rulesObj[rule] = {
50
+ enabled: false
51
+ };
52
+ return rulesObj;
53
+ }, {})
54
+ };
55
+ describe("DateInput component accessibility tests", function () {
56
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
+ var _render, baseElement, results;
58
+ return _regenerator["default"].wrap(function _callee$(_context) {
59
+ while (1) switch (_context.prev = _context.next) {
60
+ case 0:
61
+ // baseElement is needed when using React Portals
62
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
63
+ label: "Example label",
64
+ helperText: "Help message",
65
+ defaultValue: "06-04-2007",
66
+ format: "dd/mm/yy",
67
+ name: "DateInput Name",
68
+ margin: "medium",
69
+ size: "medium",
70
+ placeholder: true,
71
+ clearable: true
72
+ })), baseElement = _render.baseElement;
73
+ _context.next = 3;
74
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
75
+ case 3:
76
+ results = _context.sent;
77
+ expect(results).toHaveNoViolations();
78
+ case 5:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }, _callee);
83
+ })));
84
+ it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
85
+ var _render2, baseElement, results;
86
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
87
+ while (1) switch (_context2.prev = _context2.next) {
88
+ case 0:
89
+ // baseElement is needed when using React Portals
90
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
91
+ label: "Example label",
92
+ helperText: "Help message",
93
+ defaultValue: "06-04-2007",
94
+ format: "dd/mm/yy",
95
+ name: "DateInput Name",
96
+ margin: "medium",
97
+ size: "medium",
98
+ placeholder: true,
99
+ autocomplete: "on"
100
+ })), baseElement = _render2.baseElement;
101
+ _context2.next = 3;
102
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
103
+ case 3:
104
+ results = _context2.sent;
105
+ expect(results).toHaveNoViolations();
106
+ case 5:
107
+ case "end":
108
+ return _context2.stop();
109
+ }
110
+ }, _callee2);
111
+ })));
112
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
113
+ var _render3, baseElement, results;
114
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
115
+ while (1) switch (_context3.prev = _context3.next) {
116
+ case 0:
117
+ // baseElement is needed when using React Portals
118
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
119
+ label: "Example label",
120
+ helperText: "Help message",
121
+ defaultValue: "06-04-2007",
122
+ format: "dd/mm/yy",
123
+ name: "DateInput Name",
124
+ margin: "medium",
125
+ size: "medium",
126
+ placeholder: true,
127
+ optional: true
128
+ })), baseElement = _render3.baseElement;
129
+ _context3.next = 3;
130
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
131
+ case 3:
132
+ results = _context3.sent;
133
+ expect(results).toHaveNoViolations();
134
+ case 5:
135
+ case "end":
136
+ return _context3.stop();
137
+ }
138
+ }, _callee3);
139
+ })));
140
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
141
+ var _render4, baseElement, results;
142
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
143
+ while (1) switch (_context4.prev = _context4.next) {
144
+ case 0:
145
+ // baseElement is needed when using React Portals
146
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
147
+ label: "Example label",
148
+ helperText: "Help message",
149
+ defaultValue: "06-04-2007",
150
+ format: "dd/mm/yy",
151
+ name: "DateInput Name",
152
+ margin: "medium",
153
+ error: "Error message.",
154
+ size: "medium",
155
+ placeholder: true,
156
+ clearable: true
157
+ })), baseElement = _render4.baseElement;
158
+ _context4.next = 3;
159
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
160
+ case 3:
161
+ results = _context4.sent;
162
+ expect(results).toHaveNoViolations();
163
+ case 5:
164
+ case "end":
165
+ return _context4.stop();
166
+ }
167
+ }, _callee4);
168
+ })));
169
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
170
+ var _render5, baseElement, results;
171
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
172
+ while (1) switch (_context5.prev = _context5.next) {
173
+ case 0:
174
+ // baseElement is needed when using React Portals
175
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
176
+ label: "Example label",
177
+ helperText: "Help message",
178
+ defaultValue: "06-04-2007",
179
+ format: "dd/mm/yy",
180
+ name: "DateInput Name",
181
+ margin: "medium",
182
+ error: "Error message.",
183
+ size: "medium",
184
+ placeholder: true,
185
+ clearable: true,
186
+ readOnly: true
187
+ })), baseElement = _render5.baseElement;
188
+ _context5.next = 3;
189
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
190
+ case 3:
191
+ results = _context5.sent;
192
+ expect(results).toHaveNoViolations();
193
+ case 5:
194
+ case "end":
195
+ return _context5.stop();
196
+ }
197
+ }, _callee5);
198
+ })));
199
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
200
+ var _render6, baseElement, results;
201
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
202
+ while (1) switch (_context6.prev = _context6.next) {
203
+ case 0:
204
+ // baseElement is needed when using React Portals
205
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
206
+ label: "Example label",
207
+ helperText: "Help message",
208
+ defaultValue: "06-04-2007",
209
+ format: "dd/mm/yy",
210
+ name: "DateInput Name",
211
+ margin: "medium",
212
+ error: "Error message.",
213
+ size: "medium",
214
+ placeholder: true,
215
+ clearable: true,
216
+ disabled: true
217
+ })), baseElement = _render6.baseElement;
218
+ _context6.next = 3;
219
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
220
+ case 3:
221
+ results = _context6.sent;
222
+ expect(results).toHaveNoViolations();
223
+ case 5:
224
+ case "end":
225
+ return _context6.stop();
226
+ }
227
+ }, _callee6);
228
+ })));
229
+ });