@edvisor/product-language 0.10.9 → 0.10.10

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 +10388 -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 +25 -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 +13 -2
  153. package/.babelrc +0 -12
  154. package/.eslintrc.json +0 -147
  155. package/.storybook/main.js +0 -57
  156. package/.storybook/manager.js +0 -7
  157. package/.storybook/preview.js +0 -15
  158. package/.storybook/tsconfig.json +0 -30
  159. package/jest.config.ts +0 -15
  160. package/jest.setup.ts +0 -2
  161. package/project.json +0 -98
  162. package/src/README.md +0 -61
  163. package/src/assets/svg/example_icon.svg +0 -3
  164. package/src/assets/svg/example_icon_white.svg +0 -3
  165. package/src/assets/svg/spinner.svg +0 -3
  166. package/src/assets/svg/spinner_white.svg +0 -3
  167. package/src/helpers/index.ts +0 -4
  168. package/src/helpers/playground.ts +0 -26
  169. package/src/helpers/talesOf.tsx +0 -42
  170. package/src/index.ts +0 -2
  171. package/src/lib/components/README.md +0 -49
  172. package/src/lib/components/alert-banner/alert-banner.test.tsx +0 -93
  173. package/src/lib/components/alert-banner/alert-banner.tsx +0 -117
  174. package/src/lib/components/alert-banner/alert-level-flags.ts +0 -101
  175. package/src/lib/components/alert-banner/index.ts +0 -1
  176. package/src/lib/components/alert-banner/storybook/alert-banner.stories.mdx +0 -67
  177. package/src/lib/components/alert-banner/storybook/components.tsx +0 -124
  178. package/src/lib/components/badge/badge-type-flags.ts +0 -72
  179. package/src/lib/components/badge/badge.test.tsx +0 -29
  180. package/src/lib/components/badge/badge.tsx +0 -22
  181. package/src/lib/components/badge/index.ts +0 -1
  182. package/src/lib/components/badge/stories/badge.stories.mdx +0 -44
  183. package/src/lib/components/badge/stories/components.tsx +0 -49
  184. package/src/lib/components/card/atoms/index.ts +0 -1
  185. package/src/lib/components/card/card.test.tsx +0 -162
  186. package/src/lib/components/card/card.tsx +0 -78
  187. package/src/lib/components/card/components/card-alert-banner-slot.tsx +0 -16
  188. package/src/lib/components/card/components/card-controls-slot.tsx +0 -19
  189. package/src/lib/components/card/components/card-section-slot.tsx +0 -51
  190. package/src/lib/components/card/components/index.ts +0 -3
  191. package/src/lib/components/card/index.ts +0 -3
  192. package/src/lib/components/card/molecules/index.ts +0 -1
  193. package/src/lib/components/card/molecules/left-right-card.test.tsx +0 -89
  194. package/src/lib/components/card/molecules/left-right-card.tsx +0 -63
  195. package/src/lib/components/card/storybook/card.stories.mdx +0 -100
  196. package/src/lib/components/card/storybook/components.tsx +0 -227
  197. package/src/lib/components/checkbox/checkbox.test.tsx +0 -39
  198. package/src/lib/components/checkbox/checkbox.tsx +0 -70
  199. package/src/lib/components/checkbox/helpers.tsx +0 -98
  200. package/src/lib/components/checkbox/index.tsx +0 -1
  201. package/src/lib/components/checkbox/stories/checkbox.stories.mdx +0 -57
  202. package/src/lib/components/checkbox/stories/components.tsx +0 -84
  203. package/src/lib/components/date-picker/components/custom-calendar.tsx +0 -193
  204. package/src/lib/components/date-picker/components/index.ts +0 -1
  205. package/src/lib/components/date-picker/data-picker.test.tsx +0 -220
  206. package/src/lib/components/date-picker/date-picker.tsx +0 -10
  207. package/src/lib/components/date-picker/helpers/date-picker-factory.tsx +0 -210
  208. package/src/lib/components/date-picker/index.ts +0 -1
  209. package/src/lib/components/date-picker/storybook/components.tsx +0 -259
  210. package/src/lib/components/date-picker/storybook/date-picker.stories.mdx +0 -133
  211. package/src/lib/components/divider/divider-type-flags.tsx +0 -37
  212. package/src/lib/components/divider/divider.test.tsx +0 -34
  213. package/src/lib/components/divider/divider.tsx +0 -37
  214. package/src/lib/components/divider/index.tsx +0 -1
  215. package/src/lib/components/divider/stories/components.tsx +0 -13
  216. package/src/lib/components/divider/stories/divider.stories.mdx +0 -44
  217. package/src/lib/components/flag/flag-size-flags.tsx +0 -55
  218. package/src/lib/components/flag/flag.list.tsx +0 -788
  219. package/src/lib/components/flag/flag.test.tsx +0 -65
  220. package/src/lib/components/flag/flag.tsx +0 -97
  221. package/src/lib/components/flag/index.tsx +0 -1
  222. package/src/lib/components/flag/stories/components.tsx +0 -403
  223. package/src/lib/components/flag/stories/flag.stories.mdx +0 -48
  224. package/src/lib/components/flag/stories/playGround-select.tsx +0 -145
  225. package/src/lib/components/icon/icon-list.tsx +0 -135
  226. package/src/lib/components/icon/icon.test.tsx +0 -47
  227. package/src/lib/components/icon/icon.tsx +0 -181
  228. package/src/lib/components/icon/index.tsx +0 -1
  229. package/src/lib/components/icon/stories/components.tsx +0 -282
  230. package/src/lib/components/icon/stories/icon.stories.mdx +0 -65
  231. package/src/lib/components/index.ts +0 -27
  232. package/src/lib/components/input-field/components/index.ts +0 -2
  233. package/src/lib/components/input-field/components/labeled-input.tsx +0 -57
  234. package/src/lib/components/input-field/components/stepper.tsx +0 -64
  235. package/src/lib/components/input-field/index.ts +0 -6
  236. package/src/lib/components/input-field/input-field.test.tsx +0 -107
  237. package/src/lib/components/input-field/input-field.tsx +0 -154
  238. package/src/lib/components/input-field/input-number.tsx +0 -41
  239. package/src/lib/components/input-field/input-text.tsx +0 -30
  240. package/src/lib/components/input-field/storybook/components.tsx +0 -367
  241. package/src/lib/components/input-field/storybook/input-field.stories.mdx +0 -120
  242. package/src/lib/components/layout/flex.tsx +0 -22
  243. package/src/lib/components/layout/grid-layout.tsx +0 -40
  244. package/src/lib/components/layout/index.ts +0 -3
  245. package/src/lib/components/layout/left-right-layout.tsx +0 -67
  246. package/src/lib/components/link/index.ts +0 -1
  247. package/src/lib/components/link/link.test.tsx +0 -29
  248. package/src/lib/components/link/link.tsx +0 -56
  249. package/src/lib/components/link/storybook/link.stories.mdx +0 -52
  250. package/src/lib/components/modal/index.ts +0 -3
  251. package/src/lib/components/modal/modal-base.tsx +0 -129
  252. package/src/lib/components/modal/modal-destructive.tsx +0 -70
  253. package/src/lib/components/modal/modal.test.tsx +0 -138
  254. package/src/lib/components/modal/modal.tsx +0 -114
  255. package/src/lib/components/modal/storybook/components.tsx +0 -105
  256. package/src/lib/components/modal/storybook/modal-destructive.stories.mdx +0 -31
  257. package/src/lib/components/modal/storybook/modal.stories.mdx +0 -50
  258. package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +0 -55
  259. package/src/lib/components/molecules/avatar/avatar.test.tsx +0 -114
  260. package/src/lib/components/molecules/avatar/avatar.tsx +0 -80
  261. package/src/lib/components/molecules/avatar/index.tsx +0 -1
  262. package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +0 -52
  263. package/src/lib/components/molecules/avatar/stories/components.tsx +0 -36
  264. package/src/lib/components/molecules/button/button-flags.tsx +0 -340
  265. package/src/lib/components/molecules/button/button.test.tsx +0 -77
  266. package/src/lib/components/molecules/button/button.tsx +0 -213
  267. package/src/lib/components/molecules/button/index.tsx +0 -1
  268. package/src/lib/components/molecules/button/stories/button.stories.mdx +0 -105
  269. package/src/lib/components/molecules/button/stories/components.tsx +0 -90
  270. package/src/lib/components/molecules/index.ts +0 -3
  271. package/src/lib/components/molecules/input-checkbox/index.tsx +0 -1
  272. package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +0 -34
  273. package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +0 -50
  274. package/src/lib/components/molecules/input-checkbox/stories/components.tsx +0 -53
  275. package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +0 -49
  276. package/src/lib/components/organisms/choice-list/choice-list.test.tsx +0 -36
  277. package/src/lib/components/organisms/choice-list/choice-list.tsx +0 -72
  278. package/src/lib/components/organisms/choice-list/index.tsx +0 -1
  279. package/src/lib/components/organisms/choice-list/stories/choice-list.stories.mdx +0 -57
  280. package/src/lib/components/organisms/choice-list/stories/components.tsx +0 -45
  281. package/src/lib/components/organisms/index.ts +0 -2
  282. package/src/lib/components/organisms/multi-choice-list/index.tsx +0 -1
  283. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +0 -33
  284. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +0 -53
  285. package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +0 -124
  286. package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +0 -99
  287. package/src/lib/components/progress-bar/index.ts +0 -1
  288. package/src/lib/components/progress-bar/progress-bar-size-flags.tsx +0 -37
  289. package/src/lib/components/progress-bar/progress-bar.test.tsx +0 -66
  290. package/src/lib/components/progress-bar/progress-bar.tsx +0 -42
  291. package/src/lib/components/progress-bar/storybook/components.tsx +0 -62
  292. package/src/lib/components/progress-bar/storybook/progress-bar.stories.mdx +0 -43
  293. package/src/lib/components/radio-button/radio-button.tsx +0 -135
  294. package/src/lib/components/radio-button/radio.test.tsx +0 -59
  295. package/src/lib/components/radio-button/stories/components.tsx +0 -36
  296. package/src/lib/components/radio-button/stories/radio-button.stories.mdx +0 -44
  297. package/src/lib/components/range-slider/components/bar-chart.tsx +0 -50
  298. package/src/lib/components/range-slider/components/handle.tsx +0 -58
  299. package/src/lib/components/range-slider/components/rail.tsx +0 -44
  300. package/src/lib/components/range-slider/components/slider-component.tsx +0 -98
  301. package/src/lib/components/range-slider/components/slider-inputs.tsx +0 -150
  302. package/src/lib/components/range-slider/components/tick.tsx +0 -51
  303. package/src/lib/components/range-slider/components/track.tsx +0 -67
  304. package/src/lib/components/range-slider/index.tsx +0 -2
  305. package/src/lib/components/range-slider/range-slider.test.tsx +0 -185
  306. package/src/lib/components/range-slider/range-slider.tsx +0 -132
  307. package/src/lib/components/range-slider/slider.test.tsx +0 -89
  308. package/src/lib/components/range-slider/slider.tsx +0 -80
  309. package/src/lib/components/range-slider/stories/components.tsx +0 -179
  310. package/src/lib/components/range-slider/stories/range-slider.stories.mdx +0 -84
  311. package/src/lib/components/range-slider/types.ts +0 -18
  312. package/src/lib/components/select/components/helpers.tsx +0 -62
  313. package/src/lib/components/select/components/menu-container.tsx +0 -73
  314. package/src/lib/components/select/components/menu-list.tsx +0 -232
  315. package/src/lib/components/select/components/menu-row.tsx +0 -43
  316. package/src/lib/components/select/components/menu.tsx +0 -134
  317. package/src/lib/components/select/components/option.tsx +0 -51
  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 -180
  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,340 +0,0 @@
1
- // this file was generated, but it is safe to modify
2
- import {
3
- bitwiseOr,
4
- MappedEnum,
5
- RequireOnlyOne,
6
- PropsWithChildren,
7
- getRightmostSetBitNumber,
8
- } from '@helpers'
9
- import { Actions, Padding, Interactive, Text, Borders, Icons } from '@foundations'
10
-
11
- export const enum ButtonType {
12
- basic = 1,
13
- primary = 2,
14
- destructive = 4,
15
- destructivePrimary = 6,
16
- outline = 8,
17
- plain = 16,
18
- subtle = 32,
19
- plainSubtle = 48,
20
- }
21
-
22
- const enum ButtonSize {
23
- default = 1,
24
- small = 2,
25
- large = 4,
26
- }
27
-
28
- const enum ButtonDisabledType {
29
- enabled = 1,
30
- disabled = 2,
31
- }
32
-
33
- type ButtonTypes<T> = MappedEnum<typeof ButtonType, T>
34
- type ButtonSizes<T> = MappedEnum<typeof ButtonSize, T>
35
- type ButtonDisabledTypes<T> = MappedEnum<typeof ButtonDisabledType, T>
36
-
37
- function toButtonSize(n: number): ButtonSize {
38
- switch (n) {
39
- case ButtonSize.default:
40
- return ButtonSize.default
41
- case ButtonSize.small:
42
- return ButtonSize.small
43
- case ButtonSize.large:
44
- return ButtonSize.large
45
- default:
46
- return ButtonSize.default
47
- }
48
- }
49
-
50
- function toButtonDisabledType(n: number): ButtonDisabledType {
51
- switch (n) {
52
- case ButtonDisabledType.enabled:
53
- return ButtonDisabledType.enabled
54
- case ButtonDisabledType.disabled:
55
- return ButtonDisabledType.disabled
56
- default:
57
- return ButtonDisabledType.enabled
58
- }
59
- }
60
-
61
- function toButtonTypes(n: number): ButtonType {
62
- const defaultType = 0
63
- switch (n) {
64
- case defaultType:
65
- case ButtonType.basic:
66
- return ButtonType.basic
67
- case ButtonType.primary:
68
- return ButtonType.primary
69
- case ButtonType.destructivePrimary:
70
- return ButtonType.destructivePrimary
71
- case ButtonType.destructive:
72
- return ButtonType.destructive
73
- case ButtonType.outline:
74
- return ButtonType.outline
75
- case ButtonType.plain:
76
- return ButtonType.plain
77
- case ButtonType.plainSubtle:
78
- return ButtonType.plainSubtle
79
- default:
80
- return getRightmostSetBitNumber(n)
81
- }
82
- }
83
-
84
- const ButtonBackgroundColorValues = {
85
- [ButtonType.basic]: Actions.Secondary.Default,
86
- [ButtonType.primary]: Actions.Primary.Default,
87
- [ButtonType.destructivePrimary]: Actions.Critical.Default,
88
- [ButtonType.destructive]: 'none',
89
- [ButtonType.outline]: 'none',
90
- [ButtonType.plain]: 'none',
91
- [ButtonType.subtle]: 'none',
92
- [ButtonType.plainSubtle]: 'none',
93
- }
94
-
95
- const ButtonBackgroundColorDisabledValues = {
96
- [ButtonType.basic]: Actions.Secondary.Disabled,
97
- [ButtonType.primary]: Actions.Primary.Disabled,
98
- [ButtonType.destructivePrimary]: Actions.Critical.Disabled,
99
- [ButtonType.destructive]: Actions.Secondary.Disabled,
100
- [ButtonType.outline]: 'none',
101
- [ButtonType.plain]: 'none',
102
- [ButtonType.subtle]: Actions.Secondary.Disabled,
103
- [ButtonType.plainSubtle]: 'none',
104
- }
105
-
106
- const ButtonBackgroundColorHoverValues = {
107
- [ButtonType.basic]: Actions.Secondary.Hover,
108
- [ButtonType.primary]: Actions.Primary.Hover,
109
- [ButtonType.destructivePrimary]: Actions.Critical.Hover,
110
- [ButtonType.destructive]: Actions.Critical.Hover,
111
- [ButtonType.outline]: Actions.Secondary.Hover,
112
- [ButtonType.plain]: '',
113
- [ButtonType.subtle]: Actions.Secondary.Hover,
114
- [ButtonType.plainSubtle]: '',
115
- }
116
-
117
- const ButtonTextDecorationHoverValues = {
118
- [ButtonType.basic]: '',
119
- [ButtonType.primary]: '',
120
- [ButtonType.destructivePrimary]: '',
121
- [ButtonType.destructive]: '',
122
- [ButtonType.outline]: '',
123
- [ButtonType.plain]: 'underline',
124
- [ButtonType.subtle]: '',
125
- [ButtonType.plainSubtle]: 'underline',
126
- }
127
-
128
- const ButtonBackgroundColorPressedValues = {
129
- [ButtonType.basic]: Actions.Secondary.Pressed,
130
- [ButtonType.primary]: Actions.Primary.Pressed,
131
- [ButtonType.destructivePrimary]: Actions.Critical.Pressed,
132
- [ButtonType.destructive]: Actions.Critical.Pressed,
133
- [ButtonType.outline]: Actions.Secondary.Pressed,
134
- [ButtonType.plain]: Actions.Secondary.Hover,
135
- [ButtonType.subtle]: Actions.Secondary.Pressed,
136
- [ButtonType.plainSubtle]: Actions.Secondary.Hover,
137
- }
138
-
139
- const ButtonTextColorValues = {
140
- [ButtonType.basic]: Text.Default,
141
- [ButtonType.primary]: Text.OnPrimary,
142
- [ButtonType.destructivePrimary]: Text.OnCritical,
143
- [ButtonType.destructive]: Text.Default,
144
- [ButtonType.outline]: Text.Default,
145
- [ButtonType.plain]: Interactive.Default.Default,
146
- [ButtonType.subtle]: Text.Default,
147
- [ButtonType.plainSubtle]: Interactive.Subtle.Default,
148
- }
149
-
150
- const IconTextColorValues = {
151
- [ButtonType.basic]: Icons.Default,
152
- [ButtonType.primary]: Icons.OnPrimary,
153
- [ButtonType.destructivePrimary]: Icons.OnCritical,
154
- [ButtonType.destructive]: Icons.Default,
155
- [ButtonType.outline]: Icons.Default,
156
- [ButtonType.plain]: Interactive.Default.Default,
157
- [ButtonType.subtle]: Icons.Default,
158
- [ButtonType.plainSubtle]: Icons.Default,
159
- }
160
-
161
- const ButtonTextColorHoverValues = {
162
- [ButtonType.basic]: Text.Default,
163
- [ButtonType.primary]: Text.OnPrimary,
164
- [ButtonType.destructivePrimary]: Text.OnCritical,
165
- [ButtonType.destructive]: Text.OnCritical,
166
- [ButtonType.outline]: Text.Default,
167
- [ButtonType.plain]: Interactive.Default.Hover,
168
- [ButtonType.subtle]: Text.Default,
169
- [ButtonType.plainSubtle]: Interactive.Subtle.Hover,
170
- }
171
-
172
- const IconColorHoverValues = {
173
- [ButtonType.basic]: Icons.Default,
174
- [ButtonType.primary]: Icons.OnPrimary,
175
- [ButtonType.destructivePrimary]: Icons.OnCritical,
176
- [ButtonType.destructive]: Icons.OnCritical,
177
- [ButtonType.outline]: Icons.Default,
178
- [ButtonType.plain]: Interactive.Default.Hover,
179
- [ButtonType.subtle]: Icons.Default,
180
- [ButtonType.plainSubtle]: Interactive.Subtle.Hover,
181
- }
182
-
183
- const ButtonBorderValues = {
184
- [ButtonType.basic]: `1px solid ${Borders.Default.Default}`,
185
- [ButtonType.primary]: 'none',
186
- [ButtonType.destructivePrimary]: 'none',
187
- [ButtonType.destructive]: `1px solid ${Borders.Default.Default}`,
188
- [ButtonType.outline]: `1px solid ${Borders.Default.Default}`,
189
- [ButtonType.plain]: 'none',
190
- [ButtonType.subtle]: `1px solid ${Borders.Default.Default}`,
191
- [ButtonType.plainSubtle]: 'none',
192
- }
193
-
194
- const ButtonBorderDisabledValues = {
195
- [ButtonType.basic]: `1px solid ${Borders.Default.Subdued}`,
196
- [ButtonType.primary]: 'none',
197
- [ButtonType.destructivePrimary]: 'none',
198
- [ButtonType.destructive]: `1px solid ${Borders.Default.Subdued}`,
199
- [ButtonType.outline]: `1px solid ${Borders.Default.Default}`,
200
- [ButtonType.plain]: 'none',
201
- [ButtonType.subtle]: `1px solid ${Borders.Default.Subdued}`,
202
- [ButtonType.plainSubtle]: 'none',
203
- }
204
-
205
- const ButtonTextColorDisabled = {
206
- [ButtonDisabledType.enabled]: '',
207
- [ButtonDisabledType.disabled]: Text.Light,
208
- }
209
-
210
- const ButtonCursor = {
211
- [ButtonDisabledType.enabled]: 'pointer',
212
- [ButtonDisabledType.disabled]: 'not-allowed',
213
- }
214
-
215
- const ButtonSizeValues = {
216
- [ButtonSize.small]: `${Padding.xxs} ${Padding.s}`,
217
- [ButtonSize.default]: `${Padding.xs} ${Padding.m}`,
218
- [ButtonSize.large]: `${Padding.s} ${Padding.l}`,
219
- }
220
-
221
- const ButtonSizeValuesByType = {
222
- [ButtonType.basic]: '',
223
- [ButtonType.primary]: '',
224
- [ButtonType.destructivePrimary]: '',
225
- [ButtonType.destructive]: '',
226
- [ButtonType.outline]: '',
227
- [ButtonType.plain]: `${Padding.xxxs} ${Padding.xxs}`,
228
- [ButtonType.subtle]: '',
229
- [ButtonType.plainSubtle]: `${Padding.xxxs} ${Padding.xxs}`,
230
- }
231
-
232
- const ButtonTypeValues = {
233
- [ButtonType.basic]: 1,
234
- [ButtonType.primary]: 2,
235
- [ButtonType.destructive]: 4,
236
- [ButtonType.destructivePrimary]: 6,
237
- [ButtonType.outline]: 8,
238
- [ButtonType.plain]: 16,
239
- [ButtonType.subtle]: 32,
240
- [ButtonType.plainSubtle]: 48,
241
- }
242
-
243
- export type ButtonTypeProps = Partial<ButtonTypes<boolean>> &
244
- PropsWithChildren
245
-
246
- export type ButtonSizeProps = Partial<RequireOnlyOne<ButtonSizes<boolean>>> &
247
- PropsWithChildren
248
-
249
- export type ButtonDisabledTypeProps = Partial<
250
- RequireOnlyOne<ButtonDisabledTypes<boolean>>
251
- > &
252
- PropsWithChildren
253
-
254
- export function getBackgroundColorByType(type: ButtonType): string {
255
- return ButtonBackgroundColorValues[type]
256
- }
257
-
258
- export function getBackgroundColorHoverByType(type: ButtonType): string {
259
- return ButtonBackgroundColorHoverValues[type]
260
- }
261
-
262
- export function getTextDecorationHoverByType(type: ButtonType): string {
263
- return ButtonTextDecorationHoverValues[type]
264
- }
265
-
266
- export function getBackgroundColorDisabledByType(type: ButtonType): string {
267
- return ButtonBackgroundColorDisabledValues[type]
268
- }
269
-
270
- export function getBackgroundColorPressedByType(type: ButtonType): string {
271
- return ButtonBackgroundColorPressedValues[type]
272
- }
273
-
274
- export function getTextColorByType(type: ButtonType): string {
275
- return ButtonTextColorValues[type]
276
- }
277
-
278
- export function getIconColorByType(type: ButtonType): string {
279
- return IconTextColorValues[type]
280
- }
281
-
282
- export function getTextColorOnHoverByType(type: ButtonType): string {
283
- return ButtonTextColorHoverValues[type]
284
- }
285
-
286
- export function getIconColorOnHoverByType(type: ButtonType): string {
287
- return IconColorHoverValues[type]
288
- }
289
-
290
- export function getBorderByType(type: ButtonType): string {
291
- return ButtonBorderValues[type]
292
- }
293
-
294
- export function getBorderDisabledByType(type: ButtonType): string {
295
- return ButtonBorderDisabledValues[type]
296
- }
297
-
298
- export function getPaddingBySize(props: ButtonSizeProps): string {
299
- return ButtonSizeValues[
300
- toButtonSize(bitwiseOr([props.default, props.small, props.large]))
301
- ]
302
- }
303
-
304
- export function getPaddingByType(type: ButtonType): string {
305
- return ButtonSizeValuesByType[type]
306
- }
307
-
308
- export function getTextColorIfDisabled(props: ButtonDisabledTypeProps): string {
309
- return ButtonTextColorDisabled[
310
- toButtonDisabledType(bitwiseOr([props.enabled, props.disabled]))
311
- ]
312
- }
313
-
314
- export function getCursor(props: ButtonDisabledTypeProps): string {
315
- return ButtonCursor[
316
- toButtonDisabledType(bitwiseOr([props.enabled, props.disabled]))
317
- ]
318
- }
319
-
320
- export function getIsDisabled(props: ButtonDisabledTypeProps): boolean {
321
- return (
322
- toButtonDisabledType(bitwiseOr([props.enabled, props.disabled])) ===
323
- ButtonDisabledType.disabled
324
- )
325
- }
326
-
327
- export function getButtonType(props: ButtonTypeProps) {
328
- return ButtonTypeValues[
329
- toButtonTypes(
330
- bitwiseOr([
331
- props.basic,
332
- props.primary,
333
- props.destructive,
334
- props.outline,
335
- props.plain,
336
- props.subtle,
337
- ])
338
- )
339
- ]
340
- }
@@ -1,77 +0,0 @@
1
- import { Actions } from '@foundations'
2
- import {render, screen } from '@testing-library/react'
3
- import { Button } from './index'
4
-
5
- describe('Button Tests', () => {
6
- describe('ButtonBasic Tests', () => {
7
- it('should render Button with given Text', async () => {
8
- render(
9
- <Button>Test Button</Button>
10
- )
11
-
12
- expect(screen.getByText('Test Button')).toBeInTheDocument()
13
- expect(screen.queryByRole('button')).toBeInTheDocument()
14
- })
15
-
16
- })
17
-
18
- describe('ButtonPrimary Tests', () => {
19
- it('should render Button with given Text', async () => {
20
- render(
21
- <Button primary>Test Button</Button>
22
- )
23
-
24
- expect(screen.getByText('Test Button')).toBeInTheDocument()
25
- expect(screen.queryByRole('button')).toBeInTheDocument()
26
- })
27
-
28
- })
29
-
30
- describe('ButtonDestructive Tests', () => {
31
- it('should render Button with given Text', async () => {
32
- render(
33
- <Button destructive>Test Button</Button>
34
- )
35
-
36
- expect(screen.getByText('Test Button')).toBeInTheDocument()
37
- expect(screen.queryByRole('button')).toBeInTheDocument()
38
- expect(screen.queryByRole('button')).toHaveStyle('background: none')
39
- })
40
-
41
- it('should render Button with given Text', async () => {
42
- render(
43
- <Button destructive primary>Test Button</Button>
44
- )
45
-
46
- expect(screen.getByText('Test Button')).toBeInTheDocument()
47
- expect(screen.queryByRole('button')).toBeInTheDocument()
48
- expect(screen.queryByRole('button')).toHaveStyle(`background: ${Actions.Critical.Default}`)
49
- })
50
-
51
-
52
- })
53
-
54
- describe('ButtonOutline Tests', () => {
55
- it('should render Button with given Text', async () => {
56
- render(
57
- <Button outline>Test Button</Button>
58
- )
59
-
60
- expect(screen.getByText('Test Button')).toBeInTheDocument()
61
- expect(screen.queryByRole('button')).toBeInTheDocument()
62
- })
63
-
64
- })
65
-
66
- describe('ButtonPlain Tests', () => {
67
- it('should render Button with given Text', async () => {
68
- render(
69
- <Button plain>Test Button</Button>
70
- )
71
-
72
- expect(screen.getByText('Test Button')).toBeInTheDocument()
73
- expect(screen.queryByRole('button')).toBeInTheDocument()
74
- })
75
- })
76
-
77
- })
@@ -1,213 +0,0 @@
1
- import styled, { css } from 'styled-components'
2
- import { FC, is, isDefined, Nothing } from '@helpers'
3
- import { Focused } from '@foundations'
4
- import {
5
- ButtonSizeProps,
6
- getBackgroundColorByType,
7
- getIsDisabled,
8
- getTextColorByType,
9
- getIconColorByType,
10
- getTextColorIfDisabled,
11
- getCursor,
12
- getPaddingBySize,
13
- getBackgroundColorHoverByType,
14
- getTextDecorationHoverByType,
15
- getTextColorOnHoverByType,
16
- getIconColorOnHoverByType,
17
- getBorderByType,
18
- getPaddingByType,
19
- getBackgroundColorDisabledByType,
20
- getBorderDisabledByType,
21
- ButtonType,
22
- getBackgroundColorPressedByType,
23
- getButtonType,
24
- ButtonTypeProps,
25
- } from './button-flags'
26
- import { ComponentType } from 'react'
27
- import { Label } from 'components/typography'
28
- import { Spinner } from 'components/spinner'
29
-
30
- const ButtonFrame = styled.button<
31
- {
32
- backgroundColor: string,
33
- buttonSize: string,
34
- cursor: string,
35
- backgroundHover: string,
36
- textDecorationHover: string,
37
- backgroundPressed: string,
38
- textColorHover: string,
39
- buttonBorder: string,
40
- isDisabled: boolean,
41
- iconColor: string,
42
- iconColorHover: string,
43
- }
44
- >`
45
- padding: ${(props) => props.buttonSize};
46
- border: ${(props) => props.buttonBorder};
47
- border-radius: 6px;
48
- background: ${(props) => props.backgroundColor};
49
- cursor: ${(props) => props.cursor};
50
- display: flex;
51
- flex-direction: row;
52
- justify-content: center;
53
- gap: 8px;
54
- align-items: center;
55
- position: relative;
56
- svg[role='icon'] {
57
- path {
58
- fill: ${(props) => props.iconColor};
59
- }
60
- }
61
-
62
-
63
- ${(props) => !props.isDisabled && css`
64
- &:hover {
65
- background: ${props.backgroundHover};
66
- color: ${props.textColorHover};
67
- text-decoration: ${props.textDecorationHover};
68
- div {
69
- color: ${props.textColorHover};
70
- }
71
- svg[role='icon'] {
72
- path {
73
- fill: ${props.iconColorHover};
74
- }
75
- }
76
- }
77
-
78
- outline-offset: -2px;
79
- &:focus, focus-visible {
80
- outline: 2px solid ${Focused.Default};
81
- }
82
-
83
- &:active {
84
- text-decoration: 'none';
85
- background: ${props.backgroundPressed};
86
- }
87
- `}
88
- `
89
-
90
-
91
- const ButtonText = styled(Label)<{ textColor: string, textColorDisabled: string, isLoading: boolean }>`
92
- color: ${(props) =>
93
- props.textColorDisabled !== '' ? props.textColorDisabled : props.textColor};
94
-
95
- ${(props) =>
96
- props.isLoading
97
- ? `
98
- opacity: 0;
99
- `
100
- : ''}
101
- `
102
-
103
- const IconContainer = styled.div<{ isLoading: boolean }>`
104
- width: 20px;
105
- ${(props) =>
106
- props.isLoading
107
- ? 'visibility: hidden;'
108
- : ''
109
- }
110
- `
111
-
112
- const Loading = styled(Spinner)`
113
- position: absolute;
114
- `
115
-
116
- interface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
117
- loading?: boolean
118
- IconPrefix?: ComponentType
119
- IconSuffix?: ComponentType
120
- children?: string
121
- subtle?: boolean
122
- }
123
-
124
- function makeButtonConfig(props: IButtonProps & ButtonTypeProps & ButtonSizeProps) {
125
- const buttonType = getButtonType(props)
126
- const isDisabled = getIsDisabled(props)
127
- const backgroundColor = isDisabled
128
- ? getBackgroundColorDisabledByType(buttonType)
129
- : getBackgroundColorByType(buttonType)
130
- const buttonPadding = getPaddingBySize(props)
131
- const buttonOverridePadding = getPaddingByType(buttonType)
132
- const cursor = getCursor(props)
133
- const backgroundHover = getBackgroundColorHoverByType(buttonType)
134
- const textDecorationHover = getTextDecorationHoverByType(buttonType)
135
- const backgroundPressed = getBackgroundColorPressedByType(buttonType)
136
- const textColorHover = getTextColorOnHoverByType(buttonType)
137
- const iconColorHover = getIconColorOnHoverByType(buttonType)
138
- const buttonBorder = isDisabled
139
- ? getBorderDisabledByType(buttonType)
140
- : getBorderByType(buttonType)
141
- const buttonSize =
142
- buttonOverridePadding !== '' ? buttonOverridePadding : buttonPadding
143
- const textColor = getTextColorByType(buttonType)
144
- const iconColor = getIconColorByType(buttonType)
145
- const textColorDisabled = getTextColorIfDisabled(props)
146
-
147
- return {
148
- backgroundColor,
149
- buttonSize,
150
- cursor,
151
- backgroundHover,
152
- textDecorationHover,
153
- backgroundPressed,
154
- textColorHover,
155
- iconColorHover,
156
- buttonBorder,
157
- isDisabled,
158
- textColor,
159
- iconColor,
160
- textColorDisabled,
161
- buttonType,
162
- }
163
- }
164
-
165
- export const Button: FC<IButtonProps & ButtonTypeProps & ButtonSizeProps> = (
166
- props
167
- ) => {
168
- const {
169
- children,
170
- loading,
171
- IconPrefix,
172
- IconSuffix,
173
- type = 'button',
174
- ...htmlProps
175
- } = props
176
- const { textColor, textColorDisabled, buttonType, ...buttonConfig } =
177
- makeButtonConfig(props)
178
- return (
179
- <ButtonFrame {...htmlProps} type={type} {...buttonConfig} data-testid="button-test" role="button">
180
- {isDefined(IconPrefix) ? (
181
- <IconContainer isLoading={is(loading)}>
182
- <IconPrefix />
183
- </IconContainer>
184
- ) : <Nothing />}
185
- <ButtonText
186
- strong
187
- textColor={textColor}
188
- textColorDisabled={textColorDisabled}
189
- isLoading={is(loading)}
190
- >
191
- {children}
192
- </ButtonText>
193
- {is(loading) ? (
194
- <Loading
195
- small
196
- onPrimary={
197
- buttonType === ButtonType.primary ||
198
- buttonType === ButtonType.destructivePrimary
199
- }
200
- />
201
- ) : (
202
- ''
203
- )}
204
-
205
- {isDefined(IconSuffix) ? (
206
- <IconContainer isLoading={is(loading)}>
207
- <IconSuffix />
208
- </IconContainer>
209
- ) : <Nothing />}
210
- </ButtonFrame>
211
- )
212
- }
213
-
@@ -1 +0,0 @@
1
- export * from './button'