@innovaccer/design-system 2.5.0 → 2.7.0-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 (462) hide show
  1. package/.eslintrc.json +54 -0
  2. package/.github/workflows/chromatic.yml +5 -0
  3. package/.github/workflows/main.yml +2 -2
  4. package/.github/workflows/pull_request.yml +2 -2
  5. package/.github/workflows/test.yml +1 -1
  6. package/.husky/commit-msg +4 -0
  7. package/.prettierrc +2 -2
  8. package/.storybook/main.js +4 -0
  9. package/.vscode/settings.json +11 -0
  10. package/CHANGELOG.md +78 -0
  11. package/CONTRIBUTING.md +180 -98
  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 +33 -0
  17. package/core/common.type.tsx +22 -0
  18. package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +17 -9
  19. package/core/components/atoms/_chip/index.tsx +19 -3
  20. package/core/components/atoms/avatar/Avatar.tsx +4 -14
  21. package/core/components/atoms/avatar/__stories__/variants/Appearance.story.tsx +3 -2
  22. package/core/components/atoms/avatar/__tests__/Avatar.test.tsx +14 -9
  23. package/core/components/atoms/avatarGroup/AvatarGroup.tsx +3 -5
  24. package/core/components/atoms/badge/Badge.tsx +2 -12
  25. package/core/components/atoms/badge/__tests__/Badge.test.tsx +22 -7
  26. package/core/components/atoms/badge/_stories_/variants/Appearance.story.tsx +3 -2
  27. package/core/components/atoms/badge/_stories_/variants/Subtle.story.tsx +3 -2
  28. package/core/components/atoms/button/Button.tsx +10 -7
  29. package/core/components/atoms/button/__stories__/Alert.story.tsx +8 -1
  30. package/core/components/atoms/button/__stories__/Cancel.story.tsx +4 -1
  31. package/core/components/atoms/button/__stories__/IconButtonGroup.story.tsx +12 -3
  32. package/core/components/atoms/button/__stories__/IconButtonSecondary.story.tsx +6 -1
  33. package/core/components/atoms/button/__stories__/IconLeftSecondary.story.tsx +4 -1
  34. package/core/components/atoms/button/__stories__/IconRightSecondary.story.tsx +4 -1
  35. package/core/components/atoms/button/__stories__/IconTransparent.story.tsx +4 -1
  36. package/core/components/atoms/button/__stories__/LabelButtonGroup.story.tsx +14 -3
  37. package/core/components/atoms/button/__stories__/LargeIconExpanded.story.tsx +4 -1
  38. package/core/components/atoms/button/__stories__/LoadingPrimary.story.tsx +4 -1
  39. package/core/components/atoms/button/__stories__/Primary.story.tsx +5 -2
  40. package/core/components/atoms/button/__stories__/SplitButton.story.tsx +6 -1
  41. package/core/components/atoms/button/__stories__/Transparent.story.tsx +8 -1
  42. package/core/components/atoms/button/__stories__/index.story.tsx +12 -2
  43. package/core/components/atoms/button/__stories__/variants/Appearance.story.tsx +6 -2
  44. package/core/components/atoms/button/__stories__/variants/Expanded.story.tsx +6 -2
  45. package/core/components/atoms/button/__stories__/variants/Size.story.tsx +4 -0
  46. package/core/components/atoms/button/__stories__/variants/icon/Icon.story.tsx +15 -0
  47. package/core/components/atoms/button/__stories__/variants/icon/IconLeft.story.tsx +6 -2
  48. package/core/components/atoms/button/__stories__/variants/icon/IconRight.story.tsx +6 -2
  49. package/core/components/atoms/button/__stories__/variants/state/Alert.story.tsx +7 -17
  50. package/core/components/atoms/button/__stories__/variants/state/Basic.story.tsx +9 -17
  51. package/core/components/atoms/button/__stories__/variants/state/Primary.story.tsx +7 -17
  52. package/core/components/atoms/button/__stories__/variants/state/Transparent.story.tsx +13 -17
  53. package/core/components/atoms/button/__tests__/Button.test.tsx +1 -1
  54. package/core/components/atoms/button/__tests__/__snapshots__/Button.test.tsx.snap +0 -137
  55. package/core/components/atoms/card/__stories__/empty.story.tsx +1 -1
  56. package/core/components/atoms/card/__stories__/nested.story.tsx +1 -1
  57. package/core/components/atoms/card/__stories__/scroll.story.tsx +1 -1
  58. package/core/components/atoms/checkbox/Checkbox.tsx +8 -9
  59. package/core/components/atoms/checkbox/__stories__/variants/Size.story.tsx +2 -2
  60. package/core/components/atoms/chip/Chip.tsx +3 -2
  61. package/core/components/atoms/chip/__stories__/variants/Selection.story.tsx +17 -0
  62. package/core/components/atoms/chip/__stories__/variants/Type.story.tsx +2 -2
  63. package/core/components/atoms/chip/__tests__/Chip.test.tsx +7 -0
  64. package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +11 -5
  65. package/core/components/atoms/chipGroup/__tests__/chipGroup.test.tsx +2 -2
  66. package/core/components/atoms/chipGroup/_stories_/index.story.tsx +2 -2
  67. package/core/components/atoms/collapsible/__tests__/__snapshots__/Collapsible.test.tsx.snap +8 -0
  68. package/core/components/atoms/divider/Divider.tsx +44 -0
  69. package/core/components/atoms/divider/__stories__/BasicDividerInCard.story.tsx +74 -0
  70. package/core/components/atoms/divider/__stories__/HeaderDividerInCard.story.tsx +35 -0
  71. package/core/components/atoms/divider/__stories__/IndentedDivider.story.tsx +49 -0
  72. package/core/components/atoms/divider/__stories__/Vertical.story.tsx +51 -0
  73. package/core/components/atoms/divider/__stories__/index.story.tsx +91 -0
  74. package/core/components/atoms/divider/__stories__/variants/HorizontalDivider.story.tsx +27 -0
  75. package/core/components/atoms/divider/__tests__/Divider.test.tsx +50 -0
  76. package/core/components/atoms/divider/__tests__/__snapshots__/Divider.test.tsx.snap +53 -0
  77. package/core/components/atoms/divider/index.tsx +2 -0
  78. package/core/components/atoms/dropdown/Dropdown.tsx +18 -17
  79. package/core/components/atoms/dropdown/DropdownButton.tsx +2 -2
  80. package/core/components/atoms/dropdown/DropdownList.tsx +18 -7
  81. package/core/components/atoms/dropdown/Loading.tsx +1 -1
  82. package/core/components/atoms/dropdown/__stories__/CustomSearchPlaceholder.story.tsx +45 -0
  83. package/core/components/atoms/dropdown/__stories__/_common_/types.tsx +3 -0
  84. package/core/components/atoms/dropdown/__stories__/variants/Size.story.tsx +2 -2
  85. package/core/components/atoms/dropdown/__stories__/variants/controlledDropdown/MultiSelect.story.tsx +28 -18
  86. package/core/components/atoms/dropdown/__tests__/Dropdown.test.tsx +12 -1
  87. package/core/components/atoms/dropdown/__tests__/Loading.test.tsx +0 -1
  88. package/core/components/atoms/dropdown/option/DefaultOption.tsx +3 -0
  89. package/core/components/atoms/dropdown/option/IconOption.tsx +3 -0
  90. package/core/components/atoms/dropdown/option/IconWithMetaOption.tsx +3 -0
  91. package/core/components/atoms/dropdown/option/MetaOption.tsx +3 -0
  92. package/core/components/atoms/dropdown/option/index.tsx +1 -1
  93. package/core/components/atoms/editable/Editable.tsx +3 -0
  94. package/core/components/atoms/heading/Heading.tsx +4 -4
  95. package/core/components/atoms/heading/__stories__/variants/Appearance.story.tsx +3 -2
  96. package/core/components/atoms/heading/__tests__/Heading.test.tsx +4 -3
  97. package/core/components/atoms/icon/Icon.tsx +16 -5
  98. package/core/components/atoms/icon/__stories__/variants/Image.story.tsx +6 -1
  99. package/core/components/atoms/icon/__tests__/__snapshots__/Icon.test.tsx.snap +74 -0
  100. package/core/components/atoms/input/Input.tsx +17 -7
  101. package/core/components/atoms/input/__stories__/BasicInput.story.tsx +2 -1
  102. package/core/components/atoms/input/__stories__/InputWithCaption.story.tsx +91 -9
  103. package/core/components/atoms/input/__stories__/InputWithLabel.story.tsx +11 -3
  104. package/core/components/atoms/input/__stories__/LabelPosition.story.tsx +46 -4
  105. package/core/components/atoms/input/__stories__/RequiredVsOptional.story.tsx +12 -8
  106. package/core/components/atoms/input/__stories__/variants/controlledInput.story.tsx +46 -0
  107. package/core/components/atoms/input/__stories__/variants/types/BasicInput.story.tsx +2 -2
  108. package/core/components/atoms/input/__stories__/variants/types/IconLeft.story.tsx +2 -10
  109. package/core/components/atoms/input/__stories__/variants/types/WithLabel.story.tsx +1 -9
  110. package/core/components/atoms/input/__tests__/__snapshots__/Input.test.tsx.snap +19 -0
  111. package/core/components/atoms/label/Label.tsx +1 -1
  112. package/core/components/atoms/legend/Legend.tsx +5 -2
  113. package/core/components/atoms/legend/__stories__/variants/labelAppearance.story.tsx +2 -2
  114. package/core/components/atoms/link/Link.tsx +4 -4
  115. package/core/components/atoms/message/Message.tsx +12 -12
  116. package/core/components/atoms/message/__stories__/index.story.tsx +1 -1
  117. package/core/components/atoms/message/__stories__/variants/Appearance.story.tsx +1 -1
  118. package/core/components/atoms/message/__stories__/variants/AppearanceTitle.story.tsx +1 -1
  119. package/core/components/atoms/message/__tests__/Message.test.tsx +1 -6
  120. package/core/components/atoms/message/__tests__/__snapshots__/Message.test.tsx.snap +0 -45
  121. package/core/components/atoms/metaList/__tests__/MetaList.test.tsx +2 -2
  122. package/core/components/atoms/metricInput/MetricInput.tsx +17 -7
  123. package/core/components/atoms/metricInput/__stories__/DefaultMetric.story.tsx +8 -2
  124. package/core/components/atoms/metricInput/__stories__/WithPrefix.story.tsx +6 -2
  125. package/core/components/atoms/metricInput/__stories__/index.story.tsx +1 -0
  126. package/core/components/atoms/metricInput/__stories__/variants/Controlled.story.tsx +2 -0
  127. package/core/components/atoms/metricInput/__stories__/variants/Size.story.tsx +2 -2
  128. package/core/components/atoms/metricInput/__stories__/withSuffix.story.tsx +6 -2
  129. package/core/components/atoms/metricInput/__tests__/__snapshots__/MetricInput.test.tsx.snap +20 -4
  130. package/core/components/atoms/multiSlider/Handle.tsx +3 -0
  131. package/core/components/atoms/multiSlider/SliderUtils.tsx +1 -4
  132. package/core/components/atoms/multiSlider/index.tsx +9 -4
  133. package/core/components/atoms/outsideClick/OutsideClick.tsx +1 -2
  134. package/core/components/atoms/paragraph/Paragraph.tsx +2 -2
  135. package/core/components/atoms/paragraph/__stories__/variants/Appearance.story.tsx +2 -2
  136. package/core/components/atoms/paragraph/__tests__/Paragraph.test.tsx +2 -2
  137. package/core/components/atoms/pills/Pills.tsx +2 -12
  138. package/core/components/atoms/pills/__stories__/variants/Appearance.story.tsx +3 -2
  139. package/core/components/atoms/pills/__stories__/variants/Subtle.story.tsx +3 -2
  140. package/core/components/atoms/pills/__tests__/Pills.test.tsx +3 -2
  141. package/core/components/atoms/placeholderImage/PlaceholderImage.tsx +2 -2
  142. package/core/components/atoms/placeholderImage/__stories__/variants/Size.story.tsx +2 -2
  143. package/core/components/atoms/placeholderParagraph/PlaceholderParagraph.tsx +2 -2
  144. package/core/components/atoms/placeholderParagraph/__stories__/variants/Size.story.tsx +2 -2
  145. package/core/components/atoms/popperWrapper/PopperWrapper.tsx +2 -6
  146. package/core/components/atoms/progressRing/ProgressRing.tsx +2 -2
  147. package/core/components/atoms/progressRing/__stories__/variants/Size.story.tsx +1 -1
  148. package/core/components/atoms/radio/Radio.tsx +4 -5
  149. package/core/components/atoms/rangeSlider/RangeSlider.tsx +1 -2
  150. package/core/components/atoms/rangeSlider/__stories__/index.story.tsx +1 -2
  151. package/core/components/atoms/rangeSlider/__stories__/variants/Controlled.story.tsx +1 -2
  152. package/core/components/atoms/rangeSlider/__stories__/variants/CustomLabels.story.tsx +1 -2
  153. package/core/components/atoms/spinner/Spinner.tsx +4 -4
  154. package/core/components/atoms/spinner/__stories__/variants/Appearance.story.tsx +2 -2
  155. package/core/components/atoms/spinner/__stories__/variants/Size.story.tsx +1 -1
  156. package/core/components/atoms/statusHint/StatusHint.tsx +5 -3
  157. package/core/components/atoms/statusHint/__stories__/variants/Appearance.story.tsx +3 -2
  158. package/core/components/atoms/statusHint/__tests__/StatusHint.test.tsx +3 -2
  159. package/core/components/atoms/subheading/Subheading.tsx +2 -2
  160. package/core/components/atoms/subheading/__stories__/variants/Appearance.story.tsx +3 -2
  161. package/core/components/atoms/subheading/__tests__/Subheading.test.tsx +3 -2
  162. package/core/components/atoms/switchInput/Switch.tsx +14 -9
  163. package/core/components/atoms/switchInput/__stories__/DefaultSwitch.story.tsx +4 -1
  164. package/core/components/atoms/switchInput/__stories__/OffState.story.tsx +4 -1
  165. package/core/components/atoms/switchInput/__stories__/index.story.tsx +26 -3
  166. package/core/components/atoms/switchInput/__stories__/variants/Size.story.tsx +10 -1
  167. package/core/components/atoms/switchInput/__stories__/variants/State.story.tsx +9 -2
  168. package/core/components/atoms/text/Text.tsx +4 -4
  169. package/core/components/atoms/text/__stories__/variants/Appearance.story.tsx +2 -2
  170. package/core/components/atoms/text/__tests__/Text.test.tsx +2 -3
  171. package/core/components/atoms/textarea/__stories__/TextareaWithCaption.story.tsx +9 -3
  172. package/core/components/atoms/textarea/__stories__/defaultTextarea.story.tsx +10 -2
  173. package/core/components/atoms/textarea/__stories__/index.story.tsx +1 -0
  174. package/core/components/atoms/textarea/__stories__/variants/Disable.story.tsx +1 -0
  175. package/core/components/atoms/toast/ActionButton.tsx +2 -2
  176. package/core/components/atoms/toast/Toast.tsx +11 -6
  177. package/core/components/atoms/toast/__stories__/index.story.tsx +2 -6
  178. package/core/components/atoms/toast/__stories__/variants/Appearance.story.tsx +3 -2
  179. package/core/components/atoms/toast/__stories__/variants/ToastMessage.story.tsx +3 -2
  180. package/core/components/atoms/toast/__stories__/variants/ToastWithAction.story.tsx +3 -2
  181. package/core/components/atoms/toast/__tests__/Toast.test.tsx +1 -1
  182. package/core/components/atoms/toast/__tests__/__snapshots__/Toast.test.tsx.snap +24 -125
  183. package/core/components/css-utilities/Schema.tsx +1 -1
  184. package/core/components/css-utilities/Spacing/Schema.tsx +1 -1
  185. package/core/components/molecules/chatMessage/Box.tsx +3 -0
  186. package/core/components/molecules/chipInput/ChipInput.tsx +3 -0
  187. package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +14 -2
  188. package/core/components/molecules/dropzone/Dropzone.tsx +6 -3
  189. package/core/components/molecules/dropzone/DropzoneBase.tsx +22 -38
  190. package/core/components/molecules/dropzone/FileSelectorUtils.tsx +1 -1
  191. package/core/components/molecules/dropzone/__stories__/index.story.tsx +151 -41
  192. package/core/components/molecules/dropzone/__tests__/Dropzone.test.tsx +2 -2
  193. package/core/components/molecules/dropzone/utils.tsx +6 -4
  194. package/core/components/molecules/editableChipInput/EditableChipInput.tsx +9 -5
  195. package/core/components/molecules/editableChipInput/__stories__/Uncontrolled.story.tsx +1 -1
  196. package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +12 -4
  197. package/core/components/molecules/editableDropdown/EditableDropdown.tsx +2 -2
  198. package/core/components/molecules/editableInput/EditableInput.tsx +13 -4
  199. package/core/components/molecules/emptyState/EmptyState.tsx +9 -5
  200. package/core/components/molecules/emptyState/__stories__/pageNotLoadedWithSVG.story.tsx +26 -26
  201. package/core/components/molecules/fileList/FileListItem.tsx +3 -2
  202. package/core/components/molecules/fileUploader/FileUploaderItem.tsx +3 -2
  203. package/core/components/molecules/fileUploader/FileUploaderStatus.tsx +1 -1
  204. package/core/components/molecules/fileUploader/__stories__/_common_/types.tsx +3 -0
  205. package/core/components/molecules/fileUploader/__stories__/index.story.tsx +3 -222
  206. package/core/components/molecules/fullscreenModal/FullscreenModal.tsx +5 -7
  207. package/core/components/molecules/inputMask/InputMask.tsx +212 -146
  208. package/core/components/molecules/inputMask/__stories__/index.story.tsx +24 -0
  209. package/core/components/molecules/inputMask/__tests__/__snapshots__/InputMask.test.tsx.snap +1 -0
  210. package/core/components/molecules/modal/Modal.tsx +4 -6
  211. package/core/components/molecules/modal/__stories__/Confirmation.story.tsx +1 -1
  212. package/core/components/molecules/pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +5 -1
  213. package/core/components/molecules/placeholder/Placeholder.tsx +2 -2
  214. package/core/components/molecules/popover/Popover.tsx +2 -9
  215. package/core/components/molecules/sidesheet/Sidesheet.tsx +5 -7
  216. package/core/components/molecules/sidesheet/__stories__/variants/CustomHeader.story.tsx +172 -0
  217. package/core/components/molecules/stepper/Step.tsx +2 -0
  218. package/core/components/molecules/tabs/Tabs.tsx +2 -0
  219. package/core/components/molecules/tabs/TabsWrapper.tsx +2 -0
  220. package/core/components/molecules/tabs/__stories__/CustomLabels.story.tsx +1 -1
  221. package/core/components/molecules/tooltip/Tooltip.tsx +4 -4
  222. package/core/components/molecules/verificationCodeInput/VerificationCodeInput.tsx +8 -4
  223. package/core/components/molecules/verificationCodeInput/__stories__/index.story.tsx +3 -1
  224. package/core/components/molecules/verificationCodeInput/__tests__/__snapshots__/VerificationCodeInput.test.tsx.snap +1 -0
  225. package/core/components/organisms/calendar/Calendar.tsx +130 -8
  226. package/core/components/organisms/calendar/__stories__/variants/firstDayOfWeek.story.tsx +2 -2
  227. package/core/components/organisms/calendar/__tests__/Calendar.test.tsx +27 -0
  228. package/core/components/organisms/calendar/utility.ts +3 -3
  229. package/core/components/organisms/choiceList/ChoiceList.tsx +12 -12
  230. package/core/components/organisms/datePicker/DatePicker.tsx +31 -16
  231. package/core/components/organisms/datePicker/Trigger.tsx +1 -5
  232. package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +4518 -4479
  233. package/core/components/organisms/dateRangePicker/DateRangePicker.tsx +9 -10
  234. package/core/components/organisms/dateRangePicker/SingleInputTrigger.tsx +0 -1
  235. package/core/components/organisms/dateRangePicker/Trigger.tsx +2 -2
  236. package/core/components/organisms/dateRangePicker/__stories__/variants/monthsInView.story.tsx +2 -2
  237. package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +112 -40
  238. package/core/components/organisms/grid/Cell.tsx +23 -19
  239. package/core/components/organisms/grid/Grid.tsx +3 -4
  240. package/core/components/organisms/grid/GridBody.tsx +0 -1
  241. package/core/components/organisms/grid/GridContext.ts +1 -1
  242. package/core/components/organisms/grid/GridRow.tsx +4 -0
  243. package/core/components/organisms/grid/__stories__/_common_/editableSchema.tsx +1 -3
  244. package/core/components/organisms/grid/__stories__/_common_/fetchData.ts +3 -3
  245. package/core/components/organisms/grid/__stories__/_common_/loaderSchema.ts +0 -2
  246. package/core/components/organisms/grid/__stories__/_common_/schema.tsx +1 -3
  247. package/core/components/organisms/grid/__stories__/_common_/simpleLoaderSchema.ts +0 -2
  248. package/core/components/organisms/grid/__stories__/_common_/statusSchema.ts +0 -2
  249. package/core/components/organisms/horizontalNav/HorizontalNav.tsx +2 -0
  250. package/core/components/organisms/inlineMessage/InlineMessage.tsx +5 -7
  251. package/core/components/organisms/inlineMessage/__tests__/InlineMessage.test.tsx +3 -2
  252. package/core/components/organisms/inlineMessage/__tests__/__snapshots__/InlineMessage.test.tsx.snap +30 -40
  253. package/core/components/organisms/list/__stories__/_common_/types.tsx +3 -0
  254. package/core/components/organisms/list/__stories__/index.story.tsx +0 -16
  255. package/core/components/organisms/navigation/VerticalNavigation.tsx +4 -0
  256. package/core/components/organisms/table/Table.tsx +3 -2
  257. package/core/components/organisms/table/__stories__/CompressedTable.story.tsx +1 -1
  258. package/core/components/organisms/table/__stories__/DataTable.story.tsx +1 -1
  259. package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +1 -1
  260. package/core/components/organisms/table/__stories__/PinnedColumn.story.tsx +1 -1
  261. package/core/components/organisms/table/__stories__/ResourceTable.story.tsx +4 -3
  262. package/core/components/organisms/table/__stories__/Selection.story.tsx +2 -2
  263. package/core/components/organisms/table/__stories__/StandardTable.story.tsx +1 -1
  264. package/core/components/organisms/table/__stories__/TableAsDescriptionList.story.tsx +2 -2
  265. package/core/components/organisms/table/__stories__/TableAsOptionList.story.tsx +2 -2
  266. package/core/components/organisms/table/__stories__/TightStory.story.tsx +1 -1
  267. package/core/components/organisms/table/__stories__/_common_/types.tsx +3 -0
  268. package/core/components/organisms/table/__stories__/syncTable.story.tsx +14 -6
  269. package/core/components/organisms/table/__stories__/variants/showHead.story.tsx +2 -2
  270. package/core/components/organisms/table/__stories__/variants/showMenu.story.tsx +2 -2
  271. package/core/components/organisms/table/__stories__/variants/size.story.tsx +2 -2
  272. package/core/components/organisms/table/__stories__/variants/type.story.tsx +2 -2
  273. package/core/components/organisms/table/__stories__/variants/withCheckbox.story.tsx +2 -2
  274. package/core/components/organisms/table/__stories__/variants/withHeader.story.tsx +0 -2
  275. package/core/components/organisms/table/__stories__/variants/withPagination.story.tsx +2 -2
  276. package/core/components/organisms/timePicker/TimePicker.tsx +4 -8
  277. package/core/components/organisms/timePicker/__tests__/__snapshots__/TimePicker.test.tsx.snap +14 -2
  278. package/core/components/organisms/verticalNav/MenuItem.tsx +2 -0
  279. package/core/components/organisms/verticalNav/__stories__/schema.tsx +0 -2
  280. package/core/components/organisms/verticalNav/__tests__/VerticalNav.test.tsx +1 -2
  281. package/core/components/patterns/datePicker/datePickerWithPresets.story.tsx +126 -0
  282. package/core/components/patterns/dateRangePicker/withCustomPopover.story.tsx +8 -8
  283. package/core/components/patterns/forms/CreatePassword.story.tsx +1 -1
  284. package/core/components/patterns/forms/VerificationCodeInput.story.tsx +2 -2
  285. package/core/components/patterns/table/Table with Header/tableWithHeader.story.jsx +7 -7
  286. package/core/global.d.ts +9 -0
  287. package/core/index.tsx +2 -1
  288. package/core/index.type.tsx +1 -0
  289. package/core/utils/Keys.ts +4 -0
  290. package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +562 -541
  291. package/core/utils/docPage/generateImports.tsx +2 -3
  292. package/core/utils/docPage/index.tsx +52 -37
  293. package/core/utils/docPage/sandbox.tsx +14 -7
  294. package/core/utils/overlayHelper.ts +7 -3
  295. package/core/utils/testHelper.ts +2 -2
  296. package/core/utils/types.tsx +1 -1
  297. package/core/utils/validators.ts +37 -34
  298. package/css/dist/index.css +1550 -1415
  299. package/css/dist/index.css.map +1 -1
  300. package/css/src/components/Legend.css +7 -7
  301. package/css/src/components/ProgressBar.css +1 -1
  302. package/css/src/components/avatarGroup.css +1 -1
  303. package/css/src/components/backdrop.css +12 -6
  304. package/css/src/components/badge.css +52 -52
  305. package/css/src/components/button.css +95 -94
  306. package/css/src/components/calendar.css +137 -126
  307. package/css/src/components/card.css +0 -1
  308. package/css/src/components/cardSubdued.css +3 -5
  309. package/css/src/components/chat.css +1 -1
  310. package/css/src/components/checkbox.css +71 -70
  311. package/css/src/components/chip.css +20 -17
  312. package/css/src/components/chipGroup.css +5 -5
  313. package/css/src/components/chipInput.css +1 -1
  314. package/css/src/components/choiceList.css +4 -4
  315. package/css/src/components/dateRangePicker.css +13 -13
  316. package/css/src/components/divider.css +20 -0
  317. package/css/src/components/dropdown.css +61 -61
  318. package/css/src/components/dropdownButton.css +36 -36
  319. package/css/src/components/dropzone.css +16 -20
  320. package/css/src/components/editableChipInput.css +10 -9
  321. package/css/src/components/editableDropdown.css +1 -1
  322. package/css/src/components/editableInput.css +1 -1
  323. package/css/src/components/emptyState.css +15 -15
  324. package/css/src/components/fileList.css +44 -45
  325. package/css/src/components/fullscreenModal.css +4 -3
  326. package/css/src/components/grid.css +217 -199
  327. package/css/src/components/horizontalNav.css +0 -1
  328. package/css/src/components/icon.css +1 -7
  329. package/css/src/components/inlineMessage.css +2 -1
  330. package/css/src/components/input.css +62 -62
  331. package/css/src/components/link.css +1 -1
  332. package/css/src/components/list.css +10 -10
  333. package/css/src/components/message.css +64 -70
  334. package/css/src/components/metaList.css +26 -26
  335. package/css/src/components/metricInput.css +3 -4
  336. package/css/src/components/modal.css +1 -1
  337. package/css/src/components/navigation.css +3 -3
  338. package/css/src/components/pageHeader.css +1 -2
  339. package/css/src/components/pagination.css +36 -36
  340. package/css/src/components/pills.css +19 -19
  341. package/css/src/components/placeholder.css +10 -5
  342. package/css/src/components/popover.css +2 -2
  343. package/css/src/components/progressRing.css +1 -1
  344. package/css/src/components/radio.css +74 -74
  345. package/css/src/components/slider.css +5 -5
  346. package/css/src/components/statusHints.css +15 -15
  347. package/css/src/components/switch.css +66 -41
  348. package/css/src/components/table.css +15 -15
  349. package/css/src/components/tabs.css +53 -53
  350. package/css/src/components/textarea.css +1 -1
  351. package/css/src/components/toast.css +51 -56
  352. package/css/src/components/verificationCodeInput.css +5 -6
  353. package/css/src/components/verticalNav.css +1 -2
  354. package/css/src/core/base.css +3 -0
  355. package/css/src/core/typography.css +1 -1
  356. package/css/src/core/utilities.css +1 -1
  357. package/css/src/tokens/index.css +63 -63
  358. package/css/src/utils/align.css +1 -1
  359. package/css/src/utils/background.css +1 -1
  360. package/css/src/utils/cursor.css +1 -1
  361. package/css/src/utils/display.css +1 -1
  362. package/css/src/utils/flex.css +1 -1
  363. package/css/src/utils/grid.css +1 -1
  364. package/css/src/utils/overflow.css +1 -1
  365. package/css/src/utils/position.css +1 -1
  366. package/css/src/utils/spacing.css +1 -1
  367. package/css/src/utils/utility.css +13 -13
  368. package/css/src/variables/index.css +6 -3
  369. package/dist/core/accessibility/utils/index.d.ts +4 -0
  370. package/dist/core/accessibility/utils/isEnterKey.d.ts +3 -0
  371. package/dist/core/accessibility/utils/isSpaceKey.d.ts +3 -0
  372. package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +18 -0
  373. package/dist/core/common.type.d.ts +12 -0
  374. package/dist/core/components/atoms/avatar/Avatar.d.ts +4 -4
  375. package/dist/core/components/atoms/avatarGroup/AvatarGroup.d.ts +2 -3
  376. package/dist/core/components/atoms/badge/Badge.d.ts +2 -2
  377. package/dist/core/components/atoms/button/Button.d.ts +6 -6
  378. package/dist/core/components/atoms/checkbox/Checkbox.d.ts +3 -3
  379. package/dist/core/components/atoms/chip/Chip.d.ts +2 -2
  380. package/dist/core/components/atoms/divider/Divider.d.ts +15 -0
  381. package/dist/core/components/atoms/divider/index.d.ts +2 -0
  382. package/dist/core/components/atoms/dropdown/Dropdown.d.ts +18 -17
  383. package/dist/core/components/atoms/dropdown/DropdownButton.d.ts +2 -2
  384. package/dist/core/components/atoms/dropdown/DropdownList.d.ts +4 -3
  385. package/dist/core/components/atoms/dropdown/option/index.d.ts +1 -1
  386. package/dist/core/components/atoms/heading/Heading.d.ts +4 -4
  387. package/dist/core/components/atoms/icon/Icon.d.ts +5 -3
  388. package/dist/core/components/atoms/input/Input.d.ts +4 -4
  389. package/dist/core/components/atoms/legend/Legend.d.ts +2 -2
  390. package/dist/core/components/atoms/link/Link.d.ts +4 -4
  391. package/dist/core/components/atoms/message/Message.d.ts +2 -2
  392. package/dist/core/components/atoms/metricInput/MetricInput.d.ts +3 -3
  393. package/dist/core/components/atoms/multiSlider/SliderUtils.d.ts +1 -1
  394. package/dist/core/components/atoms/multiSlider/index.d.ts +3 -3
  395. package/dist/core/components/atoms/paragraph/Paragraph.d.ts +2 -2
  396. package/dist/core/components/atoms/pills/Pills.d.ts +2 -2
  397. package/dist/core/components/atoms/placeholderImage/PlaceholderImage.d.ts +2 -2
  398. package/dist/core/components/atoms/placeholderParagraph/PlaceholderParagraph.d.ts +2 -2
  399. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +51 -51
  400. package/dist/core/components/atoms/progressRing/ProgressRing.d.ts +2 -2
  401. package/dist/core/components/atoms/radio/Radio.d.ts +4 -4
  402. package/dist/core/components/atoms/rangeSlider/RangeSlider.d.ts +1 -1
  403. package/dist/core/components/atoms/spinner/Spinner.d.ts +4 -4
  404. package/dist/core/components/atoms/statusHint/StatusHint.d.ts +2 -2
  405. package/dist/core/components/atoms/subheading/Subheading.d.ts +2 -2
  406. package/dist/core/components/atoms/switchInput/Switch.d.ts +7 -6
  407. package/dist/core/components/atoms/text/Text.d.ts +4 -4
  408. package/dist/core/components/atoms/toast/ActionButton.d.ts +2 -2
  409. package/dist/core/components/atoms/toast/Toast.d.ts +2 -2
  410. package/dist/core/components/molecules/dropzone/Dropzone.d.ts +3 -3
  411. package/dist/core/components/molecules/dropzone/DropzoneBase.d.ts +1 -1
  412. package/dist/core/components/molecules/dropzone/utils.d.ts +5 -3
  413. package/dist/core/components/molecules/emptyState/EmptyState.d.ts +4 -4
  414. package/dist/core/components/molecules/fileList/FileListItem.d.ts +1 -1
  415. package/dist/core/components/molecules/fileUploader/FileUploaderItem.d.ts +1 -1
  416. package/dist/core/components/molecules/fileUploader/FileUploaderStatus.d.ts +1 -1
  417. package/dist/core/components/molecules/fullscreenModal/FullscreenModal.d.ts +4 -7
  418. package/dist/core/components/molecules/inputMask/InputMask.d.ts +10 -2
  419. package/dist/core/components/molecules/modal/Modal.d.ts +3 -6
  420. package/dist/core/components/molecules/placeholder/Placeholder.d.ts +2 -2
  421. package/dist/core/components/molecules/popover/Popover.d.ts +0 -1
  422. package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +3 -6
  423. package/dist/core/components/molecules/tooltip/Tooltip.d.ts +3 -3
  424. package/dist/core/components/organisms/calendar/Calendar.d.ts +31 -0
  425. package/dist/core/components/organisms/choiceList/ChoiceList.d.ts +5 -6
  426. package/dist/core/components/organisms/datePicker/DatePicker.d.ts +2 -0
  427. package/dist/core/components/organisms/dateRangePicker/DateRangePicker.d.ts +24 -0
  428. package/dist/core/components/organisms/grid/Cell.d.ts +1 -1
  429. package/dist/core/components/organisms/grid/Grid.d.ts +3 -3
  430. package/dist/core/components/organisms/grid/GridContext.d.ts +1 -1
  431. package/dist/core/components/organisms/inlineMessage/InlineMessage.d.ts +2 -2
  432. package/dist/core/components/organisms/table/Table.d.ts +2 -2
  433. package/dist/core/components/patterns/datePicker/datePickerWithPresets.story.d.ts +15 -0
  434. package/dist/core/components/patterns/dateRangePicker/withCustomPopover.story.d.ts +5 -1
  435. package/dist/core/index.d.ts +1 -0
  436. package/dist/core/index.type.d.ts +1 -0
  437. package/dist/core/utils/docPage/generateImports.d.ts +1 -1
  438. package/dist/core/utils/overlayHelper.d.ts +1 -1
  439. package/dist/core/utils/types.d.ts +1 -1
  440. package/dist/index.esm.js +1039 -729
  441. package/dist/index.js +532 -371
  442. package/dist/index.js.map +1 -1
  443. package/dist/index.umd.js +1 -1
  444. package/dist/index.umd.js.br +0 -0
  445. package/dist/index.umd.js.gz +0 -0
  446. package/dts.config.js +11 -2
  447. package/package.json +32 -27
  448. package/tsconfig.json +3 -16
  449. package/tsconfig.type.json +2 -1
  450. package/types/index.d.ts +2217 -0
  451. package/types/{innovaccer-design-system/tsconfig.json → tsconfig.json} +1 -1
  452. package/types/{innovaccer-design-system/tslint.json → tslint.json} +0 -0
  453. package/types/types-tests.tsx +936 -0
  454. package/.husky/prepare-commit-msg +0 -6
  455. package/core/components/atoms/button/__stories__/variants/state/Success.story.tsx +0 -99
  456. package/core/components/atoms/message/__stories__/default.story.tsx +0 -16
  457. package/core/components/atoms/toast/__stories__/DefaultToast.story.tsx +0 -16
  458. package/core/components/molecules/dropzone/__stories__/variants/DropzoneWithFileList.story.tsx +0 -176
  459. package/core/components/molecules/fileUploader/__stories__/variants/FileUploaderList.story.tsx +0 -80
  460. package/tslint.json +0 -30
  461. package/types/innovaccer-design-system/index.d.ts +0 -39
  462. package/types/innovaccer-design-system/innovaccer-design-system-tests.ts +0 -0
@@ -6,17 +6,19 @@ export const requiredVsOptionalMarking = () => {
6
6
  <div>
7
7
  <div className="d-flex">
8
8
  <div>
9
- <Label withInput={true} required={true}>
9
+ <Label htmlFor="email" withInput={true} required={true}>
10
10
  Email
11
11
  </Label>
12
- <Input name="input" placeholder="e.g lawsonjoy@gmail.com" />
12
+ <Input id="email" required placeholder="e.g lawsonjoy@gmail.com" />
13
13
  <div className="d-flex align-items-center justify-content-center mt-5">
14
14
  <Text weight="medium">Required Field</Text>
15
15
  </div>
16
16
  </div>
17
17
  <div className="ml-9">
18
- <Label withInput={true}>Email</Label>
19
- <Input name="input" placeholder="e.g lawsonjoy@gmail.com" />
18
+ <Label htmlFor="email2" withInput={true}>
19
+ Email
20
+ </Label>
21
+ <Input id="email2" placeholder="e.g lawsonjoy@gmail.com" />
20
22
  <div className="d-flex align-items-center justify-content-center mt-5">
21
23
  <Text weight="medium">Optional Field</Text>
22
24
  </div>
@@ -24,17 +26,19 @@ export const requiredVsOptionalMarking = () => {
24
26
  </div>
25
27
  <div className="d-flex mt-9">
26
28
  <div>
27
- <Label withInput={true}>Email</Label>
28
- <Input name="input" placeholder="e.g lawsonjoy@gmail.com" />
29
+ <Label htmlFor="email3" withInput={true}>
30
+ Email
31
+ </Label>
32
+ <Input id="email3" placeholder="e.g lawsonjoy@gmail.com" />
29
33
  <div className="d-flex align-items-center justify-content-center mt-5">
30
34
  <Text weight="medium">Required Field</Text>
31
35
  </div>
32
36
  </div>
33
37
  <div className="ml-9">
34
- <Label withInput={true} optional={true}>
38
+ <Label htmlFor="email4" withInput={true} optional={true}>
35
39
  Email
36
40
  </Label>
37
- <Input name="input" placeholder="e.g lawsonjoy@gmail.com" />
41
+ <Input id="email4" placeholder="e.g lawsonjoy@gmail.com" />
38
42
  <div className="d-flex align-items-center justify-content-center mt-5">
39
43
  <Text weight="medium">Optional Field</Text>
40
44
  </div>
@@ -44,6 +44,51 @@ export const controlledInput = () => {
44
44
  </div>
45
45
  );
46
46
  };
47
+
48
+ const customCode = `() => {
49
+ const [visibility, setVisibility] = React.useState(false);
50
+ const [value, setValue] = React.useState('Value');
51
+ const handleParentChange = (event) => {
52
+ const updatedValue = event.target.value;
53
+ setValue(updatedValue);
54
+ };
55
+ const [value1, setValue1] = React.useState('Value');
56
+ const onChangeHandler = (event) => {
57
+ const updatedValue = event.target.value;
58
+ setValue1(updatedValue);
59
+ };
60
+ const onClearHandler = () => {
61
+ const updatedValue = '';
62
+ setValue1(updatedValue);
63
+ };
64
+ return (
65
+ <div className="d-flex">
66
+ <Input
67
+ name="input"
68
+ value={value}
69
+ type={visibility ? 'text' : 'password'}
70
+ placeholder="Placeholder"
71
+ actionIcon={
72
+ <Icon
73
+ onClick={() => setVisibility((x) => !x)}
74
+ name={visibility ? 'visibility_on' : 'visibility_off'}
75
+ aria-label={visibility ? 'Show Password' : 'Hide Password'}
76
+ className="cursor-pointer"
77
+ />
78
+ }
79
+ onChange={handleParentChange}
80
+ />
81
+ <Input
82
+ name="input"
83
+ value={value1}
84
+ type="text"
85
+ placeholder="PlaceHolder"
86
+ onChange={onChangeHandler}
87
+ onClear={onClearHandler}
88
+ />
89
+ </div>
90
+ );
91
+ };`;
47
92
  export default {
48
93
  title: 'Components/Input/Variants/Controlled Input',
49
94
  component: Input,
@@ -51,6 +96,7 @@ export default {
51
96
  docs: {
52
97
  docPage: {
53
98
  title: 'Input',
99
+ customCode,
54
100
  props: {
55
101
  exclude: ['autocomplete'],
56
102
  },
@@ -7,7 +7,7 @@ export const basic = () => {
7
7
  return (
8
8
  <div className="Row">
9
9
  <div className="mr-9 mb-8 w-25">
10
- <Input name="input" value="Value" onChange={action('on-change')} onClear={action('on-clear')} />
10
+ <Input name="input" onChange={action('on-change')} onClear={action('on-clear')} />
11
11
  <br />
12
12
  <Text weight="strong">Default</Text>
13
13
  </div>
@@ -24,7 +24,7 @@ export const basic = () => {
24
24
  <Text weight="strong">Placeholder</Text>
25
25
  </div>
26
26
  <div className="mr-9 mb-8 w-25">
27
- <Input name="input" value="Value" onChange={action('on-change')} onClear={action('on-clear')} error={true} />
27
+ <Input name="input" onChange={action('on-change')} onClear={action('on-clear')} error={true} />
28
28
  <br />
29
29
  <Text weight="strong">Error</Text>
30
30
  </div>
@@ -8,14 +8,13 @@ export const iconLeft = () => {
8
8
  return (
9
9
  <div className="Row">
10
10
  <div className="mr-9 mb-8 w-25">
11
- <Input name="input" value="Value" onChange={action('on-change')} onClear={action('on-clear')} icon={icon} />
11
+ <Input name="input" onChange={action('on-change')} onClear={action('on-clear')} icon={icon} />
12
12
  <br />
13
13
  <Text weight="strong">Default</Text>
14
14
  </div>
15
15
  <div className="mr-9 mb-8 w-25">
16
16
  <Input
17
17
  name="input"
18
- value=""
19
18
  placeholder="Placeholder"
20
19
  onChange={action('on-change')}
21
20
  onClear={action('on-clear')}
@@ -26,14 +25,7 @@ export const iconLeft = () => {
26
25
  <Text weight="strong">Placeholder</Text>
27
26
  </div>
28
27
  <div className="mr-9 mb-8 w-25">
29
- <Input
30
- name="input"
31
- value="Value"
32
- onChange={action('on-change')}
33
- onClear={action('on-clear')}
34
- error={true}
35
- icon={icon}
36
- />
28
+ <Input name="input" onChange={action('on-change')} onClear={action('on-clear')} error={true} icon={icon} />
37
29
  <br />
38
30
  <Text weight="strong">Error</Text>
39
31
  </div>
@@ -11,13 +11,7 @@ export const withLabel = () => {
11
11
  <Label withInput={true} required={true}>
12
12
  Full Name
13
13
  </Label>
14
- <Input
15
- name="input"
16
- value="Value"
17
- onChange={action('on-change')}
18
- onClear={action('on-clear')}
19
- required={true}
20
- />
14
+ <Input name="input" onChange={action('on-change')} onClear={action('on-clear')} required={true} />
21
15
  </div>
22
16
  <br />
23
17
  <Text weight="strong">No Caption</Text>
@@ -28,7 +22,6 @@ export const withLabel = () => {
28
22
  </Label>
29
23
  <Input
30
24
  name="input"
31
- value="Value"
32
25
  type="password"
33
26
  onChange={action('on-change')}
34
27
  onClear={action('on-clear')}
@@ -44,7 +37,6 @@ export const withLabel = () => {
44
37
  </Label>
45
38
  <Input
46
39
  name="input"
47
- value="Value"
48
40
  type="password"
49
41
  onChange={action('on-change')}
50
42
  onClear={action('on-clear')}
@@ -8,6 +8,7 @@ exports[`Input component
8
8
  <div
9
9
  class="Input Input--regular"
10
10
  data-test="DesignSystem-InputWrapper"
11
+ role="presentation"
11
12
  style="min-width: 256px;"
12
13
  >
13
14
  <input
@@ -31,6 +32,7 @@ exports[`Input component
31
32
  <div
32
33
  class="Input Input--regular"
33
34
  data-test="DesignSystem-InputWrapper"
35
+ role="presentation"
34
36
  style="min-width: 256px;"
35
37
  >
36
38
  <div
@@ -64,6 +66,7 @@ exports[`Input component
64
66
  <div
65
67
  class="Input Input--regular"
66
68
  data-test="DesignSystem-InputWrapper"
69
+ role="presentation"
67
70
  style="min-width: 256px;"
68
71
  >
69
72
  <input
@@ -87,6 +90,7 @@ exports[`Input component
87
90
  <div
88
91
  class="Input Input--regular"
89
92
  data-test="DesignSystem-InputWrapper"
93
+ role="presentation"
90
94
  style="min-width: 256px;"
91
95
  >
92
96
  <div
@@ -120,6 +124,7 @@ exports[`Input component
120
124
  <div
121
125
  class="Input Input--large"
122
126
  data-test="DesignSystem-InputWrapper"
127
+ role="presentation"
123
128
  style="min-width: 256px;"
124
129
  >
125
130
  <input
@@ -142,6 +147,7 @@ exports[`Input component
142
147
  <div
143
148
  class="Input Input--large"
144
149
  data-test="DesignSystem-InputWrapper"
150
+ role="presentation"
145
151
  >
146
152
  <div
147
153
  class="Input-inlineLabel"
@@ -173,6 +179,7 @@ exports[`Input component
173
179
  <div
174
180
  class="Input Input--regular"
175
181
  data-test="DesignSystem-InputWrapper"
182
+ role="presentation"
176
183
  style="min-width: 256px;"
177
184
  >
178
185
  <input
@@ -195,6 +202,7 @@ exports[`Input component
195
202
  <div
196
203
  class="Input Input--regular"
197
204
  data-test="DesignSystem-InputWrapper"
205
+ role="presentation"
198
206
  >
199
207
  <div
200
208
  class="Input-inlineLabel"
@@ -226,6 +234,7 @@ exports[`Input component
226
234
  <div
227
235
  class="Input Input--tiny"
228
236
  data-test="DesignSystem-InputWrapper"
237
+ role="presentation"
229
238
  style="min-width: 256px;"
230
239
  >
231
240
  <input
@@ -248,6 +257,7 @@ exports[`Input component
248
257
  <div
249
258
  class="Input Input--tiny"
250
259
  data-test="DesignSystem-InputWrapper"
260
+ role="presentation"
251
261
  >
252
262
  <div
253
263
  class="Input-inlineLabel"
@@ -279,6 +289,7 @@ exports[`Input component
279
289
  <div
280
290
  class="Input Input--regular"
281
291
  data-test="DesignSystem-InputWrapper"
292
+ role="presentation"
282
293
  >
283
294
  <input
284
295
  class="Input-input Input-input--regular"
@@ -300,6 +311,7 @@ exports[`Input component
300
311
  <div
301
312
  class="Input Input--regular"
302
313
  data-test="DesignSystem-InputWrapper"
314
+ role="presentation"
303
315
  style="min-width: 256px;"
304
316
  >
305
317
  <input
@@ -322,6 +334,7 @@ exports[`Input component
322
334
  <div
323
335
  class="Input Input--regular"
324
336
  data-test="DesignSystem-InputWrapper"
337
+ role="presentation"
325
338
  style="min-width: 256px;"
326
339
  >
327
340
  <input
@@ -344,6 +357,7 @@ exports[`Input component
344
357
  <div
345
358
  class="Input Input--regular Input--disabled"
346
359
  data-test="DesignSystem-InputWrapper"
360
+ role="presentation"
347
361
  style="min-width: 256px;"
348
362
  >
349
363
  <input
@@ -368,6 +382,7 @@ exports[`Input component
368
382
  <div
369
383
  class="Input Input--regular Input--disabled"
370
384
  data-test="DesignSystem-InputWrapper"
385
+ role="presentation"
371
386
  style="min-width: 256px;"
372
387
  >
373
388
  <div
@@ -402,6 +417,7 @@ exports[`Input component
402
417
  <div
403
418
  class="Input Input--regular Input--disabled"
404
419
  data-test="DesignSystem-InputWrapper"
420
+ role="presentation"
405
421
  style="min-width: 256px;"
406
422
  >
407
423
  <input
@@ -426,6 +442,7 @@ exports[`Input component
426
442
  <div
427
443
  class="Input Input--regular Input--disabled"
428
444
  data-test="DesignSystem-InputWrapper"
445
+ role="presentation"
429
446
  style="min-width: 256px;"
430
447
  >
431
448
  <div
@@ -460,6 +477,7 @@ exports[`Input component
460
477
  <div
461
478
  class="Input Input--regular Input--error"
462
479
  data-test="DesignSystem-InputWrapper"
480
+ role="presentation"
463
481
  style="min-width: 256px;"
464
482
  >
465
483
  <input
@@ -482,6 +500,7 @@ exports[`Input component
482
500
  <div
483
501
  class="Input Input--regular Input--error"
484
502
  data-test="DesignSystem-InputWrapper"
503
+ role="presentation"
485
504
  style="min-width: 256px;"
486
505
  >
487
506
  <div
@@ -50,7 +50,7 @@ export const Label = (props: LabelProps) => {
50
50
  'Label--disabled': disabled,
51
51
  });
52
52
 
53
- const renderInfo = (isRequired: boolean = false, isOptional?: boolean) => {
53
+ const renderInfo = (isRequired = false, isOptional?: boolean) => {
54
54
  if (isRequired) {
55
55
  return <span className="Label-requiredIndicator" data-test="DesignSystem-Label--RequiredIndicator" />;
56
56
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import Text, { Appearance as LabelAppearance } from '@/components/atoms/text';
2
+ import Text, { TextAppearance } from '@/components/atoms/text';
3
3
  import classNames from 'classnames';
4
4
  import { BaseProps, extractBaseProps } from '@/utils/types';
5
5
 
@@ -15,7 +15,7 @@ export interface LegendProps extends BaseProps {
15
15
  /**
16
16
  * Color of label
17
17
  */
18
- labelAppearance?: LabelAppearance;
18
+ labelAppearance?: TextAppearance;
19
19
  /**
20
20
  * Size of Icon
21
21
  */
@@ -66,6 +66,8 @@ export const Legend = (props: LegendProps) => {
66
66
  width: `${iconSize}px`,
67
67
  };
68
68
 
69
+ // TODO(a11y): fix accessibility
70
+ /* eslint-disable */
69
71
  return (
70
72
  <div
71
73
  {...baseProps}
@@ -74,6 +76,7 @@ export const Legend = (props: LegendProps) => {
74
76
  onMouseEnter={(e) => onMouseEnter && onMouseEnter(e)}
75
77
  onMouseLeave={(e) => onMouseLeave && onMouseLeave(e)}
76
78
  >
79
+ {/* eslint-enable */}
77
80
  <span className="Legend-icon" style={styles} />
78
81
  <Text appearance={labelAppearance} weight={labelWeight}>
79
82
  {children}
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { Appearance } from '@/components/atoms/text';
2
+ import { TextAppearance as LabelApperance } from '@/components/atoms/text';
3
3
  import Legend from '../../Legend';
4
4
 
5
5
  // CSF format story
6
6
  export const labelAppearance = () => {
7
- const appearances: Appearance[] = ['default', 'white', 'destructive', 'subtle', 'disabled'];
7
+ const appearances: LabelApperance[] = ['default', 'white', 'destructive', 'subtle', 'disabled'];
8
8
  return (
9
9
  <div>
10
10
  {appearances.map((appearance, i) => {
@@ -4,8 +4,8 @@ import classNames from 'classnames';
4
4
  import { BaseProps, OmitNativeProps } from '@/utils/types';
5
5
 
6
6
  type LinkTarget = '_blank' | '_self' | '_parent' | '_top';
7
- type Appearance = 'default' | 'subtle';
8
- type Size = 'regular' | 'tiny';
7
+ type LinkAppearance = 'default' | 'subtle';
8
+ type LinkSize = 'regular' | 'tiny';
9
9
 
10
10
  export interface LinkProps extends BaseProps, OmitNativeProps<HTMLLinkElement, 'onClick'> {
11
11
  /**
@@ -15,11 +15,11 @@ export interface LinkProps extends BaseProps, OmitNativeProps<HTMLLinkElement, '
15
15
  /**
16
16
  * Color of `Link`
17
17
  */
18
- appearance: Appearance;
18
+ appearance: LinkAppearance;
19
19
  /**
20
20
  * Size of `Link`
21
21
  */
22
- size: Size;
22
+ size: LinkSize;
23
23
  /**
24
24
  * Disables the `Link`, making it unable to be clicked
25
25
  */
@@ -2,8 +2,8 @@ import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Icon, Heading, Text } from '@/index';
4
4
  import { BaseProps, extractBaseProps } from '@/utils/types';
5
+ import { MessageAppearance } from '@/common.type';
5
6
 
6
- export type Appearance = 'default' | 'alert' | 'info' | 'success' | 'warning';
7
7
  const IconMapping = {
8
8
  success: 'check_circle',
9
9
  info: 'info',
@@ -15,7 +15,7 @@ export interface MessageProps extends BaseProps {
15
15
  /**
16
16
  * Color of `Message`
17
17
  */
18
- appearance: Appearance;
18
+ appearance: MessageAppearance;
19
19
  /**
20
20
  * Title of the `Message`
21
21
  */
@@ -38,7 +38,9 @@ export interface MessageProps extends BaseProps {
38
38
  }
39
39
 
40
40
  export const Message = (props: MessageProps) => {
41
- const { appearance, actions, title, className } = props;
41
+ const { actions, title, className } = props;
42
+ let { appearance } = props;
43
+ appearance = appearance === 'default' ? 'info' : appearance;
42
44
 
43
45
  const baseProps = extractBaseProps(props);
44
46
 
@@ -88,14 +90,12 @@ export const Message = (props: MessageProps) => {
88
90
 
89
91
  return (
90
92
  <div data-test="DesignSystem-Message" {...baseProps} className={MessageClass}>
91
- {appearance !== 'default' && (
92
- <Icon
93
- data-test="DesignSystem-Message--Icon"
94
- name={IconMapping[appearance]}
95
- appearance={appearance}
96
- className={IconClass}
97
- />
98
- )}
93
+ <Icon
94
+ data-test="DesignSystem-Message--Icon"
95
+ name={IconMapping[appearance]}
96
+ appearance={appearance}
97
+ className={IconClass}
98
+ />
99
99
  <div>
100
100
  {title && (
101
101
  <Heading data-test="DesignSystem-Message--Title" size="s" className={TitleClass}>
@@ -115,7 +115,7 @@ export const Message = (props: MessageProps) => {
115
115
 
116
116
  Message.displayName = 'Message';
117
117
  Message.defaultProps = {
118
- appearance: 'default',
118
+ appearance: 'info',
119
119
  description: '',
120
120
  };
121
121
 
@@ -4,7 +4,7 @@ import { Message, Text } from '@/index';
4
4
 
5
5
  // CSF format story
6
6
  export const all = () => {
7
- const appearance = select('appearance', ['default', 'alert', 'info', 'success', 'warning'], undefined);
7
+ const appearance = select('appearance', ['alert', 'info', 'success', 'warning'], undefined);
8
8
 
9
9
  const title = text('title', 'Design System');
10
10
 
@@ -4,7 +4,7 @@ import { MessageProps } from '@/index.type';
4
4
 
5
5
  // CSF format story
6
6
  export const appearanceWithoutTitle = () => {
7
- const appearances: MessageProps['appearance'][] = ['default', 'alert', 'info', 'success', 'warning'];
7
+ const appearances: MessageProps['appearance'][] = ['alert', 'info', 'success', 'warning'];
8
8
  const innerStyle = {
9
9
  display: 'flex',
10
10
  'align-items': 'center',
@@ -5,7 +5,7 @@ import { MessageProps } from '@/index.type';
5
5
 
6
6
  // CSF format story
7
7
  export const appearanceWithTitle = () => {
8
- const appearances: MessageProps['appearance'][] = ['default', 'alert', 'info', 'success', 'warning'];
8
+ const appearances: MessageProps['appearance'][] = ['alert', 'info', 'success', 'warning'];
9
9
  const innerStyle = {
10
10
  display: 'flex',
11
11
  'align-items': 'center',
@@ -4,7 +4,7 @@ import { Message, Text } from '@/index';
4
4
  import { MessageProps as Props } from '@/index.type';
5
5
  import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
6
6
 
7
- const appearances: Props['appearance'][] = ['default', 'alert', 'info', 'warning', 'success'];
7
+ const appearances: Props['appearance'][] = ['alert', 'info', 'warning', 'success'];
8
8
  const title = 'Title goes here';
9
9
  const description = 'Description goes here';
10
10
  const actions = (
@@ -73,11 +73,6 @@ describe('Message component with prop:appearance', () => {
73
73
  expect(getByTestId('DesignSystem-Message')).toHaveClass(`Message--${appearance}`);
74
74
  });
75
75
  });
76
-
77
- it('should not render icon if appearance is default', () => {
78
- const { queryByTestId } = render(<Message appearance="default" description={description} />);
79
- expect(queryByTestId('DesignSystem-Message--Icon')).not.toBeInTheDocument();
80
- });
81
76
  });
82
77
 
83
78
  describe('Message component with prop: actions', () => {
@@ -52,51 +52,6 @@ exports[`Message component
52
52
  </body>
53
53
  `;
54
54
 
55
- exports[`Message component
56
- appearance: "default", title: "Title goes here", description: "Description goes here", actions: "[ReactNode]"
57
- 1`] = `
58
- <body>
59
- <div>
60
- <div
61
- class="Message Message--default"
62
- data-test="DesignSystem-Message"
63
- >
64
- <div>
65
- <h5
66
- class="Heading Heading--s Heading--default Message-heading Message-heading--default"
67
- data-test="DesignSystem-Message--Title"
68
- >
69
- Title goes here
70
- </h5>
71
- <span
72
- class="Text Text--default Text--regular Message-text Message-text--default"
73
- data-test="DesignSystem-Message--Description"
74
- >
75
- Description goes here
76
- </span>
77
- <div
78
- class="Message-actions"
79
- data-test="DesignSystem-Message--actions"
80
- >
81
- <span
82
- class="Text Text--link Text--regular mr-5 cursor-pointer"
83
- data-test="DesignSystem-Text"
84
- >
85
- Action 1
86
- </span>
87
- <span
88
- class="Text Text--link Text--regular cursor-pointer"
89
- data-test="DesignSystem-Text"
90
- >
91
- Action 2
92
- </span>
93
- </div>
94
- </div>
95
- </div>
96
- </div>
97
- </body>
98
- `;
99
-
100
55
  exports[`Message component
101
56
  appearance: "info", title: "Title goes here", description: "Description goes here", actions: "[ReactNode]"
102
57
  1`] = `
@@ -3,8 +3,8 @@ import { render } from '@testing-library/react';
3
3
  import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
4
4
  import { MetaList } from '@/index';
5
5
  import { MetaListProps as Props } from '@/index.type';
6
- import { Appearance as IconAppearance } from '../../icon';
7
- import { Appearance as TextAppearance } from '../../text';
6
+ import { IconAppearance } from '../../icon';
7
+ import { TextAppearance } from '../../text';
8
8
 
9
9
  const appearance: IconAppearance[] = [
10
10
  'primary',
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Icon, Text } from '@/index';
4
4
  import { BaseHtmlProps, BaseProps, extractBaseProps } from '@/utils/types';
5
+ import { AutoComplete } from '@/common.type';
5
6
 
6
- export type AutoComplete = 'on' | 'off';
7
- export type Size = 'regular' | 'large';
7
+ export type MetricInputSize = 'regular' | 'large';
8
8
 
9
9
  export interface MetricInputProps extends BaseProps, BaseHtmlProps<HTMLInputElement> {
10
10
  /**
@@ -27,7 +27,7 @@ export interface MetricInputProps extends BaseProps, BaseHtmlProps<HTMLInputElem
27
27
  * Size of the `MetricInput`
28
28
  * @default "regular"
29
29
  */
30
- size?: Size;
30
+ size?: MetricInputSize;
31
31
  /**
32
32
  * Material icon name
33
33
  */
@@ -92,10 +92,10 @@ const sizeMapping = {
92
92
  large: 20,
93
93
  };
94
94
 
95
- const capMin = (min: number = -Infinity, value: number) =>
95
+ const capMin = (min = -Infinity, value: number) =>
96
96
  isNaN(min) || (!min && min !== 0) || isNaN(value) || (!value && value !== 0) ? value : Math.max(min, value);
97
97
 
98
- const capMax = (max: number = +Infinity, value: number) =>
98
+ const capMax = (max = +Infinity, value: number) =>
99
99
  isNaN(max) || (!max && max !== 0) || isNaN(value) || (!value && value !== 0) ? value : Math.min(max, value);
100
100
 
101
101
  /**
@@ -229,7 +229,14 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
229
229
  const iconSize = size === 'regular' ? 12 : 16;
230
230
 
231
231
  return (
232
- <div data-test="DesignSystem-MetricInputWrapper" className={classes} onClick={() => ref.current?.focus()}>
232
+ <div
233
+ data-test="DesignSystem-MetricInputWrapper"
234
+ className={classes}
235
+ onClick={() => ref.current?.focus()}
236
+ onFocus={() => ref.current?.focus()}
237
+ onKeyDown={() => {}}
238
+ role="presentation"
239
+ >
233
240
  {icon && (
234
241
  <Icon
235
242
  data-test="DesignSystem-MetricInput--icon"
@@ -278,8 +285,10 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
278
285
  {suffix}
279
286
  </Text>
280
287
  )}
281
- <div className="MetricInput-arrowIcons" tabIndex={0}>
288
+
289
+ <div className="MetricInput-arrowIcons">
282
290
  <Icon
291
+ tabIndex={-1}
283
292
  className={getArrowClass('up')}
284
293
  size={iconSize}
285
294
  name="keyboard_arrow_up"
@@ -287,6 +296,7 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
287
296
  data-test="DesignSystem-MetricInput--upIcon"
288
297
  />
289
298
  <Icon
299
+ tabIndex={-1}
290
300
  className={getArrowClass('down')}
291
301
  size={iconSize}
292
302
  name="keyboard_arrow_down"