@innovaccer/design-system 2.5.0-4 → 2.6.0

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 (264) hide show
  1. package/.all-contributorsrc +1 -1
  2. package/.eslintrc.json +53 -0
  3. package/.github/workflows/jira.yml +1 -2
  4. package/.github/workflows/main.yml +2 -2
  5. package/.github/workflows/pull_request.yml +1 -1
  6. package/.github/workflows/test.yml +1 -1
  7. package/.husky/commit-msg +4 -0
  8. package/.prettierrc +2 -2
  9. package/CHANGELOG.md +38 -88
  10. package/CONTRIBUTING.md +173 -97
  11. package/README.md +1 -1
  12. package/commitlint.config.js +1 -0
  13. package/core/accessibility/utils/index.ts +5 -0
  14. package/core/accessibility/utils/isEnterKey.ts +5 -0
  15. package/core/accessibility/utils/isSpaceKey.ts +5 -0
  16. package/core/accessibility/utils/useAccessibilityProps.ts +31 -0
  17. package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +8 -0
  18. package/core/components/atoms/_chip/index.tsx +2 -0
  19. package/core/components/atoms/button/__stories__/Alert.story.tsx +8 -1
  20. package/core/components/atoms/button/__stories__/Cancel.story.tsx +4 -1
  21. package/core/components/atoms/button/__stories__/IconButtonGroup.story.tsx +12 -3
  22. package/core/components/atoms/button/__stories__/IconButtonSecondary.story.tsx +6 -1
  23. package/core/components/atoms/button/__stories__/IconLeftSecondary.story.tsx +4 -1
  24. package/core/components/atoms/button/__stories__/IconRightSecondary.story.tsx +4 -1
  25. package/core/components/atoms/button/__stories__/IconTransparent.story.tsx +4 -1
  26. package/core/components/atoms/button/__stories__/LabelButtonGroup.story.tsx +14 -3
  27. package/core/components/atoms/button/__stories__/LargeIconExpanded.story.tsx +4 -1
  28. package/core/components/atoms/button/__stories__/LoadingPrimary.story.tsx +4 -1
  29. package/core/components/atoms/button/__stories__/Primary.story.tsx +5 -2
  30. package/core/components/atoms/button/__stories__/SplitButton.story.tsx +6 -1
  31. package/core/components/atoms/button/__stories__/Transparent.story.tsx +8 -1
  32. package/core/components/atoms/button/__stories__/index.story.tsx +11 -1
  33. package/core/components/atoms/button/__stories__/variants/Appearance.story.tsx +4 -0
  34. package/core/components/atoms/button/__stories__/variants/Expanded.story.tsx +4 -0
  35. package/core/components/atoms/button/__stories__/variants/Size.story.tsx +4 -0
  36. package/core/components/atoms/button/__stories__/variants/icon/Icon.story.tsx +15 -0
  37. package/core/components/atoms/button/__stories__/variants/icon/IconLeft.story.tsx +4 -0
  38. package/core/components/atoms/button/__stories__/variants/icon/IconRight.story.tsx +4 -0
  39. package/core/components/atoms/button/__stories__/variants/state/Alert.story.tsx +7 -17
  40. package/core/components/atoms/button/__stories__/variants/state/Basic.story.tsx +9 -17
  41. package/core/components/atoms/button/__stories__/variants/state/Primary.story.tsx +7 -17
  42. package/core/components/atoms/button/__stories__/variants/state/Success.story.tsx +7 -17
  43. package/core/components/atoms/button/__stories__/variants/state/Transparent.story.tsx +13 -17
  44. package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +6 -0
  45. package/core/components/atoms/collapsible/__stories__/index.story.tsx +2 -2
  46. package/core/components/atoms/collapsible/__tests__/__snapshots__/Collapsible.test.tsx.snap +8 -0
  47. package/core/components/atoms/divider/Divider.tsx +44 -0
  48. package/core/components/atoms/divider/__stories__/BasicDividerInCard.story.tsx +74 -0
  49. package/core/components/atoms/divider/__stories__/HeaderDividerInCard.story.tsx +35 -0
  50. package/core/components/atoms/divider/__stories__/IndentedDivider.story.tsx +49 -0
  51. package/core/components/atoms/divider/__stories__/Vertical.story.tsx +51 -0
  52. package/core/components/atoms/divider/__stories__/index.story.tsx +91 -0
  53. package/core/components/atoms/divider/__stories__/variants/HorizontalDivider.story.tsx +27 -0
  54. package/core/components/atoms/divider/__tests__/Divider.test.tsx +50 -0
  55. package/core/components/atoms/divider/__tests__/__snapshots__/Divider.test.tsx.snap +53 -0
  56. package/core/components/atoms/divider/index.tsx +2 -0
  57. package/core/components/atoms/dropdown/DropdownList.tsx +8 -2
  58. package/core/components/atoms/dropdown/__stories__/variants/controlledDropdown/MultiSelect.story.tsx +27 -17
  59. package/core/components/atoms/dropdown/option/DefaultOption.tsx +3 -0
  60. package/core/components/atoms/dropdown/option/IconOption.tsx +3 -0
  61. package/core/components/atoms/dropdown/option/IconWithMetaOption.tsx +3 -0
  62. package/core/components/atoms/dropdown/option/MetaOption.tsx +3 -0
  63. package/core/components/atoms/editable/Editable.tsx +3 -0
  64. package/core/components/atoms/icon/Icon.tsx +14 -3
  65. package/core/components/atoms/icon/__stories__/variants/Image.story.tsx +6 -1
  66. package/core/components/atoms/icon/__tests__/__snapshots__/Icon.test.tsx.snap +74 -0
  67. package/core/components/atoms/input/Input.tsx +14 -4
  68. package/core/components/atoms/input/__stories__/BasicInput.story.tsx +2 -1
  69. package/core/components/atoms/input/__stories__/InputWithCaption.story.tsx +29 -9
  70. package/core/components/atoms/input/__stories__/InputWithLabel.story.tsx +11 -3
  71. package/core/components/atoms/input/__stories__/LabelPosition.story.tsx +8 -4
  72. package/core/components/atoms/input/__stories__/RequiredVsOptional.story.tsx +12 -8
  73. package/core/components/atoms/input/__tests__/__snapshots__/Input.test.tsx.snap +19 -0
  74. package/core/components/atoms/legend/Legend.tsx +3 -0
  75. package/core/components/atoms/message/__stories__/CustomDescription.tsx +25 -0
  76. package/core/components/atoms/metricInput/MetricInput.tsx +12 -2
  77. package/core/components/atoms/metricInput/__stories__/DefaultMetric.story.tsx +8 -2
  78. package/core/components/atoms/metricInput/__stories__/WithPrefix.story.tsx +6 -2
  79. package/core/components/atoms/metricInput/__stories__/index.story.tsx +1 -0
  80. package/core/components/atoms/metricInput/__stories__/variants/Controlled.story.tsx +2 -0
  81. package/core/components/atoms/metricInput/__stories__/variants/Size.story.tsx +2 -2
  82. package/core/components/atoms/metricInput/__stories__/withSuffix.story.tsx +6 -2
  83. package/core/components/atoms/metricInput/__tests__/__snapshots__/MetricInput.test.tsx.snap +20 -4
  84. package/core/components/atoms/multiSlider/Handle.tsx +3 -0
  85. package/core/components/atoms/multiSlider/index.tsx +6 -0
  86. package/core/components/atoms/outsideClick/__stories__/index.story.tsx +1 -1
  87. package/core/components/atoms/statusHint/StatusHint.tsx +3 -0
  88. package/core/components/atoms/switchInput/Switch.tsx +10 -4
  89. package/core/components/atoms/switchInput/__stories__/DefaultSwitch.story.tsx +4 -1
  90. package/core/components/atoms/switchInput/__stories__/OffState.story.tsx +4 -1
  91. package/core/components/atoms/switchInput/__stories__/index.story.tsx +26 -3
  92. package/core/components/atoms/switchInput/__stories__/variants/Size.story.tsx +10 -1
  93. package/core/components/atoms/switchInput/__stories__/variants/State.story.tsx +9 -2
  94. package/core/components/atoms/textarea/__stories__/TextareaWithCaption.story.tsx +9 -3
  95. package/core/components/atoms/textarea/__stories__/defaultTextarea.story.tsx +10 -2
  96. package/core/components/atoms/textarea/__stories__/index.story.tsx +1 -0
  97. package/core/components/atoms/textarea/__stories__/variants/Disable.story.tsx +1 -0
  98. package/core/components/atoms/toast/__tests__/__snapshots__/Toast.test.tsx.snap +30 -0
  99. package/core/components/css-utilities/Align/Align.story.tsx +1 -1
  100. package/core/components/css-utilities/Background/Background.story.tsx +1 -1
  101. package/core/components/css-utilities/Border/Border.story.tsx +1 -1
  102. package/core/components/css-utilities/Display/Display.story.tsx +1 -1
  103. package/core/components/css-utilities/Flex/Flex.story.tsx +1 -1
  104. package/core/components/css-utilities/Miscellaneous/Miscellaneous.story.tsx +1 -1
  105. package/core/components/css-utilities/Overflow/Overflow.story.tsx +1 -1
  106. package/core/components/css-utilities/Position/Position.story.tsx +1 -1
  107. package/core/components/css-utilities/Sizing/Sizing.story.tsx +1 -1
  108. package/core/components/css-utilities/Spacing/Spacing.story.tsx +1 -1
  109. package/core/components/molecules/chatMessage/Box.tsx +3 -0
  110. package/core/components/molecules/chipInput/ChipInput.tsx +3 -0
  111. package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +12 -0
  112. package/core/components/molecules/dropzone/Dropzone.tsx +3 -0
  113. package/core/components/molecules/dropzone/FileSelectorUtils.tsx +1 -1
  114. package/core/components/molecules/editableChipInput/EditableChipInput.tsx +9 -5
  115. package/core/components/molecules/editableChipInput/__stories__/Uncontrolled.story.tsx +1 -1
  116. package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +8 -0
  117. package/core/components/molecules/editableDropdown/EditableDropdown.tsx +2 -2
  118. package/core/components/molecules/editableInput/EditableInput.tsx +13 -4
  119. package/core/components/molecules/emptyState/EmptyState.tsx +5 -1
  120. package/core/components/molecules/fileList/FileListItem.tsx +2 -0
  121. package/core/components/molecules/fileUploader/FileUploaderItem.tsx +2 -0
  122. package/core/components/molecules/fileUploader/__stories__/index.story.tsx +156 -21
  123. package/core/components/molecules/inputMask/InputMask.tsx +1 -1
  124. package/core/components/molecules/inputMask/__tests__/__snapshots__/InputMask.test.tsx.snap +1 -0
  125. package/core/components/molecules/pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +5 -1
  126. package/core/components/molecules/stepper/Step.tsx +2 -0
  127. package/core/components/molecules/tabs/Tabs.tsx +2 -0
  128. package/core/components/molecules/tabs/TabsWrapper.tsx +2 -0
  129. package/core/components/molecules/tabs/__stories__/CustomLabels.story.tsx +1 -1
  130. package/core/components/molecules/verificationCodeInput/VerificationCodeInput.tsx +8 -4
  131. package/core/components/molecules/verificationCodeInput/__stories__/index.story.tsx +3 -1
  132. package/core/components/molecules/verificationCodeInput/__tests__/__snapshots__/VerificationCodeInput.test.tsx.snap +1 -0
  133. package/core/components/organisms/calendar/Calendar.tsx +130 -8
  134. package/core/components/organisms/calendar/__tests__/Calendar.test.tsx +27 -0
  135. package/core/components/organisms/choiceList/ChoiceList.tsx +1 -1
  136. package/core/components/organisms/datePicker/DatePicker.tsx +30 -15
  137. package/core/components/organisms/datePicker/__tests__/DatePicker.test.tsx +136 -46
  138. package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +4388 -1857
  139. package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +112 -40
  140. package/core/components/organisms/grid/Cell.tsx +4 -0
  141. package/core/components/organisms/grid/GridRow.tsx +4 -0
  142. package/core/components/organisms/grid/__stories__/_common_/fetchData.ts +2 -2
  143. package/core/components/organisms/horizontalNav/HorizontalNav.tsx +2 -0
  144. package/core/components/organisms/inlineMessage/InlineMessage.tsx +3 -5
  145. package/core/components/organisms/inlineMessage/__tests__/__snapshots__/InlineMessage.test.tsx.snap +30 -40
  146. package/core/components/organisms/navigation/VerticalNavigation.tsx +4 -0
  147. package/core/components/organisms/table/Table.tsx +1 -0
  148. package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +4 -1
  149. package/core/components/organisms/table/__stories__/ResourceTable.story.tsx +3 -2
  150. package/core/components/organisms/table/__stories__/Selection.story.tsx +2 -2
  151. package/core/components/organisms/table/__stories__/TableAsDescriptionList.story.tsx +1 -1
  152. package/core/components/organisms/table/__stories__/TableAsOptionList.story.tsx +1 -1
  153. package/core/components/organisms/table/__stories__/syncTable.story.tsx +14 -6
  154. package/core/components/organisms/table/__stories__/variants/nestedRows.story.tsx +5 -2
  155. package/core/components/organisms/table/__stories__/variants/withHeader.story.tsx +0 -2
  156. package/core/components/organisms/timePicker/TimePicker.tsx +1 -1
  157. package/core/components/organisms/timePicker/__tests__/__snapshots__/TimePicker.test.tsx.snap +14 -2
  158. package/core/components/organisms/verticalNav/MenuItem.tsx +2 -0
  159. package/core/components/patterns/datePicker/datePickerWithPresets.story.tsx +126 -0
  160. package/core/components/patterns/dateRangePicker/withCustomPopover.story.tsx +8 -8
  161. package/core/components/patterns/forms/CreatePassword.story.tsx +1 -1
  162. package/core/components/patterns/forms/VerificationCodeInput.story.tsx +2 -2
  163. package/core/components/patterns/table/Table with Header/tableWithHeader.story.jsx +7 -7
  164. package/core/index.tsx +1 -0
  165. package/core/index.type.tsx +1 -0
  166. package/core/utils/Keys.ts +4 -0
  167. package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +544 -536
  168. package/core/utils/docPage/index.tsx +22 -17
  169. package/core/utils/testHelper.ts +1 -1
  170. package/core/utils/validators.ts +37 -34
  171. package/css/dist/index.css +1523 -1402
  172. package/css/dist/index.css.map +1 -1
  173. package/css/src/components/Legend.css +7 -7
  174. package/css/src/components/ProgressBar.css +1 -1
  175. package/css/src/components/avatarGroup.css +1 -1
  176. package/css/src/components/backdrop.css +12 -6
  177. package/css/src/components/badge.css +52 -52
  178. package/css/src/components/button.css +99 -94
  179. package/css/src/components/calendar.css +137 -126
  180. package/css/src/components/card.css +0 -1
  181. package/css/src/components/cardSubdued.css +3 -5
  182. package/css/src/components/chat.css +1 -1
  183. package/css/src/components/checkbox.css +71 -70
  184. package/css/src/components/chip.css +14 -13
  185. package/css/src/components/chipGroup.css +5 -5
  186. package/css/src/components/chipInput.css +1 -1
  187. package/css/src/components/choiceList.css +4 -4
  188. package/css/src/components/dateRangePicker.css +13 -13
  189. package/css/src/components/divider.css +20 -0
  190. package/css/src/components/dropdown.css +61 -61
  191. package/css/src/components/dropdownButton.css +36 -36
  192. package/css/src/components/dropzone.css +16 -20
  193. package/css/src/components/editableChipInput.css +10 -9
  194. package/css/src/components/editableDropdown.css +1 -1
  195. package/css/src/components/editableInput.css +1 -1
  196. package/css/src/components/emptyState.css +15 -15
  197. package/css/src/components/fileList.css +44 -45
  198. package/css/src/components/grid.css +217 -199
  199. package/css/src/components/horizontalNav.css +0 -1
  200. package/css/src/components/icon.css +1 -7
  201. package/css/src/components/inlineMessage.css +2 -1
  202. package/css/src/components/input.css +62 -62
  203. package/css/src/components/link.css +1 -1
  204. package/css/src/components/list.css +10 -10
  205. package/css/src/components/message.css +69 -70
  206. package/css/src/components/metaList.css +26 -26
  207. package/css/src/components/metricInput.css +3 -4
  208. package/css/src/components/modal.css +1 -1
  209. package/css/src/components/navigation.css +3 -3
  210. package/css/src/components/pageHeader.css +1 -2
  211. package/css/src/components/pagination.css +36 -36
  212. package/css/src/components/pills.css +19 -19
  213. package/css/src/components/placeholder.css +10 -5
  214. package/css/src/components/popover.css +2 -2
  215. package/css/src/components/progressRing.css +1 -1
  216. package/css/src/components/radio.css +74 -74
  217. package/css/src/components/slider.css +5 -5
  218. package/css/src/components/statusHints.css +15 -15
  219. package/css/src/components/switch.css +45 -41
  220. package/css/src/components/table.css +15 -15
  221. package/css/src/components/tabs.css +53 -53
  222. package/css/src/components/textarea.css +1 -1
  223. package/css/src/components/toast.css +53 -53
  224. package/css/src/components/verificationCodeInput.css +5 -6
  225. package/css/src/components/verticalNav.css +1 -2
  226. package/css/src/core/base.css +3 -0
  227. package/css/src/core/typography.css +1 -1
  228. package/css/src/core/utilities.css +1 -1
  229. package/css/src/tokens/index.css +63 -63
  230. package/css/src/utils/align.css +1 -1
  231. package/css/src/utils/background.css +1 -1
  232. package/css/src/utils/cursor.css +1 -1
  233. package/css/src/utils/display.css +1 -1
  234. package/css/src/utils/flex.css +1 -1
  235. package/css/src/utils/grid.css +1 -1
  236. package/css/src/utils/overflow.css +1 -1
  237. package/css/src/utils/position.css +1 -1
  238. package/css/src/utils/spacing.css +1 -1
  239. package/css/src/utils/utility.css +13 -13
  240. package/css/src/variables/index.css +1 -1
  241. package/dist/core/accessibility/utils/index.d.ts +4 -0
  242. package/dist/core/accessibility/utils/isEnterKey.d.ts +3 -0
  243. package/dist/core/accessibility/utils/isSpaceKey.d.ts +3 -0
  244. package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +15 -0
  245. package/dist/core/components/atoms/divider/Divider.d.ts +15 -0
  246. package/dist/core/components/atoms/divider/index.d.ts +2 -0
  247. package/dist/core/components/atoms/icon/Icon.d.ts +3 -1
  248. package/dist/core/components/atoms/input/Input.d.ts +1 -1
  249. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +50 -49
  250. package/dist/core/components/atoms/switchInput/Switch.d.ts +2 -1
  251. package/dist/core/components/organisms/calendar/Calendar.d.ts +31 -0
  252. package/dist/core/components/organisms/datePicker/DatePicker.d.ts +2 -0
  253. package/dist/core/components/patterns/datePicker/datePickerWithPresets.story.d.ts +15 -0
  254. package/dist/core/index.d.ts +1 -0
  255. package/dist/core/index.type.d.ts +1 -0
  256. package/dist/index.esm.js +829 -495
  257. package/dist/index.js +313 -144
  258. package/dist/index.js.map +1 -1
  259. package/dist/index.umd.js +1 -1
  260. package/dist/index.umd.js.br +0 -0
  261. package/dist/index.umd.js.gz +0 -0
  262. package/package.json +17 -14
  263. package/.husky/prepare-commit-msg +0 -6
  264. package/tslint.json +0 -30
@@ -1,6 +1,6 @@
1
- import { fetchDataFunction, Schema, RowData } from '../../Grid';
1
+ import { fetchDataFunction, RowData } from '../../Grid';
2
2
  import data from './data';
3
- const schema: Schema = require('./schema').default;
3
+ import schema from './schema';
4
4
  import { filterData, sortData } from '../../utility';
5
5
 
6
6
  export const fetchData: fetchDataFunction = (options) => {
@@ -69,6 +69,8 @@ export const HorizontalNav = (props: HorizontalNavProps) => {
69
69
  });
70
70
 
71
71
  return (
72
+ // TODO(a11y)
73
+ // eslint-disable-next-line
72
74
  <div data-test="DesignSystem-HorizontalNav" key={index} className={menuClasses} onClick={onClickHandler(menu)}>
73
75
  {renderIcon(menu, isActive)}
74
76
  <Text
@@ -53,11 +53,9 @@ export const InlineMessage = (props: InlineMessageProps) => {
53
53
  className={IconClass}
54
54
  />
55
55
  )}
56
- <div>
57
- <Text data-test="DesignSystem-InlineMessage--Description" className={DescriptionClass}>
58
- {description}
59
- </Text>
60
- </div>
56
+ <Text data-test="DesignSystem-InlineMessage--Description" className={DescriptionClass}>
57
+ {description}
58
+ </Text>
61
59
  </div>
62
60
  );
63
61
  };
@@ -16,14 +16,12 @@ exports[`InlineMessage component
16
16
  >
17
17
  error_round
18
18
  </i>
19
- <div>
20
- <span
21
- class="Text Text--default Text--regular InlineMessage-text--alert"
22
- data-test="DesignSystem-InlineMessage--Description"
23
- >
24
- Inline Message here.
25
- </span>
26
- </div>
19
+ <span
20
+ class="Text Text--default Text--regular InlineMessage-text--alert"
21
+ data-test="DesignSystem-InlineMessage--Description"
22
+ >
23
+ Inline Message here.
24
+ </span>
27
25
  </div>
28
26
  </div>
29
27
  </body>
@@ -38,14 +36,12 @@ exports[`InlineMessage component
38
36
  class="InlineMessage"
39
37
  data-test="DesignSystem-InlineMessage"
40
38
  >
41
- <div>
42
- <span
43
- class="Text Text--default Text--regular InlineMessage-text--default"
44
- data-test="DesignSystem-InlineMessage--Description"
45
- >
46
- Inline Message here.
47
- </span>
48
- </div>
39
+ <span
40
+ class="Text Text--default Text--regular InlineMessage-text--default"
41
+ data-test="DesignSystem-InlineMessage--Description"
42
+ >
43
+ Inline Message here.
44
+ </span>
49
45
  </div>
50
46
  </div>
51
47
  </body>
@@ -67,14 +63,12 @@ exports[`InlineMessage component
67
63
  >
68
64
  info_round
69
65
  </i>
70
- <div>
71
- <span
72
- class="Text Text--default Text--regular InlineMessage-text--info"
73
- data-test="DesignSystem-InlineMessage--Description"
74
- >
75
- Inline Message here.
76
- </span>
77
- </div>
66
+ <span
67
+ class="Text Text--default Text--regular InlineMessage-text--info"
68
+ data-test="DesignSystem-InlineMessage--Description"
69
+ >
70
+ Inline Message here.
71
+ </span>
78
72
  </div>
79
73
  </div>
80
74
  </body>
@@ -96,14 +90,12 @@ exports[`InlineMessage component
96
90
  >
97
91
  check_circle_round
98
92
  </i>
99
- <div>
100
- <span
101
- class="Text Text--default Text--regular InlineMessage-text--success"
102
- data-test="DesignSystem-InlineMessage--Description"
103
- >
104
- Inline Message here.
105
- </span>
106
- </div>
93
+ <span
94
+ class="Text Text--default Text--regular InlineMessage-text--success"
95
+ data-test="DesignSystem-InlineMessage--Description"
96
+ >
97
+ Inline Message here.
98
+ </span>
107
99
  </div>
108
100
  </div>
109
101
  </body>
@@ -125,14 +117,12 @@ exports[`InlineMessage component
125
117
  >
126
118
  warning_round
127
119
  </i>
128
- <div>
129
- <span
130
- class="Text Text--default Text--regular InlineMessage-text--warning"
131
- data-test="DesignSystem-InlineMessage--Description"
132
- >
133
- Inline Message here.
134
- </span>
135
- </div>
120
+ <span
121
+ class="Text Text--default Text--regular InlineMessage-text--warning"
122
+ data-test="DesignSystem-InlineMessage--Description"
123
+ >
124
+ Inline Message here.
125
+ </span>
136
126
  </div>
137
127
  </div>
138
128
  </body>
@@ -137,6 +137,8 @@ export const VerticalNavigation = (props: VerticalNavigationProps) => {
137
137
 
138
138
  return (
139
139
  <div key={index} data-test="DesignSystem-Navigation-VerticalNavigation--menuWrapper">
140
+ {/* TODO(a11y) */}
141
+ {/* eslint-disable-next-line */}
140
142
  <div
141
143
  data-test="DesignSystem-Navigation-VerticalNavigation--menuItem"
142
144
  className={menuClasses}
@@ -179,6 +181,8 @@ export const VerticalNavigation = (props: VerticalNavigationProps) => {
179
181
  });
180
182
 
181
183
  return (
184
+ // TODO(a11y)
185
+ // eslint-disable-next-line
182
186
  <div
183
187
  data-test="DesignSystem-Navigation-VerticalNavigation--subMenu"
184
188
  key={ind}
@@ -718,6 +718,7 @@ export class Table extends React.Component<TableProps, TableState> {
718
718
  <div className="Table-grid">
719
719
  <Grid
720
720
  {...this.state}
721
+ key={this.state.searchTerm}
721
722
  updateData={this.updateData}
722
723
  updateSchema={this.updateSchema}
723
724
  updateSortingList={this.updateSortingList}
@@ -233,8 +233,11 @@ const customCode = `() => {
233
233
  const nestedRowRenderer = (props) => {
234
234
  const {
235
235
  data,
236
+ rowIndex
236
237
  } = props;
237
-
238
+ if(rowIndex % 2){
239
+ return false;
240
+ }
238
241
  return (
239
242
  <CardSubdued className="ml-7">
240
243
  <div className="d-flex flex-row">
@@ -268,6 +268,7 @@ const customCode = `
268
268
  { label: 'Edit', value: 'Edit' },
269
269
  { label: 'Delete', value: 'Delete' }
270
270
  ]}
271
+ popoverOptions={{appendToBody:false}}
271
272
  />
272
273
  </div>
273
274
  </div>
@@ -286,7 +287,7 @@ const customCode = `
286
287
  withHeader={true}
287
288
  filterPosition="HEADER"
288
289
  onSelect={(rowIndex, selected, selectedList, selectAll) =>
289
- console.log(\`\on-select:- rowIndex: \${rowIndex} selected: \${selected} selectedList: \${JSON.stringify(selectedList)} selectAll: \${selectAll}\`)
290
+ console.log(\`on-select:- rowIndex: \${rowIndex} selected: \${selected} selectedList: \${JSON.stringify(selectedList)} selectAll: \${selectAll}\`)
290
291
  }
291
292
  headerOptions={{
292
293
  withSearch: true
@@ -304,7 +305,7 @@ const customCode = `
304
305
  withPagination={true}
305
306
  paginationType="basic"
306
307
  pageSize={4}
307
- onPageChange={newPage => console.log(\`\on-page-change:- \${newPage}\`)}
308
+ onPageChange={newPage => console.log(\`on-page-change:- \${newPage}\`)}
308
309
  />
309
310
  </Card>
310
311
  );
@@ -239,7 +239,7 @@ const customCode = `
239
239
  withHeader={true}
240
240
  withCheckbox={true}
241
241
  onSelect={(rowIndex, selected, selectedList, selectAll) =>
242
- console.log(\`\on-select:- rowIndex: \${rowIndex} selected: \${selected} selectedList: \${JSON.stringify(selectedList)} selectAll: \${selectAll}\`)
242
+ console.log(\`on-select:- rowIndex: \${rowIndex} selected: \${selected} selectedList: \${JSON.stringify(selectedList)} selectAll: \${selectAll}\`)
243
243
  }
244
244
  headerOptions={{
245
245
  withSearch: true
@@ -252,7 +252,7 @@ const customCode = `
252
252
  }}
253
253
  withPagination={true}
254
254
  pageSize={5}
255
- onPageChange={newPage => console.log(\`\on-page-change:- \${newPage}\`)}
255
+ onPageChange={newPage => console.log(\`on-page-change:- \${newPage}\`)}
256
256
  />
257
257
  </Card>
258
258
  );
@@ -162,7 +162,7 @@ const customCode = `() => {
162
162
  appearance="transparent"
163
163
  onClick={e => e.stopPropagation()}
164
164
  >
165
- {\`\can \${rights}\`}
165
+ {\`can \${rights}\`}
166
166
  </Button>
167
167
  );
168
168
  }
@@ -109,7 +109,7 @@ const customCode = `() => {
109
109
  );
110
110
  }}
111
111
  onRowClick={(rowData, rowIndex) =>
112
- console.log(\`\on-row-click:- rowIndex: \${rowIndex} data: \${JSON.stringify(rowData)}\`)
112
+ console.log(\`on-row-click:- rowIndex: \${rowIndex} data: \${JSON.stringify(rowData)}\`)
113
113
  }
114
114
  />
115
115
  </Card>
@@ -10,13 +10,15 @@ export const syncTable = () => {
10
10
  return (
11
11
  <div
12
12
  style={{
13
- height: '350px',
13
+ height: '550px',
14
14
  }}
15
15
  >
16
16
  <Card className="h-100 overflow-hidden">
17
17
  <Table
18
18
  loaderSchema={loaderSchema}
19
- data={data}
19
+ data={[...Array(100)].map((_, index) => {
20
+ return data[index % 10];
21
+ })}
20
22
  schema={schema}
21
23
  withHeader={true}
22
24
  withCheckbox={true}
@@ -38,7 +40,7 @@ export const syncTable = () => {
38
40
  );
39
41
  }}
40
42
  withPagination={true}
41
- pageSize={5}
43
+ pageSize={50}
42
44
  onPageChange={(newPage) => action(`on-page-change:- ${newPage}`)()}
43
45
  />
44
46
  </Card>
@@ -48,7 +50,13 @@ export const syncTable = () => {
48
50
 
49
51
  const customCode = `
50
52
  () => {
51
- const data = ${JSON.stringify(data.slice(0, 10), null, 4)};
53
+ const data = ${JSON.stringify(
54
+ [...Array(100)].map((_, index) => {
55
+ return data[index % 10];
56
+ }),
57
+ null,
58
+ 4
59
+ )};
52
60
 
53
61
  const schema = [
54
62
  {
@@ -155,7 +163,7 @@ const customCode = `
155
163
  return (
156
164
  <div
157
165
  style={{
158
- height: '350px',
166
+ height: '550px',
159
167
  }}
160
168
  >
161
169
  <Card className="h-100 overflow-hidden">
@@ -176,7 +184,7 @@ const customCode = `
176
184
  withCheckbox={true}
177
185
  onSelect={(rowIndex, selected, selectedList, selectAll) => console.log(\`on-select:- rowIndex: \${rowIndex} selected: \${selected} selectedList: \${JSON.stringify(selectedList)} selectAll: \${selectAll}\`)}
178
186
  withPagination={true}
179
- pageSize={5}
187
+ pageSize={50}
180
188
  onPageChange={newPage => console.log(\`on-page-change:- \${newPage}\`)}
181
189
  />
182
190
  </Card>
@@ -136,9 +136,12 @@ const customCode = `
136
136
  const {
137
137
  schema,
138
138
  data,
139
- loading
139
+ loading,
140
+ rowIndex
140
141
  } = props;
141
-
142
+ if (rowIndex % 2) {
143
+ return false;
144
+ }
142
145
  return (
143
146
  <List
144
147
  loading={loading}
@@ -3,7 +3,6 @@ import { Card, Table } from '@/index';
3
3
  import data from '@/components/organisms/grid/__stories__/_common_/data';
4
4
  import schema from '@/components/organisms/grid/__stories__/_common_/schema';
5
5
  import { action } from '@storybook/addon-actions';
6
- import { AsyncTable, SyncTable } from '@/components/organisms/table/__stories__/_common_/types';
7
6
 
8
7
  export const withHeader = () => {
9
8
  return (
@@ -29,7 +28,6 @@ export const withHeader = () => {
29
28
  )()
30
29
  }
31
30
  onPageChange={(newPage) => action(`on-page-change:- ${newPage}`)()}
32
- withHeader={true}
33
31
  headerOptions={{
34
32
  withSearch: true,
35
33
  }}
@@ -82,7 +82,7 @@ export const TimePicker = (props: TimePickerProps) => {
82
82
  if (inputOptions.onBlur) inputOptions.onBlur(e, val);
83
83
  };
84
84
 
85
- const onClearHandler = (e: React.MouseEvent<HTMLElement>) => {
85
+ const onClearHandler = (e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => {
86
86
  const updatedTime = '';
87
87
  setInit(true);
88
88
 
@@ -12,6 +12,7 @@ exports[`TimePicker component prop:inputFormat snapshot
12
12
  <div
13
13
  class="Input Input--regular"
14
14
  data-test="DesignSystem-InputWrapper"
15
+ role="presentation"
15
16
  style="min-width: 256px;"
16
17
  >
17
18
  <input
@@ -51,6 +52,7 @@ exports[`TimePicker component prop:inputFormat snapshot
51
52
  <div
52
53
  class="Input Input--regular"
53
54
  data-test="DesignSystem-InputWrapper"
55
+ role="presentation"
54
56
  style="min-width: 256px;"
55
57
  >
56
58
  <input
@@ -90,6 +92,7 @@ exports[`TimePicker component prop:outputFormat snapshot
90
92
  <div
91
93
  class="Input Input--regular"
92
94
  data-test="DesignSystem-InputWrapper"
95
+ role="presentation"
93
96
  style="min-width: 256px;"
94
97
  >
95
98
  <input
@@ -129,6 +132,7 @@ exports[`TimePicker component prop:outputFormat snapshot
129
132
  <div
130
133
  class="Input Input--regular"
131
134
  data-test="DesignSystem-InputWrapper"
135
+ role="presentation"
132
136
  style="min-width: 256px;"
133
137
  >
134
138
  <input
@@ -168,6 +172,7 @@ exports[`TimePicker component prop:time snapshot
168
172
  <div
169
173
  class="Input Input--regular"
170
174
  data-test="DesignSystem-InputWrapper"
175
+ role="presentation"
171
176
  style="min-width: 256px;"
172
177
  >
173
178
  <input
@@ -180,11 +185,13 @@ exports[`TimePicker component prop:time snapshot
180
185
  />
181
186
  <div
182
187
  class="Input-icon Input-icon--right"
183
- data-test="DesignSystem-Input--closeIcon"
184
188
  >
185
189
  <i
186
190
  class="material-icons material-icons-round Icon"
191
+ data-test="DesignSystem-Input--closeIcon"
192
+ role="button"
187
193
  style="font-size: 16px; width: 16px;"
194
+ tabindex="0"
188
195
  >
189
196
  close_round
190
197
  </i>
@@ -218,6 +225,7 @@ exports[`TimePicker component prop:time snapshot
218
225
  <div
219
226
  class="Input Input--regular"
220
227
  data-test="DesignSystem-InputWrapper"
228
+ role="presentation"
221
229
  style="min-width: 256px;"
222
230
  >
223
231
  <input
@@ -230,11 +238,13 @@ exports[`TimePicker component prop:time snapshot
230
238
  />
231
239
  <div
232
240
  class="Input-icon Input-icon--right"
233
- data-test="DesignSystem-Input--closeIcon"
234
241
  >
235
242
  <i
236
243
  class="material-icons material-icons-round Icon"
244
+ data-test="DesignSystem-Input--closeIcon"
245
+ role="button"
237
246
  style="font-size: 16px; width: 16px;"
247
+ tabindex="0"
238
248
  >
239
249
  close_round
240
250
  </i>
@@ -268,6 +278,7 @@ exports[`TimePicker component prop:validators snapshot
268
278
  <div
269
279
  class="Input Input--regular"
270
280
  data-test="DesignSystem-InputWrapper"
281
+ role="presentation"
271
282
  style="min-width: 256px;"
272
283
  >
273
284
  <input
@@ -307,6 +318,7 @@ exports[`TimePicker component prop:validators snapshot
307
318
  <div
308
319
  class="Input Input--regular"
309
320
  data-test="DesignSystem-InputWrapper"
321
+ role="presentation"
310
322
  style="min-width: 256px;"
311
323
  >
312
324
  <input
@@ -71,6 +71,8 @@ export const MenuItem = (props: MenuItemProps) => {
71
71
  if (!expanded && !menu.icon) return null;
72
72
 
73
73
  return (
74
+ // TODO(a11y)
75
+ // eslint-disable-next-line
74
76
  <div className={ItemClass} {...baseProps} onClick={onClickHandler}>
75
77
  <div className="d-flex align-items-center overflow-hidden">
76
78
  {menu.icon && (
@@ -0,0 +1,126 @@
1
+ import * as React from 'react';
2
+ import { DatePicker } from '@/index';
3
+
4
+ const customCode = `() => {
5
+
6
+ const setDate = (jumpDateIndex) => {
7
+ const d = new Date();
8
+ return d.setDate(d.getDate() + jumpDateIndex);
9
+ };
10
+
11
+ const getTomorrowDate = setDate.bind(null, 1);
12
+ const getThreeDaysLaterDate = setDate.bind(null, 3);
13
+ const getOneWeekLaterDate = setDate.bind(null, 7);
14
+ const getThirtyDaysLaterDate = setDate.bind(null, 30);
15
+
16
+
17
+ const DatePickerPreset = ({ size, withInput=false }) => {
18
+
19
+ const [date, setDate] = React.useState(new Date());
20
+ const [selectedChip, setSelectedChip] = React.useState('today');
21
+
22
+ const classNames = size === 'small' ? 'd-block mb-4' : 'd-block mb-5';
23
+ return (
24
+ <DatePicker date={date} showTodayChip={false} size={size} withInput={withInput}>
25
+ <div className="pt-6 px-5">
26
+ <div className="d-flex align-items-center justify-content-between">
27
+ <Subheading size="s" appearance="subtle">
28
+ Date
29
+ </Subheading>
30
+ </div>
31
+ <div className="pt-4">
32
+ <Chip
33
+ label="Today"
34
+ clearButton={false}
35
+ type="selection"
36
+ className={classNames}
37
+ selected={selectedChip === 'today'}
38
+ name="rangePicker"
39
+ onClick={() => {
40
+ setDate(new Date)
41
+ setSelectedChip('today')
42
+ }}
43
+ />
44
+ <Chip
45
+ label="Tomorrow"
46
+ clearButton={false}
47
+ type="selection"
48
+ className={classNames}
49
+ selected={selectedChip === 'tomorrow'}
50
+ name={'chip'}
51
+ onClick={() => {
52
+ setDate(getTomorrowDate())
53
+ setSelectedChip('tomorrow')
54
+ }}
55
+ />
56
+ <Chip
57
+ label="3 Days later"
58
+ clearButton={false}
59
+ type="selection"
60
+ className={classNames}
61
+ selected={selectedChip === 'threeDaysLater'}
62
+ name="rangePicker"
63
+ onClick={() => {
64
+ setDate(getThreeDaysLaterDate())
65
+ setSelectedChip('threeDaysLater')
66
+ }}
67
+ />
68
+ <Chip
69
+ label="1 Week later"
70
+ clearButton={false}
71
+ type="selection"
72
+ className={classNames}
73
+ selected={selectedChip === 'oneWeekLater'}
74
+ name="rangePicker"
75
+ onClick={() => {
76
+ setDate(getOneWeekLaterDate())
77
+ setSelectedChip('oneWeekLater')
78
+ }}
79
+ />
80
+ <Chip
81
+ label="30 Days later"
82
+ clearButton={false}
83
+ type="selection"
84
+ className={classNames}
85
+ selected={selectedChip === 'thirtyDaysLater'}
86
+ name="rangePicker"
87
+ onClick={() => {
88
+ setDate(getThirtyDaysLaterDate())
89
+ setSelectedChip('thirtyDaysLater')
90
+ }}
91
+ />
92
+ </div>
93
+ </div>
94
+ <Divider vertical={true} />
95
+ </DatePicker>
96
+ );
97
+ };
98
+ return (
99
+ <>
100
+ <Card className="d-inline-flex" shadow="light">
101
+ <DatePickerPreset />
102
+ </Card>
103
+ <Card className="d-inline-flex ml-5" shadow="light">
104
+ <DatePickerPreset size="small" />
105
+ </Card>
106
+ <Card className="w-50 my-5 p-5">
107
+ <Label>Set an appointment date:</Label>
108
+ <DatePickerPreset withInput={true} />
109
+ </Card>
110
+ </>
111
+ );
112
+ };`;
113
+ export const WithPresets = () => <></>;
114
+
115
+ export default {
116
+ title: 'Patterns/DatePicker/With Presets',
117
+ component: DatePicker,
118
+ parameters: {
119
+ docs: {
120
+ docPage: {
121
+ customCode,
122
+ title: 'DatePicker',
123
+ },
124
+ },
125
+ },
126
+ };
@@ -7,7 +7,6 @@ const customCode = `
7
7
  class CustomPopover extends React.Component {
8
8
  constructor(props) {
9
9
  super(props);
10
- console.log(DateRangePicker.utils);
11
10
  const { startDate, endDate } = DateRangePicker.utils.getCurrentWeek();
12
11
 
13
12
  this.state = {
@@ -40,9 +39,9 @@ const customCode = `
40
39
  const { startDate, endDate, selected } = this.state;
41
40
 
42
41
  return (
43
- <div className="pt-5 px-6" style={{ borderRight: 'var(--border)' }}>
42
+ <div className="pt-6 px-5">
44
43
  <div className="d-flex align-items-center justify-content-between">
45
- <Heading size="s" className="py-3">Range</Heading>
44
+ <Subheading size="s" className="py-3" appearance="subtle">Range</Subheading>
46
45
  <Icon name="refresh" onClick={this.onReset} />
47
46
  </div>
48
47
  <div className="pt-5">
@@ -50,7 +49,7 @@ const customCode = `
50
49
  label="This week"
51
50
  clearButton={false}
52
51
  type="selection"
53
- className="mb-6 d-block"
52
+ className="mb-5 d-block"
54
53
  selected={selected === "currWeek"}
55
54
  name="rangePicker"
56
55
  onClick={() => {
@@ -65,7 +64,7 @@ const customCode = `
65
64
  label="Last week"
66
65
  clearButton={false}
67
66
  type="selection"
68
- className="mb-6 d-block"
67
+ className="mb-5 d-block"
69
68
  selected={selected === 'prevWeek'}
70
69
  name={"chip"}
71
70
  onClick={() => {
@@ -80,7 +79,7 @@ const customCode = `
80
79
  label="Last month"
81
80
  clearButton={false}
82
81
  type="selection"
83
- className="mb-6 d-block"
82
+ className="mb-5 d-block"
84
83
  selected={selected === 'prevMonth'}
85
84
  name="rangePicker"
86
85
  onClick={() => {
@@ -95,7 +94,7 @@ const customCode = `
95
94
  label="Last 90 days"
96
95
  clearButton={false}
97
96
  type="selection"
98
- className="mb-6 d-block"
97
+ className="mb-5 d-block"
99
98
  selected={selected === 'prev90Days'}
100
99
  name="rangePicker"
101
100
  onClick={() => {
@@ -110,7 +109,7 @@ const customCode = `
110
109
  label="Custom"
111
110
  clearButton={false}
112
111
  type="selection"
113
- className="mb-6 d-block"
112
+ className="mb-5 d-block"
114
113
  selected={selected === 'custom'}
115
114
  name="rangePicker"
116
115
  onClick={() => {
@@ -143,6 +142,7 @@ const customCode = `
143
142
  monthNav={monthNav}
144
143
  >
145
144
  {this.renderChildren()}
145
+ <Divider vertical={true} />
146
146
  </DateRangePicker>
147
147
  </div>
148
148
  )
@@ -10,7 +10,7 @@ const customCode = `
10
10
  { key: 'uppercaseChar', validation: 'At least one (1) uppercase character'},
11
11
  { key: 'lowercaseChar', validation: 'At least one (1) lowercase character'},
12
12
  { key: 'numericChar', validation: 'At least one (1) numeric character' },
13
- { key: 'specialChar', validation: 'At least one (1) special character (! @ # $ \ _)'},
13
+ { key: 'specialChar', validation: 'At least one (1) special character (! @ # $ \\ _)'},
14
14
  ];
15
15
 
16
16
  const regex = {