@edvisor/product-language 0.10.2 → 0.10.3

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 (411) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +11271 -0
  3. package/lib/components/alert-banner/alert-banner.d.ts +15 -0
  4. package/lib/components/alert-banner/alert-level-flags.d.ts +18 -0
  5. package/lib/components/alert-banner/index.d.ts +1 -0
  6. package/lib/components/badge/badge-type-flags.d.ts +18 -0
  7. package/lib/components/badge/badge.d.ts +5 -0
  8. package/lib/components/badge/index.d.ts +1 -0
  9. package/{src/lib/components/card/atoms/card-frame.tsx → lib/components/card/atoms/card-frame.d.ts} +7 -16
  10. package/lib/components/card/atoms/index.d.ts +1 -0
  11. package/lib/components/card/card.d.ts +14 -0
  12. package/lib/components/card/components/card-alert-banner-slot.d.ts +6 -0
  13. package/lib/components/card/components/card-controls-slot.d.ts +5 -0
  14. package/lib/components/card/components/card-section-slot.d.ts +11 -0
  15. package/lib/components/card/components/index.d.ts +3 -0
  16. package/lib/components/card/index.d.ts +3 -0
  17. package/lib/components/card/molecules/index.d.ts +1 -0
  18. package/lib/components/card/molecules/left-right-card.d.ts +16 -0
  19. package/lib/components/checkbox/checkbox.d.ts +11 -0
  20. package/lib/components/checkbox/helpers.d.ts +12 -0
  21. package/lib/components/checkbox/index.d.ts +1 -0
  22. package/lib/components/date-picker/components/custom-calendar.d.ts +6 -0
  23. package/lib/components/date-picker/components/index.d.ts +1 -0
  24. package/lib/components/date-picker/date-picker.d.ts +4 -0
  25. package/lib/components/date-picker/helpers/date-picker-factory.d.ts +34 -0
  26. package/lib/components/date-picker/index.d.ts +1 -0
  27. package/lib/components/divider/divider-type-flags.d.ts +9 -0
  28. package/lib/components/divider/divider.d.ts +7 -0
  29. package/lib/components/divider/index.d.ts +1 -0
  30. package/lib/components/flag/flag-size-flags.d.ts +12 -0
  31. package/lib/components/flag/flag.d.ts +9 -0
  32. package/lib/components/flag/flag.list.d.ts +782 -0
  33. package/lib/components/flag/index.d.ts +1 -0
  34. package/lib/components/icon/icon-list.d.ts +132 -0
  35. package/lib/components/icon/icon.d.ts +131 -0
  36. package/lib/components/icon/index.d.ts +1 -0
  37. package/lib/components/index.d.ts +24 -0
  38. package/lib/components/input-field/components/index.d.ts +2 -0
  39. package/lib/components/input-field/components/labeled-input.d.ts +10 -0
  40. package/lib/components/input-field/components/stepper.d.ts +7 -0
  41. package/lib/components/input-field/index.d.ts +3 -0
  42. package/lib/components/input-field/input-field.d.ts +26 -0
  43. package/lib/components/input-field/input-number.d.ts +18 -0
  44. package/lib/components/input-field/input-text.d.ts +14 -0
  45. package/lib/components/layout/flex.d.ts +16 -0
  46. package/lib/components/layout/grid-layout.d.ts +11 -0
  47. package/lib/components/layout/index.d.ts +3 -0
  48. package/lib/components/layout/left-right-layout.d.ts +34 -0
  49. package/lib/components/link/index.d.ts +1 -0
  50. package/lib/components/link/link.d.ts +14 -0
  51. package/lib/components/modal/index.d.ts +3 -0
  52. package/lib/components/modal/modal-base.d.ts +28 -0
  53. package/lib/components/modal/modal-destructive.d.ts +11 -0
  54. package/lib/components/modal/modal.d.ts +13 -0
  55. package/lib/components/molecules/avatar/avatar-size-flags.d.ts +12 -0
  56. package/lib/components/molecules/avatar/avatar.d.ts +12 -0
  57. package/lib/components/molecules/avatar/index.d.ts +1 -0
  58. package/lib/components/molecules/button/button-flags.d.ts +44 -0
  59. package/lib/components/molecules/button/button.d.ts +12 -0
  60. package/lib/components/molecules/button/index.d.ts +1 -0
  61. package/lib/components/molecules/index.d.ts +3 -0
  62. package/lib/components/molecules/input-checkbox/index.d.ts +1 -0
  63. package/lib/components/molecules/input-checkbox/input-checkbox.d.ts +8 -0
  64. package/lib/components/organisms/choice-list/choice-list.d.ts +9 -0
  65. package/lib/components/organisms/choice-list/index.d.ts +1 -0
  66. package/lib/components/organisms/index.d.ts +2 -0
  67. package/lib/components/organisms/multi-choice-list/index.d.ts +1 -0
  68. package/lib/components/organisms/multi-choice-list/multi-choice-list.d.ts +11 -0
  69. package/lib/components/progress-bar/index.d.ts +1 -0
  70. package/lib/components/progress-bar/progress-bar-size-flags.d.ts +10 -0
  71. package/lib/components/progress-bar/progress-bar.d.ts +8 -0
  72. package/lib/components/radio-button/index.d.ts +1 -0
  73. package/lib/components/radio-button/radio-button.d.ts +10 -0
  74. package/lib/components/range-slider/components/bar-chart.d.ts +8 -0
  75. package/lib/components/range-slider/components/handle.d.ts +12 -0
  76. package/lib/components/range-slider/components/rail.d.ts +9 -0
  77. package/lib/components/range-slider/components/slider-component.d.ts +12 -0
  78. package/lib/components/range-slider/components/slider-inputs.d.ts +14 -0
  79. package/lib/components/range-slider/components/tick.d.ts +10 -0
  80. package/lib/components/range-slider/components/track.d.ts +11 -0
  81. package/lib/components/range-slider/index.d.ts +2 -0
  82. package/lib/components/range-slider/range-slider.d.ts +15 -0
  83. package/lib/components/range-slider/slider.d.ts +11 -0
  84. package/lib/components/range-slider/types.d.ts +11 -0
  85. package/lib/components/select/components/helpers.d.ts +17 -0
  86. package/lib/components/select/components/menu-container.d.ts +3 -0
  87. package/lib/components/select/components/menu-list.d.ts +3 -0
  88. package/lib/components/select/components/menu-row.d.ts +9 -0
  89. package/lib/components/select/components/menu.d.ts +3 -0
  90. package/lib/components/select/components/option.d.ts +3 -0
  91. package/lib/components/select/components/select-label.d.ts +1 -0
  92. package/lib/components/select/components/value-component-multi.d.ts +4 -0
  93. package/lib/components/select/components/value-component-single.d.ts +4 -0
  94. package/lib/components/select/components/value.d.ts +4 -0
  95. package/lib/components/select/index.d.ts +3 -0
  96. package/lib/components/select/select.d.ts +10 -0
  97. package/lib/components/select/types.d.ts +133 -0
  98. package/lib/components/select/utils.d.ts +15 -0
  99. package/{src/lib/components/radio-button/index.tsx → lib/components/spinner/index.d.ts} +1 -1
  100. package/lib/components/spinner/spinner-size-flags.d.ts +10 -0
  101. package/lib/components/spinner/spinner.d.ts +9 -0
  102. package/lib/components/tabs/components/index.d.ts +1 -0
  103. package/lib/components/tabs/components/tab.d.ts +8 -0
  104. package/lib/components/tabs/index.d.ts +1 -0
  105. package/lib/components/tabs/tabs.d.ts +16 -0
  106. package/lib/components/tag/components/close-button.d.ts +8 -0
  107. package/lib/components/tag/components/index.d.ts +2 -0
  108. package/lib/components/tag/components/tag-label.d.ts +8 -0
  109. package/lib/components/tag/index.d.ts +1 -0
  110. package/lib/components/tag/tag.d.ts +10 -0
  111. package/lib/components/thumbnail/index.d.ts +1 -0
  112. package/lib/components/thumbnail/thumbnail-size-flags.d.ts +10 -0
  113. package/lib/components/thumbnail/thumbnail.d.ts +10 -0
  114. package/lib/components/tooltip/index.d.ts +1 -0
  115. package/lib/components/tooltip/tooltip.d.ts +26 -0
  116. package/lib/components/tree-view/components/tree-node.d.ts +3 -0
  117. package/lib/components/tree-view/helper.d.ts +12 -0
  118. package/lib/components/tree-view/index.d.ts +2 -0
  119. package/lib/components/tree-view/tree-view.d.ts +3 -0
  120. package/lib/components/tree-view/types.d.ts +63 -0
  121. package/lib/components/typography/index.d.ts +1 -0
  122. package/lib/components/typography/typography.d.ts +24 -0
  123. package/lib/foundations/color-system/base-palette/base-palette.d.ts +76 -0
  124. package/lib/foundations/color-system/base-palette/index.d.ts +1 -0
  125. package/lib/foundations/color-system/color-guidelines/color-guidelines.d.ts +133 -0
  126. package/lib/foundations/color-system/color-guidelines/index.d.ts +1 -0
  127. package/lib/foundations/color-system/components/color-sample.d.ts +17 -0
  128. package/lib/foundations/color-system/components/index.d.ts +1 -0
  129. package/lib/foundations/color-system/index.d.ts +1 -0
  130. package/lib/foundations/index.d.ts +4 -0
  131. package/lib/foundations/shadows/components.d.ts +8 -0
  132. package/lib/foundations/shadows/index.d.ts +1 -0
  133. package/lib/foundations/shadows/shadows.d.ts +8 -0
  134. package/lib/foundations/spacing/index.d.ts +1 -0
  135. package/lib/foundations/spacing/spacing-guidelines.d.ts +33 -0
  136. package/lib/foundations/spacing/spacing.d.ts +18 -0
  137. package/lib/foundations/typography/constants.d.ts +22 -0
  138. package/lib/foundations/typography/fonts.d.ts +1 -0
  139. package/lib/foundations/typography/index.d.ts +1 -0
  140. package/lib/foundations/typography/text-aspect-flags.d.ts +19 -0
  141. package/lib/foundations/typography/typography.d.ts +24 -0
  142. package/lib/helpers/generic-types.d.ts +21 -0
  143. package/lib/helpers/index.d.ts +8 -0
  144. package/lib/helpers/isReactElementOfType.d.ts +8 -0
  145. package/lib/helpers/nothing.d.ts +10 -0
  146. package/{src/lib/helpers/numbers.ts → lib/helpers/numbers.d.ts} +50 -67
  147. package/lib/helpers/safe-navigation.d.ts +17 -0
  148. package/lib/helpers/slots.d.ts +17 -0
  149. package/lib/helpers/strings.d.ts +1 -0
  150. package/lib/helpers/useInputElementState.d.ts +30 -0
  151. package/lib/helpers/useKeyDown.d.ts +1 -0
  152. package/package.json +27 -2
  153. package/.babelrc +0 -12
  154. package/.eslintrc.json +0 -147
  155. package/.release-it.json +0 -17
  156. package/.storybook/main.js +0 -57
  157. package/.storybook/manager.js +0 -7
  158. package/.storybook/preview.js +0 -15
  159. package/.storybook/tsconfig.json +0 -30
  160. package/jest.config.ts +0 -15
  161. package/jest.setup.ts +0 -2
  162. package/project.json +0 -98
  163. package/src/README.md +0 -61
  164. package/src/assets/svg/example_icon.svg +0 -3
  165. package/src/assets/svg/example_icon_white.svg +0 -3
  166. package/src/assets/svg/spinner.svg +0 -3
  167. package/src/assets/svg/spinner_white.svg +0 -3
  168. package/src/helpers/index.ts +0 -4
  169. package/src/helpers/playground.ts +0 -26
  170. package/src/helpers/talesOf.tsx +0 -42
  171. package/src/index.ts +0 -2
  172. package/src/lib/components/README.md +0 -49
  173. package/src/lib/components/alert-banner/alert-banner.test.tsx +0 -93
  174. package/src/lib/components/alert-banner/alert-banner.tsx +0 -117
  175. package/src/lib/components/alert-banner/alert-level-flags.ts +0 -101
  176. package/src/lib/components/alert-banner/index.ts +0 -1
  177. package/src/lib/components/alert-banner/storybook/alert-banner.stories.mdx +0 -67
  178. package/src/lib/components/alert-banner/storybook/components.tsx +0 -124
  179. package/src/lib/components/badge/badge-type-flags.ts +0 -72
  180. package/src/lib/components/badge/badge.test.tsx +0 -29
  181. package/src/lib/components/badge/badge.tsx +0 -22
  182. package/src/lib/components/badge/index.ts +0 -1
  183. package/src/lib/components/badge/stories/badge.stories.mdx +0 -44
  184. package/src/lib/components/badge/stories/components.tsx +0 -49
  185. package/src/lib/components/card/atoms/index.ts +0 -1
  186. package/src/lib/components/card/card.test.tsx +0 -162
  187. package/src/lib/components/card/card.tsx +0 -78
  188. package/src/lib/components/card/components/card-alert-banner-slot.tsx +0 -16
  189. package/src/lib/components/card/components/card-controls-slot.tsx +0 -19
  190. package/src/lib/components/card/components/card-section-slot.tsx +0 -51
  191. package/src/lib/components/card/components/index.ts +0 -3
  192. package/src/lib/components/card/index.ts +0 -3
  193. package/src/lib/components/card/molecules/index.ts +0 -1
  194. package/src/lib/components/card/molecules/left-right-card.test.tsx +0 -89
  195. package/src/lib/components/card/molecules/left-right-card.tsx +0 -63
  196. package/src/lib/components/card/storybook/card.stories.mdx +0 -100
  197. package/src/lib/components/card/storybook/components.tsx +0 -227
  198. package/src/lib/components/checkbox/checkbox.test.tsx +0 -39
  199. package/src/lib/components/checkbox/checkbox.tsx +0 -70
  200. package/src/lib/components/checkbox/helpers.tsx +0 -98
  201. package/src/lib/components/checkbox/index.tsx +0 -1
  202. package/src/lib/components/checkbox/stories/checkbox.stories.mdx +0 -57
  203. package/src/lib/components/checkbox/stories/components.tsx +0 -84
  204. package/src/lib/components/date-picker/components/custom-calendar.tsx +0 -193
  205. package/src/lib/components/date-picker/components/index.ts +0 -1
  206. package/src/lib/components/date-picker/data-picker.test.tsx +0 -220
  207. package/src/lib/components/date-picker/date-picker.tsx +0 -10
  208. package/src/lib/components/date-picker/helpers/date-picker-factory.tsx +0 -210
  209. package/src/lib/components/date-picker/index.ts +0 -1
  210. package/src/lib/components/date-picker/storybook/components.tsx +0 -259
  211. package/src/lib/components/date-picker/storybook/date-picker.stories.mdx +0 -133
  212. package/src/lib/components/divider/divider-type-flags.tsx +0 -37
  213. package/src/lib/components/divider/divider.test.tsx +0 -34
  214. package/src/lib/components/divider/divider.tsx +0 -37
  215. package/src/lib/components/divider/index.tsx +0 -1
  216. package/src/lib/components/divider/stories/components.tsx +0 -13
  217. package/src/lib/components/divider/stories/divider.stories.mdx +0 -44
  218. package/src/lib/components/flag/flag-size-flags.tsx +0 -55
  219. package/src/lib/components/flag/flag.list.tsx +0 -788
  220. package/src/lib/components/flag/flag.test.tsx +0 -65
  221. package/src/lib/components/flag/flag.tsx +0 -97
  222. package/src/lib/components/flag/index.tsx +0 -1
  223. package/src/lib/components/flag/stories/components.tsx +0 -403
  224. package/src/lib/components/flag/stories/flag.stories.mdx +0 -48
  225. package/src/lib/components/flag/stories/playGround-select.tsx +0 -145
  226. package/src/lib/components/icon/icon-list.tsx +0 -135
  227. package/src/lib/components/icon/icon.test.tsx +0 -47
  228. package/src/lib/components/icon/icon.tsx +0 -181
  229. package/src/lib/components/icon/index.tsx +0 -1
  230. package/src/lib/components/icon/stories/components.tsx +0 -282
  231. package/src/lib/components/icon/stories/icon.stories.mdx +0 -65
  232. package/src/lib/components/index.ts +0 -26
  233. package/src/lib/components/input-field/components/index.ts +0 -2
  234. package/src/lib/components/input-field/components/labeled-input.tsx +0 -57
  235. package/src/lib/components/input-field/components/stepper.tsx +0 -64
  236. package/src/lib/components/input-field/index.ts +0 -6
  237. package/src/lib/components/input-field/input-field.test.tsx +0 -107
  238. package/src/lib/components/input-field/input-field.tsx +0 -154
  239. package/src/lib/components/input-field/input-number.tsx +0 -41
  240. package/src/lib/components/input-field/input-text.tsx +0 -30
  241. package/src/lib/components/input-field/storybook/components.tsx +0 -367
  242. package/src/lib/components/input-field/storybook/input-field.stories.mdx +0 -120
  243. package/src/lib/components/layout/flex.tsx +0 -22
  244. package/src/lib/components/layout/grid-layout.tsx +0 -40
  245. package/src/lib/components/layout/index.ts +0 -3
  246. package/src/lib/components/layout/left-right-layout.tsx +0 -67
  247. package/src/lib/components/link/index.ts +0 -1
  248. package/src/lib/components/link/link.test.tsx +0 -29
  249. package/src/lib/components/link/link.tsx +0 -56
  250. package/src/lib/components/link/storybook/link.stories.mdx +0 -52
  251. package/src/lib/components/modal/index.ts +0 -3
  252. package/src/lib/components/modal/modal-base.tsx +0 -129
  253. package/src/lib/components/modal/modal-destructive.tsx +0 -70
  254. package/src/lib/components/modal/modal.test.tsx +0 -138
  255. package/src/lib/components/modal/modal.tsx +0 -114
  256. package/src/lib/components/modal/storybook/components.tsx +0 -105
  257. package/src/lib/components/modal/storybook/modal-destructive.stories.mdx +0 -31
  258. package/src/lib/components/modal/storybook/modal.stories.mdx +0 -50
  259. package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +0 -55
  260. package/src/lib/components/molecules/avatar/avatar.test.tsx +0 -114
  261. package/src/lib/components/molecules/avatar/avatar.tsx +0 -80
  262. package/src/lib/components/molecules/avatar/index.tsx +0 -1
  263. package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +0 -52
  264. package/src/lib/components/molecules/avatar/stories/components.tsx +0 -36
  265. package/src/lib/components/molecules/button/button-flags.tsx +0 -340
  266. package/src/lib/components/molecules/button/button.test.tsx +0 -77
  267. package/src/lib/components/molecules/button/button.tsx +0 -212
  268. package/src/lib/components/molecules/button/index.tsx +0 -1
  269. package/src/lib/components/molecules/button/stories/button.stories.mdx +0 -105
  270. package/src/lib/components/molecules/button/stories/components.tsx +0 -90
  271. package/src/lib/components/molecules/index.ts +0 -3
  272. package/src/lib/components/molecules/input-checkbox/index.tsx +0 -1
  273. package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +0 -34
  274. package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +0 -50
  275. package/src/lib/components/molecules/input-checkbox/stories/components.tsx +0 -53
  276. package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +0 -49
  277. package/src/lib/components/organisms/choice-list/choice-list.test.tsx +0 -36
  278. package/src/lib/components/organisms/choice-list/choice-list.tsx +0 -72
  279. package/src/lib/components/organisms/choice-list/index.tsx +0 -1
  280. package/src/lib/components/organisms/choice-list/stories/choice-list.stories.mdx +0 -57
  281. package/src/lib/components/organisms/choice-list/stories/components.tsx +0 -45
  282. package/src/lib/components/organisms/index.ts +0 -2
  283. package/src/lib/components/organisms/multi-choice-list/index.tsx +0 -1
  284. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +0 -33
  285. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +0 -53
  286. package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +0 -124
  287. package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +0 -99
  288. package/src/lib/components/progress-bar/index.ts +0 -1
  289. package/src/lib/components/progress-bar/progress-bar-size-flags.tsx +0 -37
  290. package/src/lib/components/progress-bar/progress-bar.test.tsx +0 -66
  291. package/src/lib/components/progress-bar/progress-bar.tsx +0 -42
  292. package/src/lib/components/progress-bar/storybook/components.tsx +0 -62
  293. package/src/lib/components/progress-bar/storybook/progress-bar.stories.mdx +0 -43
  294. package/src/lib/components/radio-button/radio-button.tsx +0 -135
  295. package/src/lib/components/radio-button/radio.test.tsx +0 -59
  296. package/src/lib/components/radio-button/stories/components.tsx +0 -36
  297. package/src/lib/components/radio-button/stories/radio-button.stories.mdx +0 -44
  298. package/src/lib/components/range-slider/components/bar-chart.tsx +0 -50
  299. package/src/lib/components/range-slider/components/handle.tsx +0 -58
  300. package/src/lib/components/range-slider/components/rail.tsx +0 -44
  301. package/src/lib/components/range-slider/components/slider-component.tsx +0 -98
  302. package/src/lib/components/range-slider/components/slider-inputs.tsx +0 -150
  303. package/src/lib/components/range-slider/components/tick.tsx +0 -51
  304. package/src/lib/components/range-slider/components/track.tsx +0 -67
  305. package/src/lib/components/range-slider/index.tsx +0 -2
  306. package/src/lib/components/range-slider/range-slider.test.tsx +0 -185
  307. package/src/lib/components/range-slider/range-slider.tsx +0 -132
  308. package/src/lib/components/range-slider/slider.test.tsx +0 -89
  309. package/src/lib/components/range-slider/slider.tsx +0 -80
  310. package/src/lib/components/range-slider/stories/components.tsx +0 -179
  311. package/src/lib/components/range-slider/stories/range-slider.stories.mdx +0 -84
  312. package/src/lib/components/range-slider/types.ts +0 -18
  313. package/src/lib/components/select/components/menu-container.tsx +0 -69
  314. package/src/lib/components/select/components/menu-list.tsx +0 -195
  315. package/src/lib/components/select/components/menu-row.tsx +0 -43
  316. package/src/lib/components/select/components/menu.tsx +0 -151
  317. package/src/lib/components/select/components/option.tsx +0 -91
  318. package/src/lib/components/select/components/select-label.tsx +0 -10
  319. package/src/lib/components/select/components/value-component-multi.tsx +0 -40
  320. package/src/lib/components/select/components/value-component-single.tsx +0 -27
  321. package/src/lib/components/select/components/value.tsx +0 -370
  322. package/src/lib/components/select/index.tsx +0 -3
  323. package/src/lib/components/select/select.test.tsx +0 -148
  324. package/src/lib/components/select/select.tsx +0 -337
  325. package/src/lib/components/select/storybook/components.tsx +0 -999
  326. package/src/lib/components/select/storybook/radio-group.tsx +0 -157
  327. package/src/lib/components/select/storybook/select.stories.mdx +0 -172
  328. package/src/lib/components/select/types.ts +0 -149
  329. package/src/lib/components/select/utils.ts +0 -101
  330. package/src/lib/components/spinner/index.tsx +0 -1
  331. package/src/lib/components/spinner/spinner-size-flags.tsx +0 -39
  332. package/src/lib/components/spinner/spinner.test.tsx +0 -31
  333. package/src/lib/components/spinner/spinner.tsx +0 -54
  334. package/src/lib/components/spinner/stories/components.tsx +0 -39
  335. package/src/lib/components/spinner/stories/spinner.stories.mdx +0 -35
  336. package/src/lib/components/tabs/components/index.ts +0 -1
  337. package/src/lib/components/tabs/components/tab.tsx +0 -85
  338. package/src/lib/components/tabs/index.tsx +0 -1
  339. package/src/lib/components/tabs/storybook/components.tsx +0 -317
  340. package/src/lib/components/tabs/storybook/tabs.stories.mdx +0 -105
  341. package/src/lib/components/tabs/tabs.test.tsx +0 -86
  342. package/src/lib/components/tabs/tabs.tsx +0 -115
  343. package/src/lib/components/tag/components/close-button.tsx +0 -85
  344. package/src/lib/components/tag/components/index.ts +0 -2
  345. package/src/lib/components/tag/components/tag-label.tsx +0 -45
  346. package/src/lib/components/tag/index.tsx +0 -1
  347. package/src/lib/components/tag/stories/components.tsx +0 -86
  348. package/src/lib/components/tag/stories/tag.stories.mdx +0 -42
  349. package/src/lib/components/tag/tag.test.tsx +0 -36
  350. package/src/lib/components/tag/tag.tsx +0 -33
  351. package/src/lib/components/thumbnail/index.tsx +0 -1
  352. package/src/lib/components/thumbnail/stories/thumbnail.stories.mdx +0 -44
  353. package/src/lib/components/thumbnail/thumbnail-size-flags.tsx +0 -41
  354. package/src/lib/components/thumbnail/thumbnail.test.tsx +0 -51
  355. package/src/lib/components/thumbnail/thumbnail.tsx +0 -44
  356. package/src/lib/components/tooltip/index.tsx +0 -1
  357. package/src/lib/components/tooltip/stories/components.tsx +0 -224
  358. package/src/lib/components/tooltip/stories/tooltip.stories.mdx +0 -63
  359. package/src/lib/components/tooltip/tooltip.test.tsx +0 -22
  360. package/src/lib/components/tooltip/tooltip.tsx +0 -179
  361. package/src/lib/components/tree-view/components/tree-node.tsx +0 -203
  362. package/src/lib/components/tree-view/helper.tsx +0 -171
  363. package/src/lib/components/tree-view/index.ts +0 -2
  364. package/src/lib/components/tree-view/stories/components.tsx +0 -640
  365. package/src/lib/components/tree-view/stories/tree-view.stories.mdx +0 -127
  366. package/src/lib/components/tree-view/tree-view.test.tsx +0 -146
  367. package/src/lib/components/tree-view/tree-view.tsx +0 -168
  368. package/src/lib/components/tree-view/types.tsx +0 -70
  369. package/src/lib/components/typography/index.ts +0 -1
  370. package/src/lib/components/typography/storybook/components.tsx +0 -288
  371. package/src/lib/components/typography/storybook/typography.stories.mdx +0 -90
  372. package/src/lib/components/typography/typography.test.tsx +0 -97
  373. package/src/lib/components/typography/typography.tsx +0 -99
  374. package/src/lib/foundations/color-system/base-palette/base-palette.stories.tsx +0 -123
  375. package/src/lib/foundations/color-system/base-palette/base-palette.ts +0 -93
  376. package/src/lib/foundations/color-system/base-palette/index.ts +0 -1
  377. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.mdx +0 -85
  378. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.tsx +0 -231
  379. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.ts +0 -160
  380. package/src/lib/foundations/color-system/color-guidelines/index.ts +0 -1
  381. package/src/lib/foundations/color-system/components/color-sample.tsx +0 -99
  382. package/src/lib/foundations/color-system/components/index.ts +0 -1
  383. package/src/lib/foundations/color-system/index.ts +0 -1
  384. package/src/lib/foundations/index.ts +0 -4
  385. package/src/lib/foundations/shadows/components.tsx +0 -59
  386. package/src/lib/foundations/shadows/index.ts +0 -1
  387. package/src/lib/foundations/shadows/shadows.stories.mdx +0 -71
  388. package/src/lib/foundations/shadows/shadows.tsx +0 -47
  389. package/src/lib/foundations/spacing/index.ts +0 -1
  390. package/src/lib/foundations/spacing/spacing-guidelines.ts +0 -37
  391. package/src/lib/foundations/spacing/spacing.stories.mdx +0 -51
  392. package/src/lib/foundations/spacing/spacing.ts +0 -18
  393. package/src/lib/foundations/typography/constants.ts +0 -25
  394. package/src/lib/foundations/typography/fonts.ts +0 -205
  395. package/src/lib/foundations/typography/index.tsx +0 -1
  396. package/src/lib/foundations/typography/text-aspect-flags.ts +0 -61
  397. package/src/lib/foundations/typography/typography.tsx +0 -102
  398. package/src/lib/helpers/generic-types.ts +0 -44
  399. package/src/lib/helpers/index.ts +0 -8
  400. package/src/lib/helpers/isReactElementOfType.test.tsx +0 -108
  401. package/src/lib/helpers/isReactElementOfType.ts +0 -42
  402. package/src/lib/helpers/nothing.tsx +0 -22
  403. package/src/lib/helpers/safe-navigation.ts +0 -57
  404. package/src/lib/helpers/slots.tsx +0 -126
  405. package/src/lib/helpers/strings.test.ts +0 -47
  406. package/src/lib/helpers/strings.ts +0 -16
  407. package/src/lib/helpers/useInputElementState.ts +0 -56
  408. package/src/lib/helpers/useKeyDown.ts +0 -17
  409. package/tsconfig.json +0 -35
  410. package/tsconfig.lib.json +0 -28
  411. package/tsconfig.spec.json +0 -21
@@ -1,86 +0,0 @@
1
- import styled from 'styled-components'
2
- import { Margin } from '@foundations'
3
- import { render, screen } from '@testing-library/react'
4
- import userEvent from '@testing-library/user-event'
5
- import { Tabs, Tab } from './index'
6
-
7
- describe('Tabs', () => {
8
- it('renders both tabs and the currently selected content', async () => {
9
- render(
10
- <Tabs selected={0}>
11
- <Tabs.TabList>
12
- <Tab>One</Tab>
13
- <Tab>Two</Tab>
14
- </Tabs.TabList>
15
- <Tabs.Content>ONE</Tabs.Content>
16
- <Tabs.Content>TWO</Tabs.Content>
17
- </Tabs>
18
- )
19
-
20
- expect(screen.getAllByRole('tab')).toHaveLength(2)
21
- expect(screen.getAllByRole('tabpanel')).toHaveLength(1)
22
- expect(screen.getByRole('tabpanel')).toHaveTextContent('ONE')
23
- })
24
-
25
- it('does not render the unselected tabs', async () => {
26
- render(
27
- <Tabs selected={2}>
28
- <Tabs.TabList>
29
- <Tab>One</Tab>
30
- <Tab>Two</Tab>
31
- <Tab>Three</Tab>
32
- </Tabs.TabList>
33
- <Tabs.Content>ONE</Tabs.Content>
34
- <Tabs.Content>TWO</Tabs.Content>
35
- <Tabs.Content>THREE</Tabs.Content>
36
- </Tabs>
37
- )
38
-
39
- expect(screen.getAllByRole('tab')).toHaveLength(3)
40
- expect(screen.getAllByRole('tabpanel', { hidden: true })).toHaveLength(3)
41
-
42
- expect(screen.getByText('ONE')).toHaveAttribute('aria-hidden', 'true')
43
- expect(screen.getByText('TWO')).toHaveAttribute('aria-hidden', 'true')
44
- expect(screen.getByText('ONE')).not.toBeVisible()
45
- expect(screen.getByText('TWO')).not.toBeVisible()
46
- })
47
-
48
- /**
49
- * this test just ensures that the programmer did not
50
- * forget to add className? to the props and then pass
51
- * it to the wrapping element so that users downstream
52
- * can style the component
53
- */
54
- it('accepts styles', () => {
55
- const NiceTab = styled(Tab)`
56
- margin-bottom: ${Margin.l};
57
- `
58
-
59
- const { container } = render(<NiceTab>Contents</NiceTab>)
60
-
61
- expect(container.firstChild).toHaveStyle(`margin-bottom: ${Margin.l}`)
62
- expect(screen.getByText('Contents')).toBeInTheDocument()
63
- })
64
-
65
- it('calls onChange when a tab is clicked', async () => {
66
- const handleChange = jest.fn()
67
-
68
- render(
69
- <Tabs selected={0} onChange={handleChange}>
70
- <Tabs.TabList>
71
- <Tab>One</Tab>
72
- <Tab>Two</Tab>
73
- </Tabs.TabList>
74
- <Tabs.Content>ONE</Tabs.Content>
75
- <Tabs.Content>TWO</Tabs.Content>
76
- </Tabs>
77
- )
78
-
79
- await userEvent.click(screen.getByText('Two'))
80
-
81
- expect(handleChange).toHaveBeenCalledTimes(1)
82
-
83
- expect(screen.getByText('ONE')).toBeVisible()
84
- expect(screen.getByText('TWO')).not.toBeVisible()
85
- })
86
- })
@@ -1,115 +0,0 @@
1
- import { Children, ReactElement } from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { Borders, Margin, Padding } from '@foundations'
5
- import { applyProps, applyStyle, FC, is, isReactElementOfType, PropsWithChildren, safeCallback, Slot, StylableSlot } from '@helpers'
6
-
7
- import { Flex } from 'components/layout'
8
- import { ITabProps, Tab as TabBase } from './components'
9
-
10
- const Tab = styled(TabBase)``
11
-
12
- const TabList = styled(Flex)`
13
- padding-left: ${Padding.m};
14
-
15
- ${Tab} {
16
- margin-right: ${Margin.m};
17
- margin-bottom: -1px;
18
- flex-shrink: 0;
19
- }
20
- `
21
-
22
- const TabListSecondary = styled(TabList)`
23
- ${Tab} {
24
- margin-right: ${Margin.xs};
25
- }
26
- `
27
-
28
- const TabListPrimary = styled(TabList) `
29
- border-bottom: 1px solid ${Borders.Default.Subdued};
30
- `
31
-
32
- class Content extends StylableSlot {}
33
- class Navigation extends Slot {}
34
-
35
- type SubComponents = {
36
- Content: typeof Content
37
- TabList: typeof Navigation
38
- }
39
-
40
- interface ITabsProps extends PropsWithChildren {
41
- secondary?: boolean
42
- selected: number
43
- onChange?: (selected: number) => void
44
- }
45
-
46
- const isTab = isReactElementOfType(Tab)
47
- const isTabList = isReactElementOfType(Navigation)
48
- const isContent = isReactElementOfType(Content)
49
-
50
- export const Tabs: FC<ITabsProps, SubComponents> = (props) => {
51
- /** iterate over the children, wiring up the tabs and contents */
52
- let contentCount = 0
53
- let tabCount = 0
54
- const children = Children.map(props.children, (child) => {
55
- if (isContent(child)) {
56
- return decorateContent(child, props, contentCount++)
57
- } if (isTabList(child)) {
58
- const tabs = Children.map(child.props.children, (tab) => {
59
- return isTab(tab) ? decorateTab(tab, props, tabCount++) : tab
60
- })
61
- if(is(props.secondary) && props.secondary === true) {
62
- return <TabListSecondary>{tabs}</TabListSecondary>
63
- }
64
- return <TabListPrimary>{tabs}</TabListPrimary>
65
-
66
- } else {
67
- return child
68
- }
69
- })
70
-
71
- return <>{children}</>
72
- }
73
-
74
- function decorateTab(
75
- tab: ReactElement<ITabProps>,
76
- { selected, secondary, onChange = () => undefined }: ITabsProps,
77
- index: number
78
- ) {
79
- return (
80
- <Tab
81
- {...tab.props}
82
- secondary={secondary}
83
- selected={
84
- is(tab.props.selected) ? tab.props.selected : index === selected
85
- }
86
- onFocus={(e) => {
87
- safeCallback(tab.props.onFocus, e)
88
-
89
- if (index !== selected) {
90
- onChange(index)
91
- }
92
- }}
93
- >
94
- {tab.props.children}
95
- </Tab>
96
- )
97
- }
98
-
99
- /** content could be anything, but it needs to at least show and hide appropriately */
100
- function decorateContent (child: ReactElement, props: ITabsProps, index: number) {
101
- return applyProps(
102
- applyStyle(child, {
103
- display: index === props.selected ? 'inherit' : 'none',
104
- }),
105
- {
106
- role: 'tabpanel',
107
- 'aria-hidden': !(index === props.selected),
108
- }
109
- )
110
- }
111
-
112
- Tabs.Content = Content
113
- Tabs.TabList = Navigation
114
-
115
- export { Tab } from './components'
@@ -1,85 +0,0 @@
1
- //close-button.tsx
2
- import styled from 'styled-components'
3
- import { Flex } from 'components/layout'
4
- import { Surface, Padding, Icons } from '@foundations'
5
- import { FC, is, isDefined, PropsWithChildren } from '@helpers'
6
- import { HTMLAttributes } from 'react'
7
-
8
- const ClosableWrapper = styled(Flex)<{
9
- disabled: boolean
10
- }>`
11
- flex-direction: row;
12
- align-items: center;
13
- justify-content: center;
14
- padding: ${Padding.xxxs} ${Padding.xxs};
15
- gap: 8px;
16
- width: 28px;
17
-
18
- background: ${(props) =>
19
- props.disabled ? Surface.Neutral.Subdued : Surface.Neutral.Default};
20
- border-radius: 0px 4px 4px 0px;
21
-
22
- ${(props) =>
23
- !props.disabled
24
- ? `
25
- &:hover {
26
- background: ${Surface.Neutral.Hover};
27
- cursor: pointer;
28
-
29
- svg {
30
- path {
31
- fill: ${Icons.Hover}
32
- }
33
- }
34
- }
35
-
36
- &:active {
37
- background: ${Surface.Neutral.Pressed};
38
-
39
- svg {
40
- path {
41
- fill: ${Icons.Pressed};
42
- }
43
- }
44
- }
45
- `
46
- : `
47
- svg {
48
- path {
49
- fill: ${Icons.Disabled};
50
- }
51
- }`}
52
- `
53
-
54
- const ClosableIcon = styled.svg`
55
- path {
56
- fill: ${Icons.Default};
57
- }
58
- `
59
-
60
- interface IProps extends HTMLAttributes<HTMLDivElement>, PropsWithChildren {
61
- disabled?: boolean
62
- onClick?: () => void
63
- }
64
-
65
- export const CloseButton: FC<IProps> = (props) => {
66
- const disabled = is(props.disabled)
67
-
68
- const onClickHandler = () => {
69
- if (!disabled && isDefined(props.onClick)) {
70
- props.onClick()
71
- }
72
- }
73
- return (
74
- <ClosableWrapper disabled={disabled} onClick={onClickHandler} role="button">
75
- <ClosableIcon
76
- width="12.5"
77
- height="12.5"
78
- viewBox="0 0 16 16"
79
- xmlns="http://www.w3.org/2000/svg"
80
- >
81
- <path d="M8.00451 6.79303L14.5439 0.251124C14.8798 -0.0837079 15.423 -0.0837079 15.7267 0.251124C16.0912 0.585955 16.0912 1.12912 15.7267 1.46395L9.21591 8.00442L15.7267 14.5438C16.0912 14.8797 16.0912 15.4229 15.7267 15.7266C15.423 16.0911 14.8798 16.0911 14.5439 15.7266L8.00451 9.21582L1.46404 15.7266C1.12921 16.0911 0.586045 16.0911 0.251177 15.7266C-0.0837258 15.4229 -0.0837258 14.8797 0.251177 14.5438L6.79312 8.00442L0.251177 1.46395C-0.0837258 1.12912 -0.0837258 0.585955 0.251177 0.251124C0.586045 -0.0837079 1.12921 -0.0837079 1.46404 0.251124L8.00451 6.79303Z" />
82
- </ClosableIcon>
83
- </ClosableWrapper>
84
- )
85
- }
@@ -1,2 +0,0 @@
1
- export * from './close-button'
2
- export * from './tag-label'
@@ -1,45 +0,0 @@
1
- import styled from 'styled-components'
2
- import { Flex } from 'components/layout'
3
- import { Surface, Padding, Text } from '@foundations'
4
- import { Label } from 'components/typography'
5
- import { FC, is, PropsWithChildren } from '@helpers'
6
- import { HTMLAttributes } from 'react'
7
-
8
- const LabelFrame = styled(Flex)<{
9
- disabled: boolean
10
- closable: boolean
11
- }>`
12
- background: ${(props) =>
13
- props.disabled ? Surface.Neutral.Subdued : Surface.Neutral.Default};
14
- flex-direction: row;
15
- align-items: center;
16
- justify-content: center;
17
- gap: 8px;
18
- padding: ${Padding.xxxs} ${Padding.xs} ${Padding.xxxs} ${Padding.xs};
19
- width: 100%;
20
- min-height: 24px;
21
- border-radius: ${(props) => (props.closable ? '4px 0px 0px 4px' : '4px')};
22
- word-break: break-all;
23
- `
24
-
25
- const LabelText = styled(Label)<{
26
- disabled: boolean
27
- }>`
28
- color: ${(props) => (props.disabled ? Text.Light : Text.Default)};
29
- `
30
-
31
- interface IProps extends HTMLAttributes<HTMLLabelElement>, PropsWithChildren {
32
- closable?: boolean
33
- disabled?: boolean
34
- }
35
-
36
- export const TagLabel: FC<IProps> = (props) => {
37
- const disabled = is(props.disabled)
38
- const closable = is(props.closable)
39
-
40
- return (
41
- <LabelFrame disabled={disabled} closable={closable}>
42
- <LabelText disabled={disabled}>{props.children}</LabelText>
43
- </LabelFrame>
44
- )
45
- }
@@ -1 +0,0 @@
1
- export * from './tag'
@@ -1,86 +0,0 @@
1
- import { Playground } from 'storybook-addon-jarle-monaco'
2
- import { Canvas } from '@storybook/addon-docs'
3
- import { Tag } from '../tag'
4
- import { Card } from 'components/card'
5
- import styled from 'styled-components'
6
- import { Margin, Padding, Surface } from '@foundations'
7
-
8
- const WrapperStories = styled(Card)`
9
- width: 240px;
10
- height: 238px;
11
- padding: ${Padding.l};
12
- background: ${Surface.Default.Default};
13
- `
14
- const TagMarginBottom24 = styled(Tag)`
15
- margin-bottom: ${Margin.l};
16
- `
17
-
18
- const onClickHandler = () => {
19
- alert('Close button clicked')
20
- }
21
-
22
- export const SelectedTagHTMLExample = () => {
23
- return (
24
- <WrapperStories heading="Selected (2)">
25
- <TagMarginBottom24 closable onClick={onClickHandler}>Toronto, ON, Canada</TagMarginBottom24>
26
- <TagMarginBottom24 closable onClick={onClickHandler}>Melbourne NSW, Australia</TagMarginBottom24>
27
- </WrapperStories>
28
- )
29
- }
30
-
31
- export const TagExample = () => (
32
- <Playground
33
- code={`
34
- /* Edit this code sample! */
35
- <div style={{display:'flex', gap:'24px'}}>
36
- <Tag >Label</Tag>
37
- <Tag disabled >Label</Tag>
38
- <Tag closable onClick={onClickHandler}>Label</Tag>
39
- <Tag closable disabled>Label</Tag>
40
- </div>
41
- `}
42
- providerProps={{
43
- renderAsComponent: true,
44
- scope: {
45
- Tag,
46
- Canvas,
47
- onClickHandler
48
- },
49
- }}
50
- />
51
- )
52
-
53
- export const WorkedExample = () => (
54
- <Playground
55
- code={`
56
- const [selectedCities, setSelected] = useState([
57
- { id: 1, name: 'Vancouver, BC', disabled: true },
58
- { id: 2, name: 'Montreal, QC'},
59
- { id: 3, name: 'Toronto, ON'},
60
- ]);
61
-
62
- <div style={{display:'flex', gap:'24px'}}>
63
- {selectedCities.map((city, index) => {
64
- return (
65
- <Tag
66
- closable
67
- disabled={city.disabled}
68
- key={city.id}
69
- onClick={() => {
70
- setSelected( prevCities => prevCities.filter( filteredCity => filteredCity.id !== city.id ) )
71
- }}
72
- >{city.name}</Tag>
73
- )
74
- })}
75
- </div>
76
- `}
77
- providerProps={{
78
- renderAsComponent: true,
79
- scope: {
80
- Tag,
81
- Canvas,
82
- onClickHandler
83
- },
84
- }}
85
- />
86
- )
@@ -1,42 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'
2
- import { Tag } from '../index'
3
- import { TagExample, SelectedTagHTMLExample, WorkedExample } from './components'
4
-
5
- <Meta title="Components/Tag" component={Tag} />
6
-
7
- # Tag
8
-
9
- For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=1545%3A4278)
10
-
11
- ## How to use
12
-
13
- ```javascript
14
- // Import the component
15
- import { Tag } from '@edvisor/product-language'
16
-
17
- // Render the default component
18
- <Tag>Label</Tag>
19
-
20
- ```
21
-
22
- ## Properties
23
-
24
- The available optional properties are as follows.
25
-
26
- | Prop | Type | Description |
27
- | ------------ | ---------- | ---------------------------------------------------- |
28
- | `closable?` | `boolean` | Add a close button to the tag |
29
- | `disabled?` | `boolean` | Disabled the tag |
30
- | `className?` | `string` | Add the class to the tag |
31
- | `onClick?` | `function` | Called when the close button is clicked |
32
-
33
- ## Example
34
-
35
- <SelectedTagHTMLExample />
36
-
37
-
38
- ## Playground
39
-
40
- Tags
41
-
42
- <WorkedExample />
@@ -1,36 +0,0 @@
1
- //tag.test
2
- import { render, screen } from '@testing-library/react'
3
- import userEvent from '@testing-library/user-event'
4
- import { Tag } from './index'
5
-
6
- describe('Tag Tests', () => {
7
- it('should render Tag with given Text', async () => {
8
- render(<Tag>Test</Tag>)
9
- expect(screen.getByText('Test')).toBeInTheDocument()
10
- expect(screen.queryByRole('button')).not.toBeInTheDocument()
11
- })
12
-
13
- it('should render a disabled Tag with the close button and with given Text', async () => {
14
- render(
15
- <Tag disabled closable>
16
- Close
17
- </Tag>
18
- )
19
- expect(screen.getByText('Close')).toBeInTheDocument()
20
- expect(screen.queryByRole('button')).toBeInTheDocument()
21
- })
22
-
23
- it('should render the Tag with close button and handle event after click', async () => {
24
- const spyOnClick = jest.fn()
25
- render(
26
- <Tag closable onClick={spyOnClick}>
27
- Clicked
28
- </Tag>
29
- )
30
- expect(screen.getByText('Clicked')).toBeInTheDocument()
31
-
32
- const closeIcon = screen.queryByRole('button') as HTMLElement
33
- await userEvent.click(closeIcon)
34
- expect(spyOnClick).toHaveBeenCalled()
35
- })
36
- })
@@ -1,33 +0,0 @@
1
- import { FC, PropsWithChildren, is } from '@helpers'
2
- import { Padding } from '@foundations'
3
- import styled from 'styled-components'
4
- import { Flex } from 'components/layout'
5
- import { CloseButton, TagLabel } from './components'
6
- import { HTMLAttributes } from 'react'
7
-
8
- const TagFrame = styled(Flex)`
9
- flex-direction: row;
10
- align-items: stretch;
11
- padding: ${Padding.none};
12
- width: fit-content;
13
- `
14
-
15
- interface IProps extends HTMLAttributes<HTMLDivElement>, PropsWithChildren {
16
- closable?: boolean
17
- disabled?: boolean
18
- className?: string
19
- onClick?: () => void
20
- }
21
-
22
- export const Tag: FC<IProps> = (props) => {
23
- const { disabled, closable, onClick, ...domProps } = props
24
-
25
- return (
26
- <TagFrame {...domProps} className={props.className}>
27
- <TagLabel disabled={disabled} closable={closable}>
28
- {props.children}
29
- </TagLabel>
30
- {is(closable) && <CloseButton {...props} />}
31
- </TagFrame>
32
- )
33
- }
@@ -1 +0,0 @@
1
- export * from './thumbnail'
@@ -1,44 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
2
- import { Thumbnail } from '../index'
3
- import { SpaceAround } from '../../layout'
4
-
5
- <Meta
6
- title="Components/Thumbnail"
7
- component={Thumbnail}
8
- />
9
-
10
- # Thumbnail
11
-
12
- For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=1545%3A4445)
13
-
14
- ## How to use
15
-
16
- ```javascript
17
- // Import the component
18
- import { Thumbnail } from './index'
19
-
20
-
21
- // Render the component sending the required parameters
22
- <Thumbnail imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'/>
23
- ```
24
- ## Good Practices
25
- - You can send the `imageLabel` propertie as an `alt` propertie in order to set and alternative text to image
26
-
27
- ## Examples
28
-
29
- Thumbnail images will scale the inner image down so that its width is contained but its aspect ratio is preserved.
30
-
31
- <Canvas>
32
- <Thumbnail large imageUrl='https://blog.edvisor.io/hs-fs/hubfs/Nomade.png?width=215&height=108&name=Nomade.png'/>
33
- <Thumbnail medium imageUrl='https://blog.edvisor.io/hs-fs/hubfs/Nomade.png?width=215&height=108&name=Nomade.png'/>
34
- <Thumbnail small imageUrl='https://blog.edvisor.io/hs-fs/hubfs/Nomade.png?width=215&height=108&name=Nomade.png'/>
35
- </Canvas>
36
-
37
- Thumbnails have no padding. If you need padding your should edit your image so that it has padding, rather than trying to add padding to the Thumbnail in CSS.
38
-
39
- <Canvas>
40
- <Thumbnail large imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'/>
41
- <Thumbnail medium imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'/>
42
- <Thumbnail small imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'/>
43
- </Canvas>
44
-
@@ -1,41 +0,0 @@
1
- // this file was generated, but it is safe to modify
2
- import { bitwiseOr, MappedEnum, RequireOnlyOne, PropsWithChildren } from '@helpers'
3
-
4
- const enum ThumbnailSize {
5
- small = 1,
6
- medium = 2,
7
- large = 4,
8
- }
9
-
10
- type ThumbnailSizes<T> = MappedEnum<typeof ThumbnailSize, T>
11
-
12
- function toThumbnailSize(n: number): ThumbnailSize {
13
- switch (n) {
14
- case ThumbnailSize.small:
15
- return ThumbnailSize.small
16
- case ThumbnailSize.medium:
17
- return ThumbnailSize.medium
18
- case ThumbnailSize.large:
19
- return ThumbnailSize.large
20
- default:
21
- return ThumbnailSize.medium
22
- }
23
- }
24
-
25
- const ThumbnailSizeValues = {
26
- [ThumbnailSize.small]: '40px',
27
- [ThumbnailSize.medium]: '60px',
28
- [ThumbnailSize.large]: '80px',
29
- }
30
-
31
-
32
- export type ThumbnailSizeProps = Partial<RequireOnlyOne<ThumbnailSizes<boolean>>> &
33
- PropsWithChildren
34
-
35
- export function getValuesBySize(props: ThumbnailSizeProps): string {
36
- return ThumbnailSizeValues[
37
- toThumbnailSize(
38
- bitwiseOr([props.small, props.medium, props.large])
39
- )
40
- ]
41
- }
@@ -1,51 +0,0 @@
1
- import {render, screen } from '@testing-library/react'
2
- import { Thumbnail } from './index'
3
-
4
- describe('Thumbnail Tests', () => {
5
- describe('Thumbnail Tests', () => {
6
- it('should render the Thumbnail with size small', () => {
7
- render(
8
- <Thumbnail
9
- imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'
10
- small
11
- />
12
- )
13
-
14
- expect(screen.getByRole('img')).toBeInTheDocument()
15
- expect(screen.getByTestId('thumbnail-test')).toHaveStyle('height: 40px')
16
- })
17
-
18
- it('should render the Thumbnail with size medium', () => {
19
- render(
20
- <Thumbnail
21
- imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'
22
- medium
23
- />
24
- )
25
-
26
- expect(screen.getByRole('img')).toBeInTheDocument()
27
- expect(screen.getByTestId('thumbnail-test')).toHaveStyle('height: 60px')
28
- })
29
-
30
- it('should render the Thumbnail with size large', () => {
31
- render(
32
- <Thumbnail
33
- imageUrl='https://blog.edvisor.io/hubfs/Edvisor%20Smi.png'
34
- large
35
- />
36
- )
37
-
38
- expect(screen.getByRole('img')).toBeInTheDocument()
39
- expect(screen.getByTestId('thumbnail-test')).toHaveStyle('height: 80px')
40
- })
41
-
42
- it('should not render the Thumbnail without imageUrl', () => {
43
- render(
44
- <Thumbnail />
45
- )
46
-
47
- const thumbnailElement = screen.queryByText('thumbnail-test')
48
- expect(thumbnailElement).not.toBeInTheDocument()
49
- })
50
- })
51
- })