@pagopa/io-app-design-system 1.42.0 → 2.0.0-1

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 (349) hide show
  1. package/lib/commonjs/components/Advice/__test__/__snapshots__/advice.test.tsx.snap +8 -32
  2. package/lib/commonjs/components/accordion/AccordionItem.js +1 -10
  3. package/lib/commonjs/components/accordion/AccordionItem.js.map +1 -1
  4. package/lib/commonjs/components/alert/Alert.js +3 -16
  5. package/lib/commonjs/components/alert/Alert.js.map +1 -1
  6. package/lib/commonjs/components/badge/Badge.js +13 -21
  7. package/lib/commonjs/components/badge/Badge.js.map +1 -1
  8. package/lib/commonjs/components/badge/__test__/__snapshots__/badge.test.tsx.snap +16 -16
  9. package/lib/commonjs/components/badge/__test__/badge.test.js.map +1 -1
  10. package/lib/commonjs/components/banner/__test__/__snapshots__/banner.test.tsx.snap +14 -38
  11. package/lib/commonjs/components/buttons/ButtonLink.js +10 -24
  12. package/lib/commonjs/components/buttons/ButtonLink.js.map +1 -1
  13. package/lib/commonjs/components/buttons/ButtonOutline.js +14 -24
  14. package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
  15. package/lib/commonjs/components/buttons/__test__/__snapshots__/button.test.tsx.snap +45 -60
  16. package/lib/commonjs/components/featureInfo/FeatureInfo.js +6 -7
  17. package/lib/commonjs/components/featureInfo/FeatureInfo.js.map +1 -1
  18. package/lib/commonjs/components/layout/HeaderSecondLevel.js +10 -15
  19. package/lib/commonjs/components/layout/HeaderSecondLevel.js.map +1 -1
  20. package/lib/commonjs/components/listitems/ListItemAction.js +12 -50
  21. package/lib/commonjs/components/listitems/ListItemAction.js.map +1 -1
  22. package/lib/commonjs/components/listitems/ListItemAmount.js +2 -5
  23. package/lib/commonjs/components/listitems/ListItemAmount.js.map +1 -1
  24. package/lib/commonjs/components/listitems/ListItemSwitch.js +2 -2
  25. package/lib/commonjs/components/listitems/ListItemSwitch.js.map +1 -1
  26. package/lib/commonjs/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +83 -347
  27. package/lib/commonjs/components/modules/ModuleIDP.js +13 -20
  28. package/lib/commonjs/components/modules/ModuleIDP.js.map +1 -1
  29. package/lib/commonjs/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +30 -150
  30. package/lib/commonjs/components/searchInput/SearchInput.js +2 -4
  31. package/lib/commonjs/components/searchInput/SearchInput.js.map +1 -1
  32. package/lib/commonjs/components/switch/SwitchLabel.js +7 -29
  33. package/lib/commonjs/components/switch/SwitchLabel.js.map +1 -1
  34. package/lib/commonjs/components/tabs/TabItem.js +3 -2
  35. package/lib/commonjs/components/tabs/TabItem.js.map +1 -1
  36. package/lib/commonjs/components/tag/Tag.js +14 -18
  37. package/lib/commonjs/components/tag/Tag.js.map +1 -1
  38. package/lib/commonjs/components/textInput/TextInputBase.js +4 -6
  39. package/lib/commonjs/components/textInput/TextInputBase.js.map +1 -1
  40. package/lib/commonjs/components/typography/BaseTypography.js +5 -1
  41. package/lib/commonjs/components/typography/BaseTypography.js.map +1 -1
  42. package/lib/commonjs/components/typography/Body.js +34 -26
  43. package/lib/commonjs/components/typography/Body.js.map +1 -1
  44. package/lib/commonjs/components/typography/BodyMonospace.js +26 -24
  45. package/lib/commonjs/components/typography/BodyMonospace.js.map +1 -1
  46. package/lib/commonjs/components/typography/ButtonText.js +25 -19
  47. package/lib/commonjs/components/typography/ButtonText.js.map +1 -1
  48. package/lib/commonjs/components/typography/Caption.js +29 -19
  49. package/lib/commonjs/components/typography/Caption.js.map +1 -1
  50. package/lib/commonjs/components/typography/Chip.js +24 -21
  51. package/lib/commonjs/components/typography/Chip.js.map +1 -1
  52. package/lib/commonjs/components/typography/Factory.js +1 -0
  53. package/lib/commonjs/components/typography/Factory.js.map +1 -1
  54. package/lib/commonjs/components/typography/H1.js +27 -20
  55. package/lib/commonjs/components/typography/H1.js.map +1 -1
  56. package/lib/commonjs/components/typography/H2.js +27 -20
  57. package/lib/commonjs/components/typography/H2.js.map +1 -1
  58. package/lib/commonjs/components/typography/H3.js +27 -19
  59. package/lib/commonjs/components/typography/H3.js.map +1 -1
  60. package/lib/commonjs/components/typography/H4.js +27 -21
  61. package/lib/commonjs/components/typography/H4.js.map +1 -1
  62. package/lib/commonjs/components/typography/H5.js +26 -22
  63. package/lib/commonjs/components/typography/H5.js.map +1 -1
  64. package/lib/commonjs/components/typography/H6.js +25 -20
  65. package/lib/commonjs/components/typography/H6.js.map +1 -1
  66. package/lib/commonjs/components/typography/Hero.js +25 -17
  67. package/lib/commonjs/components/typography/Hero.js.map +1 -1
  68. package/lib/commonjs/components/typography/IOText.js +104 -0
  69. package/lib/commonjs/components/typography/IOText.js.map +1 -0
  70. package/lib/commonjs/components/typography/Label.js +28 -26
  71. package/lib/commonjs/components/typography/Label.js.map +1 -1
  72. package/lib/commonjs/components/typography/LabelMini.js +45 -0
  73. package/lib/commonjs/components/typography/LabelMini.js.map +1 -0
  74. package/lib/commonjs/components/typography/LabelSmall.js +30 -30
  75. package/lib/commonjs/components/typography/LabelSmall.js.map +1 -1
  76. package/lib/commonjs/components/typography/LabelSmallAlt.js +25 -20
  77. package/lib/commonjs/components/typography/LabelSmallAlt.js.map +1 -1
  78. package/lib/commonjs/components/typography/__test__/__snapshots__/typography.test.tsx.snap +92 -557
  79. package/lib/commonjs/components/typography/__test__/typography.test.js +6 -25
  80. package/lib/commonjs/components/typography/__test__/typography.test.js.map +1 -1
  81. package/lib/commonjs/components/typography/index.js +15 -37
  82. package/lib/commonjs/components/typography/index.js.map +1 -1
  83. package/lib/commonjs/components/typography/markdown/MdH1.js +27 -16
  84. package/lib/commonjs/components/typography/markdown/MdH1.js.map +1 -1
  85. package/lib/commonjs/components/typography/markdown/MdH2.js +28 -18
  86. package/lib/commonjs/components/typography/markdown/MdH2.js.map +1 -1
  87. package/lib/commonjs/components/typography/markdown/MdH3.js +26 -16
  88. package/lib/commonjs/components/typography/markdown/MdH3.js.map +1 -1
  89. package/lib/commonjs/core/IOColors.js +19 -2
  90. package/lib/commonjs/core/IOColors.js.map +1 -1
  91. package/lib/commonjs/core/IOStyles.js +0 -1
  92. package/lib/commonjs/core/IOStyles.js.map +1 -1
  93. package/lib/commonjs/utils/accessibility.js +24 -1
  94. package/lib/commonjs/utils/accessibility.js.map +1 -1
  95. package/lib/commonjs/utils/fonts.js +72 -40
  96. package/lib/commonjs/utils/fonts.js.map +1 -1
  97. package/lib/module/components/Advice/__test__/__snapshots__/advice.test.tsx.snap +8 -32
  98. package/lib/module/components/accordion/AccordionItem.js +3 -12
  99. package/lib/module/components/accordion/AccordionItem.js.map +1 -1
  100. package/lib/module/components/alert/Alert.js +5 -18
  101. package/lib/module/components/alert/Alert.js.map +1 -1
  102. package/lib/module/components/badge/Badge.js +15 -23
  103. package/lib/module/components/badge/Badge.js.map +1 -1
  104. package/lib/module/components/badge/__test__/__snapshots__/badge.test.tsx.snap +16 -16
  105. package/lib/module/components/badge/__test__/badge.test.js.map +1 -1
  106. package/lib/module/components/banner/__test__/__snapshots__/banner.test.tsx.snap +14 -38
  107. package/lib/module/components/buttons/ButtonLink.js +12 -26
  108. package/lib/module/components/buttons/ButtonLink.js.map +1 -1
  109. package/lib/module/components/buttons/ButtonOutline.js +15 -25
  110. package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
  111. package/lib/module/components/buttons/__test__/__snapshots__/button.test.tsx.snap +45 -60
  112. package/lib/module/components/featureInfo/FeatureInfo.js +7 -8
  113. package/lib/module/components/featureInfo/FeatureInfo.js.map +1 -1
  114. package/lib/module/components/layout/HeaderSecondLevel.js +10 -15
  115. package/lib/module/components/layout/HeaderSecondLevel.js.map +1 -1
  116. package/lib/module/components/listitems/ListItemAction.js +16 -54
  117. package/lib/module/components/listitems/ListItemAction.js.map +1 -1
  118. package/lib/module/components/listitems/ListItemAmount.js +2 -5
  119. package/lib/module/components/listitems/ListItemAmount.js.map +1 -1
  120. package/lib/module/components/listitems/ListItemSwitch.js +3 -3
  121. package/lib/module/components/listitems/ListItemSwitch.js.map +1 -1
  122. package/lib/module/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +83 -347
  123. package/lib/module/components/modules/ModuleIDP.js +15 -22
  124. package/lib/module/components/modules/ModuleIDP.js.map +1 -1
  125. package/lib/module/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +30 -150
  126. package/lib/module/components/searchInput/SearchInput.js +2 -4
  127. package/lib/module/components/searchInput/SearchInput.js.map +1 -1
  128. package/lib/module/components/switch/SwitchLabel.js +9 -31
  129. package/lib/module/components/switch/SwitchLabel.js.map +1 -1
  130. package/lib/module/components/tabs/TabItem.js +3 -2
  131. package/lib/module/components/tabs/TabItem.js.map +1 -1
  132. package/lib/module/components/tag/Tag.js +16 -20
  133. package/lib/module/components/tag/Tag.js.map +1 -1
  134. package/lib/module/components/textInput/TextInputBase.js +4 -6
  135. package/lib/module/components/textInput/TextInputBase.js.map +1 -1
  136. package/lib/module/components/typography/BaseTypography.js +5 -1
  137. package/lib/module/components/typography/BaseTypography.js.map +1 -1
  138. package/lib/module/components/typography/Body.js +31 -22
  139. package/lib/module/components/typography/Body.js.map +1 -1
  140. package/lib/module/components/typography/BodyMonospace.js +25 -23
  141. package/lib/module/components/typography/BodyMonospace.js.map +1 -1
  142. package/lib/module/components/typography/ButtonText.js +24 -19
  143. package/lib/module/components/typography/ButtonText.js.map +1 -1
  144. package/lib/module/components/typography/Caption.js +28 -19
  145. package/lib/module/components/typography/Caption.js.map +1 -1
  146. package/lib/module/components/typography/Chip.js +23 -21
  147. package/lib/module/components/typography/Chip.js.map +1 -1
  148. package/lib/module/components/typography/Factory.js +1 -0
  149. package/lib/module/components/typography/Factory.js.map +1 -1
  150. package/lib/module/components/typography/H1.js +26 -20
  151. package/lib/module/components/typography/H1.js.map +1 -1
  152. package/lib/module/components/typography/H2.js +26 -20
  153. package/lib/module/components/typography/H2.js.map +1 -1
  154. package/lib/module/components/typography/H3.js +26 -19
  155. package/lib/module/components/typography/H3.js.map +1 -1
  156. package/lib/module/components/typography/H4.js +26 -21
  157. package/lib/module/components/typography/H4.js.map +1 -1
  158. package/lib/module/components/typography/H5.js +24 -21
  159. package/lib/module/components/typography/H5.js.map +1 -1
  160. package/lib/module/components/typography/H6.js +24 -21
  161. package/lib/module/components/typography/H6.js.map +1 -1
  162. package/lib/module/components/typography/Hero.js +24 -17
  163. package/lib/module/components/typography/Hero.js.map +1 -1
  164. package/lib/module/components/typography/IOText.js +96 -0
  165. package/lib/module/components/typography/IOText.js.map +1 -0
  166. package/lib/module/components/typography/Label.js +27 -26
  167. package/lib/module/components/typography/Label.js.map +1 -1
  168. package/lib/module/components/typography/LabelMini.js +36 -0
  169. package/lib/module/components/typography/LabelMini.js.map +1 -0
  170. package/lib/module/components/typography/LabelSmall.js +29 -30
  171. package/lib/module/components/typography/LabelSmall.js.map +1 -1
  172. package/lib/module/components/typography/LabelSmallAlt.js +24 -20
  173. package/lib/module/components/typography/LabelSmallAlt.js.map +1 -1
  174. package/lib/module/components/typography/__test__/__snapshots__/typography.test.tsx.snap +92 -557
  175. package/lib/module/components/typography/__test__/typography.test.js +6 -25
  176. package/lib/module/components/typography/__test__/typography.test.js.map +1 -1
  177. package/lib/module/components/typography/index.js +2 -4
  178. package/lib/module/components/typography/index.js.map +1 -1
  179. package/lib/module/components/typography/markdown/MdH1.js +25 -15
  180. package/lib/module/components/typography/markdown/MdH1.js.map +1 -1
  181. package/lib/module/components/typography/markdown/MdH2.js +26 -17
  182. package/lib/module/components/typography/markdown/MdH2.js.map +1 -1
  183. package/lib/module/components/typography/markdown/MdH3.js +24 -15
  184. package/lib/module/components/typography/markdown/MdH3.js.map +1 -1
  185. package/lib/module/core/IOColors.js +17 -1
  186. package/lib/module/core/IOColors.js.map +1 -1
  187. package/lib/module/core/IOStyles.js +0 -1
  188. package/lib/module/core/IOStyles.js.map +1 -1
  189. package/lib/module/utils/accessibility.js +22 -0
  190. package/lib/module/utils/accessibility.js.map +1 -1
  191. package/lib/module/utils/fonts.js +70 -36
  192. package/lib/module/utils/fonts.js.map +1 -1
  193. package/lib/typescript/components/accordion/AccordionItem.d.ts.map +1 -1
  194. package/lib/typescript/components/alert/Alert.d.ts.map +1 -1
  195. package/lib/typescript/components/badge/Badge.d.ts.map +1 -1
  196. package/lib/typescript/components/buttons/ButtonLink.d.ts.map +1 -1
  197. package/lib/typescript/components/buttons/ButtonOutline.d.ts.map +1 -1
  198. package/lib/typescript/components/featureInfo/FeatureInfo.d.ts +6 -5
  199. package/lib/typescript/components/featureInfo/FeatureInfo.d.ts.map +1 -1
  200. package/lib/typescript/components/layout/HeaderSecondLevel.d.ts.map +1 -1
  201. package/lib/typescript/components/listitems/ListItemAction.d.ts.map +1 -1
  202. package/lib/typescript/components/listitems/ListItemAmount.d.ts.map +1 -1
  203. package/lib/typescript/components/modules/ModuleIDP.d.ts.map +1 -1
  204. package/lib/typescript/components/switch/SwitchLabel.d.ts.map +1 -1
  205. package/lib/typescript/components/tabs/TabItem.d.ts.map +1 -1
  206. package/lib/typescript/components/tag/Tag.d.ts.map +1 -1
  207. package/lib/typescript/components/textInput/TextInputBase.d.ts.map +1 -1
  208. package/lib/typescript/components/typography/BaseTypography.d.ts +3 -2
  209. package/lib/typescript/components/typography/BaseTypography.d.ts.map +1 -1
  210. package/lib/typescript/components/typography/Body.d.ts +5 -10
  211. package/lib/typescript/components/typography/Body.d.ts.map +1 -1
  212. package/lib/typescript/components/typography/BodyMonospace.d.ts +7 -7
  213. package/lib/typescript/components/typography/BodyMonospace.d.ts.map +1 -1
  214. package/lib/typescript/components/typography/ButtonText.d.ts +9 -10
  215. package/lib/typescript/components/typography/ButtonText.d.ts.map +1 -1
  216. package/lib/typescript/components/typography/Caption.d.ts +9 -5
  217. package/lib/typescript/components/typography/Caption.d.ts.map +1 -1
  218. package/lib/typescript/components/typography/Chip.d.ts +7 -7
  219. package/lib/typescript/components/typography/Chip.d.ts.map +1 -1
  220. package/lib/typescript/components/typography/Factory.d.ts +1 -0
  221. package/lib/typescript/components/typography/Factory.d.ts.map +1 -1
  222. package/lib/typescript/components/typography/H1.d.ts +9 -8
  223. package/lib/typescript/components/typography/H1.d.ts.map +1 -1
  224. package/lib/typescript/components/typography/H2.d.ts +9 -8
  225. package/lib/typescript/components/typography/H2.d.ts.map +1 -1
  226. package/lib/typescript/components/typography/H3.d.ts +9 -8
  227. package/lib/typescript/components/typography/H3.d.ts.map +1 -1
  228. package/lib/typescript/components/typography/H4.d.ts +9 -8
  229. package/lib/typescript/components/typography/H4.d.ts.map +1 -1
  230. package/lib/typescript/components/typography/H5.d.ts +9 -5
  231. package/lib/typescript/components/typography/H5.d.ts.map +1 -1
  232. package/lib/typescript/components/typography/H6.d.ts +9 -10
  233. package/lib/typescript/components/typography/H6.d.ts.map +1 -1
  234. package/lib/typescript/components/typography/Hero.d.ts +9 -8
  235. package/lib/typescript/components/typography/Hero.d.ts.map +1 -1
  236. package/lib/typescript/components/typography/IOText.d.ts +54 -0
  237. package/lib/typescript/components/typography/IOText.d.ts.map +1 -0
  238. package/lib/typescript/components/typography/Label.d.ts +6 -10
  239. package/lib/typescript/components/typography/Label.d.ts.map +1 -1
  240. package/lib/typescript/components/typography/LabelMini.d.ts +13 -0
  241. package/lib/typescript/components/typography/LabelMini.d.ts.map +1 -0
  242. package/lib/typescript/components/typography/LabelSmall.d.ts +5 -11
  243. package/lib/typescript/components/typography/LabelSmall.d.ts.map +1 -1
  244. package/lib/typescript/components/typography/LabelSmallAlt.d.ts +7 -10
  245. package/lib/typescript/components/typography/LabelSmallAlt.d.ts.map +1 -1
  246. package/lib/typescript/components/typography/index.d.ts +2 -4
  247. package/lib/typescript/components/typography/index.d.ts.map +1 -1
  248. package/lib/typescript/components/typography/markdown/MdH1.d.ts +9 -9
  249. package/lib/typescript/components/typography/markdown/MdH1.d.ts.map +1 -1
  250. package/lib/typescript/components/typography/markdown/MdH2.d.ts +9 -9
  251. package/lib/typescript/components/typography/markdown/MdH2.d.ts.map +1 -1
  252. package/lib/typescript/components/typography/markdown/MdH3.d.ts +9 -9
  253. package/lib/typescript/components/typography/markdown/MdH3.d.ts.map +1 -1
  254. package/lib/typescript/core/IOColors.d.ts +3 -20
  255. package/lib/typescript/core/IOColors.d.ts.map +1 -1
  256. package/lib/typescript/core/IOStyles.d.ts +0 -3
  257. package/lib/typescript/core/IOStyles.d.ts.map +1 -1
  258. package/lib/typescript/utils/accessibility.d.ts +5 -0
  259. package/lib/typescript/utils/accessibility.d.ts.map +1 -1
  260. package/lib/typescript/utils/fonts.d.ts +19 -23
  261. package/lib/typescript/utils/fonts.d.ts.map +1 -1
  262. package/package.json +1 -1
  263. package/src/components/Advice/__test__/__snapshots__/advice.test.tsx.snap +8 -32
  264. package/src/components/accordion/AccordionItem.tsx +2 -14
  265. package/src/components/alert/Alert.tsx +5 -18
  266. package/src/components/badge/Badge.tsx +15 -28
  267. package/src/components/badge/__test__/__snapshots__/badge.test.tsx.snap +16 -16
  268. package/src/components/badge/__test__/badge.test.tsx +2 -2
  269. package/src/components/banner/__test__/__snapshots__/banner.test.tsx.snap +14 -38
  270. package/src/components/buttons/ButtonLink.tsx +12 -35
  271. package/src/components/buttons/ButtonOutline.tsx +14 -25
  272. package/src/components/buttons/__test__/__snapshots__/button.test.tsx.snap +45 -60
  273. package/src/components/featureInfo/FeatureInfo.tsx +13 -13
  274. package/src/components/layout/HeaderSecondLevel.tsx +9 -18
  275. package/src/components/listitems/ListItemAction.tsx +13 -75
  276. package/src/components/listitems/ListItemAmount.tsx +2 -5
  277. package/src/components/listitems/ListItemSwitch.tsx +3 -3
  278. package/src/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +83 -347
  279. package/src/components/modules/ModuleIDP.tsx +15 -32
  280. package/src/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +30 -150
  281. package/src/components/searchInput/SearchInput.tsx +14 -6
  282. package/src/components/switch/SwitchLabel.tsx +6 -32
  283. package/src/components/tabs/TabItem.tsx +4 -2
  284. package/src/components/tag/Tag.tsx +22 -24
  285. package/src/components/textInput/TextInputBase.tsx +21 -8
  286. package/src/components/typography/BaseTypography.tsx +13 -4
  287. package/src/components/typography/Body.tsx +43 -38
  288. package/src/components/typography/BodyMonospace.tsx +24 -37
  289. package/src/components/typography/ButtonText.tsx +25 -35
  290. package/src/components/typography/Caption.tsx +31 -33
  291. package/src/components/typography/Chip.tsx +25 -37
  292. package/src/components/typography/Factory.tsx +1 -0
  293. package/src/components/typography/H1.tsx +31 -36
  294. package/src/components/typography/H2.tsx +31 -36
  295. package/src/components/typography/H3.tsx +30 -35
  296. package/src/components/typography/H4.tsx +31 -36
  297. package/src/components/typography/H5.tsx +26 -32
  298. package/src/components/typography/H6.tsx +30 -41
  299. package/src/components/typography/Hero.tsx +30 -33
  300. package/src/components/typography/IOText.tsx +157 -0
  301. package/src/components/typography/Label.tsx +41 -48
  302. package/src/components/typography/LabelMini.tsx +52 -0
  303. package/src/components/typography/LabelSmall.tsx +41 -63
  304. package/src/components/typography/LabelSmallAlt.tsx +28 -48
  305. package/src/components/typography/__test__/__snapshots__/typography.test.tsx.snap +92 -557
  306. package/src/components/typography/__test__/typography.test.tsx +7 -31
  307. package/src/components/typography/index.tsx +2 -4
  308. package/src/components/typography/markdown/MdH1.tsx +26 -28
  309. package/src/components/typography/markdown/MdH2.tsx +27 -30
  310. package/src/components/typography/markdown/MdH3.tsx +25 -28
  311. package/src/core/IOColors.ts +31 -21
  312. package/src/core/IOStyles.ts +1 -5
  313. package/src/utils/accessibility.ts +31 -0
  314. package/src/utils/fonts.ts +94 -50
  315. package/lib/commonjs/components/typography/LabelHeader.js +0 -44
  316. package/lib/commonjs/components/typography/LabelHeader.js.map +0 -1
  317. package/lib/commonjs/components/typography/LabelLink.js +0 -44
  318. package/lib/commonjs/components/typography/LabelLink.js.map +0 -1
  319. package/lib/commonjs/components/typography/markdown/MdH4.js +0 -30
  320. package/lib/commonjs/components/typography/markdown/MdH4.js.map +0 -1
  321. package/lib/commonjs/components/typography/markdown/MdH5.js +0 -28
  322. package/lib/commonjs/components/typography/markdown/MdH5.js.map +0 -1
  323. package/lib/commonjs/components/typography/markdown/MdH6.js +0 -29
  324. package/lib/commonjs/components/typography/markdown/MdH6.js.map +0 -1
  325. package/lib/module/components/typography/LabelHeader.js +0 -33
  326. package/lib/module/components/typography/LabelHeader.js.map +0 -1
  327. package/lib/module/components/typography/LabelLink.js +0 -33
  328. package/lib/module/components/typography/LabelLink.js.map +0 -1
  329. package/lib/module/components/typography/markdown/MdH4.js +0 -23
  330. package/lib/module/components/typography/markdown/MdH4.js.map +0 -1
  331. package/lib/module/components/typography/markdown/MdH5.js +0 -21
  332. package/lib/module/components/typography/markdown/MdH5.js.map +0 -1
  333. package/lib/module/components/typography/markdown/MdH6.js +0 -22
  334. package/lib/module/components/typography/markdown/MdH6.js.map +0 -1
  335. package/lib/typescript/components/typography/LabelHeader.d.ts +0 -18
  336. package/lib/typescript/components/typography/LabelHeader.d.ts.map +0 -1
  337. package/lib/typescript/components/typography/LabelLink.d.ts +0 -20
  338. package/lib/typescript/components/typography/LabelLink.d.ts.map +0 -1
  339. package/lib/typescript/components/typography/markdown/MdH4.d.ts +0 -13
  340. package/lib/typescript/components/typography/markdown/MdH4.d.ts.map +0 -1
  341. package/lib/typescript/components/typography/markdown/MdH5.d.ts +0 -13
  342. package/lib/typescript/components/typography/markdown/MdH5.d.ts.map +0 -1
  343. package/lib/typescript/components/typography/markdown/MdH6.d.ts +0 -13
  344. package/lib/typescript/components/typography/markdown/MdH6.d.ts.map +0 -1
  345. package/src/components/typography/LabelHeader.tsx +0 -56
  346. package/src/components/typography/LabelLink.tsx +0 -61
  347. package/src/components/typography/markdown/MdH4.tsx +0 -34
  348. package/src/components/typography/markdown/MdH5.tsx +0 -32
  349. package/src/components/typography/markdown/MdH6.tsx +0 -33
@@ -26,7 +26,7 @@ import {
26
26
  useIOExperimentalDesign,
27
27
  useIOTheme
28
28
  } from "../../core";
29
- import { makeFontStyleObject } from "../../utils/fonts";
29
+ import { IOFontSize, makeFontStyleObject } from "../../utils/fonts";
30
30
  import { RNTextInputProps, getInputPropsByType } from "../../utils/textInput";
31
31
  import { InputType, WithTestID } from "../../utils/types";
32
32
  import { IOIconSizeScale, IOIcons, Icon } from "../icons";
@@ -62,7 +62,7 @@ const inputPaddingVertical: IOSpacingScale = 8;
62
62
  const inputRadius: number = 8;
63
63
  const inputTransitionDuration: number = 250;
64
64
  const inputLabelScaleFactor: number = 0.75; /* 16pt becomes 12pt */
65
- const inputLabelFontSize: number = 16;
65
+ const inputLabelFontSize: IOFontSize = 16;
66
66
  const inputDisabledOpacity: number = 0.5;
67
67
  const inputRightElementMargin: IOSpacingScale = 8;
68
68
  const iconColor: IOColors = "grey-300";
@@ -99,7 +99,6 @@ const styles = StyleSheet.create({
99
99
  Android where the text input scrolls, if the user apply some
100
100
  gestures on it with keyboard open */
101
101
  paddingVertical: 0,
102
- fontSize: 16,
103
102
  marginTop: inputMarginTop,
104
103
  height: "100%",
105
104
  /* Slightly move the input on the left on Android
@@ -107,11 +106,21 @@ const styles = StyleSheet.create({
107
106
  ...(Platform.OS === "android" && { marginLeft: -4 })
108
107
  },
109
108
  textInputStyleFont: {
110
- ...makeFontStyleObject("Regular", false, "ReadexPro")
109
+ ...makeFontStyleObject(
110
+ inputLabelFontSize,
111
+ "ReadexPro",
112
+ undefined,
113
+ "Regular"
114
+ )
111
115
  },
112
116
  // TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
113
117
  textInputStyleLegacyFont: {
114
- ...makeFontStyleObject("Semibold", false, "TitilliumSansPro")
118
+ ...makeFontStyleObject(
119
+ inputLabelFontSize,
120
+ "TitilliumSansPro",
121
+ undefined,
122
+ "Semibold"
123
+ )
115
124
  },
116
125
  textInputLabelWrapper: {
117
126
  position: "absolute",
@@ -122,9 +131,13 @@ const styles = StyleSheet.create({
122
131
  justifyContent: "center"
123
132
  },
124
133
  textInputLabel: {
125
- ...makeFontStyleObject("Regular", false, "TitilliumSansPro"),
126
- color: inputLabelColor,
127
- fontSize: inputLabelFontSize
134
+ ...makeFontStyleObject(
135
+ inputLabelFontSize,
136
+ "TitilliumSansPro",
137
+ undefined,
138
+ "Regular"
139
+ ),
140
+ color: inputLabelColor
128
141
  }
129
142
  });
130
143
 
@@ -1,8 +1,9 @@
1
1
  import React, { useMemo } from "react";
2
- import { StyleProp, Text, TextStyle, View } from "react-native";
2
+ import { Text, TextStyle, View } from "react-native";
3
3
  import { IOColors } from "../../core/IOColors";
4
4
  import {
5
5
  IOFontFamily,
6
+ IOFontSize,
6
7
  IOFontWeight,
7
8
  makeFontStyleObject
8
9
  } from "../../utils/fonts";
@@ -19,7 +20,7 @@ type BaseTypographyProps = {
19
20
  };
20
21
 
21
22
  type OwnProps = BaseTypographyProps & {
22
- fontStyle?: StyleProp<TextStyle>;
23
+ fontStyle?: TextStyle;
23
24
  } & React.ComponentPropsWithRef<typeof Text>;
24
25
 
25
26
  /**
@@ -41,13 +42,21 @@ const calculateTextStyle = (
41
42
  * used to calculate at runtime the platform-dependent styles.
42
43
  * This component shouldn't be used in the application but only to compose others `Typography elements`.
43
44
  * @param props
45
+ * @deprecated Use {@link IOText} instead
44
46
  * @constructor
45
47
  */
46
48
  export const BaseTypography = React.forwardRef<View, OwnProps>((props, ref) => {
47
49
  const fontStyle = useMemo(
48
50
  () =>
49
- calculateTextStyle(props.color, props.weight, props.isItalic, props.font),
50
- [props.color, props.weight, props.isItalic, props.font]
51
+ calculateTextStyle(
52
+ props.color,
53
+ props.fontStyle?.fontSize as IOFontSize,
54
+ props.font,
55
+ props.fontStyle?.lineHeight,
56
+ props.weight,
57
+ props.isItalic ? "italic" : "normal"
58
+ ),
59
+ [props.color, props.fontStyle, props.font, props.weight, props.isItalic]
51
60
  );
52
61
 
53
62
  const style = props.style
@@ -1,50 +1,55 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
+ import { useIOTheme } from "../../core";
4
+ import { IOFontWeight } from "../../utils/fonts";
3
5
  import {
4
- IOColors,
5
- IOTheme,
6
- IOVisualCostants,
7
- useIOExperimentalDesign
8
- } from "../../core";
9
- import { FontFamily, IOFontWeight } from "../../utils/fonts";
10
- import { useTypographyFactory } from "./Factory";
11
- import { ExternalTypographyProps, TypographyProps } from "./common";
6
+ IOText,
7
+ IOTextProps,
8
+ TypographicStyleAsLinkProps,
9
+ TypographicStyleProps
10
+ } from "./IOText";
12
11
 
13
- type PartialAllowedColors = Extract<
14
- IOColors,
15
- "bluegreyDark" | "white" | "blue" | "bluegrey" | "bluegreyLight"
16
- >;
17
- type AllowedColors = PartialAllowedColors | IOTheme["textBody-default"];
18
- type AllowedWeight = IOFontWeight | "Regular" | "Semibold";
19
-
20
- type BodyProps = ExternalTypographyProps<
21
- TypographyProps<AllowedWeight, AllowedColors>
22
- >;
23
-
24
- const fontName: FontFamily = "TitilliumSansPro";
12
+ type BodyStyleProps = TypographicStyleProps & {
13
+ weight?: Extract<IOFontWeight, "Regular" | "Semibold" | "Bold">;
14
+ } & TypographicStyleAsLinkProps;
25
15
 
26
16
  export const bodyFontSize = 16;
27
17
  export const bodyLineHeight = 24;
28
- export const bodyDefaultColor: AllowedColors = "bluegrey";
29
- export const bodyDefaultWeight: AllowedWeight = "Regular";
30
18
 
31
19
  /**
32
20
  * `Body` typographic style
33
21
  */
34
- export const Body = React.forwardRef<View, BodyProps>((props, ref) => {
35
- const { isExperimental } = useIOExperimentalDesign();
22
+ export const Body = forwardRef<View, BodyStyleProps>(
23
+ (
24
+ { weight: customWeight, color: customColor, asLink, ...props },
25
+ ref?: ForwardedRef<View>
26
+ ) => {
27
+ const theme = useIOTheme();
36
28
 
37
- return useTypographyFactory<AllowedWeight, AllowedColors>(
38
- {
29
+ const defaultColor = asLink
30
+ ? theme["interactiveElem-default"]
31
+ : theme["textBody-tertiary"];
32
+
33
+ const BodyProps: IOTextProps = {
39
34
  ...props,
40
- allowFontScaling: isExperimental,
41
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
42
- dynamicTypeRamp: "body" /* iOS only */,
43
- defaultWeight: bodyDefaultWeight,
44
- defaultColor: bodyDefaultColor,
45
- font: fontName,
46
- fontStyle: { fontSize: bodyFontSize, lineHeight: bodyLineHeight }
47
- },
48
- ref
49
- );
50
- });
35
+ dynamicTypeRamp: "body", // iOS only
36
+ font: "TitilliumSansPro",
37
+ weight: customWeight ?? "Regular",
38
+ size: bodyFontSize,
39
+ lineHeight: bodyLineHeight,
40
+ color: customColor ?? defaultColor,
41
+ ...(asLink
42
+ ? {
43
+ accessibilityRole: "link",
44
+ textStyle: { textDecorationLine: "underline" }
45
+ }
46
+ : {})
47
+ };
48
+
49
+ return (
50
+ <IOText ref={ref} {...BodyProps}>
51
+ {props.children}
52
+ </IOText>
53
+ );
54
+ }
55
+ );
@@ -1,46 +1,33 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
- import {
4
- IOVisualCostants,
5
- useIOExperimentalDesign,
6
- type IOColors
7
- } from "../../core";
8
- import { FontFamily, IOFontWeight } from "../../utils/fonts";
9
- import { useTypographyFactory } from "./Factory";
10
- import { ExternalTypographyProps, TypographyProps } from "./common";
11
-
12
- type AllowedColors = Extract<IOColors, "bluegreyDark" | "bluegrey">;
13
- type AllowedWeight = Extract<IOFontWeight, "Medium">;
14
-
15
- type BodyMonospaceProps = ExternalTypographyProps<
16
- TypographyProps<AllowedWeight, AllowedColors>
17
- >;
18
-
19
- const fontName: FontFamily = "DMMono";
20
- const fontSize = 16;
21
- const lineHeight = 24;
22
- const monospaceDefaultWeight = "Medium";
23
- const monospaceDefaultcolor = "bluegrey";
3
+ import { useIOTheme } from "../../core";
4
+ import { bodyFontSize, bodyLineHeight } from "./Body";
5
+ import { IOText, IOTextProps, TypographicStyleProps } from "./IOText";
24
6
 
25
7
  /**
26
8
  * `BodyMonospace` typographic style
27
9
  */
28
- export const BodyMonospace = React.forwardRef<View, BodyMonospaceProps>(
29
- (props, ref) => {
30
- const { isExperimental } = useIOExperimentalDesign();
10
+ export const BodyMonospace = forwardRef<View, TypographicStyleProps>(
11
+ ({ color: customColor, ...props }, ref?: ForwardedRef<View>) => {
12
+ const theme = useIOTheme();
13
+
14
+ const BodyProps: IOTextProps = {
15
+ ...props,
16
+ dynamicTypeRamp: "body", // iOS only
17
+ font: "DMMono",
18
+ weight: "Medium",
19
+ size: bodyFontSize,
20
+ lineHeight: bodyLineHeight,
21
+ color: customColor ?? theme["textBody-tertiary"],
22
+ textStyle: {
23
+ letterSpacing: 0.5
24
+ }
25
+ };
31
26
 
32
- return useTypographyFactory<AllowedWeight, AllowedColors>(
33
- {
34
- ...props,
35
- allowFontScaling: isExperimental,
36
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
37
- dynamicTypeRamp: "body" /* iOS only */,
38
- defaultWeight: monospaceDefaultWeight,
39
- defaultColor: monospaceDefaultcolor,
40
- font: fontName,
41
- fontStyle: { fontSize, lineHeight }
42
- },
43
- ref
27
+ return (
28
+ <IOText ref={ref} {...BodyProps}>
29
+ {props.children}
30
+ </IOText>
44
31
  );
45
32
  }
46
33
  );
@@ -1,51 +1,41 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
+ import { useIOExperimentalDesign } from "../../core";
3
4
  import { IOColors } from "../../core/IOColors";
4
- import { IOFontFamily, IOFontWeight } from "../../utils/fonts";
5
- import { IOVisualCostants, useIOExperimentalDesign } from "../../core";
6
- import { useTypographyFactory } from "./Factory";
7
- import { ExternalTypographyProps, TypographyProps } from "./common";
5
+ import { IOFontFamily, IOFontSize, IOFontWeight } from "../../utils/fonts";
6
+ import { IOText, IOTextProps, TypographicStyleProps } from "./IOText";
8
7
 
9
- export type ButtonTextAllowedColors = IOColors;
10
- type AllowedWeight = Extract<IOFontWeight, "Semibold" | "Regular" | "Bold">;
11
-
12
- type ButtonTextProps = ExternalTypographyProps<
13
- TypographyProps<AllowedWeight, ButtonTextAllowedColors>
14
- >;
15
-
16
- export const buttonTextFontSize = 16;
8
+ export const buttonTextFontSize: IOFontSize = 16;
17
9
  /* Needed to render `ButtonOutline` and`ButtonLink` because they use
18
10
  `AnimatedText` for color transition through Reanimated */
19
- const buttonTextDefaultColor: ButtonTextAllowedColors = "white";
20
- const buttonTextFontName: IOFontFamily = "ReadexPro";
21
- const buttonTextDefaultWeight: AllowedWeight = "Regular";
11
+ const defaultColor: IOColors = "white";
12
+ const fontName: IOFontFamily = "ReadexPro";
13
+ const fontWeight: IOFontWeight = "Regular";
22
14
 
23
15
  // TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
24
- const legacyTextFontName: IOFontFamily = "TitilliumSansPro";
25
- const legacyTextDefaultWeight: AllowedWeight = "Bold";
16
+ const legacyFontName: IOFontFamily = "TitilliumSansPro";
17
+ const legacyFontWeight: IOFontWeight = "Bold";
26
18
 
27
19
  /**
28
20
  * `ButtonText` typographic style
29
21
  */
30
- export const ButtonText = React.forwardRef<View, ButtonTextProps>(
31
- (props, ref) => {
22
+ export const ButtonText = forwardRef<View, TypographicStyleProps>(
23
+ ({ color: customColor, ...props }, ref?: ForwardedRef<View>) => {
32
24
  const { isExperimental } = useIOExperimentalDesign();
33
25
 
34
- return useTypographyFactory<AllowedWeight, ButtonTextAllowedColors>(
35
- {
36
- ...props,
37
- allowFontScaling: isExperimental,
38
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
39
- defaultWeight: isExperimental
40
- ? buttonTextDefaultWeight
41
- : legacyTextDefaultWeight,
42
- defaultColor: buttonTextDefaultColor,
43
- font: isExperimental ? buttonTextFontName : legacyTextFontName,
44
- fontStyle: {
45
- fontSize: buttonTextFontSize
46
- }
47
- },
48
- ref
26
+ const ButtonTextProps: IOTextProps = {
27
+ ...props,
28
+ font: isExperimental ? fontName : legacyFontName,
29
+ weight: isExperimental ? fontWeight : legacyFontWeight,
30
+ size: buttonTextFontSize,
31
+ lineHeight: 20,
32
+ color: customColor ?? defaultColor
33
+ };
34
+
35
+ return (
36
+ <IOText ref={ref} {...ButtonTextProps}>
37
+ {props.children}
38
+ </IOText>
49
39
  );
50
40
  }
51
41
  );
@@ -1,45 +1,43 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
- import { IOTheme, IOVisualCostants, useIOExperimentalDesign } from "../../core";
4
- import { FontFamily, IOFontWeight } from "../../utils/fonts";
5
- import { useTypographyFactory } from "./Factory";
6
- import { ExternalTypographyProps, TypographyProps } from "./common";
3
+ import { IOTheme, useIOExperimentalDesign, useIOTheme } from "../../core";
4
+ import { IOFontFamily, IOFontSize, IOFontWeight } from "../../utils/fonts";
5
+ import { IOText, IOTextProps, TypographicStyleProps } from "./IOText";
7
6
 
8
- type AllowedColors = IOTheme["textHeading-default"];
9
- type AllowedWeight = Extract<IOFontWeight, "Regular">;
7
+ const defaultColor: keyof IOTheme = "textBody-default";
10
8
 
11
- type CaptionProps = ExternalTypographyProps<
12
- TypographyProps<AllowedWeight, AllowedColors>
13
- >;
14
-
15
- export const captionFontSize = 12;
16
- const font: FontFamily = "ReadexPro";
17
- const defaultColor: AllowedColors = "black";
18
- const defaultWeight: AllowedWeight = "Regular";
9
+ export const captionFontSize: IOFontSize = 12;
10
+ const fontName: IOFontFamily = "ReadexPro";
11
+ const fontWeight: IOFontWeight = "Regular";
19
12
 
20
13
  // TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
21
- const legacyFont: FontFamily = "TitilliumSansPro";
14
+ const legacyFontName: IOFontFamily = "TitilliumSansPro";
22
15
 
23
16
  /**
24
17
  * `Caption` typographic style
25
18
  */
26
- export const Caption = React.forwardRef<View, CaptionProps>((props, ref) => {
27
- const { isExperimental } = useIOExperimentalDesign();
19
+ export const Caption = forwardRef<View, TypographicStyleProps>(
20
+ ({ color: customColor, ...props }, ref?: ForwardedRef<View>) => {
21
+ const theme = useIOTheme();
22
+ const { isExperimental } = useIOExperimentalDesign();
28
23
 
29
- return useTypographyFactory<AllowedWeight, AllowedColors>(
30
- {
24
+ const CaptionProps: IOTextProps = {
31
25
  ...props,
32
- allowFontScaling: isExperimental,
33
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
34
- dynamicTypeRamp: "caption1" /* iOS only */,
35
- defaultWeight,
36
- defaultColor,
37
- font: isExperimental ? font : legacyFont,
38
- fontStyle: {
39
- fontSize: captionFontSize,
40
- textTransform: "uppercase"
26
+ dynamicTypeRamp: "caption1", // iOS only
27
+ font: isExperimental ? fontName : legacyFontName,
28
+ size: captionFontSize,
29
+ weight: fontWeight,
30
+ color: customColor ?? theme[defaultColor],
31
+ textStyle: {
32
+ textTransform: "uppercase",
33
+ letterSpacing: 0.5
41
34
  }
42
- },
43
- ref
44
- );
45
- });
35
+ };
36
+
37
+ return (
38
+ <IOText ref={ref} {...CaptionProps}>
39
+ {props.children}
40
+ </IOText>
41
+ );
42
+ }
43
+ );
@@ -1,45 +1,33 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
- import {
4
- IOColors,
5
- IOVisualCostants,
6
- useIOExperimentalDesign
7
- } from "../../core";
8
- import { FontFamily, IOFontWeight } from "../../utils/fonts";
9
- import { useTypographyFactory } from "./Factory";
10
- import { ExternalTypographyProps, TypographyProps } from "./common";
11
-
12
- type AllowedColors = IOColors;
13
- type AllowedWeight = Extract<IOFontWeight, "Semibold" | "Regular">;
14
-
15
- type ChipProps = ExternalTypographyProps<
16
- TypographyProps<AllowedWeight, AllowedColors>
17
- >;
18
-
19
- const chipFontSize = 12;
20
- const font: FontFamily = "ReadexPro";
21
- const defaultColor: AllowedColors = "black";
22
- const defaultWeight: AllowedWeight = "Regular";
3
+ import { useIOExperimentalDesign, useIOTheme } from "../../core";
4
+ import { IOFontFamily } from "../../utils/fonts";
5
+ import { IOText, IOTextProps, TypographicStyleProps } from "./IOText";
23
6
 
7
+ const fontName: IOFontFamily = "ReadexPro";
24
8
  // TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
25
- const legacyFont: FontFamily = "TitilliumSansPro";
9
+ const legacyFontName: IOFontFamily = "TitilliumSansPro";
26
10
  /**
27
11
  * `Chip` typographic style
28
12
  */
29
- export const Chip = React.forwardRef<View, ChipProps>((props, ref) => {
30
- const { isExperimental } = useIOExperimentalDesign();
13
+ export const Chip = forwardRef<View, TypographicStyleProps>(
14
+ ({ color: customColor, ...props }, ref?: ForwardedRef<View>) => {
15
+ const theme = useIOTheme();
16
+ const { isExperimental } = useIOExperimentalDesign();
31
17
 
32
- return useTypographyFactory<AllowedWeight, AllowedColors>(
33
- {
18
+ const ChipProps: IOTextProps = {
34
19
  ...props,
35
- allowFontScaling: isExperimental,
36
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
37
- dynamicTypeRamp: "caption2" /* iOS only */,
38
- defaultWeight,
39
- defaultColor,
40
- font: isExperimental ? font : legacyFont,
41
- fontStyle: { fontSize: chipFontSize }
42
- },
43
- ref
44
- );
45
- });
20
+ dynamicTypeRamp: "caption2", // iOS only
21
+ font: isExperimental ? fontName : legacyFontName,
22
+ weight: "Regular",
23
+ size: 12,
24
+ color: customColor ?? theme["textBody-default"]
25
+ };
26
+
27
+ return (
28
+ <IOText ref={ref} {...ChipProps}>
29
+ {props.children}
30
+ </IOText>
31
+ );
32
+ }
33
+ );
@@ -71,6 +71,7 @@ function isDefaultFactoryProps<WeightPropsType, ColorsPropsType>(
71
71
  * The default values can be calculated specifying some fallback values using {@link DefaultArgumentProps}
72
72
  * or with a factory function to define some custom behaviour using {@link DefaultFactoryProps}
73
73
  * @param props
74
+ * @deprecated Use `IOText` instead. Or use the new typographic styles that use it.
74
75
  */
75
76
  export function useTypographyFactory<
76
77
  WeightPropsType extends IOFontWeight,
@@ -1,49 +1,44 @@
1
- import React from "react";
1
+ import React, { ForwardedRef, forwardRef } from "react";
2
2
  import { View } from "react-native";
3
- import { IOTheme, IOVisualCostants, useIOExperimentalDesign } from "../../core";
4
- import { FontFamily, IOFontWeight } from "../../utils/fonts";
5
- import { useTypographyFactory } from "./Factory";
6
- import { ExternalTypographyProps, TypographyProps } from "./common";
3
+ import { IOTheme, useIOExperimentalDesign, useIOTheme } from "../../core";
4
+ import { IOFontFamily, IOFontSize, IOFontWeight } from "../../utils/fonts";
5
+ import { IOText, IOTextProps, TypographicStyleProps } from "./IOText";
7
6
 
8
- type AllowedColors = IOTheme["textHeading-default"];
9
- type AllowedWeight = Extract<IOFontWeight, "Regular" | "Semibold">;
7
+ const defaultColor: keyof IOTheme = "textHeading-default";
10
8
 
11
- type H1Props = ExternalTypographyProps<
12
- TypographyProps<AllowedWeight, AllowedColors>
13
- >;
14
-
15
- export const h1FontSize = 28;
9
+ export const h1FontSize: IOFontSize = 28;
16
10
  export const h1LineHeight = 42;
17
- const fontName: FontFamily = "ReadexPro";
18
- const defaultColor: AllowedColors = "black";
19
- const defaultWeight: AllowedWeight = "Regular";
11
+ const fontName: IOFontFamily = "ReadexPro";
12
+ const fontWeight: IOFontWeight = "Regular";
20
13
 
21
14
  // TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
22
- const legacyFont: FontFamily = "TitilliumSansPro";
23
- const legacyDefaultWeight: AllowedWeight = "Semibold";
24
- const legacyH1FontSize = 31;
15
+ const legacyH1FontSize: IOFontSize = 31;
25
16
  const legacyH1LineHeight = 43;
17
+ const legacyFontName: IOFontFamily = "TitilliumSansPro";
18
+ const legacyFontWeight: IOFontWeight = "Semibold";
26
19
 
27
20
  /**
28
21
  * `H1` typographic style
29
22
  */
30
- export const H1 = React.forwardRef<View, H1Props>((props, ref) => {
31
- const { isExperimental } = useIOExperimentalDesign();
23
+ export const H1 = forwardRef<View, TypographicStyleProps>(
24
+ ({ color: customColor, ...props }, ref?: ForwardedRef<View>) => {
25
+ const theme = useIOTheme();
26
+ const { isExperimental } = useIOExperimentalDesign();
32
27
 
33
- return useTypographyFactory<AllowedWeight, AllowedColors>(
34
- {
28
+ const H1Props: IOTextProps = {
35
29
  ...props,
36
- allowFontScaling: isExperimental,
37
- maxFontSizeMultiplier: IOVisualCostants.maxFontSizeMultiplier,
38
- dynamicTypeRamp: "largeTitle" /* iOS only */,
39
- defaultWeight: isExperimental ? defaultWeight : legacyDefaultWeight,
40
- defaultColor,
41
- font: isExperimental ? fontName : legacyFont,
42
- fontStyle: {
43
- fontSize: isExperimental ? h1FontSize : legacyH1FontSize,
44
- lineHeight: isExperimental ? h1LineHeight : legacyH1LineHeight
45
- }
46
- },
47
- ref
48
- );
49
- });
30
+ dynamicTypeRamp: "largeTitle", // iOS only
31
+ font: isExperimental ? fontName : legacyFontName,
32
+ weight: isExperimental ? fontWeight : legacyFontWeight,
33
+ size: isExperimental ? h1FontSize : legacyH1FontSize,
34
+ lineHeight: isExperimental ? h1LineHeight : legacyH1LineHeight,
35
+ color: customColor ?? theme[defaultColor]
36
+ };
37
+
38
+ return (
39
+ <IOText ref={ref} {...H1Props}>
40
+ {props.children}
41
+ </IOText>
42
+ );
43
+ }
44
+ );