@wordpress/components 19.0.3 → 19.1.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 (116) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/circular-option-picker/index.js +2 -2
  3. package/build/circular-option-picker/index.js.map +1 -1
  4. package/build/color-palette/index.js +1 -0
  5. package/build/color-palette/index.js.map +1 -1
  6. package/build/date-time/time.js +17 -3
  7. package/build/date-time/time.js.map +1 -1
  8. package/build/duotone-picker/duotone-picker.js +2 -1
  9. package/build/duotone-picker/duotone-picker.js.map +1 -1
  10. package/build/font-size-picker/index.js +2 -1
  11. package/build/font-size-picker/index.js.map +1 -1
  12. package/build/index.js +7 -7
  13. package/build/index.js.map +1 -1
  14. package/build/mobile/global-styles-context/utils.native.js +3 -3
  15. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  16. package/build/navigation/item/index.js +6 -3
  17. package/build/navigation/item/index.js.map +1 -1
  18. package/build/navigation/styles/navigation-styles.js +37 -30
  19. package/build/navigation/styles/navigation-styles.js.map +1 -1
  20. package/build/palette-edit/index.js +303 -0
  21. package/build/palette-edit/index.js.map +1 -0
  22. package/build/palette-edit/styles.js +112 -0
  23. package/build/palette-edit/styles.js.map +1 -0
  24. package/build/popover/index.js +1 -1
  25. package/build/popover/index.js.map +1 -1
  26. package/build/toggle-group-control/toggle-group-control-option/component.js +30 -4
  27. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  28. package/build/tooltip/index.js +4 -4
  29. package/build/tooltip/index.js.map +1 -1
  30. package/build-module/circular-option-picker/index.js +2 -2
  31. package/build-module/circular-option-picker/index.js.map +1 -1
  32. package/build-module/color-palette/index.js +1 -0
  33. package/build-module/color-palette/index.js.map +1 -1
  34. package/build-module/date-time/time.js +17 -3
  35. package/build-module/date-time/time.js.map +1 -1
  36. package/build-module/duotone-picker/duotone-picker.js +2 -1
  37. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  38. package/build-module/font-size-picker/index.js +2 -1
  39. package/build-module/font-size-picker/index.js.map +1 -1
  40. package/build-module/index.js +1 -1
  41. package/build-module/index.js.map +1 -1
  42. package/build-module/mobile/global-styles-context/utils.native.js +3 -3
  43. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  44. package/build-module/navigation/item/index.js +7 -4
  45. package/build-module/navigation/item/index.js.map +1 -1
  46. package/build-module/navigation/styles/navigation-styles.js +34 -28
  47. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  48. package/build-module/palette-edit/index.js +276 -0
  49. package/build-module/palette-edit/index.js.map +1 -0
  50. package/build-module/palette-edit/styles.js +90 -0
  51. package/build-module/palette-edit/styles.js.map +1 -0
  52. package/build-module/popover/index.js +1 -1
  53. package/build-module/popover/index.js.map +1 -1
  54. package/build-module/toggle-group-control/toggle-group-control-option/component.js +26 -5
  55. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  56. package/build-module/tooltip/index.js +4 -4
  57. package/build-module/tooltip/index.js.map +1 -1
  58. package/build-style/style-rtl.css +21 -1
  59. package/build-style/style.css +21 -1
  60. package/build-types/confirm-dialog/component.d.ts +34 -0
  61. package/build-types/confirm-dialog/component.d.ts.map +1 -0
  62. package/build-types/confirm-dialog/index.d.ts +6 -0
  63. package/build-types/confirm-dialog/index.d.ts.map +1 -0
  64. package/build-types/confirm-dialog/types.d.ts +20 -0
  65. package/build-types/confirm-dialog/types.d.ts.map +1 -0
  66. package/build-types/higher-order/with-focus-outside/index.d.ts +3 -0
  67. package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -0
  68. package/build-types/modal/aria-helper.d.ts +27 -0
  69. package/build-types/modal/aria-helper.d.ts.map +1 -0
  70. package/build-types/modal/index.d.ts +3 -0
  71. package/build-types/modal/index.d.ts.map +1 -0
  72. package/build-types/popover/index.d.ts.map +1 -1
  73. package/build-types/style-provider/index.d.ts +5 -0
  74. package/build-types/style-provider/index.d.ts.map +1 -0
  75. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  76. package/build-types/toggle-group-control/types.d.ts +23 -0
  77. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  78. package/build-types/tooltip/index.d.ts +1 -7
  79. package/build-types/tooltip/index.d.ts.map +1 -1
  80. package/package.json +2 -2
  81. package/src/circular-option-picker/index.js +7 -5
  82. package/src/color-palette/index.js +1 -0
  83. package/src/color-palette/style.scss +9 -0
  84. package/src/color-palette/test/__snapshots__/index.js.snap +2 -0
  85. package/src/date-time/test/time.js +32 -2
  86. package/src/date-time/time.js +14 -6
  87. package/src/duotone-picker/duotone-picker.js +8 -5
  88. package/src/font-size-picker/index.js +1 -0
  89. package/src/index.js +1 -1
  90. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
  91. package/src/mobile/global-styles-context/utils.native.js +3 -3
  92. package/src/navigation/item/index.js +10 -3
  93. package/src/navigation/stories/more-examples.js +2 -1
  94. package/src/navigation/styles/navigation-styles.js +5 -0
  95. package/src/palette-edit/index.js +392 -0
  96. package/src/palette-edit/style.scss +19 -0
  97. package/src/{color-edit → palette-edit}/styles.js +15 -18
  98. package/src/popover/index.js +5 -1
  99. package/src/style.scss +1 -1
  100. package/src/toggle-group-control/stories/index.js +15 -0
  101. package/src/toggle-group-control/test/index.js +57 -0
  102. package/src/toggle-group-control/toggle-group-control-option/README.md +8 -1
  103. package/src/toggle-group-control/toggle-group-control-option/component.tsx +40 -17
  104. package/src/toggle-group-control/types.ts +24 -0
  105. package/src/tooltip/index.js +2 -7
  106. package/tsconfig.tsbuildinfo +1 -1
  107. package/build/color-edit/index.js +0 -251
  108. package/build/color-edit/index.js.map +0 -1
  109. package/build/color-edit/styles.js +0 -112
  110. package/build/color-edit/styles.js.map +0 -1
  111. package/build-module/color-edit/index.js +0 -227
  112. package/build-module/color-edit/index.js.map +0 -1
  113. package/build-module/color-edit/styles.js +0 -90
  114. package/build-module/color-edit/styles.js.map +0 -1
  115. package/src/color-edit/index.js +0 -300
  116. package/src/color-edit/style.scss +0 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","user","normalizeFontSizes","normalizedFontSizes","dimensions","Dimensions","get","map","fontSizeObject","sizePx","width","height","getGlobalStyles","rawStyles","rawFeatures","stringify","gradients","custom","globalStyles","__experimentalFeatures","customLineHeight","__experimentalGlobalStylesBaseStyles"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGO,MAAMA,sBAAsB,GAAG,CACrC,WADqC,EAErC,iBAFqC,EAGrC,OAHqC,EAIrC,OAJqC,EAKrC,UALqC,CAA/B,C,CAQP;;;AACA,MAAMC,8BAA8B,GAAG;AACtCC,EAAAA,SAAS,EAAE,OAD2B;AAEtCC,EAAAA,IAAI,EAAE,OAFgC;AAGtCC,EAAAA,UAAU,EAAE,iBAH0B;AAItCC,EAAAA,IAAI,EAAE,WAJgC;AAKtCC,EAAAA,WAAW,EAAE;AALyB,CAAvC;AAQA,MAAMC,OAAO,GAAG,EAAhB,C,CAAoB;;AACpB,MAAMC,aAAa,GAAG,WAAtB;;AAEO,SAASC,gBAAT,CACNC,WADM,EAENC,iBAFM,EAGNC,oBAHM,EAINC,WAJM,EAKL;AACD,QAAMC,aAAa,GAAG,EAAtB;;AAEA,MACC,CAAEJ,WAAW,CAACK,OAAd,KACEJ,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,IAAAA,iBAAiB,CAAEK,eAAnB,IACDJ,oBADC,aACDA,oBADC,eACDA,oBAAoB,CAAEI,eADrB,IAEDH,WAFC,aAEDA,WAFC,eAEDA,WAAW,CAAEG,eAHd,CADD,EAKE;AACDF,IAAAA,aAAa,CAACC,OAAd,GAAwBR,OAAxB;AACA,WAAOO,aAAP;AACA,GAXA,CAaD;;;AACA,MACCJ,WAAW,SAAX,IAAAA,WAAW,WAAX,IAAAA,WAAW,CAAEK,OAAb,IACA,EAAEJ,iBAAF,aAAEA,iBAAF,eAAEA,iBAAiB,CAAEK,eAArB,CADA,IAEA,EAAEJ,oBAAF,aAAEA,oBAAF,eAAEA,oBAAoB,CAAEI,eAAxB,CAFA,IAGA,EAAEH,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEG,eAAf,CAJD,EAKE;AACDF,IAAAA,aAAa,CAACC,OAAd,GAAwBE,SAAxB;AACA;;AAED,SAAOH,aAAP;AACA;;AAEM,SAASI,cAAT,CACNN,oBADM,EAENO,aAFM,EAGNC,SAHM,EAINC,gBAJM,EAKL;AAAA;;AACD,QAAMC,WAAW,GAAG,EAApB;AACA,QAAMC,iBAAiB,GAAG,CAAAX,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,qCAAAA,oBAAoB,CAAEY,KAAtB,gFAA6BC,KAA7B,KAAsC,EAAhE;AACA,QAAMC,iBAAiB,GAAGL,gBAAH,aAAGA,gBAAH,gDAAGA,gBAAgB,CAAEM,MAArB,0DAAG,sBAA4BP,SAA5B,CAA1B,CAHC,CAKD;;AACA,MAAKM,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAED,KAAxB,EAAgC;AAC/BG,IAAAA,MAAM,CAACC,OAAP,CAAgBH,iBAAiB,CAACD,KAAlC,EAA0CK,OAA1C,CACC,QAAsB;AAAA,UAApB,CAAEC,GAAF,EAAOC,KAAP,CAAoB;AACrB,YAAMC,QAAQ,GAAGhC,8BAA8B,CAAE8B,GAAF,CAA/C;;AAEA,UAAKE,QAAQ,IAAID,KAAK,KAAKxB,aAA3B,EAA2C;AAAA;;AAC1C,cAAMiB,KAAK,4BAAGF,iBAAiB,CAAEQ,GAAF,CAApB,yEAA+BC,KAA1C;AACAV,QAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BR,KAA1B;AACA;AACD,KARF;AAUA,GAXD,MAWO,IAAKJ,gBAAL,aAAKA,gBAAL,wCAAKA,gBAAgB,CAAEa,MAAvB,4EAAK,sBAA0BT,KAA/B,mDAAK,uBAAiCtB,IAAtC,EAA6C;AAAA;;AACnDmB,IAAAA,WAAW,CAAErB,8BAA8B,CAACE,IAAjC,CAAX,GACCkB,gBADD,aACCA,gBADD,iDACCA,gBAAgB,CAAEa,MADnB,qFACC,uBAA0BT,KAD3B,2DACC,uBAAiCtB,IADlC;AAEA,GApBA,CAsBD;;;AACA,MAAKuB,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAES,QAAxB,EAAmC;AAAA;;AAClC,UAAMC,SAAS,4BAAGV,iBAAiB,CAACS,QAArB,oFAAG,sBAA4B9B,IAA/B,qFAAG,uBAAkCoB,KAArC,2DAAG,uBAAyCtB,IAA3D;AACA,UAAM8B,QAAQ,GAAGhC,8BAA8B,CAACI,IAAhD;;AAEA,QAAK4B,QAAQ,IAAIG,SAAZ,IAAyBA,SAAS,KAAK5B,aAA5C,EAA4D;AAC3Dc,MAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BG,SAA1B;AACA;AACD,GA9BA,CAgCD;;;AACAR,EAAAA,MAAM,CAACC,OAAP,CAAgBjB,oBAAhB,EAAuCkB,OAAvC,CAAgD,SAAsB;AAAA,QAApB,CAAEC,GAAF,EAAOC,KAAP,CAAoB;AACrE,UAAMK,aAAa,GAAG,wBAAYL,KAAZ,EAAmB,GAAnB,CAAtB;AACA,QAAIC,QAAQ,GAAGF,GAAf;;AAEA,QAAK9B,8BAA8B,CAAEgC,QAAF,CAAnC,EAAkD;AACjDA,MAAAA,QAAQ,GAAGhC,8BAA8B,CAAEgC,QAAF,CAAzC;AACA;;AAED,QAAK,CAAEI,aAAP,EAAuB;AACtB,YAAMC,WAAW,GAAG,kBAAMnB,aAAN,EAAqB;AACxCoB,QAAAA,IAAI,EAAEP;AADkC,OAArB,CAApB;;AAIA,UAAKM,WAAL,EAAmB;AAClBhB,QAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BK,WAAW,CAACb,KAAtC;AACA;AACD,KARD,MAQO;AACNH,MAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BD,KAA1B;AACA;AACD,GAnBD,EAjCC,CAsDD;;AACA,MAAKV,WAAL,aAAKA,WAAL,eAAKA,WAAW,CAAEG,KAAlB,EAA0B;AACzBH,IAAAA,WAAW,CAAErB,8BAA8B,CAACK,WAAjC,CAAX,GACCgB,WAAW,CAACG,KADb;AAEA;;AAED,SAAOH,WAAP;AACA;;AAEM,SAASkB,kBAAT,CACN5B,oBADM,EAEN6B,SAFM,EAGNrB,SAHM,EAINC,gBAJM,EAKL;AAAA;;AACD,QAAMqB,gBAAgB,GAAG,EAAzB;AACA,QAAMnB,iBAAiB,GAAG,CAAAX,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,sCAAAA,oBAAoB,CAAEY,KAAtB,kFAA6BmB,UAA7B,KAA2C,EAArE;AACA,QAAMjB,iBAAiB,GAAGL,gBAAH,aAAGA,gBAAH,iDAAGA,gBAAgB,CAAEM,MAArB,2DAAG,uBAA4BP,SAA5B,CAA1B,CAHC,CAKD;;AACA,MAAKM,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEiB,UAAxB,EAAqC;AAAA;;AACpC,UAAMC,QAAQ,GAAGlB,iBAAH,aAAGA,iBAAH,gDAAGA,iBAAiB,CAAEiB,UAAtB,0DAAG,sBAA+BC,QAAhD;AACA,UAAMC,UAAU,GAAGnB,iBAAH,aAAGA,iBAAH,iDAAGA,iBAAiB,CAAEiB,UAAtB,2DAAG,uBAA+BE,UAAlD;;AAEA,QAAKD,QAAL,EAAgB;AACf,UAAKE,QAAQ,CAAEF,QAAF,EAAY,EAAZ,CAAb,EAAgC;AAC/BF,QAAAA,gBAAgB,CAACE,QAAjB,GAA4BA,QAA5B;AACA,OAFD,MAEO;AACN,cAAMG,cAAc,GAAG,kBAAMN,SAAN,EAAiB;AACvCF,UAAAA,IAAI,EAAEK;AADiC,SAAjB,CAAvB;;AAIA,YAAKG,cAAL,EAAsB;AACrBL,UAAAA,gBAAgB,CAACE,QAAjB,GAA4BG,cAA5B,aAA4BA,cAA5B,uBAA4BA,cAAc,CAAEC,IAA5C;AACA;AACD;AACD;;AAED,QAAKH,UAAL,EAAkB;AACjBH,MAAAA,gBAAgB,CAACG,UAAjB,GAA8BA,UAA9B;AACA;AACD;;AAED,MAAKjC,oBAAL,aAAKA,oBAAL,eAAKA,oBAAoB,CAAEgC,QAA3B,EAAsC;AACrC,UAAMG,cAAc,GAAG,kBAAMN,SAAN,EAAiB;AACvCF,MAAAA,IAAI,EAAE3B,oBAAF,aAAEA,oBAAF,uBAAEA,oBAAoB,CAAEgC;AADW,KAAjB,CAAvB;;AAIA,QAAKG,cAAL,EAAsB;AACrBL,MAAAA,gBAAgB,CAACE,QAAjB,GAA4BG,cAA5B,aAA4BA,cAA5B,uBAA4BA,cAAc,CAAEC,IAA5C;AACA;AACD,GArCA,CAuCD;;;AACA,MAAKzB,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEqB,QAAxB,EAAmC;AAClCF,IAAAA,gBAAgB,CAACE,QAAjB,GAA4BrB,iBAA5B,aAA4BA,iBAA5B,uBAA4BA,iBAAiB,CAAEqB,QAA/C;AACA;;AAED,MAAKrB,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEsB,UAAxB,EAAqC;AACpCH,IAAAA,gBAAgB,CAACG,UAAjB,GAA8BtB,iBAA9B,aAA8BA,iBAA9B,uBAA8BA,iBAAiB,CAAEsB,UAAjD;AACA;;AAED,SAAOH,gBAAP;AACA;;AAEM,SAASO,oBAAT,CAA+Bf,MAA/B,EAAuCgB,YAAvC,EAAqDC,YAArD,EAAoE;AAC1E,MAAIC,UAAU,GAAGlB,MAAjB;AACA,QAAMmB,SAAS,GAAG,CAAE,QAAF,EAAY,QAAZ,CAAlB;;AAEA,MAAK,CAAED,UAAP,EAAoB;AACnB,WAAOlB,MAAP;AACA;;AAEDmB,EAAAA,SAAS,CAACvB,OAAV,CAAqBwB,QAAF,IAAgB;AAClC;AACA;AACA;AACA,UAAMC,KAAK,GAAG,IAAIC,MAAJ,CAAa,eAAeF,QAAU,YAAtC,EAAmD,GAAnD,CAAd;;AAEA,QAAKA,QAAQ,KAAK,QAAlB,EAA6B;AAC5BF,MAAAA,UAAU,GAAGA,UAAU,CAACK,OAAX,CAAoBF,KAApB,EAA2B,CAAEG,GAAF,EAAOC,EAAP,KAAe;AACtD,cAAMC,IAAI,GAAGD,EAAE,CAACE,KAAH,CAAU,IAAV,CAAb;AACA,cAAMC,iBAAiB,GAAGZ,YAAY,CAAEU,IAAI,CAAE,CAAF,CAAN,CAAtC;;AACA,YAAKE,iBAAiB,IAAIA,iBAAiB,CAACvB,IAA5C,EAAmD;AAClD,gBAAMwB,YAAY,GAAG,kBAAMD,iBAAiB,CAACE,MAAxB,EAAgC;AACpDzB,YAAAA,IAAI,EAAEqB,IAAI,CAAE,CAAF;AAD0C,WAAhC,CAArB;AAGA,iBAAOG,YAAP,aAAOA,YAAP,uBAAOA,YAAY,CAAID,iBAAiB,CAACvB,IAAtB,CAAnB;AACA;;AACD,eAAO/B,aAAP;AACA,OAVY,CAAb;AAWA;;AACD,QAAK8C,QAAQ,KAAK,QAAlB,EAA6B;AAC5B,YAAMW,gBAAgB,GAAGd,YAAH,aAAGA,YAAH,cAAGA,YAAH,GAAmBe,IAAI,CAACC,KAAL,CAAYf,UAAZ,CAAzC;AACAA,MAAAA,UAAU,GAAGA,UAAU,CAACK,OAAX,CAAoBF,KAApB,EAA2B,CAAEG,GAAF,EAAOC,EAAP,KAAe;AACtD,cAAMC,IAAI,GAAGD,EAAE,CAACE,KAAH,CAAU,IAAV,CAAb;;AACA,YAAK,iBAAKI,gBAAL,EAAuBL,IAAvB,CAAL,EAAqC;AACpC,iBAAO,iBAAKK,gBAAL,EAAuBL,IAAvB,CAAP;AACA,SAJqD,CAMtD;;;AACA,eAAO,iBAAKK,gBAAL,EAAuB,CAC7B,GAAGL,IAAI,CAACQ,KAAL,CAAY,CAAZ,EAAeR,IAAI,CAACS,MAAL,GAAc,CAA7B,CAD0B,EAE7B,uBAAWT,IAAI,CAAEA,IAAI,CAACS,MAAL,GAAc,CAAhB,CAAf,CAF6B,CAAvB,CAAP;AAIA,OAXY,CAAb;AAYA;AACD,GAlCD;AAoCA,SAAOH,IAAI,CAACC,KAAL,CAAYf,UAAZ,CAAP;AACA;;AAEM,SAASkB,eAAT,CAA0BC,QAA1B,EAAoCC,OAApC,EAA8C;AAAA;;AACpD,QAAM7B,UAAU,GAAG4B,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAE5B,UAA7B;AACA,QAAM8B,MAAM,GAAG,EAAE,IAAGD,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEE,KAAZ,CAAF;AAAqB,QAAGF,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEG,IAAZ;AAArB,GAAf;AACA,QAAMlC,SAAS,GAAG,EACjB,IAAGE,UAAH,aAAGA,UAAH,gDAAGA,UAAU,CAAEF,SAAf,0DAAG,sBAAuBiC,KAA1B,CADiB;AAEjB,QAAG/B,UAAH,aAAGA,UAAH,iDAAGA,UAAU,CAAEF,SAAf,2DAAG,uBAAuBkC,IAA1B;AAFiB,GAAlB;AAIA,QAAMzB,YAAY,GAAG;AACpBzB,IAAAA,KAAK,EAAE;AACNuC,MAAAA,MAAM,EAAES,MADF;AAENlC,MAAAA,IAAI,EAAE;AAFA,KADa;AAKpB,iBAAa;AACZyB,MAAAA,MAAM,EAAEvB,SADI;AAEZF,MAAAA,IAAI,EAAE;AAFM;AALO,GAArB;AAUA,SAAOW,YAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0B,kBAAT,CAA6BnC,SAA7B,EAAyC;AACxC;AACA,MAAK,CAAEA,SAAP,EAAmB;AAClB,WAAOA,SAAP;AACA;;AACD,QAAMoC,mBAAmB,GAAG,EAA5B;;AACA,QAAMC,UAAU,GAAGC,wBAAWC,GAAX,CAAgB,QAAhB,CAAnB;;AAEA,GAAE,MAAF,EAAU,OAAV,EAAmB,MAAnB,EAA4BlD,OAA5B,CAAuCC,GAAF,IAAW;AAC/C,QAAKU,SAAS,CAAEV,GAAF,CAAd,EAAwB;AAAA;;AACvB8C,MAAAA,mBAAmB,CAAE9C,GAAF,CAAnB,qBAA6BU,SAAS,CAAEV,GAAF,CAAtC,mDAA6B,eAAkBkD,GAAlB,CAC1BC,cAAF,IAAsB;AACrBA,QAAAA,cAAc,CAACC,MAAf,GAAwB,mCACvBD,cAAc,CAAClC,IADQ,EAEvB;AACCoC,UAAAA,KAAK,EAAEN,UAAU,CAACM,KADnB;AAECC,UAAAA,MAAM,EAAEP,UAAU,CAACO,MAFpB;AAGCzC,UAAAA,QAAQ,EAAE;AAHX,SAFuB,CAAxB;AAQA,eAAOsC,cAAP;AACA,OAX2B,CAA7B;AAaA;AACD,GAhBD;AAkBA,SAAOL,mBAAP;AACA;;AAEM,SAASS,eAAT,CAA0BC,SAA1B,EAAqCC,WAArC,EAAmD;AAAA;;AACzD,QAAMjB,QAAQ,GAAGiB,WAAW,GAAGtB,IAAI,CAACC,KAAL,CAAYqB,WAAZ,CAAH,GAA+B,EAA3D;AACA,QAAMtC,YAAY,GAAGoB,eAAe,CAAEC,QAAF,EAAYA,QAAZ,aAAYA,QAAZ,0CAAYA,QAAQ,CAAE9C,KAAtB,oDAAY,gBAAiB+C,OAA7B,CAApC;AACA,QAAMC,MAAM,GAAGxB,oBAAoB,CAClCiB,IAAI,CAACuB,SAAL,CAAgBlB,QAAhB,aAAgBA,QAAhB,uBAAgBA,QAAQ,CAAE9C,KAA1B,CADkC,EAElCyB,YAFkC,CAAnC;AAIA,QAAMwC,SAAS,GAAGzC,oBAAoB,CACrCiB,IAAI,CAACuB,SAAL,CAAgBlB,QAAhB,aAAgBA,QAAhB,2CAAgBA,QAAQ,CAAE9C,KAA1B,qDAAgB,iBAAiBiE,SAAjC,CADqC,EAErCxC,YAFqC,CAAtC;AAIA,QAAMC,YAAY,GAAGF,oBAAoB,CACxCiB,IAAI,CAACuB,SAAL,CAAgBlB,QAAhB,aAAgBA,QAAhB,uBAAgBA,QAAQ,CAAEoB,MAA1B,CADwC,EAExCzC,YAFwC,CAAzC;AAIA,QAAM0C,YAAY,GAAG3C,oBAAoB,CACxCsC,SADwC,EAExCrC,YAFwC,EAGxCC,YAHwC,CAAzC;AAMA,QAAMV,SAAS,GAAGmC,kBAAkB,CAAEL,QAAF,aAAEA,QAAF,+CAAEA,QAAQ,CAAE5B,UAAZ,yDAAE,qBAAsBF,SAAxB,CAApC;AAEA,SAAO;AACNgC,IAAAA,MADM;AAENiB,IAAAA,SAFM;AAGNG,IAAAA,sBAAsB,EAAE;AACvBpE,MAAAA,KAAK,EAAE;AACN+C,QAAAA,OAAO,EAAEC,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAED,OADX;AAENkB,QAAAA,SAFM;AAGNvF,QAAAA,IAAI,0BAAEoE,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAE9C,KAAZ,qDAAE,iBAAiBtB,IAAnB,uEAA2B,IAHzB;AAINC,QAAAA,UAAU,2BAAEmE,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAE9C,KAAZ,qDAAE,iBAAiBrB,UAAnB,yEAAiC;AAJrC,OADgB;AAOvBuC,MAAAA,UAAU,EAAE;AACXF,QAAAA,SADW;AAEXqD,QAAAA,gBAAgB,EAAEvB,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEoB,MAAZ,qDAAE,iBAAoB,aAApB;AAFP;AAPW,KAHlB;AAeNI,IAAAA,oCAAoC,EAAEH;AAfhC,GAAP;AAiBA","sourcesContent":["/**\n * External dependencies\n */\nimport { find, startsWith, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = startsWith( value, '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = { ...palette?.theme, ...palette?.user };\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.user,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'core', 'theme', 'user' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\tcolors,\n\t\tgradients,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","custom","normalizeFontSizes","normalizedFontSizes","dimensions","Dimensions","get","map","fontSizeObject","sizePx","width","height","getGlobalStyles","rawStyles","rawFeatures","stringify","gradients","globalStyles","__experimentalFeatures","customLineHeight","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, startsWith, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = startsWith( value, '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = { ...palette?.theme, ...palette?.custom };\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'user' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\tcolors,\n\t\tgradients,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
@@ -50,6 +50,7 @@ function NavigationItem(props) {
50
50
  navigateToMenu,
51
51
  onClick = _lodash.noop,
52
52
  title,
53
+ icon,
53
54
  hideIfTargetMenuEmpty,
54
55
  isText,
55
56
  ...restProps
@@ -80,7 +81,7 @@ function NavigationItem(props) {
80
81
  onClick(event);
81
82
  };
82
83
 
83
- const icon = (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight;
84
+ const navigationIcon = (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight;
84
85
  const baseProps = children ? props : { ...props,
85
86
  onClick: undefined
86
87
  };
@@ -92,11 +93,13 @@ function NavigationItem(props) {
92
93
  };
93
94
  return (0, _element.createElement)(_base.default, (0, _extends2.default)({}, baseProps, {
94
95
  className: classes
95
- }), children || (0, _element.createElement)(_navigationStyles.ItemUI, itemProps, (0, _element.createElement)(_baseContent.default, {
96
+ }), children || (0, _element.createElement)(_navigationStyles.ItemUI, itemProps, icon && (0, _element.createElement)(_navigationStyles.ItemIconUI, null, (0, _element.createElement)(_icons.Icon, {
97
+ icon: icon
98
+ })), (0, _element.createElement)(_baseContent.default, {
96
99
  title: title,
97
100
  badge: badge
98
101
  }), navigateToMenu && (0, _element.createElement)(_icons.Icon, {
99
- icon: icon
102
+ icon: navigationIcon
100
103
  })));
101
104
  }
102
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigation/item/index.js"],"names":["NavigationItem","props","badge","children","className","href","item","navigateToMenu","onClick","noop","title","hideIfTargetMenuEmpty","isText","restProps","activeItem","setActiveMenu","navigationTree","isMenuEmpty","classes","onItemClick","event","icon","chevronLeft","chevronRight","baseProps","undefined","itemProps","as","Button"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAnBA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AAOe,SAASA,cAAT,CAAyBC,KAAzB,EAAiC;AAC/C,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,IALK;AAMLC,IAAAA,cANK;AAOLC,IAAAA,OAAO,GAAGC,YAPL;AAQLC,IAAAA,KARK;AASLC,IAAAA,qBATK;AAULC,IAAAA,MAVK;AAWL,OAAGC;AAXE,MAYFZ,KAZJ;AAcA,QAAM;AACLa,IAAAA,UADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AAHX,MAIF,oCAJJ,CAf+C,CAqB/C;AACA;AACA;;AACA,MACCN,qBAAqB,IACrBJ,cADA,IAEAU,WAAW,CAAEV,cAAF,CAHZ,EAIE;AACD,WAAO,IAAP;AACA;;AAED,QAAMW,OAAO,GAAG,yBAAYd,SAAZ,EAAuB;AACtC,iBAAaE,IAAI,IAAIQ,UAAU,KAAKR;AADE,GAAvB,CAAhB;;AAIA,QAAMa,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAKb,cAAL,EAAsB;AACrBQ,MAAAA,aAAa,CAAER,cAAF,CAAb;AACA;;AAEDC,IAAAA,OAAO,CAAEY,KAAF,CAAP;AACA,GAND;;AAOA,QAAMC,IAAI,GAAG,qBAAUC,kBAAV,GAAwBC,mBAArC;AACA,QAAMC,SAAS,GAAGrB,QAAQ,GAAGF,KAAH,GAAW,EAAE,GAAGA,KAAL;AAAYO,IAAAA,OAAO,EAAEiB;AAArB,GAArC;AACA,QAAMC,SAAS,GAAGd,MAAM,GACrBC,SADqB,GAErB;AAAEc,IAAAA,EAAE,EAAEC,eAAN;AAAcvB,IAAAA,IAAd;AAAoBG,IAAAA,OAAO,EAAEW,WAA7B;AAA0C,OAAGN;AAA7C,GAFH;AAIA,SACC,4BAAC,aAAD,6BAAyBW,SAAzB;AAAqC,IAAA,SAAS,EAAGN;AAAjD,MACGf,QAAQ,IACT,4BAAC,wBAAD,EAAauB,SAAb,EACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGhB,KADT;AAEC,IAAA,KAAK,EAAGR;AAFT,IADD,EAMGK,cAAc,IAAI,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGc;AAAb,IANrB,CAFF,CADD;AAcA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport { useNavigationContext } from '../context';\nimport { ItemUI } from '../styles/navigation-styles';\nimport NavigationItemBaseContent from './base-content';\nimport NavigationItemBase from './base';\n\nexport default function NavigationItem( props ) {\n\tconst {\n\t\tbadge,\n\t\tchildren,\n\t\tclassName,\n\t\thref,\n\t\titem,\n\t\tnavigateToMenu,\n\t\tonClick = noop,\n\t\ttitle,\n\t\thideIfTargetMenuEmpty,\n\t\tisText,\n\t\t...restProps\n\t} = props;\n\n\tconst {\n\t\tactiveItem,\n\t\tsetActiveMenu,\n\t\tnavigationTree: { isMenuEmpty },\n\t} = useNavigationContext();\n\n\t// If hideIfTargetMenuEmpty prop is true\n\t// And the menu we are supposed to navigate to\n\t// Is marked as empty, then we skip rendering the item\n\tif (\n\t\thideIfTargetMenuEmpty &&\n\t\tnavigateToMenu &&\n\t\tisMenuEmpty( navigateToMenu )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-active': item && activeItem === item,\n\t} );\n\n\tconst onItemClick = ( event ) => {\n\t\tif ( navigateToMenu ) {\n\t\t\tsetActiveMenu( navigateToMenu );\n\t\t}\n\n\t\tonClick( event );\n\t};\n\tconst icon = isRTL() ? chevronLeft : chevronRight;\n\tconst baseProps = children ? props : { ...props, onClick: undefined };\n\tconst itemProps = isText\n\t\t? restProps\n\t\t: { as: Button, href, onClick: onItemClick, ...restProps };\n\n\treturn (\n\t\t<NavigationItemBase { ...baseProps } className={ classes }>\n\t\t\t{ children || (\n\t\t\t\t<ItemUI { ...itemProps }>\n\t\t\t\t\t<NavigationItemBaseContent\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tbadge={ badge }\n\t\t\t\t\t/>\n\n\t\t\t\t\t{ navigateToMenu && <Icon icon={ icon } /> }\n\t\t\t\t</ItemUI>\n\t\t\t) }\n\t\t</NavigationItemBase>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigation/item/index.js"],"names":["NavigationItem","props","badge","children","className","href","item","navigateToMenu","onClick","noop","title","icon","hideIfTargetMenuEmpty","isText","restProps","activeItem","setActiveMenu","navigationTree","isMenuEmpty","classes","onItemClick","event","navigationIcon","chevronLeft","chevronRight","baseProps","undefined","itemProps","as","Button"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAnBA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AAOe,SAASA,cAAT,CAAyBC,KAAzB,EAAiC;AAC/C,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,IALK;AAMLC,IAAAA,cANK;AAOLC,IAAAA,OAAO,GAAGC,YAPL;AAQLC,IAAAA,KARK;AASLC,IAAAA,IATK;AAULC,IAAAA,qBAVK;AAWLC,IAAAA,MAXK;AAYL,OAAGC;AAZE,MAaFb,KAbJ;AAeA,QAAM;AACLc,IAAAA,UADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AAHX,MAIF,oCAJJ,CAhB+C,CAsB/C;AACA;AACA;;AACA,MACCN,qBAAqB,IACrBL,cADA,IAEAW,WAAW,CAAEX,cAAF,CAHZ,EAIE;AACD,WAAO,IAAP;AACA;;AAED,QAAMY,OAAO,GAAG,yBAAYf,SAAZ,EAAuB;AACtC,iBAAaE,IAAI,IAAIS,UAAU,KAAKT;AADE,GAAvB,CAAhB;;AAIA,QAAMc,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAKd,cAAL,EAAsB;AACrBS,MAAAA,aAAa,CAAET,cAAF,CAAb;AACA;;AAEDC,IAAAA,OAAO,CAAEa,KAAF,CAAP;AACA,GAND;;AAOA,QAAMC,cAAc,GAAG,qBAAUC,kBAAV,GAAwBC,mBAA/C;AACA,QAAMC,SAAS,GAAGtB,QAAQ,GAAGF,KAAH,GAAW,EAAE,GAAGA,KAAL;AAAYO,IAAAA,OAAO,EAAEkB;AAArB,GAArC;AACA,QAAMC,SAAS,GAAGd,MAAM,GACrBC,SADqB,GAErB;AAAEc,IAAAA,EAAE,EAAEC,eAAN;AAAcxB,IAAAA,IAAd;AAAoBG,IAAAA,OAAO,EAAEY,WAA7B;AAA0C,OAAGN;AAA7C,GAFH;AAIA,SACC,4BAAC,aAAD,6BAAyBW,SAAzB;AAAqC,IAAA,SAAS,EAAGN;AAAjD,MACGhB,QAAQ,IACT,4BAAC,wBAAD,EAAawB,SAAb,EACGhB,IAAI,IACL,4BAAC,4BAAD,QACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGA;AAAb,IADD,CAFF,EAOC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGD,KADT;AAEC,IAAA,KAAK,EAAGR;AAFT,IAPD,EAYGK,cAAc,IAAI,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGe;AAAb,IAZrB,CAFF,CADD;AAoBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport { useNavigationContext } from '../context';\nimport { ItemUI, ItemIconUI } from '../styles/navigation-styles';\nimport NavigationItemBaseContent from './base-content';\nimport NavigationItemBase from './base';\n\nexport default function NavigationItem( props ) {\n\tconst {\n\t\tbadge,\n\t\tchildren,\n\t\tclassName,\n\t\thref,\n\t\titem,\n\t\tnavigateToMenu,\n\t\tonClick = noop,\n\t\ttitle,\n\t\ticon,\n\t\thideIfTargetMenuEmpty,\n\t\tisText,\n\t\t...restProps\n\t} = props;\n\n\tconst {\n\t\tactiveItem,\n\t\tsetActiveMenu,\n\t\tnavigationTree: { isMenuEmpty },\n\t} = useNavigationContext();\n\n\t// If hideIfTargetMenuEmpty prop is true\n\t// And the menu we are supposed to navigate to\n\t// Is marked as empty, then we skip rendering the item\n\tif (\n\t\thideIfTargetMenuEmpty &&\n\t\tnavigateToMenu &&\n\t\tisMenuEmpty( navigateToMenu )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-active': item && activeItem === item,\n\t} );\n\n\tconst onItemClick = ( event ) => {\n\t\tif ( navigateToMenu ) {\n\t\t\tsetActiveMenu( navigateToMenu );\n\t\t}\n\n\t\tonClick( event );\n\t};\n\tconst navigationIcon = isRTL() ? chevronLeft : chevronRight;\n\tconst baseProps = children ? props : { ...props, onClick: undefined };\n\tconst itemProps = isText\n\t\t? restProps\n\t\t: { as: Button, href, onClick: onItemClick, ...restProps };\n\n\treturn (\n\t\t<NavigationItemBase { ...baseProps } className={ classes }>\n\t\t\t{ children || (\n\t\t\t\t<ItemUI { ...itemProps }>\n\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t<ItemIconUI>\n\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t</ItemIconUI>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<NavigationItemBaseContent\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tbadge={ badge }\n\t\t\t\t\t/>\n\n\t\t\t\t\t{ navigateToMenu && <Icon icon={ navigationIcon } /> }\n\t\t\t\t</ItemUI>\n\t\t\t) }\n\t\t</NavigationItemBase>\n\t);\n}\n"]}