@edvisor/product-language 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +11271 -0
  3. package/lib/components/alert-banner/alert-banner.d.ts +15 -0
  4. package/lib/components/alert-banner/alert-level-flags.d.ts +18 -0
  5. package/lib/components/alert-banner/index.d.ts +1 -0
  6. package/lib/components/badge/badge-type-flags.d.ts +18 -0
  7. package/lib/components/badge/badge.d.ts +5 -0
  8. package/lib/components/badge/index.d.ts +1 -0
  9. package/{src/lib/components/card/atoms/card-frame.tsx → lib/components/card/atoms/card-frame.d.ts} +7 -16
  10. package/lib/components/card/atoms/index.d.ts +1 -0
  11. package/lib/components/card/card.d.ts +14 -0
  12. package/lib/components/card/components/card-alert-banner-slot.d.ts +6 -0
  13. package/lib/components/card/components/card-controls-slot.d.ts +5 -0
  14. package/lib/components/card/components/card-section-slot.d.ts +11 -0
  15. package/lib/components/card/components/index.d.ts +3 -0
  16. package/lib/components/card/index.d.ts +3 -0
  17. package/lib/components/card/molecules/index.d.ts +1 -0
  18. package/lib/components/card/molecules/left-right-card.d.ts +16 -0
  19. package/lib/components/checkbox/checkbox.d.ts +11 -0
  20. package/lib/components/checkbox/helpers.d.ts +12 -0
  21. package/lib/components/checkbox/index.d.ts +1 -0
  22. package/lib/components/date-picker/components/custom-calendar.d.ts +6 -0
  23. package/lib/components/date-picker/components/index.d.ts +1 -0
  24. package/lib/components/date-picker/date-picker.d.ts +4 -0
  25. package/lib/components/date-picker/helpers/date-picker-factory.d.ts +34 -0
  26. package/lib/components/date-picker/index.d.ts +1 -0
  27. package/lib/components/divider/divider-type-flags.d.ts +9 -0
  28. package/lib/components/divider/divider.d.ts +7 -0
  29. package/lib/components/divider/index.d.ts +1 -0
  30. package/lib/components/flag/flag-size-flags.d.ts +12 -0
  31. package/lib/components/flag/flag.d.ts +9 -0
  32. package/lib/components/flag/flag.list.d.ts +782 -0
  33. package/lib/components/flag/index.d.ts +1 -0
  34. package/lib/components/icon/icon-list.d.ts +132 -0
  35. package/lib/components/icon/icon.d.ts +131 -0
  36. package/lib/components/icon/index.d.ts +1 -0
  37. package/lib/components/index.d.ts +24 -0
  38. package/lib/components/input-field/components/index.d.ts +2 -0
  39. package/lib/components/input-field/components/labeled-input.d.ts +10 -0
  40. package/lib/components/input-field/components/stepper.d.ts +7 -0
  41. package/lib/components/input-field/index.d.ts +3 -0
  42. package/lib/components/input-field/input-field.d.ts +26 -0
  43. package/lib/components/input-field/input-number.d.ts +18 -0
  44. package/lib/components/input-field/input-text.d.ts +14 -0
  45. package/lib/components/layout/flex.d.ts +16 -0
  46. package/lib/components/layout/grid-layout.d.ts +11 -0
  47. package/lib/components/layout/index.d.ts +3 -0
  48. package/lib/components/layout/left-right-layout.d.ts +34 -0
  49. package/lib/components/link/index.d.ts +1 -0
  50. package/lib/components/link/link.d.ts +14 -0
  51. package/lib/components/modal/index.d.ts +3 -0
  52. package/lib/components/modal/modal-base.d.ts +28 -0
  53. package/lib/components/modal/modal-destructive.d.ts +11 -0
  54. package/lib/components/modal/modal.d.ts +13 -0
  55. package/lib/components/molecules/avatar/avatar-size-flags.d.ts +12 -0
  56. package/lib/components/molecules/avatar/avatar.d.ts +12 -0
  57. package/lib/components/molecules/avatar/index.d.ts +1 -0
  58. package/lib/components/molecules/button/button-flags.d.ts +44 -0
  59. package/lib/components/molecules/button/button.d.ts +12 -0
  60. package/lib/components/molecules/button/index.d.ts +1 -0
  61. package/lib/components/molecules/index.d.ts +3 -0
  62. package/lib/components/molecules/input-checkbox/index.d.ts +1 -0
  63. package/lib/components/molecules/input-checkbox/input-checkbox.d.ts +8 -0
  64. package/lib/components/organisms/choice-list/choice-list.d.ts +9 -0
  65. package/lib/components/organisms/choice-list/index.d.ts +1 -0
  66. package/lib/components/organisms/index.d.ts +2 -0
  67. package/lib/components/organisms/multi-choice-list/index.d.ts +1 -0
  68. package/lib/components/organisms/multi-choice-list/multi-choice-list.d.ts +11 -0
  69. package/lib/components/progress-bar/index.d.ts +1 -0
  70. package/lib/components/progress-bar/progress-bar-size-flags.d.ts +10 -0
  71. package/lib/components/progress-bar/progress-bar.d.ts +8 -0
  72. package/lib/components/radio-button/index.d.ts +1 -0
  73. package/lib/components/radio-button/radio-button.d.ts +10 -0
  74. package/lib/components/range-slider/components/bar-chart.d.ts +8 -0
  75. package/lib/components/range-slider/components/handle.d.ts +12 -0
  76. package/lib/components/range-slider/components/rail.d.ts +9 -0
  77. package/lib/components/range-slider/components/slider-component.d.ts +12 -0
  78. package/lib/components/range-slider/components/slider-inputs.d.ts +14 -0
  79. package/lib/components/range-slider/components/tick.d.ts +10 -0
  80. package/lib/components/range-slider/components/track.d.ts +11 -0
  81. package/lib/components/range-slider/index.d.ts +2 -0
  82. package/lib/components/range-slider/range-slider.d.ts +15 -0
  83. package/lib/components/range-slider/slider.d.ts +11 -0
  84. package/lib/components/range-slider/types.d.ts +11 -0
  85. package/lib/components/select/components/helpers.d.ts +17 -0
  86. package/lib/components/select/components/menu-container.d.ts +3 -0
  87. package/lib/components/select/components/menu-list.d.ts +3 -0
  88. package/lib/components/select/components/menu-row.d.ts +9 -0
  89. package/lib/components/select/components/menu.d.ts +3 -0
  90. package/lib/components/select/components/option.d.ts +3 -0
  91. package/lib/components/select/components/select-label.d.ts +1 -0
  92. package/lib/components/select/components/value-component-multi.d.ts +4 -0
  93. package/lib/components/select/components/value-component-single.d.ts +4 -0
  94. package/lib/components/select/components/value.d.ts +4 -0
  95. package/lib/components/select/index.d.ts +3 -0
  96. package/lib/components/select/select.d.ts +10 -0
  97. package/lib/components/select/types.d.ts +133 -0
  98. package/lib/components/select/utils.d.ts +15 -0
  99. package/{src/lib/components/radio-button/index.tsx → lib/components/spinner/index.d.ts} +1 -1
  100. package/lib/components/spinner/spinner-size-flags.d.ts +10 -0
  101. package/lib/components/spinner/spinner.d.ts +9 -0
  102. package/lib/components/tabs/components/index.d.ts +1 -0
  103. package/lib/components/tabs/components/tab.d.ts +8 -0
  104. package/lib/components/tabs/index.d.ts +1 -0
  105. package/lib/components/tabs/tabs.d.ts +16 -0
  106. package/lib/components/tag/components/close-button.d.ts +8 -0
  107. package/lib/components/tag/components/index.d.ts +2 -0
  108. package/lib/components/tag/components/tag-label.d.ts +8 -0
  109. package/lib/components/tag/index.d.ts +1 -0
  110. package/lib/components/tag/tag.d.ts +10 -0
  111. package/lib/components/thumbnail/index.d.ts +1 -0
  112. package/lib/components/thumbnail/thumbnail-size-flags.d.ts +10 -0
  113. package/lib/components/thumbnail/thumbnail.d.ts +10 -0
  114. package/lib/components/tooltip/index.d.ts +1 -0
  115. package/lib/components/tooltip/tooltip.d.ts +26 -0
  116. package/lib/components/tree-view/components/tree-node.d.ts +3 -0
  117. package/lib/components/tree-view/helper.d.ts +12 -0
  118. package/lib/components/tree-view/index.d.ts +2 -0
  119. package/lib/components/tree-view/tree-view.d.ts +3 -0
  120. package/lib/components/tree-view/types.d.ts +63 -0
  121. package/lib/components/typography/index.d.ts +1 -0
  122. package/lib/components/typography/typography.d.ts +24 -0
  123. package/lib/foundations/color-system/base-palette/base-palette.d.ts +76 -0
  124. package/lib/foundations/color-system/base-palette/index.d.ts +1 -0
  125. package/lib/foundations/color-system/color-guidelines/color-guidelines.d.ts +133 -0
  126. package/lib/foundations/color-system/color-guidelines/index.d.ts +1 -0
  127. package/lib/foundations/color-system/components/color-sample.d.ts +17 -0
  128. package/lib/foundations/color-system/components/index.d.ts +1 -0
  129. package/lib/foundations/color-system/index.d.ts +1 -0
  130. package/lib/foundations/index.d.ts +4 -0
  131. package/lib/foundations/shadows/components.d.ts +8 -0
  132. package/lib/foundations/shadows/index.d.ts +1 -0
  133. package/lib/foundations/shadows/shadows.d.ts +8 -0
  134. package/lib/foundations/spacing/index.d.ts +1 -0
  135. package/lib/foundations/spacing/spacing-guidelines.d.ts +33 -0
  136. package/lib/foundations/spacing/spacing.d.ts +18 -0
  137. package/lib/foundations/typography/constants.d.ts +22 -0
  138. package/lib/foundations/typography/fonts.d.ts +1 -0
  139. package/lib/foundations/typography/index.d.ts +1 -0
  140. package/lib/foundations/typography/text-aspect-flags.d.ts +19 -0
  141. package/lib/foundations/typography/typography.d.ts +24 -0
  142. package/lib/helpers/generic-types.d.ts +21 -0
  143. package/lib/helpers/index.d.ts +8 -0
  144. package/lib/helpers/isReactElementOfType.d.ts +8 -0
  145. package/lib/helpers/nothing.d.ts +10 -0
  146. package/{src/lib/helpers/numbers.ts → lib/helpers/numbers.d.ts} +50 -67
  147. package/lib/helpers/safe-navigation.d.ts +17 -0
  148. package/lib/helpers/slots.d.ts +17 -0
  149. package/lib/helpers/strings.d.ts +1 -0
  150. package/lib/helpers/useInputElementState.d.ts +30 -0
  151. package/lib/helpers/useKeyDown.d.ts +1 -0
  152. package/package.json +27 -2
  153. package/.babelrc +0 -12
  154. package/.eslintrc.json +0 -147
  155. package/.release-it.json +0 -17
  156. package/.storybook/main.js +0 -57
  157. package/.storybook/manager.js +0 -7
  158. package/.storybook/preview.js +0 -15
  159. package/.storybook/tsconfig.json +0 -30
  160. package/jest.config.ts +0 -15
  161. package/jest.setup.ts +0 -2
  162. package/project.json +0 -98
  163. package/src/README.md +0 -61
  164. package/src/assets/svg/example_icon.svg +0 -3
  165. package/src/assets/svg/example_icon_white.svg +0 -3
  166. package/src/assets/svg/spinner.svg +0 -3
  167. package/src/assets/svg/spinner_white.svg +0 -3
  168. package/src/helpers/index.ts +0 -4
  169. package/src/helpers/playground.ts +0 -26
  170. package/src/helpers/talesOf.tsx +0 -42
  171. package/src/index.ts +0 -2
  172. package/src/lib/components/README.md +0 -49
  173. package/src/lib/components/alert-banner/alert-banner.test.tsx +0 -93
  174. package/src/lib/components/alert-banner/alert-banner.tsx +0 -117
  175. package/src/lib/components/alert-banner/alert-level-flags.ts +0 -101
  176. package/src/lib/components/alert-banner/index.ts +0 -1
  177. package/src/lib/components/alert-banner/storybook/alert-banner.stories.mdx +0 -67
  178. package/src/lib/components/alert-banner/storybook/components.tsx +0 -124
  179. package/src/lib/components/badge/badge-type-flags.ts +0 -72
  180. package/src/lib/components/badge/badge.test.tsx +0 -29
  181. package/src/lib/components/badge/badge.tsx +0 -22
  182. package/src/lib/components/badge/index.ts +0 -1
  183. package/src/lib/components/badge/stories/badge.stories.mdx +0 -44
  184. package/src/lib/components/badge/stories/components.tsx +0 -49
  185. package/src/lib/components/card/atoms/index.ts +0 -1
  186. package/src/lib/components/card/card.test.tsx +0 -162
  187. package/src/lib/components/card/card.tsx +0 -78
  188. package/src/lib/components/card/components/card-alert-banner-slot.tsx +0 -16
  189. package/src/lib/components/card/components/card-controls-slot.tsx +0 -19
  190. package/src/lib/components/card/components/card-section-slot.tsx +0 -51
  191. package/src/lib/components/card/components/index.ts +0 -3
  192. package/src/lib/components/card/index.ts +0 -3
  193. package/src/lib/components/card/molecules/index.ts +0 -1
  194. package/src/lib/components/card/molecules/left-right-card.test.tsx +0 -89
  195. package/src/lib/components/card/molecules/left-right-card.tsx +0 -63
  196. package/src/lib/components/card/storybook/card.stories.mdx +0 -100
  197. package/src/lib/components/card/storybook/components.tsx +0 -227
  198. package/src/lib/components/checkbox/checkbox.test.tsx +0 -39
  199. package/src/lib/components/checkbox/checkbox.tsx +0 -70
  200. package/src/lib/components/checkbox/helpers.tsx +0 -98
  201. package/src/lib/components/checkbox/index.tsx +0 -1
  202. package/src/lib/components/checkbox/stories/checkbox.stories.mdx +0 -57
  203. package/src/lib/components/checkbox/stories/components.tsx +0 -84
  204. package/src/lib/components/date-picker/components/custom-calendar.tsx +0 -193
  205. package/src/lib/components/date-picker/components/index.ts +0 -1
  206. package/src/lib/components/date-picker/data-picker.test.tsx +0 -220
  207. package/src/lib/components/date-picker/date-picker.tsx +0 -10
  208. package/src/lib/components/date-picker/helpers/date-picker-factory.tsx +0 -210
  209. package/src/lib/components/date-picker/index.ts +0 -1
  210. package/src/lib/components/date-picker/storybook/components.tsx +0 -259
  211. package/src/lib/components/date-picker/storybook/date-picker.stories.mdx +0 -133
  212. package/src/lib/components/divider/divider-type-flags.tsx +0 -37
  213. package/src/lib/components/divider/divider.test.tsx +0 -34
  214. package/src/lib/components/divider/divider.tsx +0 -37
  215. package/src/lib/components/divider/index.tsx +0 -1
  216. package/src/lib/components/divider/stories/components.tsx +0 -13
  217. package/src/lib/components/divider/stories/divider.stories.mdx +0 -44
  218. package/src/lib/components/flag/flag-size-flags.tsx +0 -55
  219. package/src/lib/components/flag/flag.list.tsx +0 -788
  220. package/src/lib/components/flag/flag.test.tsx +0 -65
  221. package/src/lib/components/flag/flag.tsx +0 -97
  222. package/src/lib/components/flag/index.tsx +0 -1
  223. package/src/lib/components/flag/stories/components.tsx +0 -403
  224. package/src/lib/components/flag/stories/flag.stories.mdx +0 -48
  225. package/src/lib/components/flag/stories/playGround-select.tsx +0 -145
  226. package/src/lib/components/icon/icon-list.tsx +0 -135
  227. package/src/lib/components/icon/icon.test.tsx +0 -47
  228. package/src/lib/components/icon/icon.tsx +0 -181
  229. package/src/lib/components/icon/index.tsx +0 -1
  230. package/src/lib/components/icon/stories/components.tsx +0 -282
  231. package/src/lib/components/icon/stories/icon.stories.mdx +0 -65
  232. package/src/lib/components/index.ts +0 -26
  233. package/src/lib/components/input-field/components/index.ts +0 -2
  234. package/src/lib/components/input-field/components/labeled-input.tsx +0 -57
  235. package/src/lib/components/input-field/components/stepper.tsx +0 -64
  236. package/src/lib/components/input-field/index.ts +0 -6
  237. package/src/lib/components/input-field/input-field.test.tsx +0 -107
  238. package/src/lib/components/input-field/input-field.tsx +0 -154
  239. package/src/lib/components/input-field/input-number.tsx +0 -41
  240. package/src/lib/components/input-field/input-text.tsx +0 -30
  241. package/src/lib/components/input-field/storybook/components.tsx +0 -367
  242. package/src/lib/components/input-field/storybook/input-field.stories.mdx +0 -120
  243. package/src/lib/components/layout/flex.tsx +0 -22
  244. package/src/lib/components/layout/grid-layout.tsx +0 -40
  245. package/src/lib/components/layout/index.ts +0 -3
  246. package/src/lib/components/layout/left-right-layout.tsx +0 -67
  247. package/src/lib/components/link/index.ts +0 -1
  248. package/src/lib/components/link/link.test.tsx +0 -29
  249. package/src/lib/components/link/link.tsx +0 -56
  250. package/src/lib/components/link/storybook/link.stories.mdx +0 -52
  251. package/src/lib/components/modal/index.ts +0 -3
  252. package/src/lib/components/modal/modal-base.tsx +0 -129
  253. package/src/lib/components/modal/modal-destructive.tsx +0 -70
  254. package/src/lib/components/modal/modal.test.tsx +0 -138
  255. package/src/lib/components/modal/modal.tsx +0 -114
  256. package/src/lib/components/modal/storybook/components.tsx +0 -105
  257. package/src/lib/components/modal/storybook/modal-destructive.stories.mdx +0 -31
  258. package/src/lib/components/modal/storybook/modal.stories.mdx +0 -50
  259. package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +0 -55
  260. package/src/lib/components/molecules/avatar/avatar.test.tsx +0 -114
  261. package/src/lib/components/molecules/avatar/avatar.tsx +0 -80
  262. package/src/lib/components/molecules/avatar/index.tsx +0 -1
  263. package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +0 -52
  264. package/src/lib/components/molecules/avatar/stories/components.tsx +0 -36
  265. package/src/lib/components/molecules/button/button-flags.tsx +0 -340
  266. package/src/lib/components/molecules/button/button.test.tsx +0 -77
  267. package/src/lib/components/molecules/button/button.tsx +0 -212
  268. package/src/lib/components/molecules/button/index.tsx +0 -1
  269. package/src/lib/components/molecules/button/stories/button.stories.mdx +0 -105
  270. package/src/lib/components/molecules/button/stories/components.tsx +0 -90
  271. package/src/lib/components/molecules/index.ts +0 -3
  272. package/src/lib/components/molecules/input-checkbox/index.tsx +0 -1
  273. package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +0 -34
  274. package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +0 -50
  275. package/src/lib/components/molecules/input-checkbox/stories/components.tsx +0 -53
  276. package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +0 -49
  277. package/src/lib/components/organisms/choice-list/choice-list.test.tsx +0 -36
  278. package/src/lib/components/organisms/choice-list/choice-list.tsx +0 -72
  279. package/src/lib/components/organisms/choice-list/index.tsx +0 -1
  280. package/src/lib/components/organisms/choice-list/stories/choice-list.stories.mdx +0 -57
  281. package/src/lib/components/organisms/choice-list/stories/components.tsx +0 -45
  282. package/src/lib/components/organisms/index.ts +0 -2
  283. package/src/lib/components/organisms/multi-choice-list/index.tsx +0 -1
  284. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +0 -33
  285. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +0 -53
  286. package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +0 -124
  287. package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +0 -99
  288. package/src/lib/components/progress-bar/index.ts +0 -1
  289. package/src/lib/components/progress-bar/progress-bar-size-flags.tsx +0 -37
  290. package/src/lib/components/progress-bar/progress-bar.test.tsx +0 -66
  291. package/src/lib/components/progress-bar/progress-bar.tsx +0 -42
  292. package/src/lib/components/progress-bar/storybook/components.tsx +0 -62
  293. package/src/lib/components/progress-bar/storybook/progress-bar.stories.mdx +0 -43
  294. package/src/lib/components/radio-button/radio-button.tsx +0 -135
  295. package/src/lib/components/radio-button/radio.test.tsx +0 -59
  296. package/src/lib/components/radio-button/stories/components.tsx +0 -36
  297. package/src/lib/components/radio-button/stories/radio-button.stories.mdx +0 -44
  298. package/src/lib/components/range-slider/components/bar-chart.tsx +0 -50
  299. package/src/lib/components/range-slider/components/handle.tsx +0 -58
  300. package/src/lib/components/range-slider/components/rail.tsx +0 -44
  301. package/src/lib/components/range-slider/components/slider-component.tsx +0 -98
  302. package/src/lib/components/range-slider/components/slider-inputs.tsx +0 -150
  303. package/src/lib/components/range-slider/components/tick.tsx +0 -51
  304. package/src/lib/components/range-slider/components/track.tsx +0 -67
  305. package/src/lib/components/range-slider/index.tsx +0 -2
  306. package/src/lib/components/range-slider/range-slider.test.tsx +0 -185
  307. package/src/lib/components/range-slider/range-slider.tsx +0 -132
  308. package/src/lib/components/range-slider/slider.test.tsx +0 -89
  309. package/src/lib/components/range-slider/slider.tsx +0 -80
  310. package/src/lib/components/range-slider/stories/components.tsx +0 -179
  311. package/src/lib/components/range-slider/stories/range-slider.stories.mdx +0 -84
  312. package/src/lib/components/range-slider/types.ts +0 -18
  313. package/src/lib/components/select/components/menu-container.tsx +0 -69
  314. package/src/lib/components/select/components/menu-list.tsx +0 -195
  315. package/src/lib/components/select/components/menu-row.tsx +0 -43
  316. package/src/lib/components/select/components/menu.tsx +0 -151
  317. package/src/lib/components/select/components/option.tsx +0 -91
  318. package/src/lib/components/select/components/select-label.tsx +0 -10
  319. package/src/lib/components/select/components/value-component-multi.tsx +0 -40
  320. package/src/lib/components/select/components/value-component-single.tsx +0 -27
  321. package/src/lib/components/select/components/value.tsx +0 -370
  322. package/src/lib/components/select/index.tsx +0 -3
  323. package/src/lib/components/select/select.test.tsx +0 -148
  324. package/src/lib/components/select/select.tsx +0 -337
  325. package/src/lib/components/select/storybook/components.tsx +0 -999
  326. package/src/lib/components/select/storybook/radio-group.tsx +0 -157
  327. package/src/lib/components/select/storybook/select.stories.mdx +0 -172
  328. package/src/lib/components/select/types.ts +0 -149
  329. package/src/lib/components/select/utils.ts +0 -101
  330. package/src/lib/components/spinner/index.tsx +0 -1
  331. package/src/lib/components/spinner/spinner-size-flags.tsx +0 -39
  332. package/src/lib/components/spinner/spinner.test.tsx +0 -31
  333. package/src/lib/components/spinner/spinner.tsx +0 -54
  334. package/src/lib/components/spinner/stories/components.tsx +0 -39
  335. package/src/lib/components/spinner/stories/spinner.stories.mdx +0 -35
  336. package/src/lib/components/tabs/components/index.ts +0 -1
  337. package/src/lib/components/tabs/components/tab.tsx +0 -85
  338. package/src/lib/components/tabs/index.tsx +0 -1
  339. package/src/lib/components/tabs/storybook/components.tsx +0 -317
  340. package/src/lib/components/tabs/storybook/tabs.stories.mdx +0 -105
  341. package/src/lib/components/tabs/tabs.test.tsx +0 -86
  342. package/src/lib/components/tabs/tabs.tsx +0 -115
  343. package/src/lib/components/tag/components/close-button.tsx +0 -85
  344. package/src/lib/components/tag/components/index.ts +0 -2
  345. package/src/lib/components/tag/components/tag-label.tsx +0 -45
  346. package/src/lib/components/tag/index.tsx +0 -1
  347. package/src/lib/components/tag/stories/components.tsx +0 -86
  348. package/src/lib/components/tag/stories/tag.stories.mdx +0 -42
  349. package/src/lib/components/tag/tag.test.tsx +0 -36
  350. package/src/lib/components/tag/tag.tsx +0 -33
  351. package/src/lib/components/thumbnail/index.tsx +0 -1
  352. package/src/lib/components/thumbnail/stories/thumbnail.stories.mdx +0 -44
  353. package/src/lib/components/thumbnail/thumbnail-size-flags.tsx +0 -41
  354. package/src/lib/components/thumbnail/thumbnail.test.tsx +0 -51
  355. package/src/lib/components/thumbnail/thumbnail.tsx +0 -44
  356. package/src/lib/components/tooltip/index.tsx +0 -1
  357. package/src/lib/components/tooltip/stories/components.tsx +0 -224
  358. package/src/lib/components/tooltip/stories/tooltip.stories.mdx +0 -63
  359. package/src/lib/components/tooltip/tooltip.test.tsx +0 -22
  360. package/src/lib/components/tooltip/tooltip.tsx +0 -179
  361. package/src/lib/components/tree-view/components/tree-node.tsx +0 -203
  362. package/src/lib/components/tree-view/helper.tsx +0 -171
  363. package/src/lib/components/tree-view/index.ts +0 -2
  364. package/src/lib/components/tree-view/stories/components.tsx +0 -640
  365. package/src/lib/components/tree-view/stories/tree-view.stories.mdx +0 -127
  366. package/src/lib/components/tree-view/tree-view.test.tsx +0 -146
  367. package/src/lib/components/tree-view/tree-view.tsx +0 -168
  368. package/src/lib/components/tree-view/types.tsx +0 -70
  369. package/src/lib/components/typography/index.ts +0 -1
  370. package/src/lib/components/typography/storybook/components.tsx +0 -288
  371. package/src/lib/components/typography/storybook/typography.stories.mdx +0 -90
  372. package/src/lib/components/typography/typography.test.tsx +0 -97
  373. package/src/lib/components/typography/typography.tsx +0 -99
  374. package/src/lib/foundations/color-system/base-palette/base-palette.stories.tsx +0 -123
  375. package/src/lib/foundations/color-system/base-palette/base-palette.ts +0 -93
  376. package/src/lib/foundations/color-system/base-palette/index.ts +0 -1
  377. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.mdx +0 -85
  378. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.tsx +0 -231
  379. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.ts +0 -160
  380. package/src/lib/foundations/color-system/color-guidelines/index.ts +0 -1
  381. package/src/lib/foundations/color-system/components/color-sample.tsx +0 -99
  382. package/src/lib/foundations/color-system/components/index.ts +0 -1
  383. package/src/lib/foundations/color-system/index.ts +0 -1
  384. package/src/lib/foundations/index.ts +0 -4
  385. package/src/lib/foundations/shadows/components.tsx +0 -59
  386. package/src/lib/foundations/shadows/index.ts +0 -1
  387. package/src/lib/foundations/shadows/shadows.stories.mdx +0 -71
  388. package/src/lib/foundations/shadows/shadows.tsx +0 -47
  389. package/src/lib/foundations/spacing/index.ts +0 -1
  390. package/src/lib/foundations/spacing/spacing-guidelines.ts +0 -37
  391. package/src/lib/foundations/spacing/spacing.stories.mdx +0 -51
  392. package/src/lib/foundations/spacing/spacing.ts +0 -18
  393. package/src/lib/foundations/typography/constants.ts +0 -25
  394. package/src/lib/foundations/typography/fonts.ts +0 -205
  395. package/src/lib/foundations/typography/index.tsx +0 -1
  396. package/src/lib/foundations/typography/text-aspect-flags.ts +0 -61
  397. package/src/lib/foundations/typography/typography.tsx +0 -102
  398. package/src/lib/helpers/generic-types.ts +0 -44
  399. package/src/lib/helpers/index.ts +0 -8
  400. package/src/lib/helpers/isReactElementOfType.test.tsx +0 -108
  401. package/src/lib/helpers/isReactElementOfType.ts +0 -42
  402. package/src/lib/helpers/nothing.tsx +0 -22
  403. package/src/lib/helpers/safe-navigation.ts +0 -57
  404. package/src/lib/helpers/slots.tsx +0 -126
  405. package/src/lib/helpers/strings.test.ts +0 -47
  406. package/src/lib/helpers/strings.ts +0 -16
  407. package/src/lib/helpers/useInputElementState.ts +0 -56
  408. package/src/lib/helpers/useKeyDown.ts +0 -17
  409. package/tsconfig.json +0 -35
  410. package/tsconfig.lib.json +0 -28
  411. package/tsconfig.spec.json +0 -21
@@ -1,210 +0,0 @@
1
- import { InputHTMLAttributes } from 'react'
2
- import { DateObject } from 'react-multi-date-picker'
3
- import styled from 'styled-components'
4
-
5
- import { Margin } from '@foundations'
6
- import { applyProps, FC, getSlot, isNothing, isDefined, Nothing, Slot, getOtherChildren, toArray, PropsWithChildren, first, isNil, isFunction, defaultTo, is, useInputElementState, isString } from '@helpers'
7
-
8
- import { InputField as InputFieldBase } from '../../input-field'
9
- import { IconMinor } from '../../icon'
10
- import { CustomCalendar } from '../components'
11
-
12
- const InputDatePicker = styled.div`
13
- position: relative;
14
- `
15
-
16
- const Calendar = styled(CustomCalendar)`
17
- position: absolute;
18
- `
19
-
20
- const InputField = styled(InputFieldBase)`
21
- margin-bottom: ${Margin.xxs};
22
- `
23
-
24
- const DEFAULT_DATE_FORMAT = 'YYYY-MM-DD'
25
-
26
- export type DateFormatter<T> = (props: { date: T | undefined, defaultFormatter: (date: T, format?: string) => string}) => string
27
-
28
- type HTMLProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'min' | 'max'>
29
-
30
- export type IDatePickerProps<T> = PropsWithChildren & HTMLProps & {
31
- value?: T
32
- defaultValue?: T
33
- onChange?: (change: T) => void
34
- onClick?: () => void
35
-
36
- isAvailable?: (props: { date: T, isSameDate: (date: T, other: T) => boolean }) => boolean
37
-
38
- isOpen?: boolean
39
- defaultOpen?: boolean
40
-
41
- label?: string
42
- format?: string | DateFormatter<T>
43
- min?: T
44
- max?: T
45
- }
46
-
47
- class ControlsSlot extends Slot {}
48
-
49
- export type IDatePickerSlots = {
50
- Controls: typeof ControlsSlot
51
- }
52
-
53
- export function datePickerFactory<T>({
54
- fromDate,
55
- toDate,
56
- empty,
57
- }: {
58
- fromDate: (date: Date | undefined) => T,
59
- toDate: (obj: T) => Date,
60
- empty: (obj: T) => boolean,
61
- }): FC<IDatePickerProps<T>, IDatePickerSlots> {
62
-
63
- const ConcreteDatePicker: FC<IDatePickerProps<T>, IDatePickerSlots> = (props) => {
64
- const {
65
- value: valueProp,
66
- defaultValue,
67
- onChange: onChangeProp,
68
- onClick,
69
- isAvailable = () => true,
70
- isOpen,
71
- defaultOpen,
72
- label,
73
- format,
74
- children,
75
- min,
76
- max,
77
- ...HTMLInputProps
78
- } = props
79
-
80
- const [value, onChange] = useInputElementState<T>({
81
- value: valueProp,
82
- defaultValue,
83
- onChange: onChangeProp,
84
- })
85
- const [open, setOpen] = useInputElementState<boolean>({
86
- value: isOpen,
87
- defaultValue: defaultOpen,
88
- onChange: onClick,
89
- })
90
-
91
- const controls = getSlot(ControlsSlot, children)
92
- const calendarChildren = getOtherChildren(children)
93
-
94
- // eslint-disable-next-line @typescript-eslint/ban-types
95
- const handleChange = (selectedDates: DateObject | DateObject[] | null) => {
96
- const date = first(toArray(selectedDates))
97
- const change = fromDate(date?.toDate())
98
-
99
- onChange(change)
100
-
101
- if (isNil(props.isOpen)) {
102
- // we don't want to override the user's custom open/close behaviour
103
- setOpen(false)
104
- }
105
- }
106
-
107
- return (
108
- <InputDatePicker>
109
- {!isNothing(controls) ? (
110
- applyProps(controls.props.children, (childProps: { onClick: () => void, role: string }) => ({
111
- ...childProps,
112
- onClick: isDefined(childProps.onClick) ? childProps.onClick : () => setOpen(!is(open)),
113
- role: 'combobox',
114
- }))
115
- ) : (
116
- <InputField
117
- role={'combobox'}
118
- placeholder={isNil(value) || empty(value) ? formatDate(value, props.format) : ''}
119
- {...HTMLInputProps}
120
- readOnly={isDefined(value) && !empty(value)}
121
- value={isNil(value) || empty(value) ? '' : formatDate(value, props.format)}
122
- onChange={() => undefined}
123
- onClick={() => setOpen(!is(open))}
124
- label={props.label}
125
- >
126
- <InputField.Icon>
127
- <IconMinor.Calendar />
128
- </InputField.Icon>
129
- </InputField>
130
- )}
131
- {is(open) ? /** temporary fix while we wait for https://github.com/shahabyazdi/react-multi-date-picker/pull/153 */ (
132
- <div role='dialog'>
133
- <Calendar
134
- readOnly={isDefined(props.value) && isNil(props.onChange)}
135
- renderButton={renderArrows}
136
- mapDays={({ date, isSameDate }) => {
137
- return {
138
- ...date,
139
- disabled: !isAvailable({
140
- date: fromDate(date.toDate()),
141
- isSameDate: (a, b) =>
142
- isSameDate(
143
- toDateObject(a),
144
- toDateObject(b)
145
- ),
146
- }),
147
- }
148
- }}
149
- value={
150
- (isNil(value) || empty(value)) ? undefined : toDateObject(value)
151
- }
152
- minDate={isDefined(min) ? toDate(min) : undefined}
153
- maxDate={isDefined(max) ? toDate(max) : undefined}
154
- children={calendarChildren}
155
- onChange={handleChange}
156
- numberOfMonths={1}
157
- />
158
- </div>
159
- ) : (
160
- <Nothing />
161
- )}
162
- </InputDatePicker>
163
- )
164
- }
165
-
166
- ConcreteDatePicker.Controls = ControlsSlot
167
- ConcreteDatePicker.displayName = 'DatePicker'
168
-
169
- return ConcreteDatePicker
170
-
171
- function toDateObject(date: T): DateObject {
172
- return new DateObject(toDate(date))
173
- }
174
-
175
- function defaultFormatter (date: T, format?: string): string {
176
- if (isNil(date)) {
177
- return ''
178
- }
179
-
180
- return toDateObject(date).format(defaultTo(format, DEFAULT_DATE_FORMAT))
181
- }
182
-
183
- function formatDate(date: T | undefined, format?: string | DateFormatter<T>): string {
184
- if (isFunction(format)) {
185
- return format({ date, defaultFormatter })
186
- }
187
-
188
- if (isNil(date) || empty(date)) {
189
- // same behavior as html input type='date', it shows the format
190
- // even though if you open the picker it goes to TODAY
191
- return isString(format) ? format : DEFAULT_DATE_FORMAT
192
- }
193
-
194
- return toDateObject(date).format(
195
- defaultTo(format, DEFAULT_DATE_FORMAT)
196
- )
197
- }
198
- }
199
-
200
- function renderArrows (direction: string, handleClick: () => void) {
201
- return (
202
- <button type='button' onClick={handleClick}>
203
- {direction === 'right' ? (
204
- <IconMinor.ArrowRight />
205
- ) : (
206
- <IconMinor.ArrowLeft />
207
- )}
208
- </button>
209
- )
210
- }
@@ -1 +0,0 @@
1
- export * from './date-picker'
@@ -1,259 +0,0 @@
1
- import { Button, InputField, Label } from '@components'
2
- import { Padding } from '@foundations'
3
- import { isDefined } from '@helpers'
4
- import { OverflowPlayground as Playground } from '@stories'
5
- import styled from 'styled-components'
6
- import { DatePicker } from '../date-picker'
7
- import { datePickerFactory } from '../helpers/date-picker-factory'
8
-
9
- export const DatePickerExample = () => (
10
- <Playground
11
- code={`
12
- <DatePicker label='Start Date' />
13
- `}
14
- providerProps={{
15
- renderAsComponent: true,
16
- scope: {
17
- DatePicker,
18
- InputField,
19
- },
20
- }}
21
- />
22
- )
23
-
24
- export const DatePickerFormatExample = () => (
25
- <Playground
26
- code={`
27
- const [value, setValue] = useState(new Date().toISOString());
28
-
29
- <>
30
- <div>You Chose: {value}</div>
31
- <DatePicker format={undefined} value={value} onChange={setValue} />
32
- <DatePicker format='MMMM D, YYYY' value={value} onChange={setValue} />
33
- <DatePicker format={({ date }) => 'Today is: ' + date} value={value} onChange={setValue} />
34
- </>
35
- `}
36
- providerProps={{
37
- renderAsComponent: true,
38
- scope: {
39
- DatePicker,
40
- InputField,
41
- },
42
- }}
43
- />
44
- )
45
-
46
- export const DatePickerAvailableDatesExample = () => (
47
- <Playground
48
- code={`
49
- const today = new Date().toISOString()
50
- const tomorrow = new Date(today)
51
- tomorrow.setDate(tomorrow.getDate() + 1)
52
-
53
- const isUnavailable = ({ date }) => new Date(date).getDay() === 6 || new Date(date).getDay() === 0;
54
- const isTomorrow = ({ date, isSameDate }) => isSameDate(date, tomorrow);
55
-
56
- <>
57
- <div>No weekends, and we can do same day but not next day.</div>
58
- <DatePicker min={today} isAvailable={(props) => !isUnavailable(props) && !isTomorrow(props)} />
59
- </>
60
- `}
61
- providerProps={{
62
- renderAsComponent: true,
63
- scope: {
64
- DatePicker,
65
- InputField,
66
- },
67
- }}
68
- />
69
- )
70
-
71
- export const DatePickerControlledExample = () => (
72
- <Playground
73
- code={`
74
- const [value, setValue] = useState(new Date().toISOString());
75
-
76
- <>
77
- <div>You chose: {value}</div>
78
- <DatePicker value={value} onChange={setValue} label='Start Date' />
79
- </>
80
- `}
81
- providerProps={{
82
- renderAsComponent: true,
83
- scope: {
84
- DatePicker,
85
- InputField,
86
- },
87
- }}
88
- />
89
- )
90
-
91
- export const DatePickerControlledOpenExample = () => (
92
- <Playground
93
- code={`
94
- const [open, setOpen] = useState(false);
95
-
96
- <>
97
- <Button onClick={() => setOpen(!open)}>{open ? 'Close' : 'Open'} Sesame!</Button>
98
- <DatePicker isOpen={open} onClick={() => setOpen(!open)} label='Start Date' />
99
- </>
100
- `}
101
- providerProps={{
102
- renderAsComponent: true,
103
- scope: {
104
- Button,
105
- DatePicker,
106
- InputField,
107
- },
108
- }}
109
- />
110
- )
111
-
112
- export const DatePickerCustomHandleExample = () => (
113
- <Playground
114
- code={`
115
- <DatePicker>
116
- <DatePicker.Controls>
117
- <Label>Click Me</Label>
118
- </DatePicker.Controls>
119
- </DatePicker>
120
- `}
121
- providerProps={{
122
- renderAsComponent: true,
123
- scope: {
124
- DatePicker,
125
- Label,
126
- },
127
- }}
128
- />
129
- )
130
-
131
- const Controls = styled.div`
132
- padding: ${Padding.l};
133
- `
134
-
135
- export const DatePickerWithExtraStuffInTheCalendar = () => (
136
- <Playground
137
- code={`
138
- const [open, setOpen] = useState(false)
139
- const [value, setValue] = useState(new Date().toISOString())
140
- const [draft, setDraft] = useState(value);
141
- const publish = (date) => {
142
- setValue(date)
143
- setDraft(date)
144
- }
145
-
146
- const NULL_DATE = ''
147
- const format = ({ date, defaultFormatter }) => date === NULL_DATE
148
- ? 'Next Available'
149
- : defaultFormatter(date, 'MMMM D, YYYY');
150
-
151
- <>
152
- <DatePicker
153
- format={format}
154
- value={draft}
155
- onChange={setDraft}
156
- label='Start Date'
157
- isOpen={open}
158
- onClick={setOpen}
159
- >
160
- <Controls>
161
- <Button onClick={() => publish(NULL_DATE)}>Next Available</Button>
162
- <Button onClick={() => { setDraft(value); setOpen(false) }}>Cancel</Button>
163
- <Button onClick={() => { publish(draft); setOpen(false) }}>Confirm</Button>
164
- </Controls>
165
- </DatePicker>
166
- </>
167
- `}
168
- providerProps={{
169
- renderAsComponent: true,
170
- scope: {
171
- DatePicker,
172
- Controls,
173
- Button,
174
- InputField,
175
- },
176
- }}
177
- />
178
- )
179
-
180
- const EpochDatePicker = datePickerFactory<number>({
181
- toDate: (n) => new Date(n),
182
- fromDate: (date) => isDefined(date) ? date.valueOf() : 0,
183
- empty: (date) => date.valueOf() === 0,
184
- })
185
-
186
- export const DatePickerFactoryExample = () => (
187
- <Playground
188
- code={`
189
- const [open, setOpen] = useState(false)
190
- const [value, setValue] = useState(new Date().valueOf())
191
- const [draft, setDraft] = useState(value)
192
- const publish = (date) => {
193
- setValue(date)
194
- setDraft(date)
195
- }
196
-
197
- const format = ({ date, defaultFormatter }) => date.valueOf() === 0
198
- ? 'Next Available'
199
- : defaultFormatter(date, 'MMMM D, YYYY');
200
-
201
- <>
202
- You Chose: {value}
203
- <EpochDatePicker
204
- format={format}
205
- value={draft}
206
- onChange={setDraft}
207
- label='Start Date'
208
- isOpen={open}
209
- onClick={setOpen}
210
- >
211
- <Controls>
212
- <Button onClick={() => publish(0)}>Next Available</Button>
213
- <Button onClick={() => { setDraft(value); setOpen(false) }}>Cancel</Button>
214
- <Button onClick={() => { publish(draft); setOpen(false) }}>Confirm</Button>
215
- </Controls>
216
- </EpochDatePicker>
217
- </>
218
- `}
219
- providerProps={{
220
- renderAsComponent: true,
221
- scope: {
222
- EpochDatePicker,
223
- Controls,
224
- Button,
225
- InputField,
226
- },
227
- }}
228
- />
229
- )
230
-
231
- export const DatePickerFormExample = () => (
232
- <Playground
233
- code={`
234
- const [min, setMin] = useState(new Date().toISOString())
235
- const [max, setMax] = useState(new Date().toISOString());
236
-
237
- <form onSubmit={(e) => e.preventDefault()}>
238
- <DatePicker max={max} label='min' value={min} onChange={setMin} />
239
- <DatePicker min={min} label='max' value={max} onChange={setMax} />
240
- <DatePicker
241
- label='Start Date'
242
- required
243
- min={min}
244
- max={max}
245
- />
246
- <Button primary type='submit'>Submit</Button>
247
- </form>
248
- `}
249
- providerProps={{
250
- renderAsComponent: true,
251
- scope: {
252
- DatePicker,
253
- Button,
254
- InputField,
255
- Label,
256
- },
257
- }}
258
- />
259
- )
@@ -1,133 +0,0 @@
1
- import { Meta, Canvas } from '@storybook/addon-docs';
2
- import { AlertBanner } from 'components/alert-banner'
3
- import {
4
- DatePickerExample,
5
- DatePickerFormatExample,
6
- DatePickerCustomHandleExample,
7
- DatePickerRangeExample,
8
- DatePickerControlledExample,
9
- DatePickerControlledOpenExample,
10
- DatePickerWithExtraStuffInTheCalendar,
11
- DatePickerFactoryExample,
12
- DatePickerAvailableDatesExample,
13
- DatePickerFormExample,
14
- } from './components'
15
- import { DatePicker } from '../date-picker'
16
-
17
- <Meta title="Components/Date Picker"/>
18
-
19
- # Date Picker
20
-
21
- Date Pickers let merchants choose dates from a visual calendar that’s consistently applied wherever dates need to be selected across Edvisor. For more details refer to <a href='https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=734%3A7365&t=Cz5qnAbrJNBJj8b1-0'>figma</a>.
22
-
23
- ## How to Use It
24
-
25
- ```tsx
26
- import { DatePicker } from '@edvisor/product-language'
27
-
28
- <DatePicker />
29
- ```
30
-
31
- ### Uncontrolled
32
-
33
- Drop it into your project uncontrolled.
34
-
35
- <DatePickerExample />
36
-
37
- ### Controlled
38
-
39
- Add state to control the date picker. By default the DatePicker takes a string as value.
40
-
41
- <DatePickerControlledExample />
42
-
43
- ### Familiar HTML Input Interface
44
-
45
- Wrap it in a form and mark it required. Pass in a min/max to restrict input to that range.
46
-
47
- <DatePickerFormExample />
48
-
49
- ### Specify Available Dates
50
-
51
- In addition to the min/max prop, you can pass in an `isAvailable` callback to apply specific restrictions.
52
-
53
- <DatePickerAvailableDatesExample />
54
-
55
- ## Props
56
-
57
- extends `InputHTMLAttributes<HTMLInputElement>` except where described below.
58
-
59
- | Prop | Type | Description |
60
- | --------------- | --------------------------- | ------------------------------------------------- |
61
- | `value?` | `string` | The date |
62
- | `defaultValue?` | `string` | Provide a value for the uncontrolled component |
63
- | `onChange?` | `(change: string) => void` | Receive the value when it changes |
64
- | `min?` | `string` | The earliest date the user can choose |
65
- | `max?` | `string` | The latest date the user can choose |
66
- | `isAvailable?` | `(date: string) => boolean` | A predicate that determines if a date is disabled |
67
-
68
- ## Customization
69
-
70
- The default is sufficient for most cases, but you can also customize the DatePicker.
71
-
72
- ### Custom Open/Close
73
-
74
- By controlling the open state you can open or close the input from outside.
75
-
76
- <DatePickerControlledOpenExample />
77
-
78
- ### Custom Format
79
-
80
- Pass in a format string or a custom formatting function. This only affects the visual format of the data.
81
-
82
- <DatePickerFormatExample />
83
-
84
- ### Custom Input/Handle
85
-
86
- The input/handle can be replaced using the Controls slot.
87
-
88
- <DatePickerCustomHandleExample />
89
-
90
- ### Custom Calendar Controls
91
-
92
- Children are rendered inside the calendar>
93
-
94
- <DatePickerWithExtraStuffInTheCalendar />
95
-
96
- ### Props
97
-
98
- | Prop | Type | Description |
99
- | ---------- | ------------------------ | ------------------------------------------------ |
100
- | `isOpen?` | `boolean` | Determines if the Calendar is visible |
101
- | `onClick?` | `() => void` | Called when the input/handle is clicked |
102
- | `format?` | `string | DateFormatter` | Called to render the date visually in the handle |
103
-
104
- ### Slots
105
-
106
- | Slot | Description |
107
- | ---------- | -------------------------------------------- |
108
- | `Controls` | Completely replaces the default input/handle |
109
- | `children` | Adds UI elements inside the Calendar |
110
-
111
- ## DatePicker Factory
112
-
113
- In all the previous examples, the date picker used string as input and output. You can create a DatePicker for any data type using datePickerFactory. For example, you could use number:
114
-
115
- ```ts
116
- const EpochDatePicker = datePickerFactory<number>({
117
- toDate: (n) => new Date(n),
118
- fromDate: (date) => isDefined(date) ? date.valueOf() : 0,
119
- empty: (date) => date.valueOf() === 0,
120
- })
121
- ```
122
-
123
- This makes it relatively easy to use the DatePicker with date libraries like Luxon.
124
-
125
- <DatePickerFactoryExample />
126
-
127
- ## Props
128
-
129
- | Prop | Type | Description |
130
- | ---------- | ------------------------- | ---------------------------------------------------------------------------------- |
131
- | `toDate` | `(el: T) => Date` | Maps your type to date |
132
- | `fromDate` | `(date: Date) => T` | Maps date to your type |
133
- | `empty` | `(date: Date) => boolean` | Returns true if you give it the empty element of your type (such as '' for string) |
@@ -1,37 +0,0 @@
1
- // this file was generated, but it is safe to modify
2
- import { bitwiseOr, MappedEnum, RequireOnlyOne, PropsWithChildren } from '@helpers'
3
- import { Borders } from '@foundations'
4
-
5
- const enum DividerType {
6
- default = 1,
7
- subdued = 2,
8
- }
9
-
10
- type DividerTypes<T> = MappedEnum<typeof DividerType, T>
11
-
12
- function toDividerType(n: number): DividerType {
13
- switch (n) {
14
- case DividerType.default:
15
- return DividerType.default
16
- case DividerType.subdued:
17
- return DividerType.subdued
18
- default:
19
- return DividerType.default
20
- }
21
- }
22
-
23
- const DividerTypeColor = {
24
- [DividerType.default]: Borders.Default.Default,
25
- [DividerType.subdued]: Borders.Default.Subdued,
26
- }
27
-
28
- export type DivideTypeProps = Partial<RequireOnlyOne<DividerTypes<boolean>>> &
29
- PropsWithChildren
30
-
31
- export function getColor(props: DivideTypeProps): string {
32
- return DividerTypeColor[
33
- toDividerType(
34
- bitwiseOr([props.default, props.subdued])
35
- )
36
- ]
37
- }
@@ -1,34 +0,0 @@
1
- import { render, screen } from '@testing-library/react'
2
- import { Divider } from './index'
3
- import { Borders } from '@foundations'
4
-
5
- describe('Divider Tests', () => {
6
- describe('Divider Tests', () => {
7
- it('should render the Divider with default color', async () => {
8
- render(
9
- <Divider/>
10
- )
11
-
12
- expect(screen.getByTestId('divider-test')).toBeInTheDocument()
13
- expect(screen.getByTestId('divider-test')).toHaveStyle(`border: 1px solid ${Borders.Default.Default}`)
14
- })
15
-
16
- it('should render the Divider with default color using parameter', async () => {
17
- render(
18
- <Divider default/>
19
- )
20
-
21
- expect(screen.getByTestId('divider-test')).toBeInTheDocument()
22
- expect(screen.getByTestId('divider-test')).toHaveStyle(`border: 1px solid ${Borders.Default.Default}`)
23
- })
24
-
25
- it('should render the Divider with subdued color', async () => {
26
- render(
27
- <Divider subdued/>
28
- )
29
-
30
- expect(screen.getByTestId('divider-test')).toBeInTheDocument()
31
- expect(screen.getByTestId('divider-test')).toHaveStyle(`border: 1px solid ${Borders.Default.Subdued}`)
32
- })
33
- })
34
- })