@edvisor/product-language 0.10.0 → 0.10.2

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 (410) hide show
  1. package/.babelrc +12 -0
  2. package/.eslintrc.json +147 -0
  3. package/.release-it.json +17 -0
  4. package/.storybook/main.js +57 -0
  5. package/.storybook/manager.js +7 -0
  6. package/.storybook/preview.js +15 -0
  7. package/.storybook/tsconfig.json +30 -0
  8. package/jest.config.ts +15 -0
  9. package/jest.setup.ts +2 -0
  10. package/package.json +2 -27
  11. package/project.json +98 -0
  12. package/src/README.md +61 -0
  13. package/src/assets/svg/example_icon.svg +3 -0
  14. package/src/assets/svg/example_icon_white.svg +3 -0
  15. package/src/assets/svg/spinner.svg +3 -0
  16. package/src/assets/svg/spinner_white.svg +3 -0
  17. package/src/helpers/index.ts +4 -0
  18. package/src/helpers/playground.ts +26 -0
  19. package/src/helpers/talesOf.tsx +42 -0
  20. package/src/index.ts +2 -0
  21. package/src/lib/components/README.md +49 -0
  22. package/src/lib/components/alert-banner/alert-banner.test.tsx +93 -0
  23. package/src/lib/components/alert-banner/alert-banner.tsx +117 -0
  24. package/src/lib/components/alert-banner/alert-level-flags.ts +101 -0
  25. package/src/lib/components/alert-banner/index.ts +1 -0
  26. package/src/lib/components/alert-banner/storybook/alert-banner.stories.mdx +67 -0
  27. package/src/lib/components/alert-banner/storybook/components.tsx +124 -0
  28. package/src/lib/components/badge/badge-type-flags.ts +72 -0
  29. package/src/lib/components/badge/badge.test.tsx +29 -0
  30. package/src/lib/components/badge/badge.tsx +22 -0
  31. package/src/lib/components/badge/index.ts +1 -0
  32. package/src/lib/components/badge/stories/badge.stories.mdx +44 -0
  33. package/src/lib/components/badge/stories/components.tsx +49 -0
  34. package/{lib/components/card/atoms/card-frame.d.ts → src/lib/components/card/atoms/card-frame.tsx} +16 -7
  35. package/src/lib/components/card/atoms/index.ts +1 -0
  36. package/src/lib/components/card/card.test.tsx +162 -0
  37. package/src/lib/components/card/card.tsx +78 -0
  38. package/src/lib/components/card/components/card-alert-banner-slot.tsx +16 -0
  39. package/src/lib/components/card/components/card-controls-slot.tsx +19 -0
  40. package/src/lib/components/card/components/card-section-slot.tsx +51 -0
  41. package/src/lib/components/card/components/index.ts +3 -0
  42. package/src/lib/components/card/index.ts +3 -0
  43. package/src/lib/components/card/molecules/index.ts +1 -0
  44. package/src/lib/components/card/molecules/left-right-card.test.tsx +89 -0
  45. package/src/lib/components/card/molecules/left-right-card.tsx +63 -0
  46. package/src/lib/components/card/storybook/card.stories.mdx +100 -0
  47. package/src/lib/components/card/storybook/components.tsx +227 -0
  48. package/src/lib/components/checkbox/checkbox.test.tsx +39 -0
  49. package/src/lib/components/checkbox/checkbox.tsx +70 -0
  50. package/src/lib/components/checkbox/helpers.tsx +98 -0
  51. package/src/lib/components/checkbox/index.tsx +1 -0
  52. package/src/lib/components/checkbox/stories/checkbox.stories.mdx +57 -0
  53. package/src/lib/components/checkbox/stories/components.tsx +84 -0
  54. package/src/lib/components/date-picker/components/custom-calendar.tsx +193 -0
  55. package/src/lib/components/date-picker/components/index.ts +1 -0
  56. package/src/lib/components/date-picker/data-picker.test.tsx +220 -0
  57. package/src/lib/components/date-picker/date-picker.tsx +10 -0
  58. package/src/lib/components/date-picker/helpers/date-picker-factory.tsx +210 -0
  59. package/src/lib/components/date-picker/index.ts +1 -0
  60. package/src/lib/components/date-picker/storybook/components.tsx +259 -0
  61. package/src/lib/components/date-picker/storybook/date-picker.stories.mdx +133 -0
  62. package/src/lib/components/divider/divider-type-flags.tsx +37 -0
  63. package/src/lib/components/divider/divider.test.tsx +34 -0
  64. package/src/lib/components/divider/divider.tsx +37 -0
  65. package/src/lib/components/divider/index.tsx +1 -0
  66. package/src/lib/components/divider/stories/components.tsx +13 -0
  67. package/src/lib/components/divider/stories/divider.stories.mdx +44 -0
  68. package/src/lib/components/flag/flag-size-flags.tsx +55 -0
  69. package/src/lib/components/flag/flag.list.tsx +788 -0
  70. package/src/lib/components/flag/flag.test.tsx +65 -0
  71. package/src/lib/components/flag/flag.tsx +97 -0
  72. package/src/lib/components/flag/index.tsx +1 -0
  73. package/src/lib/components/flag/stories/components.tsx +403 -0
  74. package/src/lib/components/flag/stories/flag.stories.mdx +48 -0
  75. package/src/lib/components/flag/stories/playGround-select.tsx +145 -0
  76. package/src/lib/components/icon/icon-list.tsx +135 -0
  77. package/src/lib/components/icon/icon.test.tsx +47 -0
  78. package/src/lib/components/icon/icon.tsx +181 -0
  79. package/src/lib/components/icon/index.tsx +1 -0
  80. package/src/lib/components/icon/stories/components.tsx +282 -0
  81. package/src/lib/components/icon/stories/icon.stories.mdx +65 -0
  82. package/src/lib/components/index.ts +26 -0
  83. package/src/lib/components/input-field/components/index.ts +2 -0
  84. package/src/lib/components/input-field/components/labeled-input.tsx +57 -0
  85. package/src/lib/components/input-field/components/stepper.tsx +64 -0
  86. package/src/lib/components/input-field/index.ts +6 -0
  87. package/src/lib/components/input-field/input-field.test.tsx +107 -0
  88. package/src/lib/components/input-field/input-field.tsx +154 -0
  89. package/src/lib/components/input-field/input-number.tsx +41 -0
  90. package/src/lib/components/input-field/input-text.tsx +30 -0
  91. package/src/lib/components/input-field/storybook/components.tsx +367 -0
  92. package/src/lib/components/input-field/storybook/input-field.stories.mdx +120 -0
  93. package/src/lib/components/layout/flex.tsx +22 -0
  94. package/src/lib/components/layout/grid-layout.tsx +40 -0
  95. package/src/lib/components/layout/index.ts +3 -0
  96. package/src/lib/components/layout/left-right-layout.tsx +67 -0
  97. package/src/lib/components/link/index.ts +1 -0
  98. package/src/lib/components/link/link.test.tsx +29 -0
  99. package/src/lib/components/link/link.tsx +56 -0
  100. package/src/lib/components/link/storybook/link.stories.mdx +52 -0
  101. package/src/lib/components/modal/index.ts +3 -0
  102. package/src/lib/components/modal/modal-base.tsx +129 -0
  103. package/src/lib/components/modal/modal-destructive.tsx +70 -0
  104. package/src/lib/components/modal/modal.test.tsx +138 -0
  105. package/src/lib/components/modal/modal.tsx +114 -0
  106. package/src/lib/components/modal/storybook/components.tsx +105 -0
  107. package/src/lib/components/modal/storybook/modal-destructive.stories.mdx +31 -0
  108. package/src/lib/components/modal/storybook/modal.stories.mdx +50 -0
  109. package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +55 -0
  110. package/src/lib/components/molecules/avatar/avatar.test.tsx +114 -0
  111. package/src/lib/components/molecules/avatar/avatar.tsx +80 -0
  112. package/src/lib/components/molecules/avatar/index.tsx +1 -0
  113. package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +52 -0
  114. package/src/lib/components/molecules/avatar/stories/components.tsx +36 -0
  115. package/src/lib/components/molecules/button/button-flags.tsx +340 -0
  116. package/src/lib/components/molecules/button/button.test.tsx +77 -0
  117. package/src/lib/components/molecules/button/button.tsx +212 -0
  118. package/src/lib/components/molecules/button/index.tsx +1 -0
  119. package/src/lib/components/molecules/button/stories/button.stories.mdx +105 -0
  120. package/src/lib/components/molecules/button/stories/components.tsx +90 -0
  121. package/src/lib/components/molecules/index.ts +3 -0
  122. package/src/lib/components/molecules/input-checkbox/index.tsx +1 -0
  123. package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +34 -0
  124. package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +50 -0
  125. package/src/lib/components/molecules/input-checkbox/stories/components.tsx +53 -0
  126. package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +49 -0
  127. package/src/lib/components/organisms/choice-list/choice-list.test.tsx +36 -0
  128. package/src/lib/components/organisms/choice-list/choice-list.tsx +72 -0
  129. package/src/lib/components/organisms/choice-list/index.tsx +1 -0
  130. package/src/lib/components/organisms/choice-list/stories/choice-list.stories.mdx +57 -0
  131. package/src/lib/components/organisms/choice-list/stories/components.tsx +45 -0
  132. package/src/lib/components/organisms/index.ts +2 -0
  133. package/src/lib/components/organisms/multi-choice-list/index.tsx +1 -0
  134. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +33 -0
  135. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +53 -0
  136. package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +124 -0
  137. package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +99 -0
  138. package/src/lib/components/progress-bar/index.ts +1 -0
  139. package/src/lib/components/progress-bar/progress-bar-size-flags.tsx +37 -0
  140. package/src/lib/components/progress-bar/progress-bar.test.tsx +66 -0
  141. package/src/lib/components/progress-bar/progress-bar.tsx +42 -0
  142. package/src/lib/components/progress-bar/storybook/components.tsx +62 -0
  143. package/src/lib/components/progress-bar/storybook/progress-bar.stories.mdx +43 -0
  144. package/{lib/components/spinner/index.d.ts → src/lib/components/radio-button/index.tsx} +1 -1
  145. package/src/lib/components/radio-button/radio-button.tsx +135 -0
  146. package/src/lib/components/radio-button/radio.test.tsx +59 -0
  147. package/src/lib/components/radio-button/stories/components.tsx +36 -0
  148. package/src/lib/components/radio-button/stories/radio-button.stories.mdx +44 -0
  149. package/src/lib/components/range-slider/components/bar-chart.tsx +50 -0
  150. package/src/lib/components/range-slider/components/handle.tsx +58 -0
  151. package/src/lib/components/range-slider/components/rail.tsx +44 -0
  152. package/src/lib/components/range-slider/components/slider-component.tsx +98 -0
  153. package/src/lib/components/range-slider/components/slider-inputs.tsx +150 -0
  154. package/src/lib/components/range-slider/components/tick.tsx +51 -0
  155. package/src/lib/components/range-slider/components/track.tsx +67 -0
  156. package/src/lib/components/range-slider/index.tsx +2 -0
  157. package/src/lib/components/range-slider/range-slider.test.tsx +185 -0
  158. package/src/lib/components/range-slider/range-slider.tsx +132 -0
  159. package/src/lib/components/range-slider/slider.test.tsx +89 -0
  160. package/src/lib/components/range-slider/slider.tsx +80 -0
  161. package/src/lib/components/range-slider/stories/components.tsx +179 -0
  162. package/src/lib/components/range-slider/stories/range-slider.stories.mdx +84 -0
  163. package/src/lib/components/range-slider/types.ts +18 -0
  164. package/src/lib/components/select/components/menu-container.tsx +69 -0
  165. package/src/lib/components/select/components/menu-list.tsx +195 -0
  166. package/src/lib/components/select/components/menu-row.tsx +43 -0
  167. package/src/lib/components/select/components/menu.tsx +151 -0
  168. package/src/lib/components/select/components/option.tsx +91 -0
  169. package/src/lib/components/select/components/select-label.tsx +10 -0
  170. package/src/lib/components/select/components/value-component-multi.tsx +40 -0
  171. package/src/lib/components/select/components/value-component-single.tsx +27 -0
  172. package/src/lib/components/select/components/value.tsx +370 -0
  173. package/src/lib/components/select/index.tsx +3 -0
  174. package/src/lib/components/select/select.test.tsx +148 -0
  175. package/src/lib/components/select/select.tsx +337 -0
  176. package/src/lib/components/select/storybook/components.tsx +999 -0
  177. package/src/lib/components/select/storybook/radio-group.tsx +157 -0
  178. package/src/lib/components/select/storybook/select.stories.mdx +172 -0
  179. package/src/lib/components/select/types.ts +149 -0
  180. package/src/lib/components/select/utils.ts +101 -0
  181. package/src/lib/components/spinner/index.tsx +1 -0
  182. package/src/lib/components/spinner/spinner-size-flags.tsx +39 -0
  183. package/src/lib/components/spinner/spinner.test.tsx +31 -0
  184. package/src/lib/components/spinner/spinner.tsx +54 -0
  185. package/src/lib/components/spinner/stories/components.tsx +39 -0
  186. package/src/lib/components/spinner/stories/spinner.stories.mdx +35 -0
  187. package/src/lib/components/tabs/components/index.ts +1 -0
  188. package/src/lib/components/tabs/components/tab.tsx +85 -0
  189. package/src/lib/components/tabs/index.tsx +1 -0
  190. package/src/lib/components/tabs/storybook/components.tsx +317 -0
  191. package/src/lib/components/tabs/storybook/tabs.stories.mdx +105 -0
  192. package/src/lib/components/tabs/tabs.test.tsx +86 -0
  193. package/src/lib/components/tabs/tabs.tsx +115 -0
  194. package/src/lib/components/tag/components/close-button.tsx +85 -0
  195. package/src/lib/components/tag/components/index.ts +2 -0
  196. package/src/lib/components/tag/components/tag-label.tsx +45 -0
  197. package/src/lib/components/tag/index.tsx +1 -0
  198. package/src/lib/components/tag/stories/components.tsx +86 -0
  199. package/src/lib/components/tag/stories/tag.stories.mdx +42 -0
  200. package/src/lib/components/tag/tag.test.tsx +36 -0
  201. package/src/lib/components/tag/tag.tsx +33 -0
  202. package/src/lib/components/thumbnail/index.tsx +1 -0
  203. package/src/lib/components/thumbnail/stories/thumbnail.stories.mdx +44 -0
  204. package/src/lib/components/thumbnail/thumbnail-size-flags.tsx +41 -0
  205. package/src/lib/components/thumbnail/thumbnail.test.tsx +51 -0
  206. package/src/lib/components/thumbnail/thumbnail.tsx +44 -0
  207. package/src/lib/components/tooltip/index.tsx +1 -0
  208. package/src/lib/components/tooltip/stories/components.tsx +224 -0
  209. package/src/lib/components/tooltip/stories/tooltip.stories.mdx +63 -0
  210. package/src/lib/components/tooltip/tooltip.test.tsx +22 -0
  211. package/src/lib/components/tooltip/tooltip.tsx +179 -0
  212. package/src/lib/components/tree-view/components/tree-node.tsx +203 -0
  213. package/src/lib/components/tree-view/helper.tsx +171 -0
  214. package/src/lib/components/tree-view/index.ts +2 -0
  215. package/src/lib/components/tree-view/stories/components.tsx +640 -0
  216. package/src/lib/components/tree-view/stories/tree-view.stories.mdx +127 -0
  217. package/src/lib/components/tree-view/tree-view.test.tsx +146 -0
  218. package/src/lib/components/tree-view/tree-view.tsx +168 -0
  219. package/src/lib/components/tree-view/types.tsx +70 -0
  220. package/src/lib/components/typography/index.ts +1 -0
  221. package/src/lib/components/typography/storybook/components.tsx +288 -0
  222. package/src/lib/components/typography/storybook/typography.stories.mdx +90 -0
  223. package/src/lib/components/typography/typography.test.tsx +97 -0
  224. package/src/lib/components/typography/typography.tsx +99 -0
  225. package/src/lib/foundations/color-system/base-palette/base-palette.stories.tsx +123 -0
  226. package/src/lib/foundations/color-system/base-palette/base-palette.ts +93 -0
  227. package/src/lib/foundations/color-system/base-palette/index.ts +1 -0
  228. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.mdx +85 -0
  229. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.tsx +231 -0
  230. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.ts +160 -0
  231. package/src/lib/foundations/color-system/color-guidelines/index.ts +1 -0
  232. package/src/lib/foundations/color-system/components/color-sample.tsx +99 -0
  233. package/src/lib/foundations/color-system/components/index.ts +1 -0
  234. package/src/lib/foundations/color-system/index.ts +1 -0
  235. package/src/lib/foundations/index.ts +4 -0
  236. package/src/lib/foundations/shadows/components.tsx +59 -0
  237. package/src/lib/foundations/shadows/index.ts +1 -0
  238. package/src/lib/foundations/shadows/shadows.stories.mdx +71 -0
  239. package/src/lib/foundations/shadows/shadows.tsx +47 -0
  240. package/src/lib/foundations/spacing/index.ts +1 -0
  241. package/src/lib/foundations/spacing/spacing-guidelines.ts +37 -0
  242. package/src/lib/foundations/spacing/spacing.stories.mdx +51 -0
  243. package/src/lib/foundations/spacing/spacing.ts +18 -0
  244. package/src/lib/foundations/typography/constants.ts +25 -0
  245. package/src/lib/foundations/typography/fonts.ts +205 -0
  246. package/src/lib/foundations/typography/index.tsx +1 -0
  247. package/src/lib/foundations/typography/text-aspect-flags.ts +61 -0
  248. package/src/lib/foundations/typography/typography.tsx +102 -0
  249. package/src/lib/helpers/generic-types.ts +44 -0
  250. package/src/lib/helpers/index.ts +8 -0
  251. package/src/lib/helpers/isReactElementOfType.test.tsx +108 -0
  252. package/src/lib/helpers/isReactElementOfType.ts +42 -0
  253. package/src/lib/helpers/nothing.tsx +22 -0
  254. package/{lib/helpers/numbers.d.ts → src/lib/helpers/numbers.ts} +67 -50
  255. package/src/lib/helpers/safe-navigation.ts +57 -0
  256. package/src/lib/helpers/slots.tsx +126 -0
  257. package/src/lib/helpers/strings.test.ts +47 -0
  258. package/src/lib/helpers/strings.ts +16 -0
  259. package/src/lib/helpers/useInputElementState.ts +56 -0
  260. package/src/lib/helpers/useKeyDown.ts +17 -0
  261. package/tsconfig.json +35 -0
  262. package/tsconfig.lib.json +28 -0
  263. package/tsconfig.spec.json +21 -0
  264. package/index.d.ts +0 -2
  265. package/index.js +0 -11246
  266. package/lib/components/alert-banner/alert-banner.d.ts +0 -15
  267. package/lib/components/alert-banner/alert-level-flags.d.ts +0 -18
  268. package/lib/components/alert-banner/index.d.ts +0 -1
  269. package/lib/components/badge/badge-type-flags.d.ts +0 -18
  270. package/lib/components/badge/badge.d.ts +0 -5
  271. package/lib/components/badge/index.d.ts +0 -1
  272. package/lib/components/card/atoms/index.d.ts +0 -1
  273. package/lib/components/card/card.d.ts +0 -14
  274. package/lib/components/card/components/card-alert-banner-slot.d.ts +0 -6
  275. package/lib/components/card/components/card-controls-slot.d.ts +0 -5
  276. package/lib/components/card/components/card-section-slot.d.ts +0 -11
  277. package/lib/components/card/components/index.d.ts +0 -3
  278. package/lib/components/card/index.d.ts +0 -3
  279. package/lib/components/card/molecules/index.d.ts +0 -1
  280. package/lib/components/card/molecules/left-right-card.d.ts +0 -16
  281. package/lib/components/checkbox/checkbox.d.ts +0 -11
  282. package/lib/components/checkbox/helpers.d.ts +0 -12
  283. package/lib/components/checkbox/index.d.ts +0 -1
  284. package/lib/components/date-picker/components/custom-calendar.d.ts +0 -6
  285. package/lib/components/date-picker/components/index.d.ts +0 -1
  286. package/lib/components/date-picker/date-picker.d.ts +0 -4
  287. package/lib/components/date-picker/helpers/date-picker-factory.d.ts +0 -34
  288. package/lib/components/date-picker/index.d.ts +0 -1
  289. package/lib/components/divider/divider-type-flags.d.ts +0 -9
  290. package/lib/components/divider/divider.d.ts +0 -7
  291. package/lib/components/divider/index.d.ts +0 -1
  292. package/lib/components/flag/flag-size-flags.d.ts +0 -12
  293. package/lib/components/flag/flag.d.ts +0 -9
  294. package/lib/components/flag/flag.list.d.ts +0 -782
  295. package/lib/components/flag/index.d.ts +0 -1
  296. package/lib/components/icon/icon-list.d.ts +0 -132
  297. package/lib/components/icon/icon.d.ts +0 -131
  298. package/lib/components/icon/index.d.ts +0 -1
  299. package/lib/components/index.d.ts +0 -24
  300. package/lib/components/input-field/components/index.d.ts +0 -2
  301. package/lib/components/input-field/components/labeled-input.d.ts +0 -10
  302. package/lib/components/input-field/components/stepper.d.ts +0 -7
  303. package/lib/components/input-field/index.d.ts +0 -3
  304. package/lib/components/input-field/input-field.d.ts +0 -26
  305. package/lib/components/input-field/input-number.d.ts +0 -18
  306. package/lib/components/input-field/input-text.d.ts +0 -14
  307. package/lib/components/layout/flex.d.ts +0 -16
  308. package/lib/components/layout/grid-layout.d.ts +0 -11
  309. package/lib/components/layout/index.d.ts +0 -3
  310. package/lib/components/layout/left-right-layout.d.ts +0 -34
  311. package/lib/components/link/index.d.ts +0 -1
  312. package/lib/components/link/link.d.ts +0 -14
  313. package/lib/components/modal/index.d.ts +0 -3
  314. package/lib/components/modal/modal-base.d.ts +0 -28
  315. package/lib/components/modal/modal-destructive.d.ts +0 -11
  316. package/lib/components/modal/modal.d.ts +0 -13
  317. package/lib/components/molecules/avatar/avatar-size-flags.d.ts +0 -12
  318. package/lib/components/molecules/avatar/avatar.d.ts +0 -12
  319. package/lib/components/molecules/avatar/index.d.ts +0 -1
  320. package/lib/components/molecules/button/button-flags.d.ts +0 -44
  321. package/lib/components/molecules/button/button.d.ts +0 -12
  322. package/lib/components/molecules/button/index.d.ts +0 -1
  323. package/lib/components/molecules/index.d.ts +0 -3
  324. package/lib/components/molecules/input-checkbox/index.d.ts +0 -1
  325. package/lib/components/molecules/input-checkbox/input-checkbox.d.ts +0 -8
  326. package/lib/components/organisms/choice-list/choice-list.d.ts +0 -9
  327. package/lib/components/organisms/choice-list/index.d.ts +0 -1
  328. package/lib/components/organisms/index.d.ts +0 -2
  329. package/lib/components/organisms/multi-choice-list/index.d.ts +0 -1
  330. package/lib/components/organisms/multi-choice-list/multi-choice-list.d.ts +0 -11
  331. package/lib/components/progress-bar/index.d.ts +0 -1
  332. package/lib/components/progress-bar/progress-bar-size-flags.d.ts +0 -10
  333. package/lib/components/progress-bar/progress-bar.d.ts +0 -8
  334. package/lib/components/radio-button/index.d.ts +0 -1
  335. package/lib/components/radio-button/radio-button.d.ts +0 -10
  336. package/lib/components/range-slider/components/bar-chart.d.ts +0 -8
  337. package/lib/components/range-slider/components/handle.d.ts +0 -12
  338. package/lib/components/range-slider/components/rail.d.ts +0 -9
  339. package/lib/components/range-slider/components/slider-component.d.ts +0 -12
  340. package/lib/components/range-slider/components/slider-inputs.d.ts +0 -14
  341. package/lib/components/range-slider/components/tick.d.ts +0 -10
  342. package/lib/components/range-slider/components/track.d.ts +0 -11
  343. package/lib/components/range-slider/index.d.ts +0 -2
  344. package/lib/components/range-slider/range-slider.d.ts +0 -15
  345. package/lib/components/range-slider/slider.d.ts +0 -11
  346. package/lib/components/range-slider/types.d.ts +0 -11
  347. package/lib/components/select/components/menu-container.d.ts +0 -3
  348. package/lib/components/select/components/menu-list.d.ts +0 -3
  349. package/lib/components/select/components/menu-row.d.ts +0 -9
  350. package/lib/components/select/components/menu.d.ts +0 -3
  351. package/lib/components/select/components/option.d.ts +0 -13
  352. package/lib/components/select/components/select-label.d.ts +0 -1
  353. package/lib/components/select/components/value-component-multi.d.ts +0 -4
  354. package/lib/components/select/components/value-component-single.d.ts +0 -4
  355. package/lib/components/select/components/value.d.ts +0 -4
  356. package/lib/components/select/index.d.ts +0 -3
  357. package/lib/components/select/select.d.ts +0 -10
  358. package/lib/components/select/types.d.ts +0 -133
  359. package/lib/components/select/utils.d.ts +0 -15
  360. package/lib/components/spinner/spinner-size-flags.d.ts +0 -10
  361. package/lib/components/spinner/spinner.d.ts +0 -9
  362. package/lib/components/tabs/components/index.d.ts +0 -1
  363. package/lib/components/tabs/components/tab.d.ts +0 -8
  364. package/lib/components/tabs/index.d.ts +0 -1
  365. package/lib/components/tabs/tabs.d.ts +0 -16
  366. package/lib/components/tag/components/close-button.d.ts +0 -8
  367. package/lib/components/tag/components/index.d.ts +0 -2
  368. package/lib/components/tag/components/tag-label.d.ts +0 -8
  369. package/lib/components/tag/index.d.ts +0 -1
  370. package/lib/components/tag/tag.d.ts +0 -10
  371. package/lib/components/thumbnail/index.d.ts +0 -1
  372. package/lib/components/thumbnail/thumbnail-size-flags.d.ts +0 -10
  373. package/lib/components/thumbnail/thumbnail.d.ts +0 -10
  374. package/lib/components/tooltip/index.d.ts +0 -1
  375. package/lib/components/tooltip/tooltip.d.ts +0 -26
  376. package/lib/components/tree-view/components/tree-node.d.ts +0 -3
  377. package/lib/components/tree-view/helper.d.ts +0 -12
  378. package/lib/components/tree-view/index.d.ts +0 -2
  379. package/lib/components/tree-view/tree-view.d.ts +0 -3
  380. package/lib/components/tree-view/types.d.ts +0 -63
  381. package/lib/components/typography/index.d.ts +0 -1
  382. package/lib/components/typography/typography.d.ts +0 -24
  383. package/lib/foundations/color-system/base-palette/base-palette.d.ts +0 -76
  384. package/lib/foundations/color-system/base-palette/index.d.ts +0 -1
  385. package/lib/foundations/color-system/color-guidelines/color-guidelines.d.ts +0 -133
  386. package/lib/foundations/color-system/color-guidelines/index.d.ts +0 -1
  387. package/lib/foundations/color-system/components/color-sample.d.ts +0 -17
  388. package/lib/foundations/color-system/components/index.d.ts +0 -1
  389. package/lib/foundations/color-system/index.d.ts +0 -1
  390. package/lib/foundations/index.d.ts +0 -4
  391. package/lib/foundations/shadows/components.d.ts +0 -8
  392. package/lib/foundations/shadows/index.d.ts +0 -1
  393. package/lib/foundations/shadows/shadows.d.ts +0 -8
  394. package/lib/foundations/spacing/index.d.ts +0 -1
  395. package/lib/foundations/spacing/spacing-guidelines.d.ts +0 -33
  396. package/lib/foundations/spacing/spacing.d.ts +0 -18
  397. package/lib/foundations/typography/constants.d.ts +0 -22
  398. package/lib/foundations/typography/fonts.d.ts +0 -1
  399. package/lib/foundations/typography/index.d.ts +0 -1
  400. package/lib/foundations/typography/text-aspect-flags.d.ts +0 -19
  401. package/lib/foundations/typography/typography.d.ts +0 -24
  402. package/lib/helpers/generic-types.d.ts +0 -21
  403. package/lib/helpers/index.d.ts +0 -8
  404. package/lib/helpers/isReactElementOfType.d.ts +0 -8
  405. package/lib/helpers/nothing.d.ts +0 -10
  406. package/lib/helpers/safe-navigation.d.ts +0 -17
  407. package/lib/helpers/slots.d.ts +0 -17
  408. package/lib/helpers/strings.d.ts +0 -1
  409. package/lib/helpers/useInputElementState.d.ts +0 -30
  410. package/lib/helpers/useKeyDown.d.ts +0 -1
@@ -0,0 +1,65 @@
1
+ import { render, screen } from '@testing-library/react'
2
+ import { Flag } from './index'
3
+
4
+ describe('Flag Tests', () => {
5
+ describe('Flag Tests', () => {
6
+ it('should render the flag', async () => {
7
+ render(
8
+ <Flag code='CA'/>
9
+ )
10
+
11
+ const flag = screen.getByRole('img')
12
+
13
+ expect(flag.closest('i')).toBeInTheDocument()
14
+ expect(flag).toBeInTheDocument()
15
+
16
+ })
17
+
18
+ it('should render the large flag', async () => {
19
+ render(
20
+ <Flag large code='CA'/>
21
+ )
22
+
23
+ const flag = screen.getByRole('img')
24
+
25
+ expect(flag).toBeInTheDocument()
26
+ expect(flag).toHaveStyle({width: '32px', height: '24px'})
27
+
28
+ })
29
+
30
+ it('should render the medium flag', async () => {
31
+ render(
32
+ <Flag medium code='CA'/>
33
+ )
34
+
35
+ const flag = screen.getByRole('img')
36
+
37
+ expect(flag).toBeInTheDocument()
38
+ expect(flag).toHaveStyle({width: '20px', height: '20px'})
39
+
40
+ })
41
+
42
+ it('should apply a class to the container', async () => {
43
+ render(
44
+ <Flag medium code='CA' className='foo'/>
45
+ )
46
+
47
+ const flag = screen.getByRole('img')
48
+
49
+ expect(flag.closest('i')).toHaveClass('foo')
50
+
51
+ })
52
+
53
+ it('should apply styles to the container', async () => {
54
+ render(
55
+ <Flag medium code='CA' style={{display: 'block'}}/>
56
+ )
57
+
58
+ const flag = screen.getByRole('img')
59
+
60
+ expect(flag.closest('i')).toHaveStyle({display: 'block'})
61
+
62
+ })
63
+
64
+ })
65
+ })
@@ -0,0 +1,97 @@
1
+ import { FC } from '@helpers'
2
+ import { HTMLAttributes } from 'react'
3
+ import styled, { css } from 'styled-components'
4
+ import { FlagProps, FlagSize, getHeigthBySize, getFlagSize, getWidthBySize } from './flag-size-flags'
5
+ import { CountryCodes, LargeFlags, MediumFlags, SmallFlags } from './flag.list'
6
+
7
+ const getCoordsStyles = (props :FlagProps) => {
8
+ switch (getFlagSize(props)) {
9
+ case FlagSize.large:
10
+ return css`
11
+ & .coords {
12
+ width: 32px;
13
+ height: 24px;
14
+ x: 0;
15
+ y: 0;
16
+ }`
17
+ case FlagSize.medium:
18
+ return css`
19
+ & .coords {
20
+ width: 20px;
21
+ height: 16px;
22
+ x: 0;
23
+ y: 2;
24
+ }`
25
+ case FlagSize.small:
26
+ return css`
27
+ & .coords {
28
+ width: 16px;
29
+ height: 12px;
30
+ x: 2;
31
+ y: 4;
32
+ }`
33
+ }
34
+ }
35
+
36
+ const BoundingBox = styled.i<{props: FlagProps}>`
37
+ width: ${({ props }) => getWidthBySize(props)}px;
38
+ height: ${({ props }) => getHeigthBySize(props)}px;
39
+ flex: none;
40
+ order: 0;
41
+ flex-grow: 0;
42
+ position: relative;
43
+ `
44
+
45
+ const Svg = styled.svg.attrs<IProps>(({props}) => ({
46
+ viewBox: `0 0 ${getWidthBySize(props)} ${getHeigthBySize(props)}`
47
+ }))<{ props: FlagProps}>`
48
+ position: absolute;
49
+ width: ${({ props }) => getWidthBySize(props)}px;
50
+ height: ${({ props }) => getHeigthBySize(props)}px;
51
+ fill: none;
52
+ top: calc(50% - ${({ props }) => getHeigthBySize(props)}px/2);
53
+ left: calc(50% - ${({ props }) => getWidthBySize(props)}px/2);
54
+ ${({ props }) => getCoordsStyles(props)}
55
+ `
56
+
57
+ interface IFlagProperties extends HTMLAttributes<SVGElement> {
58
+ code: CountryCodes;
59
+ }
60
+ interface IProps {
61
+ props: IFlagProperties & FlagProps
62
+ }
63
+
64
+ const getFlagPathByCode = (props :IFlagProperties) => {
65
+
66
+ switch (getFlagSize(props)) {
67
+ case FlagSize.small:
68
+ return SmallFlags[props.code]
69
+ case FlagSize.medium:
70
+ return MediumFlags[props.code]
71
+ case FlagSize.large:
72
+ return LargeFlags[props.code]
73
+ default:
74
+ return SmallFlags[props.code]
75
+ }
76
+ }
77
+
78
+ export const Flag: FC<IFlagProperties & FlagProps> = (props) => {
79
+ return (
80
+ <BoundingBox
81
+ className={props.className}
82
+ style={props.style}
83
+ props={props}>
84
+ <Svg
85
+ props={props}>
86
+ {getFlagPathByCode(props)}
87
+ </Svg>
88
+ </BoundingBox>
89
+ )
90
+ }
91
+
92
+ Svg.defaultProps = {
93
+ fill: 'none',
94
+ role: 'img',
95
+ xmlns: 'http://www.w3.org/2000/svg'
96
+ }
97
+
@@ -0,0 +1 @@
1
+ export * from './flag'
@@ -0,0 +1,403 @@
1
+ import { Borders, Padding, Surface, Text, Typography } from '@foundations'
2
+ import { is } from '@helpers'
3
+ import { Label } from 'components/typography'
4
+ import { Playground } from 'storybook-addon-jarle-monaco'
5
+ import { Flag } from '../flag'
6
+ import { PlayGroundSelect } from './playGround-select'
7
+ import { CountryCodes } from '../flag.list'
8
+ import styled from 'styled-components'
9
+
10
+ const Table = styled.div`
11
+ background: ${Surface.Default};
12
+ border-radius: 6px;
13
+ `
14
+
15
+ const Row = styled.div<{ gray?: boolean }>`
16
+ display: flex;
17
+ flex-direction: row;
18
+ background-color: ${(props) => (is(props.gray) ? Surface.Default.Subdued : Surface.Default)};
19
+ border-bottom: 1px solid ${Borders.Default.Subdued};
20
+ `
21
+
22
+ const Column = styled.div`
23
+ ${Typography.Body}
24
+ display: flex;
25
+ padding: ${Padding.l};
26
+ flex: 1;
27
+ align-items: center;
28
+ justify-content: center;
29
+ justify-content: space-between;
30
+ &:nth-child(1) {
31
+ flex: 2;
32
+ }
33
+ `
34
+
35
+ const HeaderColumn = styled(Column)`
36
+ color: ${Text.Subdued};
37
+ `
38
+
39
+ export const FlagWrapper = styled.div`
40
+ display: flex;
41
+ gap: 25px;
42
+ `
43
+
44
+ type ICountryList = {
45
+ [key in CountryCodes]: string
46
+ }
47
+
48
+ const FlagListHeader = () => (
49
+ <Row gray>
50
+ <HeaderColumn><Label subdued>Country Name</Label></HeaderColumn>
51
+ <HeaderColumn><Label subdued>Alpha-2 Code</Label></HeaderColumn>
52
+ <HeaderColumn><Label subdued>Flag</Label></HeaderColumn>
53
+ </Row>
54
+ )
55
+
56
+ const FlagsExampleHeader = () => (
57
+ <Row gray>
58
+ <HeaderColumn><Label subdued>Large</Label></HeaderColumn>
59
+ <HeaderColumn><Label subdued>Medium</Label></HeaderColumn>
60
+ <HeaderColumn><Label subdued>Small</Label></HeaderColumn>
61
+ </Row>
62
+ )
63
+
64
+ export const FlagList = () => {
65
+
66
+ return (
67
+ <Table>
68
+ <FlagListHeader/>
69
+ {
70
+ (Object.keys(CountryList) as (CountryCodes)[]).map((code, index) =>
71
+ <Row key={index}>
72
+ <Column>
73
+ {CountryList[code]}
74
+ </Column>
75
+ <Column>
76
+ {code}
77
+ </Column>
78
+ <Column>
79
+ <FlagWrapper>
80
+ <Flag large code={code} />
81
+ <Flag medium code={code} />
82
+ <Flag small code={code} />
83
+ </FlagWrapper>
84
+ </Column>
85
+ </Row>
86
+ )
87
+ }
88
+ </Table>
89
+ )
90
+ }
91
+
92
+ export const FlagsExample = () => {
93
+
94
+ return (<Playground
95
+ code={`
96
+ const list = (Object.keys(CountryList) as (CountryCodes)[])
97
+ .map(code => ({code: code, value: CountryList[code]}));
98
+
99
+ const [selected, setSelected] = useState('CA');
100
+
101
+ <form onSubmit={(e) => e.preventDefault()}>
102
+ <Row style={{height: '225px'}}>
103
+ <Column style={{display: 'block'}}>
104
+ <PlayGroundSelect
105
+ label="Choose country"
106
+ values={list}
107
+ handleChangeEvent={(code) => setSelected(code)}
108
+ />
109
+ </Column>
110
+ <Column style={{flex: 4}}>
111
+ <Table style={{width: '100%'}}>
112
+ <FlagsExampleHeader/>
113
+ <Row>
114
+ <Column>
115
+ <Flag large code={selected} />
116
+ </Column>
117
+ <Column>
118
+ <Flag medium code={selected} />
119
+ </Column>
120
+ <Column>
121
+ <Flag small code={selected} />
122
+ </Column>
123
+ </Row>
124
+ </Table>
125
+ </Column>
126
+ </Row>
127
+ </form>
128
+ `}
129
+ providerProps={{
130
+ renderAsComponent: true,
131
+ scope: {
132
+ Flag,
133
+ Row,
134
+ Table,
135
+ Column,
136
+ FlagsExampleHeader,
137
+ CountryList,
138
+ PlayGroundSelect,
139
+ },
140
+ }}
141
+ />)
142
+ }
143
+
144
+ const CountryList: ICountryList = {
145
+ 'AD': 'Andorra',
146
+ 'AE': 'United Arab Emirates',
147
+ 'AF': 'Afghanistan',
148
+ 'AG': 'Antigua and Barbuda',
149
+ 'AI': 'Anguilla',
150
+ 'AL': 'Albania',
151
+ 'AM': 'Armenia',
152
+ 'AO': 'Angola',
153
+ 'AQ': 'Antarctica',
154
+ 'AR': 'Argentina',
155
+ 'AS': 'American Samoa',
156
+ 'AT': 'Austria',
157
+ 'AU': 'Australia',
158
+ 'AW': 'Aruba',
159
+ 'AX': 'Aland Islands',
160
+ 'AZ': 'Azerbaijan',
161
+ 'BA': 'Bosnia and Herzegovina',
162
+ 'BB': 'Barbados',
163
+ 'BD': 'Bangladesh',
164
+ 'BE': 'Belgium',
165
+ 'BF': 'Burkina Faso',
166
+ 'BG': 'Bulgaria',
167
+ 'BH': 'Bahrain',
168
+ 'BI': 'Burundi',
169
+ 'BJ': 'Benin',
170
+ 'BL': 'Saint Barthélemy',
171
+ 'BM': 'Bermuda',
172
+ 'BN': 'Brunei Darussalam',
173
+ 'BO': 'Bolivia',
174
+ 'BQ-BO': 'Bonaire',
175
+ 'BQ-SA': 'Saba',
176
+ 'BQ-SE': 'Sint Eustatius',
177
+ 'BR': 'Brazil',
178
+ 'BS': 'Bahamas',
179
+ 'BT': 'Bhutan',
180
+ 'BV': 'Bouvet Island',
181
+ 'BW': 'Botswana',
182
+ 'BY': 'Belarus',
183
+ 'BZ': 'Belize',
184
+ 'CA': 'Canada',
185
+ 'CC': 'Cocos (Keeling) Islands',
186
+ 'CD': 'Democratic Republic of the Congo',
187
+ 'CF': 'Central African Republic',
188
+ 'CG': 'Republic of the Congo',
189
+ 'CH': 'Switzerland',
190
+ 'CI': 'Côte d\'Ivoire (Ivory Coast)',
191
+ 'CK': 'Cook Islands',
192
+ 'CL': 'Chile',
193
+ 'CM': 'Cameroon',
194
+ 'CN': 'China',
195
+ 'CO': 'Colombia',
196
+ 'CR': 'Costa Rica',
197
+ 'CU': 'Cuba',
198
+ 'CV': 'Cabo Verde',
199
+ 'CW': 'Curaçao',
200
+ 'CX': 'Christmas Island',
201
+ 'CY': 'Cyprus',
202
+ 'CZ': 'Czech Republic',
203
+ 'DE': 'Germany',
204
+ 'DJ': 'Djibouti',
205
+ 'DK': 'Denmark',
206
+ 'DM': 'Dominica',
207
+ 'DO': 'Dominican Republic',
208
+ 'DZ': 'Algeria',
209
+ 'EC': 'Ecuador',
210
+ 'EE': 'Estonia',
211
+ 'EG': 'Egypt',
212
+ 'EH': 'Western Sahara',
213
+ 'ER': 'Eritrea',
214
+ 'ES': 'Spain',
215
+ 'ET': 'Ethiopia',
216
+ 'FI': 'Finland',
217
+ 'FJ': 'Fiji',
218
+ 'FK': 'Falkland Islands',
219
+ 'FM': 'Federated States of Micronesia',
220
+ 'FO': 'Faroe Islands',
221
+ 'FR': 'France',
222
+ 'GA': 'Gabon',
223
+ 'GB': 'England',
224
+ 'GB-NIR': 'Northern Ireland',
225
+ 'GB-SCT': 'Scotland',
226
+ 'GB-UKM': 'United Kingdom',
227
+ 'GB-WLS': 'Wales',
228
+ 'GD': 'Grenada',
229
+ 'GE': 'Georgia',
230
+ 'GF': 'French Guiana',
231
+ 'GG': 'Guernsey',
232
+ 'GH': 'Ghana',
233
+ 'GI': 'Gibraltar',
234
+ 'GL': 'Greenland',
235
+ 'GM': 'Gambia',
236
+ 'GN': 'Guinea',
237
+ 'GP': 'Guadeloupe',
238
+ 'GP-FR': 'Guadeloupe',
239
+ 'GQ': 'Equatorial Guinea',
240
+ 'GR': 'Greece',
241
+ 'GS': ' S. Georgia and S. Sandwich Islands',
242
+ 'GT': 'Guatemala',
243
+ 'GU': 'Guam',
244
+ 'GW': 'Guinea-Bissau',
245
+ 'GY': 'Guyana',
246
+ 'HK': 'Hong Kong',
247
+ 'HM': 'Heard and McDonald Islands',
248
+ 'HN': 'Honduras',
249
+ 'HR': 'Croatia (Hrvatska)',
250
+ 'HT': 'Haiti',
251
+ 'HU': 'Hungary',
252
+ 'ID': 'Indonesia',
253
+ 'IE': 'Ireland',
254
+ 'IL': 'Isreal',
255
+ 'IM': 'Isle of Man',
256
+ 'IN': 'India',
257
+ 'IO': 'British Indian Ocean Territory',
258
+ 'IQ': 'Iraq',
259
+ 'IR': 'Iran',
260
+ 'IS': 'Iceland',
261
+ 'IT': 'Italy',
262
+ 'JE': 'Jersey',
263
+ 'JM': 'Jamaica',
264
+ 'JO': 'Jordan',
265
+ 'JP': 'Japan',
266
+ 'KE': 'Kenya',
267
+ 'KG': 'Kyrgyzstan',
268
+ 'KH': 'Cambodia',
269
+ 'KI': ' Kiribati',
270
+ 'KM': 'Comors',
271
+ 'KN': 'Saint Kitts and Nevis',
272
+ 'KP': 'Korea (North)',
273
+ 'KR': 'Korea (South)',
274
+ 'KW': 'Kuwait',
275
+ 'KY': 'Cayman Islands',
276
+ 'KZ': 'Kazakhstan',
277
+ 'LA': 'Laos',
278
+ 'LB': 'Lebanon',
279
+ 'LC': 'Saint Lucia',
280
+ 'LI': 'Liechtenstein',
281
+ 'LK': 'Sri Lanka',
282
+ 'LR': 'Liberia',
283
+ 'LS': 'Lesotho',
284
+ 'LT': 'Lithuania',
285
+ 'LU': 'Luxembourg',
286
+ 'LV': 'Latvia',
287
+ 'LY': 'Libya',
288
+ 'MA': 'Morocco',
289
+ 'MC': 'Monaco',
290
+ 'MD': 'Moldova',
291
+ 'ME': 'Montenegro',
292
+ 'MF': 'Saint Martin',
293
+ 'MG': 'Madagascar',
294
+ 'MH': 'Marshall Islands',
295
+ 'MK': 'North Macedonia',
296
+ 'ML': 'Mali',
297
+ 'MM': 'Myanmar',
298
+ 'MN': 'Mongolia',
299
+ 'MO': 'Macao',
300
+ 'MP': 'Northern Mariana Islands',
301
+ 'MQ': 'Martinique',
302
+ 'MQ-FR': 'Martinique',
303
+ 'MR': 'Mauritania',
304
+ 'MS': 'Montserrat',
305
+ 'MT': 'Malta',
306
+ 'MU': 'Mauritius',
307
+ 'MV': 'Maldives',
308
+ 'MW': 'Malawi',
309
+ 'MX': 'Mexico',
310
+ 'MY': 'Malaysia',
311
+ 'MZ': 'Mozambique',
312
+ 'NA': 'Namibia',
313
+ 'NC': 'New Caledonia',
314
+ 'NE': 'Niger',
315
+ 'NF': 'Norfolk Island',
316
+ 'NG': 'Nigeria',
317
+ 'NI': 'Nicaragua',
318
+ 'NL': 'Netherlands',
319
+ 'NO': 'Norway',
320
+ 'NP': 'Nepal',
321
+ 'NR': 'Nauru',
322
+ 'NU': 'Niue',
323
+ 'NZ': 'New Zealand (Aotearoa)',
324
+ 'OM': 'Oman',
325
+ 'PA': 'Panama',
326
+ 'PE': 'Peru',
327
+ 'PF': 'French Polynesia',
328
+ 'PG': 'Papua New Guinea',
329
+ 'PH': 'Philippines',
330
+ 'PK': 'Pakistan',
331
+ 'PL': 'Poland',
332
+ 'PM': 'St. Pierre & z',
333
+ 'PM-FR': 'Saint Pierre and Miquelon',
334
+ 'PN': 'Pitcairn Islands',
335
+ 'PR': 'Puerto Rico',
336
+ 'PS': 'Palestinian Territory',
337
+ 'PT': 'Portugal',
338
+ 'PW': 'Palau',
339
+ 'PY': 'Paraguay',
340
+ 'QA': 'Qatar',
341
+ 'RE': 'Reunion',
342
+ 'RO': 'Romania',
343
+ 'RS': 'Serbia',
344
+ 'RU': 'Russian Federation',
345
+ 'RW': 'Rwanda',
346
+ 'SA': 'Saudi Arabia',
347
+ 'SB': 'Solomon Islands',
348
+ 'SC': 'Seychelles',
349
+ 'SD': 'Sudan',
350
+ 'SE': 'Sweden',
351
+ 'SG': 'Singapore',
352
+ 'SH': 'Saint Helena',
353
+ 'SI': 'Slovenia',
354
+ 'SJ': 'Svalbard and Jan Mayen',
355
+ 'SK': 'Slovakia',
356
+ 'SL': 'Sierra Leone',
357
+ 'SM': 'San Marino',
358
+ 'SN': 'Senegal',
359
+ 'SO': 'Somalia',
360
+ 'SR': 'Suriname',
361
+ 'SS': 'South Sudan',
362
+ 'ST': 'Sao Tome and Principe',
363
+ 'SV': 'El Salvador',
364
+ 'SX': 'Sint Maarten',
365
+ 'SY': 'Syria',
366
+ 'SZ': 'Swaziland',
367
+ 'TC': 'Turks and Caicos Islands',
368
+ 'TD': 'Chad',
369
+ 'TF': 'French Southern and Antarctic Lands',
370
+ 'TG': 'Togo',
371
+ 'TH': 'Thailand',
372
+ 'TJ': 'Tajikistan',
373
+ 'TK': 'Tokelau',
374
+ 'TL': 'Timor-Leste',
375
+ 'TM': 'Turkmenistan',
376
+ 'TN': 'Tunisia',
377
+ 'TO': 'Tonga',
378
+ 'TR': 'Turkey',
379
+ 'TT': 'Trinidad and Tobago',
380
+ 'TV': 'Tuvalu',
381
+ 'TW': 'Taiwan',
382
+ 'TZ': 'Tanzania',
383
+ 'UA': 'Ukraine',
384
+ 'UG': 'Uganda',
385
+ 'UM': 'United States Minor Outlying Islands',
386
+ 'US': 'United States',
387
+ 'UY': 'Uruguay',
388
+ 'UZ': 'Uzbekistan',
389
+ 'VA': 'Vatican City State',
390
+ 'VC': 'Saint Vincent and the Grenadines',
391
+ 'VE': 'Venezuela',
392
+ 'VG': 'Virgin Islands (British)',
393
+ 'VI': 'Virgin Islands (U.S.)',
394
+ 'VN': 'Vietnam',
395
+ 'VU': 'Vanuatu',
396
+ 'WF': 'Wallis and Futuna',
397
+ 'WS': 'Samoa',
398
+ 'YE': 'Yemen',
399
+ 'YT-UNF': 'Mayotte',
400
+ 'ZA': 'South Africa',
401
+ 'ZM': 'Zambia',
402
+ 'ZW': 'Zimbabwe',
403
+ }
@@ -0,0 +1,48 @@
1
+ import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
2
+ import { Flag } from '../index'
3
+ import { FlagList, FlagWrapper, FlagsExample } from './components'
4
+
5
+
6
+ <Meta title="Components/Flag" component={Flag}/>
7
+
8
+ # Flag System
9
+
10
+
11
+ For more details, check out the guidelines on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=4119%3A13858)
12
+
13
+ ## How to Use
14
+
15
+ ```tsx
16
+ import { Flag } from '@edvisor/product-language'
17
+
18
+ <Flag large code='BR' />
19
+ ```
20
+
21
+ ## API
22
+
23
+ ### `Flag`
24
+ Extends `HTMLAttributes<SVGElement>`
25
+
26
+ | Prop | Type | Description |
27
+ | ---------- | ---------------------------- | ------------------------------------------------------- |
28
+ | `size` | `string` | The size of the Flag (small \| medium \| large) |
29
+ | `code` | `string` | String (Country Alpha-2 code) |
30
+
31
+ ### Flags sizes
32
+ | Size | Description |
33
+ | ---------- | ------------------------------------------------------- |
34
+ | Small | 20x20 bounding box. Designed to be rendered at 16x12 |
35
+ | Medium | 20x20 bounding box. Designed to be rendered at 20x15 |
36
+ | Large | 32x24 bounding box. Designed to be rendered at 32x24 |
37
+
38
+
39
+ ## PlayGround
40
+ <FlagsExample/>
41
+
42
+
43
+ ### Flag List
44
+
45
+ <Canvas>
46
+ <FlagList />
47
+ </Canvas>
48
+