@edvisor/product-language 0.10.2 → 0.10.4

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 +11339 -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 +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,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,212 +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
- text-decoration: ${props.textDecorationHover};
67
- div {
68
- color: ${props.textColorHover};
69
- }
70
- svg[role='icon'] {
71
- path {
72
- fill: ${props.iconColorHover};
73
- }
74
- }
75
- }
76
-
77
- outline-offset: -2px;
78
- &:focus, focus-visible {
79
- outline: 2px solid ${Focused.Default};
80
- }
81
-
82
- &:active {
83
- text-decoration: 'none';
84
- background: ${props.backgroundPressed};
85
- }
86
- `}
87
- `
88
-
89
-
90
- const ButtonText = styled(Label)<{ textColor: string, textColorDisabled: string, isLoading: boolean }>`
91
- color: ${(props) =>
92
- props.textColorDisabled !== '' ? props.textColorDisabled : props.textColor};
93
-
94
- ${(props) =>
95
- props.isLoading
96
- ? `
97
- opacity: 0;
98
- `
99
- : ''}
100
- `
101
-
102
- const IconContainer = styled.div<{ isLoading: boolean }>`
103
- width: 20px;
104
- ${(props) =>
105
- props.isLoading
106
- ? 'visibility: hidden;'
107
- : ''
108
- }
109
- `
110
-
111
- const Loading = styled(Spinner)`
112
- position: absolute;
113
- `
114
-
115
- interface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
116
- loading?: boolean
117
- IconPrefix?: ComponentType
118
- IconSuffix?: ComponentType
119
- children?: string
120
- subtle?: boolean
121
- }
122
-
123
- function makeButtonConfig(props: IButtonProps & ButtonTypeProps & ButtonSizeProps) {
124
- const buttonType = getButtonType(props)
125
- const isDisabled = getIsDisabled(props)
126
- const backgroundColor = isDisabled
127
- ? getBackgroundColorDisabledByType(buttonType)
128
- : getBackgroundColorByType(buttonType)
129
- const buttonPadding = getPaddingBySize(props)
130
- const buttonOverridePadding = getPaddingByType(buttonType)
131
- const cursor = getCursor(props)
132
- const backgroundHover = getBackgroundColorHoverByType(buttonType)
133
- const textDecorationHover = getTextDecorationHoverByType(buttonType)
134
- const backgroundPressed = getBackgroundColorPressedByType(buttonType)
135
- const textColorHover = getTextColorOnHoverByType(buttonType)
136
- const iconColorHover = getIconColorOnHoverByType(buttonType)
137
- const buttonBorder = isDisabled
138
- ? getBorderDisabledByType(buttonType)
139
- : getBorderByType(buttonType)
140
- const buttonSize =
141
- buttonOverridePadding !== '' ? buttonOverridePadding : buttonPadding
142
- const textColor = getTextColorByType(buttonType)
143
- const iconColor = getIconColorByType(buttonType)
144
- const textColorDisabled = getTextColorIfDisabled(props)
145
-
146
- return {
147
- backgroundColor,
148
- buttonSize,
149
- cursor,
150
- backgroundHover,
151
- textDecorationHover,
152
- backgroundPressed,
153
- textColorHover,
154
- iconColorHover,
155
- buttonBorder,
156
- isDisabled,
157
- textColor,
158
- iconColor,
159
- textColorDisabled,
160
- buttonType,
161
- }
162
- }
163
-
164
- export const Button: FC<IButtonProps & ButtonTypeProps & ButtonSizeProps> = (
165
- props
166
- ) => {
167
- const {
168
- children,
169
- loading,
170
- IconPrefix,
171
- IconSuffix,
172
- type = 'button',
173
- ...htmlProps
174
- } = props
175
- const { textColor, textColorDisabled, buttonType, ...buttonConfig } =
176
- makeButtonConfig(props)
177
- return (
178
- <ButtonFrame {...htmlProps} type={type} {...buttonConfig} data-testid="button-test" role="button">
179
- {isDefined(IconPrefix) ? (
180
- <IconContainer isLoading={is(loading)}>
181
- <IconPrefix />
182
- </IconContainer>
183
- ) : <Nothing />}
184
- <ButtonText
185
- strong
186
- textColor={textColor}
187
- textColorDisabled={textColorDisabled}
188
- isLoading={is(loading)}
189
- >
190
- {children}
191
- </ButtonText>
192
- {is(loading) ? (
193
- <Loading
194
- small
195
- onPrimary={
196
- buttonType === ButtonType.primary ||
197
- buttonType === ButtonType.destructivePrimary
198
- }
199
- />
200
- ) : (
201
- ''
202
- )}
203
-
204
- {isDefined(IconSuffix) ? (
205
- <IconContainer isLoading={is(loading)}>
206
- <IconSuffix />
207
- </IconContainer>
208
- ) : <Nothing />}
209
- </ButtonFrame>
210
- )
211
- }
212
-
@@ -1 +0,0 @@
1
- export * from './button'