@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
@@ -1,7 +1,6 @@
1
- // @ts-nocheck
2
- const generateImports = (str = '', lib = {}, libName: string) => {
1
+ const generateImports = (str = '', lib: Record<string, unknown> = {}, libName: string) => {
3
2
  const regexp = /<[A-Z]\w*/g;
4
- const matchedArray = [...str.matchAll(regexp)];
3
+ const matchedArray = Array.from(str.matchAll(regexp));
5
4
 
6
5
  const componentsMap = matchedArray
7
6
  .flatMap((item) => item[0].replace('<', ''))
@@ -1,16 +1,13 @@
1
- // @ts-nocheck
2
-
3
1
  import * as React from 'react';
4
- import { Title, Subtitle, Subheading, Description, Canvas, PropsProps, ArgsTable } from '@storybook/addon-docs/blocks';
2
+ import { Title, Description, Canvas, ArgsTable } from '@storybook/addon-docs/blocks';
5
3
  import { renderToStaticMarkup } from 'react-dom/server';
6
4
  import reactElementToJSXString from 'react-element-to-jsx-string';
7
5
  import { html as beautifyHTML } from 'js-beautify';
8
6
  import SyntaxHighlighter from 'react-syntax-highlighter';
9
- import { docco, dark, a11yDark, githubGist, dracula, vs2015 } from 'react-syntax-highlighter/dist/esm/styles/hljs';
10
- import * as DS from '@/';
7
+ import { vs2015 } from 'react-syntax-highlighter/dist/esm/styles/hljs';
8
+ import * as DS from '@';
11
9
  import { Button, Card, TabsWrapper, Tab, Heading } from '@/index';
12
10
  import vsDark from 'prism-react-renderer/themes/vsDark';
13
- import { resetComponents, Story as PureStory } from '@storybook/components';
14
11
  import { LiveProvider, LiveEditor, LiveError, LivePreview, withLive } from 'react-live';
15
12
  import openSandbox from './sandbox';
16
13
  import generateImports from './generateImports';
@@ -24,13 +21,6 @@ export interface Example {
24
21
  component: React.ReactNode;
25
22
  }
26
23
 
27
- interface DocPageProps {
28
- title?: string;
29
- description?: React.ReactNode;
30
- props?: PropsProps;
31
- customCode?: string;
32
- }
33
-
34
24
  const beautifyHTMLOptions = {
35
25
  indent_size: 2,
36
26
  wrap_line_length: 0,
@@ -50,14 +40,16 @@ const beautifyJSXOptions = {
50
40
  };
51
41
 
52
42
  const JSXtoStringOptions = {
53
- filterProps: (val: any, key: string) => {
43
+ filterProps: (val: any) => {
54
44
  if (!val) return false;
55
45
  if (val && val.name === 'actionHandler') return false;
56
46
  // if(val && typeof val === 'function') return false;
57
47
  return true;
58
48
  },
59
49
  showFunctions: true,
60
- functionValue: (_fn) => (_) => {},
50
+ functionValue: () => () => {
51
+ return;
52
+ },
61
53
  // maxInlineAttributesLineLength: 10,
62
54
  showDefaultProps: false,
63
55
  useBooleanShorthandSyntax: false,
@@ -65,7 +57,9 @@ const JSXtoStringOptions = {
65
57
 
66
58
  const copyCode = (val: string) => navigator.clipboard.writeText(val);
67
59
 
68
- const CopyComp = (props) => {
60
+ type OnClickType = (e: React.MouseEvent) => void;
61
+
62
+ const CopyComp = (props: { onClick: OnClickType }) => {
69
63
  const { onClick } = props;
70
64
  return (
71
65
  <div
@@ -94,7 +88,7 @@ const buttonStyles = {
94
88
  background: 'white',
95
89
  };
96
90
 
97
- const ShowMoreLessButton = ({ onClick, text = 'More' }) => (
91
+ const ShowMoreLessButton = ({ onClick, text = 'More' }: { onClick: OnClickType; text: string }) => (
98
92
  <div
99
93
  style={{
100
94
  display: 'grid',
@@ -138,7 +132,7 @@ const getStory = () => {
138
132
  return { storyId, story };
139
133
  };
140
134
 
141
- const getRawPreviewCode = (customCode, comp) => {
135
+ const getRawPreviewCode = (customCode: string, comp: React.ReactNode) => {
142
136
  if (customCode) {
143
137
  return `${generateImports(customCode, componentLib, '@innovaccer/design-system')}
144
138
  ${customCode}
@@ -161,12 +155,17 @@ ${jsx
161
155
  return code;
162
156
  };
163
157
 
164
- const StoryComp = (props) => {
165
- const { customCode, noHtml, noStory, noSandbox, isEmbed } = props;
166
- const { story, storyId } = getStory();
167
- const sp = story.parameters;
158
+ const StoryComp = (props: {
159
+ noHtml: boolean;
160
+ customCode: string;
161
+ noSandbox: boolean;
162
+ isEmbed: boolean;
163
+ imports: string[];
164
+ }) => {
165
+ const { customCode, noHtml, noSandbox, isEmbed } = props;
166
+ const { story } = getStory();
168
167
  // const comp = sp.storySource.source;
169
- const comp = story.getOriginal()();
168
+ const comp = story.originalStoryFn();
170
169
  const html = !noHtml ? beautifyHTML(renderToStaticMarkup(comp), beautifyHTMLOptions) : '';
171
170
 
172
171
  const [activeTab, setActiveTab] = React.useState<number>(0);
@@ -175,7 +174,7 @@ const StoryComp = (props) => {
175
174
  const [isExpanded, setIsExpanded] = React.useState(isEmbed);
176
175
  const [showMore, setShowMore] = React.useState<boolean>(false);
177
176
  const [shouldShowMore, setShouldShowMore] = React.useState<boolean>(false);
178
- const codePanel = React.useRef(null);
177
+ const codePanel = React.useRef<HTMLDivElement>(null);
179
178
 
180
179
  const importScope = props.imports;
181
180
 
@@ -186,20 +185,22 @@ const StoryComp = (props) => {
186
185
  return <></>;
187
186
  };
188
187
 
189
- const TabsWrap = withLive(({ live, currentTab }) => {
188
+ const TabsWrap = withLive<{ live?: any; activeTab: number }>(({ live, activeTab }) => {
190
189
  const { error, element: Element } = live;
191
190
 
192
191
  React.useEffect(() => {
193
- if (!error && currentTab === 1) {
192
+ if (!error && activeTab === 1) {
194
193
  try {
195
194
  const htmlValue = beautifyHTML(renderToStaticMarkup(<Element />), beautifyHTMLOptions);
196
195
  setHtmlCode(htmlValue);
197
- } catch (e) {}
196
+ } catch (e) {
197
+ return;
198
+ }
198
199
  }
199
- }, [currentTab]);
200
+ }, [activeTab]);
200
201
 
201
202
  React.useEffect(() => {
202
- if (codePanel.current?.clientHeight > '250') {
203
+ if (codePanel.current?.clientHeight && codePanel.current?.clientHeight > 250) {
203
204
  setShouldShowMore(true);
204
205
  }
205
206
  }, [codePanel]);
@@ -214,7 +215,7 @@ const StoryComp = (props) => {
214
215
  const actions = [
215
216
  {
216
217
  title: 'Edit in sandbox',
217
- onClick: (ev) => {
218
+ onClick: (ev: React.MouseEvent) => {
218
219
  ev.preventDefault();
219
220
  openSandbox(jsxCode);
220
221
  },
@@ -225,15 +226,16 @@ const StoryComp = (props) => {
225
226
  if (!isEmbed) {
226
227
  actions.push({
227
228
  title: `${!isExpanded ? 'Show' : 'Hide'} code`,
228
- onClick: (ev) => {
229
+ onClick: () => {
229
230
  setIsExpanded(!isExpanded);
230
231
  },
232
+ disabled: false,
231
233
  });
232
234
  }
233
235
 
234
236
  const imports = React.useMemo(() => ({ ...DS, ...importScope }), []);
235
237
 
236
- const tabChangeHandler = (tab) => {
238
+ const tabChangeHandler = (tab: number) => {
237
239
  setActiveTab(tab);
238
240
  setShouldShowMore(false);
239
241
  };
@@ -243,9 +245,9 @@ const StoryComp = (props) => {
243
245
  <LiveProvider code={jsxCode} scope={imports}>
244
246
  <Canvas
245
247
  className="my-0"
246
- withSource="none"
247
248
  withToolbar={true}
248
249
  isExpanded={isExpanded}
250
+ withSource={'none' as any}
249
251
  additionalActions={actions}
250
252
  >
251
253
  <LivePreview />
@@ -265,11 +267,13 @@ const StoryComp = (props) => {
265
267
  }}
266
268
  className="DocPage-editorTabs"
267
269
  >
268
- <TabsWrapper activeTab={activeTab} onTabChange={tabChangeHandler}>
270
+ <TabsWrapper active={activeTab} onTabChange={tabChangeHandler}>
269
271
  <Tab label={'React'}>
270
272
  <CopyComp
271
273
  onClick={() => {
272
- const editor = document.querySelector('.npm__react-simple-code-editor__textarea');
274
+ const editor = document.querySelector(
275
+ '.npm__react-simple-code-editor__textarea'
276
+ ) as HTMLTextAreaElement;
273
277
  if (editor) copyCode(editor.value);
274
278
  }}
275
279
  />
@@ -304,18 +308,20 @@ export const docPage = () => {
304
308
  noProps = isEmbed,
305
309
  noSandbox,
306
310
  imports,
311
+ a11yProps,
307
312
  } = sp.docs.docPage || {};
308
- const { component: { displayName } = {} } = sp;
313
+ const { component: { displayName = '' } = {} } = story;
309
314
  const pageClassnames = classNames({
310
315
  DocPage: true,
311
316
  'pt-8 pb-8': !(isEmbed || isEmbedWithProp),
312
317
  });
318
+ const docPageTitle: string = title || displayName;
313
319
 
314
320
  return (
315
321
  <div className={pageClassnames}>
316
322
  {!isEmbed && !isEmbedWithProp && (
317
323
  <>
318
- <Title> {title || displayName} </Title>
324
+ <Title>{docPageTitle}</Title>
319
325
  <Description>{description}</Description>
320
326
  </>
321
327
  )}
@@ -331,6 +337,15 @@ export const docPage = () => {
331
337
  />
332
338
  )}
333
339
 
340
+ {a11yProps && (
341
+ <>
342
+ <br />
343
+ <br />
344
+ <Heading appearance="subtle">Accessibility</Heading>
345
+ <Description>{a11yProps}</Description>
346
+ </>
347
+ )}
348
+
334
349
  {!noProps && (
335
350
  <>
336
351
  <br />
@@ -24,14 +24,21 @@ const getParameters = (options: { files: IFiles }) => {
24
24
  return compress(JSON.stringify(options));
25
25
  };
26
26
 
27
+ const replaceAll = function (original: string, matchString: string, replaceString: string) {
28
+ // If a regex pattern
29
+ if (Object.prototype.toString.call(matchString).toLowerCase() === '[object regexp]') {
30
+ return original.replace(matchString, replaceString);
31
+ }
32
+
33
+ // If a string
34
+ return original.replace(new RegExp(matchString, 'g'), replaceString);
35
+ };
36
+
27
37
  export default (jsxStoryCode: string) => {
28
- const structuredCode = jsxStoryCode
29
- .trim()
30
- // @ts-ignore
31
- .replaceAll('// import', 'import')
32
- .replace('() => {', 'const App = () => {')
33
- .replaceAll('<>', '<React.Fragment>')
34
- .replaceAll('</>', '</React.Fragment>');
38
+ let structuredCode = replaceAll(jsxStoryCode.trim(), '// import', 'import').replace('() => {', 'const App = () => {');
39
+ structuredCode = replaceAll(structuredCode, '<>', '<React.Fragment>');
40
+ structuredCode = replaceAll(structuredCode, '</>', '</React.Fragment>');
41
+
35
42
  const code = `
36
43
  import ReactDOM from "react-dom";
37
44
  import React from "react";
@@ -33,12 +33,16 @@ export const getUpdatedZIndex = (ele: elementData): number | undefined => {
33
33
  return zIndex > 0 ? zIndex : undefined;
34
34
  };
35
35
 
36
- export const closeOnEscapeKeypress = (event: KeyboardEvent, isTopOverlay: boolean | undefined, onClose: Function) => {
37
-
36
+ // keyboard event, boolean?, (event: Event) => void
37
+ export const closeOnEscapeKeypress = (
38
+ event: KeyboardEvent,
39
+ isTopOverlay: boolean | undefined,
40
+ onClose: (event: Event) => void
41
+ ) => {
38
42
  if (event.key === 'Escape' && isTopOverlay) {
39
43
  onClose(event);
40
44
 
41
45
  // prevent browser-specific escape key behavior (Safari exits fullscreen)
42
46
  event.preventDefault();
43
47
  }
44
- }
48
+ };
@@ -30,7 +30,7 @@ const iterateComb = (
30
30
  requiredComb.forEach((reqProps) => {
31
31
  optionalComb.forEach((optProps) => {
32
32
  const allProps = { ...reqProps, ...optProps };
33
- if (!!testFunc) testFunc(allProps);
33
+ if (testFunc) testFunc(allProps);
34
34
  else combinations.push(allProps);
35
35
  });
36
36
  });
@@ -42,7 +42,7 @@ const getCombinations = (Props: Record<string, any>): Record<string, any>[] => {
42
42
  const combinations: Record<string, any>[] = [];
43
43
  const propNames = Object.keys(Props);
44
44
 
45
- const iterateProps = (curr: Record<string, any> = {}, propIndex: number = 0): void => {
45
+ const iterateProps = (curr: Record<string, any> = {}, propIndex = 0): void => {
46
46
  const iterateValues = (propValues: any[]) => {
47
47
  for (const propValue of propValues) {
48
48
  if (isMapper(propValue)) {
@@ -2,7 +2,7 @@ export type SingleOrArray<T> = T | T[];
2
2
 
3
3
  export type MakeRequired<T> = Exclude<T, null | undefined>;
4
4
 
5
- export type MakeOptional<T extends {}, K extends keyof any> = Omit<T, K> & {
5
+ export type MakeOptional<T extends object, K extends keyof any> = Omit<T, K> & {
6
6
  [OK in keyof T & K]?: T[OK];
7
7
  };
8
8
 
@@ -9,7 +9,7 @@ export const isValid = (validators: Validators, ...value: any[]) => {
9
9
 
10
10
  export const date = (val: string, format: string): boolean => {
11
11
  const validate = (date: number, month: number, year: number): boolean => {
12
- var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
12
+ const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
13
13
 
14
14
  // Adjust for leap years
15
15
  if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) monthLength[1] = 29;
@@ -19,48 +19,51 @@ export const date = (val: string, format: string): boolean => {
19
19
  };
20
20
 
21
21
  switch (format) {
22
- case 'dd/mm/yyyy':
23
- var p = val.split('/');
24
- var date = +p[0] || 1;
25
- var month = +p[1] || 1;
26
- var year = +p[2] || 1900;
22
+ case 'dd/mm/yyyy': {
23
+ const p = val.split('/');
24
+ const date = +p[0] || 1;
25
+ const month = +p[1] || 1;
26
+ const year = +p[2] || 1900;
27
27
  return validate(date, month, year);
28
-
29
- case 'mm/dd/yyyy':
30
- var p = val.split('/');
31
- var date = +p[1] || 1;
32
- var month = +p[0] || 1;
33
- var year = +p[2] || 1900;
28
+ }
29
+ case 'mm/dd/yyyy': {
30
+ const p = val.split('/');
31
+ const date = +p[1] || 1;
32
+ const month = +p[0] || 1;
33
+ const year = +p[2] || 1900;
34
34
  return validate(date, month, year);
35
+ }
35
36
 
36
- case 'yyyy/mm/dd':
37
- var p = val.split('/');
38
- var date = +p[2] || 1;
39
- var month = +p[1] || 1;
40
- var year = +p[0] || 1900;
37
+ case 'yyyy/mm/dd': {
38
+ const p = val.split('/');
39
+ const date = +p[2] || 1;
40
+ const month = +p[1] || 1;
41
+ const year = +p[0] || 1900;
41
42
  return validate(date, month, year);
42
-
43
- case 'dd-mm-yyyy':
44
- var p = val.split('-');
45
- var date = +p[0] || 1;
46
- var month = +p[1] || 1;
47
- var year = +p[2] || 1900;
43
+ }
44
+ case 'dd-mm-yyyy': {
45
+ const p = val.split('-');
46
+ const date = +p[0] || 1;
47
+ const month = +p[1] || 1;
48
+ const year = +p[2] || 1900;
48
49
  return validate(date, month, year);
50
+ }
49
51
 
50
- case 'mm-dd-yyyy':
51
- var p = val.split('-');
52
- var date = +p[1] || 1;
53
- var month = +p[0] || 1;
54
- var year = +p[2] || 1900;
52
+ case 'mm-dd-yyyy': {
53
+ const p = val.split('-');
54
+ const date = +p[1] || 1;
55
+ const month = +p[0] || 1;
56
+ const year = +p[2] || 1900;
55
57
  return validate(date, month, year);
58
+ }
56
59
 
57
- case 'yyyy-mm-dd':
58
- var p = val.split('-');
59
- var date = +p[2] || 1;
60
- var month = +p[1] || 1;
61
- var year = +p[0] || 1900;
60
+ case 'yyyy-mm-dd': {
61
+ const p = val.split('-');
62
+ const date = +p[2] || 1;
63
+ const month = +p[1] || 1;
64
+ const year = +p[0] || 1900;
62
65
  return validate(date, month, year);
63
-
66
+ }
64
67
  default:
65
68
  return false;
66
69
  }