@pagopa/io-app-design-system 1.6.1 → 1.7.0
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.
- package/lib/commonjs/components/banner/Banner.js +1 -1
- package/lib/commonjs/components/banner/Banner.js.map +1 -1
- package/lib/commonjs/components/banner/__test__/__snapshots__/banner.test.tsx.snap +44 -13
- package/lib/commonjs/components/banner/__test__/banner.test.js +1 -1
- package/lib/commonjs/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonLink.js +30 -33
- package/lib/commonjs/components/buttons/ButtonLink.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonOutline.js +153 -57
- package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonSolid.js +98 -61
- package/lib/commonjs/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/commonjs/components/buttons/IconButton.js +35 -4
- package/lib/commonjs/components/buttons/IconButton.js.map +1 -1
- package/lib/commonjs/components/buttons/IconButtonContained.js +50 -5
- package/lib/commonjs/components/buttons/IconButtonContained.js.map +1 -1
- package/lib/commonjs/components/buttons/__test__/__snapshots__/button.test.tsx.snap +25 -26
- package/lib/commonjs/components/icons/Icon.js +3 -0
- package/lib/commonjs/components/icons/Icon.js.map +1 -1
- package/lib/commonjs/components/pictograms/Pictogram.js +121 -15
- package/lib/commonjs/components/pictograms/Pictogram.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramAccessDenied.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramAccessDenied.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramAttention.js +12 -16
- package/lib/commonjs/components/pictograms/svg/PictogramAttention.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramBleedCharity.js +43 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedCharity.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedFeedback.js +40 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedFeedback.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedHelp.js +43 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedHelp.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedITWallet.js +61 -0
- package/lib/commonjs/components/pictograms/svg/PictogramBleedITWallet.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramCharity.js +44 -0
- package/lib/commonjs/components/pictograms/svg/PictogramCharity.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramDonation.js +3 -0
- package/lib/commonjs/components/pictograms/svg/PictogramDonation.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramEmpty.js +43 -0
- package/lib/commonjs/components/pictograms/svg/PictogramEmpty.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramEmptyArchive.js +6 -19
- package/lib/commonjs/components/pictograms/svg/PictogramEmptyArchive.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramFatalError.js +44 -0
- package/lib/commonjs/components/pictograms/svg/PictogramFatalError.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramFeedback.js +13 -40
- package/lib/commonjs/components/pictograms/svg/PictogramFeedback.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramHelp.js +45 -0
- package/lib/commonjs/components/pictograms/svg/PictogramHelp.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramITWallet.js +62 -0
- package/lib/commonjs/components/pictograms/svg/PictogramITWallet.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentity.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentity.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityAdd.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityAdd.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityCheck.js +59 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityCheck.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityRefresh.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramIdentityRefresh.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramPasscode.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramPasscode.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramSetup.js +3 -0
- package/lib/commonjs/components/pictograms/svg/PictogramSetup.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramStopSecurity.js +56 -0
- package/lib/commonjs/components/pictograms/svg/PictogramStopSecurity.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramSuccess.js +10 -26
- package/lib/commonjs/components/pictograms/svg/PictogramSuccess.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramTime.js +50 -0
- package/lib/commonjs/components/pictograms/svg/PictogramTime.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramTrash.js +39 -0
- package/lib/commonjs/components/pictograms/svg/PictogramTrash.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramUpdateOS.js +44 -0
- package/lib/commonjs/components/pictograms/svg/PictogramUpdateOS.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramAccessDenied.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramAttention.svg +21 -5
- package/lib/commonjs/components/pictograms/svg/originals/PictogramBleedCharity.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramBleedFeedback.svg +22 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramBleedHelp.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramBleedITWallet.svg +48 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramCharity.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramEmpty.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramEmptyArchive.svg +6 -22
- package/lib/commonjs/components/pictograms/svg/originals/PictogramFatalError.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramFeedback.svg +21 -20
- package/lib/commonjs/components/pictograms/svg/originals/PictogramHelp.svg +26 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramITWallet.svg +48 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramIdentity.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramIdentityAdd.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramIdentityCheck.svg +46 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramIdentityRefresh.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramPasscode.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramStopSecurity.svg +42 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramSuccess.svg +25 -34
- package/lib/commonjs/components/pictograms/svg/originals/PictogramTime.svg +34 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramTrash.svg +18 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramUpdateOS.svg +26 -0
- package/lib/commonjs/components/tag/Tag.js +28 -9
- package/lib/commonjs/components/tag/Tag.js.map +1 -1
- package/lib/commonjs/core/IODSExperimentalContextProvider.js +33 -0
- package/lib/commonjs/core/IODSExperimentalContextProvider.js.map +1 -0
- package/lib/commonjs/core/index.js +11 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/module/components/banner/Banner.js +2 -2
- package/lib/module/components/banner/Banner.js.map +1 -1
- package/lib/module/components/banner/__test__/__snapshots__/banner.test.tsx.snap +44 -13
- package/lib/module/components/banner/__test__/banner.test.js +1 -1
- package/lib/module/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/module/components/buttons/ButtonLink.js +32 -35
- package/lib/module/components/buttons/ButtonLink.js.map +1 -1
- package/lib/module/components/buttons/ButtonOutline.js +154 -58
- package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/module/components/buttons/ButtonSolid.js +89 -52
- package/lib/module/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/module/components/buttons/IconButton.js +37 -6
- package/lib/module/components/buttons/IconButton.js.map +1 -1
- package/lib/module/components/buttons/IconButtonContained.js +51 -6
- package/lib/module/components/buttons/IconButtonContained.js.map +1 -1
- package/lib/module/components/buttons/__test__/__snapshots__/button.test.tsx.snap +25 -26
- package/lib/module/components/icons/Icon.js +3 -0
- package/lib/module/components/icons/Icon.js.map +1 -1
- package/lib/module/components/pictograms/Pictogram.js +118 -13
- package/lib/module/components/pictograms/Pictogram.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramAccessDenied.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramAccessDenied.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramAttention.js +12 -16
- package/lib/module/components/pictograms/svg/PictogramAttention.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramBleedCharity.js +35 -0
- package/lib/module/components/pictograms/svg/PictogramBleedCharity.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramBleedFeedback.js +32 -0
- package/lib/module/components/pictograms/svg/PictogramBleedFeedback.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramBleedHelp.js +35 -0
- package/lib/module/components/pictograms/svg/PictogramBleedHelp.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramBleedITWallet.js +53 -0
- package/lib/module/components/pictograms/svg/PictogramBleedITWallet.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramCharity.js +36 -0
- package/lib/module/components/pictograms/svg/PictogramCharity.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramDonation.js +3 -0
- package/lib/module/components/pictograms/svg/PictogramDonation.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramEmpty.js +35 -0
- package/lib/module/components/pictograms/svg/PictogramEmpty.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramEmptyArchive.js +6 -19
- package/lib/module/components/pictograms/svg/PictogramEmptyArchive.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramFatalError.js +36 -0
- package/lib/module/components/pictograms/svg/PictogramFatalError.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramFeedback.js +14 -41
- package/lib/module/components/pictograms/svg/PictogramFeedback.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramHelp.js +35 -0
- package/lib/module/components/pictograms/svg/PictogramHelp.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramITWallet.js +54 -0
- package/lib/module/components/pictograms/svg/PictogramITWallet.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramIdentity.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramIdentity.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityAdd.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityAdd.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityCheck.js +51 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityCheck.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityRefresh.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramIdentityRefresh.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramPasscode.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramPasscode.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramSetup.js +3 -0
- package/lib/module/components/pictograms/svg/PictogramSetup.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramStopSecurity.js +48 -0
- package/lib/module/components/pictograms/svg/PictogramStopSecurity.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramSuccess.js +11 -27
- package/lib/module/components/pictograms/svg/PictogramSuccess.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramTime.js +42 -0
- package/lib/module/components/pictograms/svg/PictogramTime.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramTrash.js +31 -0
- package/lib/module/components/pictograms/svg/PictogramTrash.js.map +1 -0
- package/lib/module/components/pictograms/svg/PictogramUpdateOS.js +36 -0
- package/lib/module/components/pictograms/svg/PictogramUpdateOS.js.map +1 -0
- package/lib/module/components/pictograms/svg/originals/PictogramAccessDenied.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramAttention.svg +21 -5
- package/lib/module/components/pictograms/svg/originals/PictogramBleedCharity.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramBleedFeedback.svg +22 -0
- package/lib/module/components/pictograms/svg/originals/PictogramBleedHelp.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramBleedITWallet.svg +48 -0
- package/lib/module/components/pictograms/svg/originals/PictogramCharity.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramEmpty.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramEmptyArchive.svg +6 -22
- package/lib/module/components/pictograms/svg/originals/PictogramFatalError.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramFeedback.svg +21 -20
- package/lib/module/components/pictograms/svg/originals/PictogramHelp.svg +26 -0
- package/lib/module/components/pictograms/svg/originals/PictogramITWallet.svg +48 -0
- package/lib/module/components/pictograms/svg/originals/PictogramIdentity.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramIdentityAdd.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramIdentityCheck.svg +46 -0
- package/lib/module/components/pictograms/svg/originals/PictogramIdentityRefresh.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramPasscode.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramStopSecurity.svg +42 -0
- package/lib/module/components/pictograms/svg/originals/PictogramSuccess.svg +25 -34
- package/lib/module/components/pictograms/svg/originals/PictogramTime.svg +34 -0
- package/lib/module/components/pictograms/svg/originals/PictogramTrash.svg +18 -0
- package/lib/module/components/pictograms/svg/originals/PictogramUpdateOS.svg +26 -0
- package/lib/module/components/tag/Tag.js +26 -9
- package/lib/module/components/tag/Tag.js.map +1 -1
- package/lib/module/core/IODSExperimentalContextProvider.js +23 -0
- package/lib/module/core/IODSExperimentalContextProvider.js.map +1 -0
- package/lib/module/core/index.js +1 -0
- package/lib/module/core/index.js.map +1 -1
- package/lib/typescript/components/banner/Banner.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonLink.d.ts +1 -1
- package/lib/typescript/components/buttons/ButtonLink.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonOutline.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonSolid.d.ts.map +1 -1
- package/lib/typescript/components/buttons/IconButton.d.ts.map +1 -1
- package/lib/typescript/components/buttons/IconButtonContained.d.ts.map +1 -1
- package/lib/typescript/components/icons/Icon.d.ts +2 -0
- package/lib/typescript/components/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/Pictogram.d.ts +51 -8
- package/lib/typescript/components/pictograms/Pictogram.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramAccessDenied.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramAccessDenied.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramAttention.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramBleedCharity.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedCharity.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedFeedback.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedFeedback.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedHelp.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedHelp.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedITWallet.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramBleedITWallet.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramCharity.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramCharity.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramDonation.d.ts +3 -0
- package/lib/typescript/components/pictograms/svg/PictogramDonation.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramEmpty.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramEmpty.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramEmptyArchive.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramFatalError.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramFatalError.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramFeedback.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramHelp.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramHelp.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramITWallet.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramITWallet.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentity.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentity.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityAdd.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityAdd.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityCheck.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityCheck.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityRefresh.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramIdentityRefresh.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramPasscode.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramPasscode.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramSetup.d.ts +3 -0
- package/lib/typescript/components/pictograms/svg/PictogramSetup.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramStopSecurity.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramStopSecurity.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramSuccess.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramTime.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramTime.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramTrash.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramTrash.d.ts.map +1 -0
- package/lib/typescript/components/pictograms/svg/PictogramUpdateOS.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramUpdateOS.d.ts.map +1 -0
- package/lib/typescript/components/tag/Tag.d.ts +2 -2
- package/lib/typescript/components/tag/Tag.d.ts.map +1 -1
- package/lib/typescript/core/IODSExperimentalContextProvider.d.ts +9 -0
- package/lib/typescript/core/IODSExperimentalContextProvider.d.ts.map +1 -0
- package/lib/typescript/core/index.d.ts +1 -0
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/banner/Banner.tsx +3 -3
- package/src/components/banner/__test__/__snapshots__/banner.test.tsx.snap +44 -13
- package/src/components/banner/__test__/banner.test.tsx +1 -1
- package/src/components/buttons/ButtonLink.tsx +41 -41
- package/src/components/buttons/ButtonOutline.tsx +141 -36
- package/src/components/buttons/ButtonSolid.tsx +81 -22
- package/src/components/buttons/IconButton.tsx +44 -8
- package/src/components/buttons/IconButtonContained.tsx +57 -11
- package/src/components/buttons/__test__/__snapshots__/button.test.tsx.snap +25 -26
- package/src/components/icons/Icon.tsx +3 -0
- package/src/components/pictograms/Pictogram.tsx +126 -12
- package/src/components/pictograms/svg/PictogramAccessDenied.tsx +46 -0
- package/src/components/pictograms/svg/PictogramAttention.tsx +10 -13
- package/src/components/pictograms/svg/PictogramBleedCharity.tsx +34 -0
- package/src/components/pictograms/svg/PictogramBleedFeedback.tsx +30 -0
- package/src/components/pictograms/svg/PictogramBleedHelp.tsx +34 -0
- package/src/components/pictograms/svg/PictogramBleedITWallet.tsx +56 -0
- package/src/components/pictograms/svg/PictogramCharity.tsx +34 -0
- package/src/components/pictograms/svg/PictogramDonation.tsx +3 -0
- package/src/components/pictograms/svg/PictogramEmpty.tsx +34 -0
- package/src/components/pictograms/svg/PictogramEmptyArchive.tsx +6 -22
- package/src/components/pictograms/svg/PictogramFatalError.tsx +34 -0
- package/src/components/pictograms/svg/PictogramFeedback.tsx +22 -52
- package/src/components/pictograms/svg/PictogramHelp.tsx +34 -0
- package/src/components/pictograms/svg/PictogramITWallet.tsx +56 -0
- package/src/components/pictograms/svg/PictogramIdentity.tsx +42 -0
- package/src/components/pictograms/svg/PictogramIdentityAdd.tsx +42 -0
- package/src/components/pictograms/svg/PictogramIdentityCheck.tsx +58 -0
- package/src/components/pictograms/svg/PictogramIdentityRefresh.tsx +46 -0
- package/src/components/pictograms/svg/PictogramPasscode.tsx +42 -0
- package/src/components/pictograms/svg/PictogramSetup.tsx +3 -0
- package/src/components/pictograms/svg/PictogramStopSecurity.tsx +54 -0
- package/src/components/pictograms/svg/PictogramSuccess.tsx +23 -38
- package/src/components/pictograms/svg/PictogramTime.tsx +42 -0
- package/src/components/pictograms/svg/PictogramTrash.tsx +26 -0
- package/src/components/pictograms/svg/PictogramUpdateOS.tsx +34 -0
- package/src/components/pictograms/svg/originals/PictogramAccessDenied.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramAttention.svg +21 -5
- package/src/components/pictograms/svg/originals/PictogramBleedCharity.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramBleedFeedback.svg +22 -0
- package/src/components/pictograms/svg/originals/PictogramBleedHelp.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramBleedITWallet.svg +48 -0
- package/src/components/pictograms/svg/originals/PictogramCharity.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramEmpty.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramEmptyArchive.svg +6 -22
- package/src/components/pictograms/svg/originals/PictogramFatalError.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramFeedback.svg +21 -20
- package/src/components/pictograms/svg/originals/PictogramHelp.svg +26 -0
- package/src/components/pictograms/svg/originals/PictogramITWallet.svg +48 -0
- package/src/components/pictograms/svg/originals/PictogramIdentity.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramIdentityAdd.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramIdentityCheck.svg +46 -0
- package/src/components/pictograms/svg/originals/PictogramIdentityRefresh.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramPasscode.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramStopSecurity.svg +42 -0
- package/src/components/pictograms/svg/originals/PictogramSuccess.svg +25 -34
- package/src/components/pictograms/svg/originals/PictogramTime.svg +34 -0
- package/src/components/pictograms/svg/originals/PictogramTrash.svg +18 -0
- package/src/components/pictograms/svg/originals/PictogramUpdateOS.svg +26 -0
- package/src/components/tag/Tag.tsx +43 -15
- package/src/core/IODSExperimentalContextProvider.tsx +32 -0
- package/src/core/index.ts +1 -0
- package/lib/commonjs/components/pictograms/svg/PictogramFocusOn.js +0 -56
- package/lib/commonjs/components/pictograms/svg/PictogramFocusOn.js.map +0 -1
- package/lib/commonjs/components/pictograms/svg/originals/PictogramFocusOn.svg +0 -19
- package/lib/module/components/pictograms/svg/PictogramFocusOn.js +0 -48
- package/lib/module/components/pictograms/svg/PictogramFocusOn.js.map +0 -1
- package/lib/module/components/pictograms/svg/originals/PictogramFocusOn.svg +0 -19
- package/lib/typescript/components/pictograms/svg/PictogramFocusOn.d.ts +0 -5
- package/lib/typescript/components/pictograms/svg/PictogramFocusOn.d.ts.map +0 -1
- package/src/components/pictograms/svg/PictogramFocusOn.tsx +0 -39
- package/src/components/pictograms/svg/originals/PictogramFocusOn.svg +0 -19
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useCallback } from "react";
|
|
1
|
+
import React, { useCallback, useMemo } from "react";
|
|
2
2
|
import { GestureResponderEvent, Pressable, StyleSheet } from "react-native";
|
|
3
3
|
import Animated, {
|
|
4
4
|
Extrapolate,
|
|
@@ -14,14 +14,15 @@ import {
|
|
|
14
14
|
IOButtonStyles,
|
|
15
15
|
IOColors,
|
|
16
16
|
IOScaleValues,
|
|
17
|
-
IOSpringValues
|
|
17
|
+
IOSpringValues,
|
|
18
|
+
useIOExperimentalDesign
|
|
18
19
|
} from "../../core";
|
|
19
20
|
import { makeFontStyleObject } from "../../utils/fonts";
|
|
20
21
|
import { WithTestID } from "../../utils/types";
|
|
21
22
|
import { AnimatedIcon, IOIcons, IconClassComponent } from "../icons/Icon";
|
|
22
23
|
import { HSpacer } from "../spacer/Spacer";
|
|
23
24
|
|
|
24
|
-
type ColorButtonLink = "primary"
|
|
25
|
+
type ColorButtonLink = "primary";
|
|
25
26
|
export type ButtonLink = WithTestID<{
|
|
26
27
|
color?: ColorButtonLink;
|
|
27
28
|
label: string;
|
|
@@ -52,32 +53,19 @@ const mapColorStates: Record<NonNullable<ButtonLink["color"]>, ColorStates> = {
|
|
|
52
53
|
pressed: IOColors["blueIO-600"],
|
|
53
54
|
disabled: IOColors["grey-700"]
|
|
54
55
|
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
default: IOColors["warning-850"],
|
|
66
|
-
pressed: IOColors["warning-850"],
|
|
67
|
-
disabled: IOColors["grey-700"]
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
success: {
|
|
71
|
-
label: {
|
|
72
|
-
default: IOColors["success-850"],
|
|
73
|
-
pressed: IOColors["success-850"],
|
|
74
|
-
disabled: IOColors["grey-700"]
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
info: {
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
60
|
+
const mapLegacyColorStates: Record<
|
|
61
|
+
NonNullable<ButtonLink["color"]>,
|
|
62
|
+
ColorStates
|
|
63
|
+
> = {
|
|
64
|
+
// Primary button
|
|
65
|
+
primary: {
|
|
78
66
|
label: {
|
|
79
|
-
default: IOColors
|
|
80
|
-
pressed: IOColors["
|
|
67
|
+
default: IOColors.blue,
|
|
68
|
+
pressed: IOColors["blue-600"],
|
|
81
69
|
disabled: IOColors["grey-700"]
|
|
82
70
|
}
|
|
83
71
|
}
|
|
@@ -91,6 +79,14 @@ const IOButtonStylesLocal = StyleSheet.create({
|
|
|
91
79
|
}
|
|
92
80
|
});
|
|
93
81
|
|
|
82
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
83
|
+
const IOButtonLegacyStylesLocal = StyleSheet.create({
|
|
84
|
+
label: {
|
|
85
|
+
fontSize: 16,
|
|
86
|
+
...makeFontStyleObject("Bold", false, "TitilliumWeb")
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
94
90
|
export const ButtonLink = React.memo(
|
|
95
91
|
({
|
|
96
92
|
color = "primary",
|
|
@@ -104,6 +100,16 @@ export const ButtonLink = React.memo(
|
|
|
104
100
|
testID
|
|
105
101
|
}: ButtonLink) => {
|
|
106
102
|
const isPressed = useSharedValue(0);
|
|
103
|
+
const { isExperimental } = useIOExperimentalDesign();
|
|
104
|
+
|
|
105
|
+
const colorMap = useMemo(
|
|
106
|
+
() => (isExperimental ? mapColorStates : mapLegacyColorStates),
|
|
107
|
+
[isExperimental]
|
|
108
|
+
);
|
|
109
|
+
const buttonStylesLocal = useMemo(
|
|
110
|
+
() => (isExperimental ? IOButtonStylesLocal : IOButtonLegacyStylesLocal),
|
|
111
|
+
[isExperimental]
|
|
112
|
+
);
|
|
107
113
|
|
|
108
114
|
// Scaling transformation applied when the button is pressed
|
|
109
115
|
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
@@ -136,10 +142,7 @@ export const ButtonLink = React.memo(
|
|
|
136
142
|
const labelColor = interpolateColor(
|
|
137
143
|
progressPressed.value,
|
|
138
144
|
[0, 1],
|
|
139
|
-
[
|
|
140
|
-
mapColorStates[color].label.default,
|
|
141
|
-
mapColorStates[color].label.pressed
|
|
142
|
-
]
|
|
145
|
+
[colorMap[color].label.default, colorMap[color].label.pressed]
|
|
143
146
|
);
|
|
144
147
|
|
|
145
148
|
return {
|
|
@@ -152,10 +155,7 @@ export const ButtonLink = React.memo(
|
|
|
152
155
|
const iconColor = interpolateColor(
|
|
153
156
|
progressPressed.value,
|
|
154
157
|
[0, 1],
|
|
155
|
-
[
|
|
156
|
-
mapColorStates[color].label.default,
|
|
157
|
-
mapColorStates[color].label.pressed
|
|
158
|
-
]
|
|
158
|
+
[colorMap[color].label.default, colorMap[color].label.pressed]
|
|
159
159
|
);
|
|
160
160
|
|
|
161
161
|
return { color: iconColor };
|
|
@@ -207,13 +207,13 @@ export const ButtonLink = React.memo(
|
|
|
207
207
|
<AnimatedIconClassComponent
|
|
208
208
|
name={icon}
|
|
209
209
|
animatedProps={pressedColorIconAnimationStyle}
|
|
210
|
-
color={
|
|
210
|
+
color={colorMap[color]?.label?.default}
|
|
211
211
|
size={iconSize}
|
|
212
212
|
/>
|
|
213
213
|
) : (
|
|
214
214
|
<AnimatedIcon
|
|
215
215
|
name={icon}
|
|
216
|
-
color={
|
|
216
|
+
color={colorMap[color]?.label?.disabled}
|
|
217
217
|
size={iconSize}
|
|
218
218
|
/>
|
|
219
219
|
)}
|
|
@@ -222,10 +222,10 @@ export const ButtonLink = React.memo(
|
|
|
222
222
|
)}
|
|
223
223
|
<Animated.Text
|
|
224
224
|
style={[
|
|
225
|
-
|
|
225
|
+
buttonStylesLocal.label,
|
|
226
226
|
disabled
|
|
227
|
-
? { color:
|
|
228
|
-
: { color:
|
|
227
|
+
? { color: colorMap[color]?.label?.disabled }
|
|
228
|
+
: { color: colorMap[color]?.label?.default },
|
|
229
229
|
!disabled && pressedColorLabelAnimationStyle
|
|
230
230
|
]}
|
|
231
231
|
numberOfLines={1}
|
|
@@ -11,15 +11,22 @@ import Animated, {
|
|
|
11
11
|
withSpring
|
|
12
12
|
} from "react-native-reanimated";
|
|
13
13
|
import {
|
|
14
|
+
IOButtonLegacyStyles,
|
|
14
15
|
IOButtonStyles,
|
|
15
16
|
IOColors,
|
|
16
17
|
IOScaleValues,
|
|
17
18
|
IOSpringValues,
|
|
18
|
-
hexToRgba
|
|
19
|
+
hexToRgba,
|
|
20
|
+
useIOExperimentalDesign
|
|
19
21
|
} from "../../core/";
|
|
20
22
|
import { makeFontStyleObject } from "../../utils/fonts";
|
|
21
23
|
import { WithTestID } from "../../utils/types";
|
|
22
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
AnimatedIcon,
|
|
26
|
+
IOIconSizeScale,
|
|
27
|
+
IOIcons,
|
|
28
|
+
IconClassComponent
|
|
29
|
+
} from "../icons";
|
|
23
30
|
import { HSpacer } from "../spacer/Spacer";
|
|
24
31
|
|
|
25
32
|
type ColorButtonOutline = "primary" | "neutral" | "contrast" | "danger";
|
|
@@ -134,12 +141,105 @@ const mapColorStates: Record<
|
|
|
134
141
|
}
|
|
135
142
|
};
|
|
136
143
|
|
|
144
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
145
|
+
const mapLegacyColorStates: Record<
|
|
146
|
+
NonNullable<ButtonOutline["color"]>,
|
|
147
|
+
ColorStates
|
|
148
|
+
> = {
|
|
149
|
+
// Primary button
|
|
150
|
+
primary: {
|
|
151
|
+
border: {
|
|
152
|
+
default: IOColors.blue,
|
|
153
|
+
pressed: IOColors.blue,
|
|
154
|
+
disabled: IOColors.bluegreyLight
|
|
155
|
+
},
|
|
156
|
+
background: {
|
|
157
|
+
default: hexToRgba(IOColors.blue, 0),
|
|
158
|
+
pressed: hexToRgba(IOColors.blue, 0.15),
|
|
159
|
+
disabled: "transparent"
|
|
160
|
+
},
|
|
161
|
+
label: {
|
|
162
|
+
default: IOColors.blue,
|
|
163
|
+
pressed: IOColors.blue,
|
|
164
|
+
disabled: IOColors.grey
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
// Neutral button
|
|
168
|
+
neutral: {
|
|
169
|
+
border: {
|
|
170
|
+
default: IOColors.grey,
|
|
171
|
+
pressed: IOColors.bluegrey,
|
|
172
|
+
disabled: IOColors.bluegreyLight
|
|
173
|
+
},
|
|
174
|
+
background: {
|
|
175
|
+
default: IOColors.white,
|
|
176
|
+
pressed: IOColors.greyUltraLight,
|
|
177
|
+
disabled: "transparent"
|
|
178
|
+
},
|
|
179
|
+
label: {
|
|
180
|
+
default: IOColors.bluegrey,
|
|
181
|
+
pressed: IOColors.bluegreyDark,
|
|
182
|
+
disabled: IOColors.grey
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
// Contrast button
|
|
186
|
+
contrast: {
|
|
187
|
+
border: {
|
|
188
|
+
default: IOColors.white,
|
|
189
|
+
pressed: IOColors.white,
|
|
190
|
+
disabled: hexToRgba(IOColors.white, 0.5)
|
|
191
|
+
},
|
|
192
|
+
background: {
|
|
193
|
+
default: hexToRgba(IOColors.white, 0),
|
|
194
|
+
pressed: hexToRgba(IOColors.white, 0.2),
|
|
195
|
+
disabled: "transparent"
|
|
196
|
+
},
|
|
197
|
+
label: {
|
|
198
|
+
default: IOColors.white,
|
|
199
|
+
pressed: IOColors.white,
|
|
200
|
+
disabled: hexToRgba(IOColors.white, 0.5)
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
// Danger button
|
|
204
|
+
danger: {
|
|
205
|
+
border: {
|
|
206
|
+
default: IOColors.red,
|
|
207
|
+
pressed: IOColors.red,
|
|
208
|
+
disabled: IOColors.bluegreyLight
|
|
209
|
+
},
|
|
210
|
+
background: {
|
|
211
|
+
default: hexToRgba(IOColors.red, 0),
|
|
212
|
+
pressed: hexToRgba(IOColors.red, 0.15),
|
|
213
|
+
disabled: "transparent"
|
|
214
|
+
},
|
|
215
|
+
label: {
|
|
216
|
+
default: IOColors.red,
|
|
217
|
+
pressed: IOColors.red,
|
|
218
|
+
disabled: IOColors.grey
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
224
|
+
const IOButtonLegacyStylesLocal = StyleSheet.create({
|
|
225
|
+
// eslint-disable-next-line react-native/no-unused-styles
|
|
226
|
+
label: {
|
|
227
|
+
...makeFontStyleObject("Bold")
|
|
228
|
+
},
|
|
229
|
+
// eslint-disable-next-line react-native/no-unused-styles
|
|
230
|
+
buttonWithBorder: {
|
|
231
|
+
borderWidth: 1
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
|
|
137
235
|
const DISABLED_OPACITY = 0.5;
|
|
138
236
|
|
|
139
237
|
const IOButtonStylesLocal = StyleSheet.create({
|
|
238
|
+
// eslint-disable-next-line react-native/no-unused-styles
|
|
140
239
|
label: {
|
|
141
240
|
...makeFontStyleObject("Regular", false, "ReadexPro")
|
|
142
241
|
},
|
|
242
|
+
// eslint-disable-next-line react-native/no-unused-styles
|
|
143
243
|
buttonWithBorder: {
|
|
144
244
|
borderWidth: 2
|
|
145
245
|
}
|
|
@@ -158,8 +258,23 @@ export const ButtonOutline = ({
|
|
|
158
258
|
accessibilityHint,
|
|
159
259
|
testID
|
|
160
260
|
}: ButtonOutline) => {
|
|
261
|
+
const { isExperimental } = useIOExperimentalDesign();
|
|
161
262
|
const isPressed: Animated.SharedValue<number> = useSharedValue(0);
|
|
162
263
|
|
|
264
|
+
const colorMap = React.useMemo(
|
|
265
|
+
() => (isExperimental ? mapColorStates : mapLegacyColorStates),
|
|
266
|
+
[isExperimental]
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
const buttonStyles = React.useMemo(
|
|
270
|
+
() => (isExperimental ? IOButtonStyles : IOButtonLegacyStyles),
|
|
271
|
+
[isExperimental]
|
|
272
|
+
);
|
|
273
|
+
|
|
274
|
+
const buttonStylesLocal = React.useMemo(
|
|
275
|
+
() => (isExperimental ? IOButtonStylesLocal : IOButtonLegacyStylesLocal),
|
|
276
|
+
[isExperimental]
|
|
277
|
+
);
|
|
163
278
|
// Scaling transformation applied when the button is pressed
|
|
164
279
|
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
165
280
|
|
|
@@ -174,19 +289,13 @@ export const ButtonOutline = ({
|
|
|
174
289
|
const backgroundColor = interpolateColor(
|
|
175
290
|
progressPressed.value,
|
|
176
291
|
[0, 1],
|
|
177
|
-
[
|
|
178
|
-
mapColorStates[color].background.default,
|
|
179
|
-
mapColorStates[color].background.pressed
|
|
180
|
-
]
|
|
292
|
+
[colorMap[color].background.default, colorMap[color].background.pressed]
|
|
181
293
|
);
|
|
182
294
|
|
|
183
295
|
const borderColor = interpolateColor(
|
|
184
296
|
progressPressed.value,
|
|
185
297
|
[0, 1],
|
|
186
|
-
[
|
|
187
|
-
mapColorStates[color].border.default,
|
|
188
|
-
mapColorStates[color].border.pressed
|
|
189
|
-
]
|
|
298
|
+
[colorMap[color].border.default, colorMap[color].border.pressed]
|
|
190
299
|
);
|
|
191
300
|
|
|
192
301
|
// Scale down button slightly when pressed
|
|
@@ -210,10 +319,7 @@ export const ButtonOutline = ({
|
|
|
210
319
|
const labelColor = interpolateColor(
|
|
211
320
|
progressPressed.value,
|
|
212
321
|
[0, 1],
|
|
213
|
-
[
|
|
214
|
-
mapColorStates[color].border.default,
|
|
215
|
-
mapColorStates[color].border.pressed
|
|
216
|
-
]
|
|
322
|
+
[colorMap[color].border.default, colorMap[color].border.pressed]
|
|
217
323
|
);
|
|
218
324
|
|
|
219
325
|
return {
|
|
@@ -226,7 +332,7 @@ export const ButtonOutline = ({
|
|
|
226
332
|
const iconColor = interpolateColor(
|
|
227
333
|
progressPressed.value,
|
|
228
334
|
[0, 1],
|
|
229
|
-
[
|
|
335
|
+
[colorMap[color].label.default, colorMap[color].label.pressed]
|
|
230
336
|
);
|
|
231
337
|
return { color: iconColor };
|
|
232
338
|
});
|
|
@@ -243,7 +349,10 @@ export const ButtonOutline = ({
|
|
|
243
349
|
isPressed.value = 0;
|
|
244
350
|
}, [isPressed]);
|
|
245
351
|
|
|
246
|
-
|
|
352
|
+
// Icon size
|
|
353
|
+
const iconSize: IOIconSizeScale = small ? 16 : 20;
|
|
354
|
+
|
|
355
|
+
return (
|
|
247
356
|
<Pressable
|
|
248
357
|
accessibilityLabel={accessibilityLabel}
|
|
249
358
|
accessibilityHint={accessibilityHint}
|
|
@@ -258,21 +367,19 @@ export const ButtonOutline = ({
|
|
|
258
367
|
>
|
|
259
368
|
<Animated.View
|
|
260
369
|
style={[
|
|
261
|
-
|
|
262
|
-
|
|
370
|
+
buttonStyles.button,
|
|
371
|
+
buttonStylesLocal.buttonWithBorder,
|
|
263
372
|
iconPosition === "end" && { flexDirection: "row-reverse" },
|
|
264
|
-
small
|
|
265
|
-
? IOButtonStyles.buttonSizeSmall
|
|
266
|
-
: IOButtonStyles.buttonSizeDefault,
|
|
373
|
+
small ? buttonStyles.buttonSizeSmall : buttonStyles.buttonSizeDefault,
|
|
267
374
|
disabled
|
|
268
375
|
? {
|
|
269
|
-
backgroundColor:
|
|
270
|
-
borderColor:
|
|
376
|
+
backgroundColor: colorMap[color]?.background?.disabled,
|
|
377
|
+
borderColor: colorMap[color]?.border?.disabled,
|
|
271
378
|
opacity: DISABLED_OPACITY
|
|
272
379
|
}
|
|
273
380
|
: {
|
|
274
|
-
backgroundColor:
|
|
275
|
-
borderColor:
|
|
381
|
+
backgroundColor: colorMap[color]?.background?.default,
|
|
382
|
+
borderColor: colorMap[color]?.border.default
|
|
276
383
|
},
|
|
277
384
|
/* Prevent Reanimated from overriding background colors
|
|
278
385
|
if button is disabled */
|
|
@@ -285,12 +392,14 @@ export const ButtonOutline = ({
|
|
|
285
392
|
<AnimatedIconClassComponent
|
|
286
393
|
name={icon}
|
|
287
394
|
animatedProps={pressedColorIconAnimationStyle}
|
|
288
|
-
color={
|
|
395
|
+
color={colorMap[color]?.label?.default}
|
|
396
|
+
size={iconSize}
|
|
289
397
|
/>
|
|
290
398
|
) : (
|
|
291
399
|
<AnimatedIcon
|
|
292
400
|
name={icon}
|
|
293
|
-
color={
|
|
401
|
+
color={colorMap[color]?.label?.disabled}
|
|
402
|
+
size={iconSize}
|
|
294
403
|
/>
|
|
295
404
|
)}
|
|
296
405
|
<HSpacer size={8} />
|
|
@@ -298,14 +407,12 @@ export const ButtonOutline = ({
|
|
|
298
407
|
)}
|
|
299
408
|
<Animated.Text
|
|
300
409
|
style={[
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
small
|
|
304
|
-
? IOButtonStyles.labelSizeSmall
|
|
305
|
-
: IOButtonStyles.labelSizeDefault,
|
|
410
|
+
buttonStylesLocal.label,
|
|
411
|
+
buttonStyles.label,
|
|
412
|
+
small ? buttonStyles.labelSizeSmall : buttonStyles.labelSizeDefault,
|
|
306
413
|
disabled
|
|
307
|
-
? { color:
|
|
308
|
-
: { color:
|
|
414
|
+
? { color: colorMap[color]?.label?.disabled }
|
|
415
|
+
: { color: colorMap[color]?.label?.default },
|
|
309
416
|
!disabled && pressedColorLabelAnimationStyle
|
|
310
417
|
]}
|
|
311
418
|
numberOfLines={1}
|
|
@@ -320,8 +427,6 @@ export const ButtonOutline = ({
|
|
|
320
427
|
</Animated.View>
|
|
321
428
|
</Pressable>
|
|
322
429
|
);
|
|
323
|
-
|
|
324
|
-
return <Button />;
|
|
325
430
|
};
|
|
326
431
|
|
|
327
432
|
export default ButtonOutline;
|
|
@@ -9,13 +9,18 @@ import Animated, {
|
|
|
9
9
|
useSharedValue,
|
|
10
10
|
withSpring
|
|
11
11
|
} from "react-native-reanimated";
|
|
12
|
-
import { IOScaleValues, IOSpringValues } from "../../core/IOAnimations";
|
|
13
|
-
import { IOColors } from "../../core/IOColors";
|
|
14
|
-
import { IOButtonStyles } from "../../core/IOStyles";
|
|
15
12
|
import { IOIcons, Icon } from "../icons";
|
|
16
13
|
import { WithTestID } from "../../utils/types";
|
|
17
14
|
import { HSpacer } from "../spacer/Spacer";
|
|
18
15
|
import { BaseTypography } from "../typography/BaseTypography";
|
|
16
|
+
import {
|
|
17
|
+
IOButtonLegacyStyles,
|
|
18
|
+
IOButtonStyles,
|
|
19
|
+
IOColors,
|
|
20
|
+
IOScaleValues,
|
|
21
|
+
IOSpringValues,
|
|
22
|
+
useIOExperimentalDesign
|
|
23
|
+
} from "../../core";
|
|
19
24
|
|
|
20
25
|
type ButtonSolidColor = "primary" | "danger" | "contrast";
|
|
21
26
|
|
|
@@ -28,6 +33,15 @@ type ColorStates = {
|
|
|
28
33
|
};
|
|
29
34
|
};
|
|
30
35
|
|
|
36
|
+
// Disabled state
|
|
37
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
38
|
+
const colorPrimaryLegacyButtonDisabled: IOColors = "bluegreyLight";
|
|
39
|
+
const legacyStyles = StyleSheet.create({
|
|
40
|
+
backgroundDisabled: {
|
|
41
|
+
backgroundColor: IOColors[colorPrimaryLegacyButtonDisabled]
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
31
45
|
const colorPrimaryButtonDisabled: IOColors = "grey-200";
|
|
32
46
|
const DISABLED_OPACITY = 0.5;
|
|
33
47
|
|
|
@@ -100,6 +114,40 @@ const mapColorStates: Record<
|
|
|
100
114
|
}
|
|
101
115
|
};
|
|
102
116
|
|
|
117
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
118
|
+
const mapLegacyColorStates: Record<
|
|
119
|
+
NonNullable<ButtonSolidProps["color"]>,
|
|
120
|
+
ColorStates
|
|
121
|
+
> = {
|
|
122
|
+
// Primary button
|
|
123
|
+
primary: {
|
|
124
|
+
default: IOColors.blue,
|
|
125
|
+
pressed: IOColors["blue-600"],
|
|
126
|
+
label: {
|
|
127
|
+
default: "white",
|
|
128
|
+
disabled: "white"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
// Danger button
|
|
132
|
+
danger: {
|
|
133
|
+
default: IOColors["error-600"],
|
|
134
|
+
pressed: IOColors["error-500"],
|
|
135
|
+
label: {
|
|
136
|
+
default: "white",
|
|
137
|
+
disabled: "white"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
// Contrast button
|
|
141
|
+
contrast: {
|
|
142
|
+
default: IOColors.white,
|
|
143
|
+
pressed: IOColors["blue-50"],
|
|
144
|
+
label: {
|
|
145
|
+
default: "blue",
|
|
146
|
+
disabled: "white"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
103
151
|
export const ButtonSolid = React.memo(
|
|
104
152
|
({
|
|
105
153
|
color = "primary",
|
|
@@ -115,10 +163,23 @@ export const ButtonSolid = React.memo(
|
|
|
115
163
|
testID
|
|
116
164
|
}: ButtonSolidProps) => {
|
|
117
165
|
const isPressed = useSharedValue(0);
|
|
118
|
-
|
|
166
|
+
const { isExperimental } = useIOExperimentalDesign();
|
|
119
167
|
// Scaling transformation applied when the button is pressed
|
|
120
168
|
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
121
169
|
|
|
170
|
+
const colorMap = React.useMemo(
|
|
171
|
+
() => (isExperimental ? mapColorStates : mapLegacyColorStates),
|
|
172
|
+
[isExperimental]
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
const buttonStyles = React.useMemo(
|
|
176
|
+
() => (isExperimental ? IOButtonStyles : IOButtonLegacyStyles),
|
|
177
|
+
[isExperimental]
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
// Icon size
|
|
181
|
+
const iconSize = React.useMemo(() => (small ? 16 : 20), [small]);
|
|
182
|
+
|
|
122
183
|
// Using a spring-based animation for our interpolations
|
|
123
184
|
const progressPressed = useDerivedValue(() =>
|
|
124
185
|
withSpring(isPressed.value, IOSpringValues.button)
|
|
@@ -130,7 +191,7 @@ export const ButtonSolid = React.memo(
|
|
|
130
191
|
const bgColor = interpolateColor(
|
|
131
192
|
progressPressed.value,
|
|
132
193
|
[0, 1],
|
|
133
|
-
[
|
|
194
|
+
[colorMap[color].default, colorMap[color].pressed]
|
|
134
195
|
);
|
|
135
196
|
|
|
136
197
|
// Scale down button slightly when pressed
|
|
@@ -158,13 +219,10 @@ export const ButtonSolid = React.memo(
|
|
|
158
219
|
|
|
159
220
|
// Label & Icons colors
|
|
160
221
|
const foregroundColor: IOColors = disabled
|
|
161
|
-
?
|
|
162
|
-
:
|
|
163
|
-
|
|
164
|
-
// Icon size
|
|
165
|
-
const iconSize = small ? 16 : 20;
|
|
222
|
+
? colorMap[color]?.label?.disabled
|
|
223
|
+
: colorMap[color]?.label?.default;
|
|
166
224
|
|
|
167
|
-
|
|
225
|
+
return (
|
|
168
226
|
<Pressable
|
|
169
227
|
accessibilityLabel={accessibilityLabel}
|
|
170
228
|
accessibilityHint={accessibilityHint}
|
|
@@ -179,14 +237,16 @@ export const ButtonSolid = React.memo(
|
|
|
179
237
|
>
|
|
180
238
|
<Animated.View
|
|
181
239
|
style={[
|
|
182
|
-
|
|
240
|
+
buttonStyles.button,
|
|
183
241
|
iconPosition === "end" && { flexDirection: "row-reverse" },
|
|
184
242
|
small
|
|
185
|
-
?
|
|
186
|
-
:
|
|
243
|
+
? buttonStyles.buttonSizeSmall
|
|
244
|
+
: buttonStyles.buttonSizeDefault,
|
|
187
245
|
disabled
|
|
188
|
-
?
|
|
189
|
-
|
|
246
|
+
? isExperimental
|
|
247
|
+
? styles.backgroundDisabled
|
|
248
|
+
: legacyStyles.backgroundDisabled
|
|
249
|
+
: { backgroundColor: colorMap[color]?.default },
|
|
190
250
|
/* Prevent Reanimated from overriding background colors
|
|
191
251
|
if button is disabled */
|
|
192
252
|
!disabled && pressedAnimationStyle
|
|
@@ -203,14 +263,14 @@ export const ButtonSolid = React.memo(
|
|
|
203
263
|
</>
|
|
204
264
|
)}
|
|
205
265
|
<BaseTypography
|
|
206
|
-
font="ReadexPro"
|
|
207
|
-
weight={"Regular"}
|
|
266
|
+
font={isExperimental ? "ReadexPro" : undefined}
|
|
267
|
+
weight={isExperimental ? "Regular" : "Bold"}
|
|
208
268
|
color={foregroundColor}
|
|
209
269
|
style={[
|
|
210
|
-
|
|
270
|
+
buttonStyles.label,
|
|
211
271
|
small
|
|
212
|
-
?
|
|
213
|
-
:
|
|
272
|
+
? buttonStyles.labelSizeSmall
|
|
273
|
+
: buttonStyles.labelSizeDefault
|
|
214
274
|
]}
|
|
215
275
|
numberOfLines={1}
|
|
216
276
|
ellipsizeMode="tail"
|
|
@@ -224,7 +284,6 @@ export const ButtonSolid = React.memo(
|
|
|
224
284
|
</Animated.View>
|
|
225
285
|
</Pressable>
|
|
226
286
|
);
|
|
227
|
-
return <Button />;
|
|
228
287
|
}
|
|
229
288
|
);
|
|
230
289
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useCallback } from "react";
|
|
1
|
+
import React, { useCallback, useMemo } from "react";
|
|
2
2
|
import { GestureResponderEvent, Pressable } from "react-native";
|
|
3
3
|
import Animated, {
|
|
4
4
|
Extrapolate,
|
|
@@ -15,7 +15,8 @@ import {
|
|
|
15
15
|
IOIconButtonStyles,
|
|
16
16
|
IOScaleValues,
|
|
17
17
|
IOSpringValues,
|
|
18
|
-
hexToRgba
|
|
18
|
+
hexToRgba,
|
|
19
|
+
useIOExperimentalDesign
|
|
19
20
|
} from "../../core";
|
|
20
21
|
import { WithTestID } from "../../utils/types";
|
|
21
22
|
import { AnimatedIcon, IOIcons, IconClassComponent } from "../icons";
|
|
@@ -37,6 +38,37 @@ type ColorStates = {
|
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
|
|
41
|
+
// TODO: Remove this when legacy look is deprecated https://pagopa.atlassian.net/browse/IOPLT-153
|
|
42
|
+
const mapLegacyColorStates: Record<
|
|
43
|
+
NonNullable<IconButton["color"]>,
|
|
44
|
+
ColorStates
|
|
45
|
+
> = {
|
|
46
|
+
// Primary button
|
|
47
|
+
primary: {
|
|
48
|
+
icon: {
|
|
49
|
+
default: IOColors.blue,
|
|
50
|
+
pressed: IOColors["blue-600"],
|
|
51
|
+
disabled: hexToRgba(IOColors.blue, 0.25)
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
// Neutral button
|
|
55
|
+
neutral: {
|
|
56
|
+
icon: {
|
|
57
|
+
default: IOColors.black,
|
|
58
|
+
pressed: IOColors.bluegreyDark,
|
|
59
|
+
disabled: IOColors.grey
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
// Contrast button
|
|
63
|
+
contrast: {
|
|
64
|
+
icon: {
|
|
65
|
+
default: IOColors.white,
|
|
66
|
+
pressed: hexToRgba(IOColors.white, 0.85),
|
|
67
|
+
disabled: hexToRgba(IOColors.white, 0.25)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
40
72
|
const mapColorStates: Record<NonNullable<IconButton["color"]>, ColorStates> = {
|
|
41
73
|
// Primary button
|
|
42
74
|
primary: {
|
|
@@ -78,6 +110,13 @@ export const IconButton = ({
|
|
|
78
110
|
}: IconButton) => {
|
|
79
111
|
const isPressed = useSharedValue(0);
|
|
80
112
|
|
|
113
|
+
const { isExperimental } = useIOExperimentalDesign();
|
|
114
|
+
|
|
115
|
+
const colorMap = useMemo(
|
|
116
|
+
() => (isExperimental ? mapColorStates : mapLegacyColorStates),
|
|
117
|
+
[isExperimental]
|
|
118
|
+
);
|
|
119
|
+
|
|
81
120
|
// Scaling transformation applied when the button is pressed
|
|
82
121
|
const animationScaleValue = IOScaleValues?.exaggeratedButton?.pressedState;
|
|
83
122
|
|
|
@@ -107,7 +146,7 @@ export const IconButton = ({
|
|
|
107
146
|
const iconColor = interpolateColor(
|
|
108
147
|
progressPressed.value,
|
|
109
148
|
[0, 1],
|
|
110
|
-
[
|
|
149
|
+
[colorMap[color].icon.default, colorMap[color].icon.pressed]
|
|
111
150
|
);
|
|
112
151
|
return { color: iconColor };
|
|
113
152
|
});
|
|
@@ -149,13 +188,10 @@ export const IconButton = ({
|
|
|
149
188
|
<AnimatedIconClassComponent
|
|
150
189
|
name={icon}
|
|
151
190
|
animatedProps={animatedColor}
|
|
152
|
-
color={
|
|
191
|
+
color={colorMap[color]?.icon?.default}
|
|
153
192
|
/>
|
|
154
193
|
) : (
|
|
155
|
-
<AnimatedIcon
|
|
156
|
-
name={icon}
|
|
157
|
-
color={mapColorStates[color]?.icon?.disabled}
|
|
158
|
-
/>
|
|
194
|
+
<AnimatedIcon name={icon} color={colorMap[color]?.icon?.disabled} />
|
|
159
195
|
)}
|
|
160
196
|
</Animated.View>
|
|
161
197
|
</Pressable>
|