@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,56 +0,0 @@
1
- import styled from 'styled-components'
2
- import { AnchorHTMLAttributes } from 'react'
3
- import { FC, is } from '@helpers'
4
- import { Interactive } from '@foundations'
5
-
6
- export const HTMLAnchor = styled.a<{disabled: boolean, initialColor: string, interactionColor: string}>`
7
- color: ${({ initialColor }) => initialColor};
8
- pointer-events: ${({ disabled }) => disabled ? 'none' : 'auto' };
9
- &:hover{
10
- text-decoration: none;
11
- color: ${({ interactionColor }) => interactionColor};
12
- }
13
- &:active{
14
- text-decoration: underline;
15
- }
16
- `
17
-
18
- interface ILinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
19
- label: string;
20
- subtle?: boolean
21
- disabled?: boolean
22
- }
23
-
24
- export const Link: FC<ILinkProps> = (props) => {
25
-
26
- const { label, disabled = false, subtle, ...rest } = props
27
- const initialColor = getInitialColor(props)
28
- const interactionColor = getInteractionColor(props)
29
-
30
- return (
31
- <HTMLAnchor
32
- {...rest}
33
- disabled={disabled}
34
- initialColor={initialColor}
35
- interactionColor={interactionColor}
36
- >
37
- {label}
38
- </HTMLAnchor>
39
- )
40
- }
41
-
42
- function getInitialColor ({ subtle, disabled }: ILinkProps) {
43
- if (is(disabled)) {
44
- return Interactive.Default.Disabled
45
- }
46
-
47
- return is(subtle)
48
- ? Interactive.Subtle.Default
49
- : Interactive.Default.Default
50
- }
51
-
52
- function getInteractionColor ({ subtle }: ILinkProps) {
53
- return is(subtle)
54
- ? Interactive.Subtle.Hover
55
- : Interactive.Default.Hover
56
- }
@@ -1,52 +0,0 @@
1
- import { Canvas, Meta } from '@storybook/addon-docs';
2
- import { Link } from '../link'
3
- import { Button } from '../../molecules/button'
4
- import { Body } from '../../typography'
5
-
6
-
7
- <Meta title="Components/Link" />
8
-
9
- # Link
10
-
11
- Links are navigational actions that take users to another place. They can appear within or directly following a sentence. Links should not to be mistaken with a Plain Button which are used for actions that aren’t related to navigation.
12
-
13
-
14
- ## How to use it
15
- The Link component is an extension of HTML <b><a\></b> tag, but its use is limited to textual anchors.
16
-
17
- ## Default
18
-
19
- The Link component with default behavior and styles
20
- <Canvas>
21
- <Body>
22
- <Link href="https://app.edvisor.io/" target="_blank" label="Edvisor" /> is the number 1 student recruitment software
23
- </Body>
24
- </Canvas>
25
-
26
- ## Subtle
27
- The Link component with subtle behavior and styles
28
- <Canvas>
29
- <Body>
30
- Streamline the way you sell education with <Link subtle href="https://app.edvisor.io/" target="_blank" label="Edvisor" />, the best student recruitment software.
31
- </Body>
32
- </Canvas>
33
-
34
- ## Disabled
35
-
36
- A disabled Link prevents user interaction.
37
- <Canvas>
38
- <Body>
39
- Education with <Link subtle disabled href="https://app.edvisor.io/" target="_blank" label="Edvisor" /> is the best.
40
- </Body>
41
- </Canvas>
42
-
43
- ## API
44
-
45
- Extends `HTMLAttributes<HTMLAnchorElement>`. Check the documentation <Link href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement" target="_blank" label="here"/>.
46
-
47
- | Prop | Type | Description |
48
- | ----------- | --------- | --------------------------|
49
- | `label` | `string` | the text used as anchor |
50
- | `default?` | `boolean` | default styling |
51
- | `subtle?` | `boolean` | subtle styling |
52
- | `disabled?` | `boolean` | prevents user interaciton |
@@ -1,3 +0,0 @@
1
- export * from './modal-base'
2
- export * from './modal'
3
- export * from './modal-destructive'
@@ -1,129 +0,0 @@
1
- import { InputHTMLAttributes, useRef, MouseEvent } from 'react'
2
- import { Background, shadowXl, Surface } from '@foundations'
3
- import { FC, is, isNil, Nothing, safeCallback } from '@helpers'
4
- import styled, { keyframes } from 'styled-components'
5
- import { Flex } from 'components/layout'
6
- import { useKeyDown } from 'helpers/useKeyDown'
7
-
8
- const fadeIn = keyframes`
9
- from { opacity: .4; }
10
- to { opacity: 1; }
11
- `
12
-
13
- const grow = keyframes`
14
- from { transform: scale(.8) }
15
- to { transform: scale(1) }
16
- `
17
-
18
- const OverlayFrame = styled(Flex)`
19
- position: fixed;
20
- top: 0;
21
- left: 0;
22
- width: 100%;
23
- height: 100%;
24
- z-index: 20000;
25
- background-color: ${Background.Overlay};
26
- justify-content: center;
27
- animation: ${fadeIn} .2s ease-out;
28
- `
29
-
30
- const ModalFrame = styled(Flex)<{widthValue: string}>`
31
- background-color: ${Surface.Default.Default};
32
- z-index: 20010;
33
- width: ${({widthValue}) => widthValue};
34
- ${shadowXl};
35
- border-radius: 8px;
36
- animation: ${grow} .1s ease-in;
37
- `
38
-
39
- interface Sizes {
40
- small: string,
41
- critical: string,
42
- default: string,
43
- large: string,
44
- xLarge: string,
45
- }
46
-
47
- export const MODAL_SIZE: Sizes = {
48
- small: '456px',
49
- critical: '518px',
50
- default: '616px',
51
- large: '776px',
52
- xLarge: '936px',
53
- }
54
-
55
- export const MODAL_SIZE_TEXT = {
56
- SMALL: 'small',
57
- CRITICAL: 'critical',
58
- DEFAULT: 'default',
59
- LARGE: 'large',
60
- XLARGE: 'xLarge'
61
- }
62
-
63
- export interface IModalBaseProps {
64
- open: boolean
65
- children: React.ReactElement
66
- closeOnEsc?: boolean
67
- modalSize?: keyof typeof MODAL_SIZE
68
- onOverlayClick?: () => void
69
- onClose: () => void
70
- }
71
-
72
- function getModalSize(size: string): string {
73
- const isValidKey = Object.keys(MODAL_SIZE).includes(size)
74
- const validSize = isValidKey ? size : MODAL_SIZE_TEXT.DEFAULT
75
- return MODAL_SIZE[validSize as keyof Sizes]
76
- }
77
-
78
- export type IModalBase = InputHTMLAttributes<HTMLInputElement> & IModalBaseProps
79
-
80
- export const ModalBase: FC<IModalBase> = (props: IModalBase) => {
81
- const {
82
- open,
83
- children,
84
- closeOnEsc = true,
85
- modalSize = MODAL_SIZE_TEXT.DEFAULT,
86
- onOverlayClick,
87
- onClose,
88
- } = props
89
-
90
- // eslint-disable-next-line no-null/no-null
91
- const modalRef = useRef<HTMLDivElement>(null)
92
-
93
- const handleEscPress = () => {
94
- if(is(closeOnEsc)) {
95
- onClose()
96
- }
97
- }
98
-
99
- useKeyDown('Escape', handleEscPress)
100
-
101
- if(!is(open)) {
102
- document.body.style.overflow = 'unset'
103
- return <Nothing />
104
- } else {
105
- document.body.style.overflow = 'hidden'
106
- }
107
-
108
- const handleOverlayClick = (event: MouseEvent) => {
109
- if (isNil(modalRef.current) || modalRef.current.contains(event.target as HTMLElement)) {
110
- return
111
- }
112
- safeCallback(onOverlayClick)
113
- }
114
-
115
- return (
116
- <OverlayFrame center onClick={handleOverlayClick} data-testid="modal-overlay">
117
- <div ref={modalRef}>
118
- <ModalFrame
119
- column
120
- role="dialog"
121
- widthValue={getModalSize(modalSize)}
122
- aria-modal="true"
123
- >
124
- {children}
125
- </ModalFrame>
126
- </div>
127
- </OverlayFrame>
128
- )
129
- }
@@ -1,70 +0,0 @@
1
- import { HTMLAttributes } from 'react'
2
- import { Gap, Padding } from '@foundations'
3
- import { FC, isDefined, Nothing } from '@helpers'
4
- import styled from 'styled-components'
5
- import { Button } from 'components/molecules/button'
6
- import { ModalBase, IModalBaseProps, MODAL_SIZE_TEXT, MODAL_SIZE } from './modal-base'
7
-
8
-
9
- const ModalContent = styled.div`
10
- padding: ${Padding.xl} ${Padding.xl} ${Padding.none};
11
- `
12
-
13
- const ModalFooter = styled.footer`
14
- width: 100%;
15
- padding: ${Padding.m} ${Padding.xl} ${Padding.xl};
16
- bottom: 0;
17
- box-sizing: border-box;
18
- display: flex;
19
- gap: ${Gap.xs};
20
- justify-content: flex-end;
21
- `
22
-
23
- const CustomButton = styled(Button)`
24
- width: calc(50% - 4px);
25
- `
26
-
27
- export interface IModalDestructiveProps extends IModalBaseProps {
28
- primaryButtonLabel?: string
29
- closeButtonLabel: string
30
- onPrimaryAction: () => void
31
- }
32
-
33
- type IModalDestructive = IModalDestructiveProps & HTMLAttributes<HTMLDivElement>
34
-
35
- export const ModalDestructive: FC<IModalDestructive> = (props: IModalDestructive) => {
36
- const {
37
- open,
38
- closeOnEsc,
39
- children,
40
- primaryButtonLabel,
41
- closeButtonLabel,
42
- onPrimaryAction,
43
- onClose,
44
- onOverlayClick,
45
- } = props
46
-
47
- return (
48
- <ModalBase
49
- open={open}
50
- onOverlayClick={onOverlayClick}
51
- closeOnEsc={closeOnEsc}
52
- modalSize={MODAL_SIZE_TEXT.CRITICAL as keyof typeof MODAL_SIZE}
53
- onClose={onClose}
54
- >
55
- <>
56
- <ModalContent>
57
- {children}
58
- </ModalContent>
59
- <ModalFooter>
60
- <CustomButton onClick={onClose}>{closeButtonLabel}</CustomButton>
61
- { isDefined(primaryButtonLabel)
62
- ? <CustomButton primary destructive onClick={onPrimaryAction}>{primaryButtonLabel}</CustomButton>
63
- : <Nothing />
64
- }
65
- <Nothing />
66
- </ModalFooter>
67
- </>
68
- </ModalBase>
69
- )
70
- }
@@ -1,138 +0,0 @@
1
- import { render, screen } from '@testing-library/react'
2
- import userEvent from '@testing-library/user-event'
3
- import { Modal, ModalDestructive } from './index'
4
-
5
-
6
- describe('Modal tests', () => {
7
- it('should render the modal when attribute open is true', async () => {
8
- render (
9
- <Modal
10
- open={true}
11
- onClose={() => { return }}
12
- >
13
- <p>modal</p>
14
- </Modal>
15
- )
16
- expect(screen.getByRole('dialog')).toBeInTheDocument()
17
- })
18
- it('should render the close button and handle the close function', async () => {
19
- const handleClose = jest.fn()
20
-
21
- render (
22
- <Modal
23
- open={true}
24
- onClose={handleClose}
25
- closeButtonLabel="Close me"
26
- >
27
- <p>modal</p>
28
- </Modal>
29
- )
30
-
31
- expect(handleClose).not.toHaveBeenCalled()
32
- const closeButton = screen.getByText('Close me')
33
- expect(closeButton).toBeInTheDocument()
34
- await userEvent.click(closeButton)
35
- expect(handleClose).toHaveBeenCalled()
36
-
37
- })
38
- it('should render the primary action button and handle event after click', async () => {
39
- const handlePrimaryButtonClick = jest.fn()
40
-
41
- render (
42
- <Modal
43
- open={true}
44
- onClose={() => { return }}
45
- primaryButtonLabel="Go!"
46
- onPrimaryAction={handlePrimaryButtonClick}
47
- >
48
- <p>modal</p>
49
- </Modal>
50
- )
51
-
52
- expect(handlePrimaryButtonClick).not.toHaveBeenCalled()
53
- const primaryButton = screen.getByText('Go!')
54
- expect(primaryButton).toBeInTheDocument()
55
- await userEvent.click(primaryButton)
56
- expect(handlePrimaryButtonClick).toHaveBeenCalled()
57
-
58
- })
59
-
60
- it('should render the secondary action button and handle event after click', async () => {
61
- const handleSecondaryButtonClick = jest.fn()
62
-
63
- render (
64
- <Modal
65
- open={true}
66
- onClose={() => { return }}
67
- secondaryButtonLabel="Open docs"
68
- onSecondaryAction={handleSecondaryButtonClick}
69
- >
70
- <p>modal</p>
71
- </Modal>
72
- )
73
-
74
- expect(handleSecondaryButtonClick).not.toHaveBeenCalled()
75
- const secondaryButton = screen.getByText('Open docs')
76
- expect(secondaryButton).toBeInTheDocument()
77
- await userEvent.click(secondaryButton)
78
- expect(handleSecondaryButtonClick).toHaveBeenCalled()
79
-
80
- })
81
-
82
- it('should call the close function on press "Esc" key', async () => {
83
- const handleClose = jest.fn()
84
-
85
- render (
86
- <Modal
87
- open={true}
88
- onClose={handleClose}
89
- >
90
- <p>modal</p>
91
- </Modal>
92
- )
93
-
94
- expect(handleClose).not.toHaveBeenCalled()
95
- await userEvent.keyboard('{Escape}')
96
- expect(handleClose).toHaveBeenCalled()
97
-
98
- })
99
-
100
- it('should not call the close function on press "Esc" key if the closeOnEsc is false', async () => {
101
- const handleClose = jest.fn()
102
-
103
- render (
104
- <Modal
105
- open={true}
106
- onClose={handleClose}
107
- closeOnEsc={false}
108
- >
109
- <p>modal</p>
110
- </Modal>
111
- )
112
-
113
- expect(handleClose).not.toHaveBeenCalled()
114
- await userEvent.keyboard('{Escape}')
115
- expect(handleClose).not.toHaveBeenCalled()
116
-
117
- })
118
-
119
- it('should call a function we pass on onOverlayClick when click on the overlay section', async () => {
120
- const handleClose = jest.fn()
121
-
122
- render (
123
- <Modal
124
- open={true}
125
- onClose={handleClose}
126
- onOverlayClick={handleClose}
127
- >
128
- <p>modal</p>
129
- </Modal>
130
- )
131
-
132
- expect(handleClose).not.toHaveBeenCalled()
133
- const outside = screen.getByTestId('modal-overlay')
134
- await userEvent.click(outside)
135
- expect(handleClose).toHaveBeenCalled()
136
-
137
- })
138
- })
@@ -1,114 +0,0 @@
1
- import { InputHTMLAttributes } from 'react'
2
- import { Surface, Borders, Padding, Focused, Gap } from '@foundations'
3
- import { FC, isDefined, Nothing } from '@helpers'
4
- import styled from 'styled-components'
5
- import { Heading2 } from 'components/typography'
6
- import { Button } from 'components/molecules/button'
7
- import { IconMinor } from 'components/icon'
8
- import { ModalBase, IModalBaseProps } from './modal-base'
9
-
10
-
11
- const ModalHeader = styled.header`
12
- height: 28px;
13
- display: flex;
14
- justify-content: space-between;
15
- padding: ${Padding.m};
16
- border-bottom: 1px solid ${Borders.Default.Subdued};
17
- box-sizing: content-box;
18
- `
19
-
20
- const CloseButton = styled(IconMinor.Xmark)`
21
- cursor: pointer;
22
- align-self: center;
23
- border-radius: 3px;
24
- &:hover {
25
- background-color: ${Surface.Default.Hover};
26
- }
27
- &:active {
28
- background-color: ${Surface.Default.Pressed};
29
- }
30
- &:focus {
31
- outline: 2px solid ${Focused.Default};
32
- }
33
- `
34
-
35
- const ModalContent = styled.div`
36
- max-height: 70vh;
37
- overflow-y: auto;
38
- overflow-x: hidden;
39
- padding: ${Padding.m};
40
- `
41
-
42
- const ModalFooter = styled.footer`
43
- height: 68px;
44
- width: 100%;
45
- padding: ${Padding.m};
46
- border-top: 1px solid ${Borders.Default.Subdued};
47
- bottom: 0;
48
- box-sizing: border-box;
49
- display: flex;
50
- gap: ${Gap.xs};
51
- justify-content: flex-end;
52
- `
53
-
54
- export interface IModalProps extends IModalBaseProps {
55
- title?: string
56
- primaryButtonLabel?: string
57
- closeButtonLabel?: string
58
- secondaryButtonLabel?: string
59
- onPrimaryAction?: () => void
60
- onSecondaryAction?: () => void
61
- }
62
-
63
- export type IModal = IModalProps & InputHTMLAttributes<HTMLInputElement>
64
-
65
- export const Modal: FC<IModal> = (props: IModal) => {
66
- const {
67
- open,
68
- closeOnEsc,
69
- title,
70
- children,
71
- primaryButtonLabel,
72
- closeButtonLabel,
73
- secondaryButtonLabel,
74
- modalSize,
75
- onOverlayClick,
76
- onPrimaryAction,
77
- onSecondaryAction,
78
- onClose,
79
- } = props
80
-
81
- return (
82
- <ModalBase
83
- open={open}
84
- onOverlayClick={onOverlayClick}
85
- closeOnEsc={closeOnEsc}
86
- modalSize={modalSize}
87
- onClose={onClose}
88
- >
89
- <>
90
- <ModalHeader>
91
- <Heading2 default>{title}</Heading2>
92
- <CloseButton role="button" onClick={onClose}/>
93
- </ModalHeader>
94
- <ModalContent>
95
- {children}
96
- </ModalContent>
97
- <ModalFooter>
98
- { isDefined(secondaryButtonLabel)
99
- ? <Button plain subtle onClick={onSecondaryAction} name="modal-secondary-button">{secondaryButtonLabel}</Button>
100
- : <Nothing />
101
- }
102
- { isDefined(closeButtonLabel)
103
- ? <Button onClick={onClose} name="modal-close-button">{closeButtonLabel}</Button>
104
- : <Nothing />
105
- }
106
- { isDefined(primaryButtonLabel)
107
- ? <Button primary onClick={onPrimaryAction} name="modal-primary-button">{primaryButtonLabel}</Button>
108
- : <Nothing />
109
- }
110
- </ModalFooter>
111
- </>
112
- </ModalBase>
113
- )
114
- }
@@ -1,105 +0,0 @@
1
-
2
- import { Playground } from 'storybook-addon-jarle-monaco'
3
- import { Modal } from '../modal'
4
- import { ModalDestructive } from '../modal-destructive'
5
- import { Button, Body, BodyLarge, Flex, Icon } from '@components'
6
- import { Surface, Text, Margin } from '@foundations'
7
- import styled from 'styled-components'
8
-
9
- const IconFrame = styled(Flex)`
10
- background-color: ${Surface.Critical.Pressed};
11
- width: 44px;
12
- height: 44px;
13
- border-radius: 50%;
14
- justify-content: center;
15
- margin-bottom: ${Margin.m};
16
- `
17
-
18
- const ExclamationIcon = styled(Icon.TriangleExclamation)`
19
- path {
20
- fill: ${Text.Critical};
21
- }
22
- `
23
-
24
- const MainText = styled(Body)`
25
- margin: ${Margin.m} ${Margin.none} ${Margin.xs};
26
- text-align: center;
27
- `
28
-
29
- export const ModalExample = () => (
30
- <Playground
31
- code={`
32
- const [isOpen, setIsOpen] = useState(false);
33
-
34
- <>
35
- <Button onClick={() => setIsOpen(true)}>Open the modal!</Button>
36
- <Modal
37
- open={isOpen}
38
- modalSize="large"
39
- title="Modal Heading"
40
- closeButtonLabel="Close me"
41
- primaryButtonLabel="Do Stuff!"
42
- onPrimaryAction={() => alert("Stuff done", setIsOpen(false))}
43
- secondaryButtonLabel="Could you click here?"
44
- onSecondaryAction={() => alert("Nice", setIsOpen(false))}
45
- onClose={() => setIsOpen(false)}
46
- onOverlayClick={() => setIsOpen(false)}
47
- >
48
- <Body>Modal with incredible content</Body>
49
- </Modal>
50
- </>
51
- `}
52
- providerProps={{
53
- renderAsComponent: true,
54
- scope: {
55
- Button,
56
- Modal,
57
- Body,
58
- },
59
- }}
60
- />
61
- )
62
-
63
- export const ModalDestructiveExample = () => (
64
- <Playground
65
- code={`
66
- const [isOpen, setIsOpen] = useState(false);
67
-
68
- <>
69
- <Button onClick={() => setIsOpen(true)}>Open the modal!</Button>
70
- <ModalDestructive
71
- open={isOpen}
72
- closeButtonLabel="Get me outta here"
73
- primaryButtonLabel="Delete it!"
74
- onPrimaryAction={() => alert("Deleted :(", setIsOpen(false))}
75
- onClose={() => setIsOpen(false)}
76
- onOverlayClick={() => setIsOpen(false)}
77
- >
78
- <Flex center column>
79
- <IconFrame center>
80
- <ExclamationIcon />
81
- </IconFrame>
82
- <BodyLarge strong>Delete Account</BodyLarge>
83
- <MainText subdued>
84
- Are you sure you want to delete your account? All of your data will be permanently removed.
85
- This action cannot be undone.
86
- </MainText>
87
- </Flex>
88
- </ModalDestructive>
89
- </>
90
- `}
91
- providerProps={{
92
- renderAsComponent: true,
93
- scope: {
94
- Button,
95
- ModalDestructive,
96
- BodyLarge,
97
- Body,
98
- IconFrame,
99
- ExclamationIcon,
100
- Flex,
101
- MainText,
102
- },
103
- }}
104
- />
105
- )
@@ -1,31 +0,0 @@
1
- import { Canvas } from '@storybook/addon-docs';
2
- import { ModalDestructive } from '../modal-destructive'
3
- import { ModalExample, ModalDestructiveExample } from './components'
4
-
5
- <Meta title="Components/ModalDestructive" component={ModalDestructive}/>
6
-
7
- ## Modal
8
- This special type of modal is used to confirm destructive actions that cannot be undone.
9
-
10
- For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=734%3A7372&t=pb7J9FXC7G2B8T7p-0)
11
-
12
- ```tsx
13
- import { ModalDestructive } from './index'
14
-
15
- <ModalDestructive />
16
- ```
17
-
18
- <ModalDestructiveExample />
19
-
20
- ## API
21
-
22
- | Prop | Type | Description |
23
- | ----------------------- | -------------------- | --------------------------------------------------------- |
24
- | `open` | `boolean` | if true, the modal will be open |
25
- | `children?` | `ReactElement` | the elements to be displayed on main section of the modal |
26
- | `closeOnBackdropClick` | `boolean` | if true, the modal will close when click on overlay area |
27
- | `closeOnEsc` | `boolean` | if true, the modal will close when press esc key |
28
- | `primaryButtonLabel?` | `string` | Primary action button label |
29
- | `closeButtonLabel?` | `string` | Close/Dismiss action button label |
30
- | `onPrimaryAction?` | `() => void` | Primary button event handler function |
31
- | `onClose?` | `() => void` | Callback function invoked to close the modal |