@innovaccer/design-system 2.6.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 (287) hide show
  1. package/.eslintrc.json +10 -9
  2. package/.github/workflows/chromatic.yml +5 -0
  3. package/.github/workflows/pull_request.yml +1 -1
  4. package/.storybook/main.js +4 -0
  5. package/.vscode/settings.json +11 -0
  6. package/CHANGELOG.md +36 -0
  7. package/CONTRIBUTING.md +7 -1
  8. package/core/accessibility/utils/useAccessibilityProps.ts +4 -2
  9. package/core/common.type.tsx +22 -0
  10. package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +9 -9
  11. package/core/components/atoms/_chip/index.tsx +17 -3
  12. package/core/components/atoms/avatar/Avatar.tsx +4 -14
  13. package/core/components/atoms/avatar/__stories__/variants/Appearance.story.tsx +3 -2
  14. package/core/components/atoms/avatar/__tests__/Avatar.test.tsx +14 -9
  15. package/core/components/atoms/avatarGroup/AvatarGroup.tsx +3 -5
  16. package/core/components/atoms/badge/Badge.tsx +2 -12
  17. package/core/components/atoms/badge/__tests__/Badge.test.tsx +22 -7
  18. package/core/components/atoms/badge/_stories_/variants/Appearance.story.tsx +3 -2
  19. package/core/components/atoms/badge/_stories_/variants/Subtle.story.tsx +3 -2
  20. package/core/components/atoms/button/Button.tsx +10 -7
  21. package/core/components/atoms/button/__stories__/index.story.tsx +1 -1
  22. package/core/components/atoms/button/__stories__/variants/Appearance.story.tsx +2 -2
  23. package/core/components/atoms/button/__stories__/variants/Expanded.story.tsx +2 -2
  24. package/core/components/atoms/button/__stories__/variants/icon/IconLeft.story.tsx +2 -2
  25. package/core/components/atoms/button/__stories__/variants/icon/IconRight.story.tsx +2 -2
  26. package/core/components/atoms/button/__tests__/Button.test.tsx +1 -1
  27. package/core/components/atoms/button/__tests__/__snapshots__/Button.test.tsx.snap +0 -137
  28. package/core/components/atoms/card/__stories__/empty.story.tsx +1 -1
  29. package/core/components/atoms/card/__stories__/nested.story.tsx +1 -1
  30. package/core/components/atoms/card/__stories__/scroll.story.tsx +1 -1
  31. package/core/components/atoms/checkbox/Checkbox.tsx +8 -9
  32. package/core/components/atoms/checkbox/__stories__/variants/Size.story.tsx +2 -2
  33. package/core/components/atoms/chip/Chip.tsx +3 -2
  34. package/core/components/atoms/chip/__stories__/variants/Selection.story.tsx +17 -0
  35. package/core/components/atoms/chip/__stories__/variants/Type.story.tsx +2 -2
  36. package/core/components/atoms/chip/__tests__/Chip.test.tsx +7 -0
  37. package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +5 -5
  38. package/core/components/atoms/chipGroup/__tests__/chipGroup.test.tsx +2 -2
  39. package/core/components/atoms/chipGroup/_stories_/index.story.tsx +2 -2
  40. package/core/components/atoms/dropdown/Dropdown.tsx +18 -17
  41. package/core/components/atoms/dropdown/DropdownButton.tsx +2 -2
  42. package/core/components/atoms/dropdown/DropdownList.tsx +10 -5
  43. package/core/components/atoms/dropdown/Loading.tsx +1 -1
  44. package/core/components/atoms/dropdown/__stories__/CustomSearchPlaceholder.story.tsx +45 -0
  45. package/core/components/atoms/dropdown/__stories__/_common_/types.tsx +3 -0
  46. package/core/components/atoms/dropdown/__stories__/variants/Size.story.tsx +2 -2
  47. package/core/components/atoms/dropdown/__stories__/variants/controlledDropdown/MultiSelect.story.tsx +1 -1
  48. package/core/components/atoms/dropdown/__tests__/Dropdown.test.tsx +12 -1
  49. package/core/components/atoms/dropdown/__tests__/Loading.test.tsx +0 -1
  50. package/core/components/atoms/dropdown/option/index.tsx +1 -1
  51. package/core/components/atoms/heading/Heading.tsx +4 -4
  52. package/core/components/atoms/heading/__stories__/variants/Appearance.story.tsx +3 -2
  53. package/core/components/atoms/heading/__tests__/Heading.test.tsx +4 -3
  54. package/core/components/atoms/icon/Icon.tsx +3 -3
  55. package/core/components/atoms/input/Input.tsx +3 -3
  56. package/core/components/atoms/input/__stories__/InputWithCaption.story.tsx +62 -0
  57. package/core/components/atoms/input/__stories__/LabelPosition.story.tsx +38 -0
  58. package/core/components/atoms/input/__stories__/variants/controlledInput.story.tsx +46 -0
  59. package/core/components/atoms/input/__stories__/variants/types/BasicInput.story.tsx +2 -2
  60. package/core/components/atoms/input/__stories__/variants/types/IconLeft.story.tsx +2 -10
  61. package/core/components/atoms/input/__stories__/variants/types/WithLabel.story.tsx +1 -9
  62. package/core/components/atoms/label/Label.tsx +1 -1
  63. package/core/components/atoms/legend/Legend.tsx +2 -2
  64. package/core/components/atoms/legend/__stories__/variants/labelAppearance.story.tsx +2 -2
  65. package/core/components/atoms/link/Link.tsx +4 -4
  66. package/core/components/atoms/message/Message.tsx +12 -12
  67. package/core/components/atoms/message/__stories__/index.story.tsx +1 -1
  68. package/core/components/atoms/message/__stories__/variants/Appearance.story.tsx +1 -1
  69. package/core/components/atoms/message/__stories__/variants/AppearanceTitle.story.tsx +1 -1
  70. package/core/components/atoms/message/__tests__/Message.test.tsx +1 -6
  71. package/core/components/atoms/message/__tests__/__snapshots__/Message.test.tsx.snap +0 -45
  72. package/core/components/atoms/metaList/__tests__/MetaList.test.tsx +2 -2
  73. package/core/components/atoms/metricInput/MetricInput.tsx +5 -5
  74. package/core/components/atoms/multiSlider/SliderUtils.tsx +1 -4
  75. package/core/components/atoms/multiSlider/index.tsx +3 -4
  76. package/core/components/atoms/outsideClick/OutsideClick.tsx +1 -2
  77. package/core/components/atoms/paragraph/Paragraph.tsx +2 -2
  78. package/core/components/atoms/paragraph/__stories__/variants/Appearance.story.tsx +2 -2
  79. package/core/components/atoms/paragraph/__tests__/Paragraph.test.tsx +2 -2
  80. package/core/components/atoms/pills/Pills.tsx +2 -12
  81. package/core/components/atoms/pills/__stories__/variants/Appearance.story.tsx +3 -2
  82. package/core/components/atoms/pills/__stories__/variants/Subtle.story.tsx +3 -2
  83. package/core/components/atoms/pills/__tests__/Pills.test.tsx +3 -2
  84. package/core/components/atoms/placeholderImage/PlaceholderImage.tsx +2 -2
  85. package/core/components/atoms/placeholderImage/__stories__/variants/Size.story.tsx +2 -2
  86. package/core/components/atoms/placeholderParagraph/PlaceholderParagraph.tsx +2 -2
  87. package/core/components/atoms/placeholderParagraph/__stories__/variants/Size.story.tsx +2 -2
  88. package/core/components/atoms/popperWrapper/PopperWrapper.tsx +2 -6
  89. package/core/components/atoms/progressRing/ProgressRing.tsx +2 -2
  90. package/core/components/atoms/progressRing/__stories__/variants/Size.story.tsx +1 -1
  91. package/core/components/atoms/radio/Radio.tsx +4 -5
  92. package/core/components/atoms/rangeSlider/RangeSlider.tsx +1 -2
  93. package/core/components/atoms/rangeSlider/__stories__/index.story.tsx +1 -2
  94. package/core/components/atoms/rangeSlider/__stories__/variants/Controlled.story.tsx +1 -2
  95. package/core/components/atoms/rangeSlider/__stories__/variants/CustomLabels.story.tsx +1 -2
  96. package/core/components/atoms/spinner/Spinner.tsx +4 -4
  97. package/core/components/atoms/spinner/__stories__/variants/Appearance.story.tsx +2 -2
  98. package/core/components/atoms/spinner/__stories__/variants/Size.story.tsx +1 -1
  99. package/core/components/atoms/statusHint/StatusHint.tsx +2 -3
  100. package/core/components/atoms/statusHint/__stories__/variants/Appearance.story.tsx +3 -2
  101. package/core/components/atoms/statusHint/__tests__/StatusHint.test.tsx +3 -2
  102. package/core/components/atoms/subheading/Subheading.tsx +2 -2
  103. package/core/components/atoms/subheading/__stories__/variants/Appearance.story.tsx +3 -2
  104. package/core/components/atoms/subheading/__tests__/Subheading.test.tsx +3 -2
  105. package/core/components/atoms/switchInput/Switch.tsx +7 -8
  106. package/core/components/atoms/text/Text.tsx +4 -4
  107. package/core/components/atoms/text/__stories__/variants/Appearance.story.tsx +2 -2
  108. package/core/components/atoms/text/__tests__/Text.test.tsx +2 -3
  109. package/core/components/atoms/toast/ActionButton.tsx +2 -2
  110. package/core/components/atoms/toast/Toast.tsx +11 -6
  111. package/core/components/atoms/toast/__stories__/index.story.tsx +2 -6
  112. package/core/components/atoms/toast/__stories__/variants/Appearance.story.tsx +3 -2
  113. package/core/components/atoms/toast/__stories__/variants/ToastMessage.story.tsx +3 -2
  114. package/core/components/atoms/toast/__stories__/variants/ToastWithAction.story.tsx +3 -2
  115. package/core/components/atoms/toast/__tests__/Toast.test.tsx +1 -1
  116. package/core/components/atoms/toast/__tests__/__snapshots__/Toast.test.tsx.snap +0 -131
  117. package/core/components/css-utilities/Schema.tsx +1 -1
  118. package/core/components/css-utilities/Spacing/Schema.tsx +1 -1
  119. package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +2 -2
  120. package/core/components/molecules/dropzone/Dropzone.tsx +3 -3
  121. package/core/components/molecules/dropzone/DropzoneBase.tsx +22 -38
  122. package/core/components/molecules/dropzone/__stories__/index.story.tsx +151 -41
  123. package/core/components/molecules/dropzone/__tests__/Dropzone.test.tsx +2 -2
  124. package/core/components/molecules/dropzone/utils.tsx +6 -4
  125. package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +4 -4
  126. package/core/components/molecules/emptyState/EmptyState.tsx +4 -4
  127. package/core/components/molecules/emptyState/__stories__/pageNotLoadedWithSVG.story.tsx +26 -26
  128. package/core/components/molecules/fileList/FileListItem.tsx +1 -2
  129. package/core/components/molecules/fileUploader/FileUploaderItem.tsx +1 -2
  130. package/core/components/molecules/fileUploader/FileUploaderStatus.tsx +1 -1
  131. package/core/components/molecules/fileUploader/__stories__/_common_/types.tsx +3 -0
  132. package/core/components/molecules/fileUploader/__stories__/index.story.tsx +3 -222
  133. package/core/components/molecules/fullscreenModal/FullscreenModal.tsx +5 -7
  134. package/core/components/molecules/inputMask/InputMask.tsx +212 -146
  135. package/core/components/molecules/inputMask/__stories__/index.story.tsx +24 -0
  136. package/core/components/molecules/modal/Modal.tsx +4 -6
  137. package/core/components/molecules/modal/__stories__/Confirmation.story.tsx +1 -1
  138. package/core/components/molecules/placeholder/Placeholder.tsx +2 -2
  139. package/core/components/molecules/popover/Popover.tsx +2 -9
  140. package/core/components/molecules/sidesheet/Sidesheet.tsx +5 -7
  141. package/core/components/molecules/sidesheet/__stories__/variants/CustomHeader.story.tsx +172 -0
  142. package/core/components/molecules/tooltip/Tooltip.tsx +4 -4
  143. package/core/components/organisms/calendar/__stories__/variants/firstDayOfWeek.story.tsx +2 -2
  144. package/core/components/organisms/calendar/utility.ts +3 -3
  145. package/core/components/organisms/choiceList/ChoiceList.tsx +11 -11
  146. package/core/components/organisms/datePicker/DatePicker.tsx +1 -1
  147. package/core/components/organisms/datePicker/Trigger.tsx +1 -5
  148. package/core/components/organisms/dateRangePicker/DateRangePicker.tsx +9 -10
  149. package/core/components/organisms/dateRangePicker/SingleInputTrigger.tsx +0 -1
  150. package/core/components/organisms/dateRangePicker/Trigger.tsx +2 -2
  151. package/core/components/organisms/dateRangePicker/__stories__/variants/monthsInView.story.tsx +2 -2
  152. package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +16 -16
  153. package/core/components/organisms/grid/Cell.tsx +19 -19
  154. package/core/components/organisms/grid/Grid.tsx +3 -4
  155. package/core/components/organisms/grid/GridBody.tsx +0 -1
  156. package/core/components/organisms/grid/GridContext.ts +1 -1
  157. package/core/components/organisms/grid/__stories__/_common_/editableSchema.tsx +1 -3
  158. package/core/components/organisms/grid/__stories__/_common_/fetchData.ts +1 -1
  159. package/core/components/organisms/grid/__stories__/_common_/loaderSchema.ts +0 -2
  160. package/core/components/organisms/grid/__stories__/_common_/schema.tsx +1 -3
  161. package/core/components/organisms/grid/__stories__/_common_/simpleLoaderSchema.ts +0 -2
  162. package/core/components/organisms/grid/__stories__/_common_/statusSchema.ts +0 -2
  163. package/core/components/organisms/inlineMessage/InlineMessage.tsx +2 -2
  164. package/core/components/organisms/inlineMessage/__tests__/InlineMessage.test.tsx +3 -2
  165. package/core/components/organisms/list/__stories__/_common_/types.tsx +3 -0
  166. package/core/components/organisms/list/__stories__/index.story.tsx +0 -16
  167. package/core/components/organisms/table/Table.tsx +2 -2
  168. package/core/components/organisms/table/__stories__/CompressedTable.story.tsx +1 -1
  169. package/core/components/organisms/table/__stories__/DataTable.story.tsx +1 -1
  170. package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +1 -1
  171. package/core/components/organisms/table/__stories__/PinnedColumn.story.tsx +1 -1
  172. package/core/components/organisms/table/__stories__/ResourceTable.story.tsx +1 -1
  173. package/core/components/organisms/table/__stories__/StandardTable.story.tsx +1 -1
  174. package/core/components/organisms/table/__stories__/TableAsDescriptionList.story.tsx +1 -1
  175. package/core/components/organisms/table/__stories__/TableAsOptionList.story.tsx +1 -1
  176. package/core/components/organisms/table/__stories__/TightStory.story.tsx +1 -1
  177. package/core/components/organisms/table/__stories__/_common_/types.tsx +3 -0
  178. package/core/components/organisms/table/__stories__/variants/showHead.story.tsx +2 -2
  179. package/core/components/organisms/table/__stories__/variants/showMenu.story.tsx +2 -2
  180. package/core/components/organisms/table/__stories__/variants/size.story.tsx +2 -2
  181. package/core/components/organisms/table/__stories__/variants/type.story.tsx +2 -2
  182. package/core/components/organisms/table/__stories__/variants/withCheckbox.story.tsx +2 -2
  183. package/core/components/organisms/table/__stories__/variants/withPagination.story.tsx +2 -2
  184. package/core/components/organisms/timePicker/TimePicker.tsx +3 -7
  185. package/core/components/organisms/verticalNav/__stories__/schema.tsx +0 -2
  186. package/core/components/organisms/verticalNav/__tests__/VerticalNav.test.tsx +1 -2
  187. package/core/global.d.ts +9 -0
  188. package/core/index.tsx +1 -1
  189. package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +18 -5
  190. package/core/utils/docPage/generateImports.tsx +2 -3
  191. package/core/utils/docPage/index.tsx +30 -20
  192. package/core/utils/docPage/sandbox.tsx +14 -7
  193. package/core/utils/overlayHelper.ts +7 -3
  194. package/core/utils/testHelper.ts +1 -1
  195. package/core/utils/types.tsx +1 -1
  196. package/css/dist/index.css +48 -30
  197. package/css/dist/index.css.map +1 -1
  198. package/css/src/components/button.css +5 -5
  199. package/css/src/components/calendar.css +1 -1
  200. package/css/src/components/chip.css +6 -4
  201. package/css/src/components/fullscreenModal.css +4 -3
  202. package/css/src/components/message.css +0 -5
  203. package/css/src/components/switch.css +23 -2
  204. package/css/src/components/toast.css +0 -5
  205. package/css/src/variables/index.css +5 -2
  206. package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +4 -1
  207. package/dist/core/common.type.d.ts +12 -0
  208. package/dist/core/components/atoms/avatar/Avatar.d.ts +4 -4
  209. package/dist/core/components/atoms/avatarGroup/AvatarGroup.d.ts +2 -3
  210. package/dist/core/components/atoms/badge/Badge.d.ts +2 -2
  211. package/dist/core/components/atoms/button/Button.d.ts +6 -6
  212. package/dist/core/components/atoms/checkbox/Checkbox.d.ts +3 -3
  213. package/dist/core/components/atoms/chip/Chip.d.ts +2 -2
  214. package/dist/core/components/atoms/dropdown/Dropdown.d.ts +18 -17
  215. package/dist/core/components/atoms/dropdown/DropdownButton.d.ts +2 -2
  216. package/dist/core/components/atoms/dropdown/DropdownList.d.ts +4 -3
  217. package/dist/core/components/atoms/dropdown/option/index.d.ts +1 -1
  218. package/dist/core/components/atoms/heading/Heading.d.ts +4 -4
  219. package/dist/core/components/atoms/icon/Icon.d.ts +2 -2
  220. package/dist/core/components/atoms/input/Input.d.ts +3 -3
  221. package/dist/core/components/atoms/legend/Legend.d.ts +2 -2
  222. package/dist/core/components/atoms/link/Link.d.ts +4 -4
  223. package/dist/core/components/atoms/message/Message.d.ts +2 -2
  224. package/dist/core/components/atoms/metricInput/MetricInput.d.ts +3 -3
  225. package/dist/core/components/atoms/multiSlider/SliderUtils.d.ts +1 -1
  226. package/dist/core/components/atoms/multiSlider/index.d.ts +3 -3
  227. package/dist/core/components/atoms/paragraph/Paragraph.d.ts +2 -2
  228. package/dist/core/components/atoms/pills/Pills.d.ts +2 -2
  229. package/dist/core/components/atoms/placeholderImage/PlaceholderImage.d.ts +2 -2
  230. package/dist/core/components/atoms/placeholderParagraph/PlaceholderParagraph.d.ts +2 -2
  231. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +1 -2
  232. package/dist/core/components/atoms/progressRing/ProgressRing.d.ts +2 -2
  233. package/dist/core/components/atoms/radio/Radio.d.ts +4 -4
  234. package/dist/core/components/atoms/rangeSlider/RangeSlider.d.ts +1 -1
  235. package/dist/core/components/atoms/spinner/Spinner.d.ts +4 -4
  236. package/dist/core/components/atoms/statusHint/StatusHint.d.ts +2 -2
  237. package/dist/core/components/atoms/subheading/Subheading.d.ts +2 -2
  238. package/dist/core/components/atoms/switchInput/Switch.d.ts +6 -6
  239. package/dist/core/components/atoms/text/Text.d.ts +4 -4
  240. package/dist/core/components/atoms/toast/ActionButton.d.ts +2 -2
  241. package/dist/core/components/atoms/toast/Toast.d.ts +2 -2
  242. package/dist/core/components/molecules/dropzone/Dropzone.d.ts +3 -3
  243. package/dist/core/components/molecules/dropzone/DropzoneBase.d.ts +1 -1
  244. package/dist/core/components/molecules/dropzone/utils.d.ts +5 -3
  245. package/dist/core/components/molecules/emptyState/EmptyState.d.ts +4 -4
  246. package/dist/core/components/molecules/fileList/FileListItem.d.ts +1 -1
  247. package/dist/core/components/molecules/fileUploader/FileUploaderItem.d.ts +1 -1
  248. package/dist/core/components/molecules/fileUploader/FileUploaderStatus.d.ts +1 -1
  249. package/dist/core/components/molecules/fullscreenModal/FullscreenModal.d.ts +4 -7
  250. package/dist/core/components/molecules/inputMask/InputMask.d.ts +10 -2
  251. package/dist/core/components/molecules/modal/Modal.d.ts +3 -6
  252. package/dist/core/components/molecules/placeholder/Placeholder.d.ts +2 -2
  253. package/dist/core/components/molecules/popover/Popover.d.ts +0 -1
  254. package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +3 -6
  255. package/dist/core/components/molecules/tooltip/Tooltip.d.ts +3 -3
  256. package/dist/core/components/organisms/choiceList/ChoiceList.d.ts +5 -6
  257. package/dist/core/components/organisms/dateRangePicker/DateRangePicker.d.ts +24 -0
  258. package/dist/core/components/organisms/grid/Cell.d.ts +1 -1
  259. package/dist/core/components/organisms/grid/Grid.d.ts +3 -3
  260. package/dist/core/components/organisms/grid/GridContext.d.ts +1 -1
  261. package/dist/core/components/organisms/inlineMessage/InlineMessage.d.ts +2 -2
  262. package/dist/core/components/organisms/table/Table.d.ts +2 -2
  263. package/dist/core/components/patterns/dateRangePicker/withCustomPopover.story.d.ts +5 -1
  264. package/dist/core/utils/docPage/generateImports.d.ts +1 -1
  265. package/dist/core/utils/overlayHelper.d.ts +1 -1
  266. package/dist/core/utils/types.d.ts +1 -1
  267. package/dist/index.esm.js +221 -245
  268. package/dist/index.js +225 -233
  269. package/dist/index.js.map +1 -1
  270. package/dist/index.umd.js +1 -1
  271. package/dist/index.umd.js.br +0 -0
  272. package/dist/index.umd.js.gz +0 -0
  273. package/dts.config.js +11 -2
  274. package/package.json +20 -18
  275. package/tsconfig.json +3 -16
  276. package/tsconfig.type.json +2 -1
  277. package/types/index.d.ts +2217 -0
  278. package/types/{innovaccer-design-system/tsconfig.json → tsconfig.json} +1 -1
  279. package/types/{innovaccer-design-system/tslint.json → tslint.json} +0 -0
  280. package/types/types-tests.tsx +936 -0
  281. package/core/components/atoms/button/__stories__/variants/state/Success.story.tsx +0 -89
  282. package/core/components/atoms/message/__stories__/default.story.tsx +0 -16
  283. package/core/components/atoms/toast/__stories__/DefaultToast.story.tsx +0 -16
  284. package/core/components/molecules/dropzone/__stories__/variants/DropzoneWithFileList.story.tsx +0 -176
  285. package/core/components/molecules/fileUploader/__stories__/variants/FileUploaderList.story.tsx +0 -80
  286. package/types/innovaccer-design-system/index.d.ts +0 -39
  287. package/types/innovaccer-design-system/innovaccer-design-system-tests.ts +0 -0
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Icon, Text } from '@/index';
4
4
 
5
- export type Size = 'tiny' | 'regular';
5
+ export type DropDownButtonSize = 'tiny' | 'regular';
6
6
 
7
7
  export interface TriggerProps {
8
8
  /**
9
9
  * Size of `Dropdown` trigger button
10
10
  * @default "regular"
11
11
  */
12
- triggerSize?: Size;
12
+ triggerSize?: DropDownButtonSize;
13
13
  /**
14
14
  * Material icon name
15
15
  */
@@ -7,8 +7,8 @@ import Option, { OptionRendererProps, OptionSchema } from './option';
7
7
  import classNames from 'classnames';
8
8
  import Loading from './Loading';
9
9
  import { BaseProps, extractBaseProps } from '@/utils/types';
10
+ import { ChangeEvent } from '@/common.type';
10
11
 
11
- export type ChangeEvent = React.ChangeEvent<HTMLInputElement>;
12
12
  export type DropdownAlign = 'left' | 'right';
13
13
  export type OptionType = 'DEFAULT' | 'WITH_ICON' | 'WITH_META' | 'ICON_WITH_META';
14
14
 
@@ -33,9 +33,9 @@ interface PopoverOptions {
33
33
  boundaryElement?: PopoverProps['boundaryElement'];
34
34
  }
35
35
 
36
- type ListProps = TriggerProps & OptionRendererProps;
36
+ type TriggerAndOptionProps = TriggerProps & OptionRendererProps;
37
37
 
38
- export interface DropdownListProps extends ListProps {
38
+ export interface DropdownListProps extends TriggerAndOptionProps {
39
39
  /**
40
40
  * Aligns the `Dropdown` left/right
41
41
  * @default "right"
@@ -141,6 +141,10 @@ export interface DropdownListProps extends ListProps {
141
141
  * </pre>
142
142
  */
143
143
  popoverOptions?: PopoverOptions;
144
+ /**
145
+ * Adds custom placeholder to searchBar
146
+ */
147
+ searchPlaceholder?: string;
144
148
  }
145
149
 
146
150
  interface OptionsProps extends DropdownListProps, BaseProps {
@@ -207,6 +211,7 @@ const DropdownList = (props: OptionsProps) => {
207
211
  cancelOptions,
208
212
  toggleDropdown,
209
213
  className,
214
+ searchPlaceholder = 'Search..',
210
215
  } = props;
211
216
 
212
217
  const baseProps = extractBaseProps(props);
@@ -410,7 +415,7 @@ const DropdownList = (props: OptionsProps) => {
410
415
  name="Dropdown-search"
411
416
  icon={'search'}
412
417
  value={searchTerm}
413
- placeholder={'Search..'}
418
+ placeholder={searchPlaceholder}
414
419
  // TODO(a11y): research more on this.
415
420
  // eslint-disable-next-line jsx-a11y/no-autofocus
416
421
  autoFocus={true}
@@ -442,7 +447,7 @@ const DropdownList = (props: OptionsProps) => {
442
447
  const label = selectAllLabel.trim() ? selectAllLabel.trim() : 'Select All';
443
448
 
444
449
  return (
445
- <div className={SelectAllClass} onMouseEnter={(_e) => updateActiveOption(0, true)}>
450
+ <div className={SelectAllClass} onMouseEnter={() => updateActiveOption(0, true)}>
446
451
  <Checkbox
447
452
  label={label}
448
453
  onChange={onSelectAll}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import PlaceholderParagraph from '@/components/atoms/placeholderParagraph';
3
3
  import Placeholder from '@/components/molecules/placeholder';
4
4
 
@@ -0,0 +1,45 @@
1
+ import * as React from 'react';
2
+ import Dropdown from '../Dropdown';
3
+ import Label from '@/components/atoms/label';
4
+
5
+ const options = [
6
+ {
7
+ label: 'Male',
8
+ value: 'Male',
9
+ },
10
+ {
11
+ label: 'Female',
12
+ value: 'Female',
13
+ },
14
+ {
15
+ label: 'Transgender',
16
+ value: 'Transgender',
17
+ },
18
+ {
19
+ label: 'Others',
20
+ value: 'Others',
21
+ },
22
+ ];
23
+
24
+ // CSF format story
25
+ export const customSearchPlaceholder = () => (
26
+ <div className="mb-10 w-25">
27
+ <Label withInput={true}>Gender</Label>
28
+ <Dropdown options={options} searchPlaceholder="Search Gender" withSearch={true} />
29
+ </div>
30
+ );
31
+
32
+ export default {
33
+ title: 'Components/Dropdown/Custom Search Placeholder',
34
+ component: Dropdown,
35
+ parameters: {
36
+ docs: {
37
+ docPage: {
38
+ title: 'Dropdown',
39
+ props: {
40
+ exclude: ['showHead'],
41
+ },
42
+ },
43
+ },
44
+ },
45
+ };
@@ -1,4 +1,7 @@
1
1
  import { UncontrolledDropdownProps, ControlledDropdownProps } from '@/components/atoms/dropdown';
2
2
 
3
+ // TODO(eslint): Fix this
4
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
5
  export const Controlled = (_props: ControlledDropdownProps) => {};
6
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
7
  export const Uncontrolled = (_props: UncontrolledDropdownProps) => {};
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import Dropdown from '../../Dropdown';
3
- import { Size } from '../../DropdownButton';
3
+ import { DropDownButtonSize } from '../../DropdownButton';
4
4
  import Text from '@/components/atoms/text';
5
5
  import { storyOptions } from '../Options';
6
6
  import { Uncontrolled, Controlled } from '../_common_/types';
7
7
 
8
8
  // CSF format story
9
9
  export const size = () => {
10
- const sizes: Size[] = ['tiny', 'regular'];
10
+ const sizes: DropDownButtonSize[] = ['tiny', 'regular'];
11
11
 
12
12
  return (
13
13
  <div className="d-flex">
@@ -90,7 +90,7 @@ export const multiSelect = () => {
90
90
  }
91
91
  };
92
92
 
93
- const onClose = (options: any[], _name: any) => {
93
+ const onClose = (options: any[]) => {
94
94
  return action(`dropdown closed with selected values: ${options}`)();
95
95
  };
96
96
 
@@ -352,7 +352,7 @@ describe('Dropdown component', () => {
352
352
 
353
353
  describe('renders dropdown component onKeyDown Handler', () => {
354
354
  const dropdownListId = 'DesignSystem-DropdownList-Wrapper';
355
- keyDownEvents.forEach((action, key) => {
355
+ keyDownEvents.forEach((action) => {
356
356
  it(`checks for keyDown ${action} event with dropdownOpen set as true `, () => {
357
357
  const { getByTestId } = render(
358
358
  <Dropdown
@@ -458,3 +458,14 @@ describe('Dropdown component action buttons', () => {
458
458
  expect(screen.queryByText('DesignSystem-Popover')).not.toBeInTheDocument();
459
459
  });
460
460
  });
461
+
462
+ describe('Dropdown component with search', () => {
463
+ it('check:prop searchPlaceholder', () => {
464
+ const { getByTestId } = render(
465
+ <Dropdown options={dropdownOptions} withSearch={true} searchPlaceholder="Custom search text" />
466
+ );
467
+ const dropdownTrigger = getByTestId(trigger);
468
+ fireEvent.click(dropdownTrigger);
469
+ expect(screen.getByPlaceholderText('Custom search text')).toBeInTheDocument();
470
+ });
471
+ });
@@ -4,7 +4,6 @@ import { Dropdown } from '@/index';
4
4
 
5
5
  import { storyOptions, iconOptions, subInfoOptions, iconWithSubinfoOptions } from '../__stories__/Options';
6
6
 
7
- const FunctionValue = jest.fn();
8
7
  const trigger = 'DesignSystem-DropdownTrigger';
9
8
 
10
9
  describe('renders loading states', () => {
@@ -8,8 +8,8 @@ import IconWithMetaOption from './IconWithMetaOption';
8
8
  import { MetaList, Text } from '@/index';
9
9
  import { MetaListProps, IconProps, TextProps } from '@/index.type';
10
10
  import { OptionType } from '../DropdownList';
11
+ import { ChangeEvent } from '@/common.type';
11
12
 
12
- export type ChangeEvent = React.ChangeEvent<HTMLInputElement>;
13
13
  export type ClickEvent = React.MouseEvent<HTMLDivElement>;
14
14
 
15
15
  export interface OptionRendererProps {
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import GenericText from '../_text';
3
3
  import classNames from 'classnames';
4
4
  import { BaseHtmlProps, BaseProps } from '@/utils/types';
5
+ import { HeadingAppearance } from '@/common.type';
5
6
 
6
- export type Size = 's' | 'm' | 'l' | 'xl' | 'xxl';
7
- export type Appearance = 'default' | 'subtle' | 'disabled' | 'white';
7
+ export type HeadingSize = 's' | 'm' | 'l' | 'xl' | 'xxl';
8
8
 
9
9
  export interface HeadingProps extends BaseProps, BaseHtmlProps<HTMLHeadingElement> {
10
10
  /**
@@ -14,11 +14,11 @@ export interface HeadingProps extends BaseProps, BaseHtmlProps<HTMLHeadingElemen
14
14
  /**
15
15
  * Color of `Heading`
16
16
  */
17
- appearance: Appearance;
17
+ appearance: HeadingAppearance;
18
18
  /**
19
19
  * size of `Heading`
20
20
  */
21
- size: Size;
21
+ size: HeadingSize;
22
22
  }
23
23
 
24
24
  const sizeMap = {
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
- import Heading, { Appearance } from '../../index';
2
+ import Heading from '../../index';
3
3
  import Text from '@/components/atoms/text';
4
+ import { HeadingAppearance } from '@/common.type';
4
5
 
5
6
  // CSF format story
6
7
  export const appearance = () => {
7
- const appearances: Appearance[] = ['default', 'subtle', 'disabled', 'white'];
8
+ const appearances: HeadingAppearance[] = ['default', 'subtle', 'disabled', 'white'];
8
9
  return (
9
10
  <div className="Row">
10
11
  {appearances.map((appear, ind) => {
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import Heading, { HeadingProps as Props, Appearance, Size } from '../Heading';
3
+ import Heading, { HeadingProps as Props, HeadingSize } from '../Heading';
4
4
  import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
5
+ import { HeadingAppearance } from '@/common.type';
5
6
 
6
- const appearance: Appearance[] = ['default', 'subtle', 'disabled', 'white'];
7
- const sizes: Size[] = ['s', 'm', 'l', 'xl', 'xxl'];
7
+ const appearance: HeadingAppearance[] = ['default', 'subtle', 'disabled', 'white'];
8
+ const sizes: HeadingSize[] = ['s', 'm', 'l', 'xl', 'xxl'];
8
9
 
9
10
  describe('Heading component', () => {
10
11
  const mapper = {
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
  import { BaseProps, extractBaseProps } from '@/utils/types';
4
4
  import { useAccessibilityProps } from '@/accessibility/utils';
5
5
 
6
- export type Appearance =
6
+ export type IconAppearance =
7
7
  | 'default'
8
8
  | 'destructive'
9
9
  | 'white'
@@ -55,7 +55,7 @@ export interface IconProps extends BaseProps {
55
55
  /**
56
56
  * Color of `Icon` // 'info' appearance will be deprecated soon.
57
57
  */
58
- appearance?: Appearance;
58
+ appearance?: IconAppearance;
59
59
  /**
60
60
  * Handler to be called when icon is clicked
61
61
  */
@@ -118,7 +118,7 @@ export const Icon = (props: IconProps) => {
118
118
  );
119
119
  }
120
120
  return (
121
- <i {...baseProps} role="alert" className={iconClass} style={styles} {...accessibilityProps}>
121
+ <i {...baseProps} className={iconClass} style={styles} {...accessibilityProps}>
122
122
  {type ? `${name}_${type}` : name}
123
123
  </i>
124
124
  );
@@ -3,10 +3,10 @@ import classNames from 'classnames';
3
3
  import { Tooltip, Icon, Text } from '@/index';
4
4
  import { IconProps } from '@/index.type';
5
5
  import { BaseHtmlProps, BaseProps, extractBaseProps } from '@/utils/types';
6
+ import { AutoComplete } from '@/common.type';
6
7
 
7
8
  export type InputType = 'text' | 'password' | 'number' | 'email' | 'tel' | 'url';
8
- export type AutoComplete = 'on' | 'off';
9
- export type Size = 'tiny' | 'regular' | 'large';
9
+ export type InputSize = 'tiny' | 'regular' | 'large';
10
10
 
11
11
  export interface InputProps extends BaseProps, BaseHtmlProps<HTMLInputElement> {
12
12
  /**
@@ -35,7 +35,7 @@ export interface InputProps extends BaseProps, BaseHtmlProps<HTMLInputElement> {
35
35
  * Size of the `Input`
36
36
  * @default "regular"
37
37
  */
38
- size?: Size;
38
+ size?: InputSize;
39
39
  /**
40
40
  * Material icon name
41
41
  */
@@ -50,6 +50,67 @@ export const inputWithCaption = () => {
50
50
  );
51
51
  };
52
52
 
53
+ const customCode = `() => {
54
+ const [visibility, setVisibility] = React.useState(false);
55
+ const [visibility2, setVisibility2] = React.useState(false);
56
+ const [inputValue, setInputValue] = React.useState('Value');
57
+ const [secondInputValue, setSecondInputValue] = React.useState('Value');
58
+ return (
59
+ <div className="d-flex">
60
+ <div>
61
+ <Label htmlFor="password-1" withInput={true}>
62
+ Password
63
+ </Label>
64
+ <Input
65
+ id="password-1"
66
+ placeholder="Password"
67
+ value={inputValue}
68
+ type={visibility ? 'text' : 'password'}
69
+ onChange={(ev) => {
70
+ ev.persist();
71
+ setInputValue(ev.target.value);
72
+ }}
73
+ actionIcon={
74
+ <Icon
75
+ aria-label={visibility ? 'Show Password' : 'Hide Password'}
76
+ onClick={() => setVisibility((x) => !x)}
77
+ name={visibility ? 'visibility_on' : 'visibility_off'}
78
+ className="cursor-pointer"
79
+ />
80
+ }
81
+ />
82
+ <Caption withInput={true}>Create a string, unique password</Caption>
83
+ </div>
84
+ <div className="ml-6">
85
+ <Label htmlFor="password-2" withInput={true}>
86
+ Password
87
+ </Label>
88
+ <Input
89
+ id="password-2"
90
+ placeholder="Password"
91
+ value={secondInputValue}
92
+ type={visibility2 ? 'text' : 'password'}
93
+ onChange={(ev) => {
94
+ ev.persist();
95
+ setSecondInputValue(ev.target.value);
96
+ }}
97
+ actionIcon={
98
+ <Icon
99
+ aria-label={visibility ? 'Show Password' : 'Hide Password'}
100
+ onClick={() => setVisibility2((x) => !x)}
101
+ name={visibility2 ? 'visibility_on' : 'visibility_off'}
102
+ className="cursor-pointer"
103
+ />
104
+ }
105
+ />
106
+ <Caption withInput={true} error={true}>
107
+ Create a password with at least 8 characters
108
+ </Caption>
109
+ </div>
110
+ </div>
111
+ );
112
+ };`;
113
+
53
114
  export default {
54
115
  title: 'Components/Input/Input With Caption',
55
116
  component: Input,
@@ -57,6 +118,7 @@ export default {
57
118
  docs: {
58
119
  docPage: {
59
120
  title: 'Input',
121
+ customCode,
60
122
  props: {
61
123
  exclude: ['autocomplete'],
62
124
  },
@@ -20,6 +20,43 @@ export const labelPosition = () => {
20
20
  );
21
21
  };
22
22
 
23
+ const customCode = `() => {
24
+ const [inputValue, setInputValue] = React.useState('Joy Lawson');
25
+ const [secondInputValue, setSecondInputValue] = React.useState('Joy Lawson');
26
+ return (
27
+ <div className="d-flex align-items-end">
28
+ <div>
29
+ <Label htmlFor="fullName" withInput={true}>
30
+ Full Name
31
+ </Label>
32
+ <Input
33
+ placeholder="Full name"
34
+ id="fullName"
35
+ value={inputValue}
36
+ onChange={(ev) => {
37
+ ev.persist();
38
+ setInputValue(ev.target.value);
39
+ }}
40
+ />
41
+ </div>
42
+ <div className="d-flex align-items-center ml-9">
43
+ <Label htmlFor="fullName2" className="mr-6">
44
+ Full Name
45
+ </Label>
46
+ <Input
47
+ placeholder="Full name"
48
+ id="fullName2"
49
+ value={secondInputValue}
50
+ onChange={(ev) => {
51
+ ev.persist();
52
+ setSecondInputValue(ev.target.value);
53
+ }}
54
+ />
55
+ </div>
56
+ </div>
57
+ );
58
+ };`;
59
+
23
60
  export default {
24
61
  title: 'Components/Input/Label Position',
25
62
  component: Input,
@@ -27,6 +64,7 @@ export default {
27
64
  docs: {
28
65
  docPage: {
29
66
  title: 'Input',
67
+ customCode,
30
68
  props: {
31
69
  exclude: ['autocomplete'],
32
70
  },
@@ -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')}
@@ -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
  */
@@ -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
  */