@wordpress/components 19.0.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/CONTRIBUTING.md +12 -12
  3. package/build/angle-picker-control/index.js +3 -1
  4. package/build/angle-picker-control/index.js.map +1 -1
  5. package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  6. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  7. package/build/base-control/index.js +1 -1
  8. package/build/base-control/index.js.map +1 -1
  9. package/build/color-edit/index.js +180 -199
  10. package/build/color-edit/index.js.map +1 -1
  11. package/build/color-edit/styles.js +112 -0
  12. package/build/color-edit/styles.js.map +1 -0
  13. package/build/color-list-picker/index.js +6 -1
  14. package/build/color-list-picker/index.js.map +1 -1
  15. package/build/color-palette/index.js +86 -21
  16. package/build/color-palette/index.js.map +1 -1
  17. package/build/color-palette/styles.js +31 -0
  18. package/build/color-palette/styles.js.map +1 -0
  19. package/build/color-picker/component.js +7 -18
  20. package/build/color-picker/component.js.map +1 -1
  21. package/build/color-picker/picker.js +3 -3
  22. package/build/color-picker/picker.js.map +1 -1
  23. package/build/duotone-picker/custom-duotone-bar.js +0 -1
  24. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  25. package/build/duotone-picker/duotone-picker.js +1 -0
  26. package/build/duotone-picker/duotone-picker.js.map +1 -1
  27. package/build/gradient-picker/index.js +69 -9
  28. package/build/gradient-picker/index.js.map +1 -1
  29. package/build/index.native.js +9 -0
  30. package/build/index.native.js.map +1 -1
  31. package/build/mobile/bottom-sheet/cell.native.js +4 -2
  32. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  33. package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
  34. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  35. package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
  36. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  37. package/build/mobile/link-settings/index.native.js +3 -2
  38. package/build/mobile/link-settings/index.native.js.map +1 -1
  39. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  40. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  41. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  42. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  43. package/build/mobile/picker/index.android.js +4 -2
  44. package/build/mobile/picker/index.android.js.map +1 -1
  45. package/build/modal/index.js +10 -3
  46. package/build/modal/index.js.map +1 -1
  47. package/build/navigation/group/index.js +1 -2
  48. package/build/navigation/group/index.js.map +1 -1
  49. package/build/navigation/menu/menu-title-search.js +8 -27
  50. package/build/navigation/menu/menu-title-search.js.map +1 -1
  51. package/build/navigation/menu/menu-title.js +2 -2
  52. package/build/navigation/menu/menu-title.js.map +1 -1
  53. package/build/navigation/styles/navigation-styles.js +34 -29
  54. package/build/navigation/styles/navigation-styles.js.map +1 -1
  55. package/build/popover/index.js +4 -2
  56. package/build/popover/index.js.map +1 -1
  57. package/build/range-control/styles/range-control-styles.js +33 -29
  58. package/build/range-control/styles/range-control-styles.js.map +1 -1
  59. package/build/search-control/index.js +37 -14
  60. package/build/search-control/index.js.map +1 -1
  61. package/build/text/styles.js +7 -7
  62. package/build/text/styles.js.map +1 -1
  63. package/build/tools-panel/styles.js +18 -23
  64. package/build/tools-panel/styles.js.map +1 -1
  65. package/build/tools-panel/tools-panel/component.js +10 -7
  66. package/build/tools-panel/tools-panel/component.js.map +1 -1
  67. package/build/tools-panel/tools-panel/hook.js +3 -1
  68. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  69. package/build/tools-panel/tools-panel-header/component.js +3 -0
  70. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  71. package/build/utils/hooks/index.js +8 -0
  72. package/build/utils/hooks/index.js.map +1 -1
  73. package/build/utils/hooks/use-combined-ref.js +28 -0
  74. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  75. package/build-module/angle-picker-control/index.js +3 -1
  76. package/build-module/angle-picker-control/index.js.map +1 -1
  77. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  78. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  79. package/build-module/base-control/index.js +1 -1
  80. package/build-module/base-control/index.js.map +1 -1
  81. package/build-module/color-edit/index.js +175 -201
  82. package/build-module/color-edit/index.js.map +1 -1
  83. package/build-module/color-edit/styles.js +90 -0
  84. package/build-module/color-edit/styles.js.map +1 -0
  85. package/build-module/color-list-picker/index.js +6 -1
  86. package/build-module/color-list-picker/index.js.map +1 -1
  87. package/build-module/color-palette/index.js +85 -22
  88. package/build-module/color-palette/index.js.map +1 -1
  89. package/build-module/color-palette/styles.js +27 -0
  90. package/build-module/color-palette/styles.js.map +1 -0
  91. package/build-module/color-picker/component.js +7 -16
  92. package/build-module/color-picker/component.js.map +1 -1
  93. package/build-module/color-picker/picker.js +4 -4
  94. package/build-module/color-picker/picker.js.map +1 -1
  95. package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
  96. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  97. package/build-module/duotone-picker/duotone-picker.js +1 -0
  98. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  99. package/build-module/gradient-picker/index.js +67 -9
  100. package/build-module/gradient-picker/index.js.map +1 -1
  101. package/build-module/index.native.js +1 -0
  102. package/build-module/index.native.js.map +1 -1
  103. package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
  104. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  105. package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
  106. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  107. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
  108. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  109. package/build-module/mobile/link-settings/index.native.js +3 -2
  110. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  111. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  112. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  113. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  114. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  115. package/build-module/mobile/picker/index.android.js +4 -2
  116. package/build-module/mobile/picker/index.android.js.map +1 -1
  117. package/build-module/modal/index.js +10 -4
  118. package/build-module/modal/index.js.map +1 -1
  119. package/build-module/navigation/group/index.js +1 -2
  120. package/build-module/navigation/group/index.js.map +1 -1
  121. package/build-module/navigation/menu/menu-title-search.js +8 -24
  122. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  123. package/build-module/navigation/menu/menu-title.js +3 -3
  124. package/build-module/navigation/menu/menu-title.js.map +1 -1
  125. package/build-module/navigation/styles/navigation-styles.js +31 -27
  126. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  127. package/build-module/popover/index.js +4 -2
  128. package/build-module/popover/index.js.map +1 -1
  129. package/build-module/range-control/styles/range-control-styles.js +33 -29
  130. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  131. package/build-module/search-control/index.js +36 -15
  132. package/build-module/search-control/index.js.map +1 -1
  133. package/build-module/text/styles.js +7 -7
  134. package/build-module/text/styles.js.map +1 -1
  135. package/build-module/tools-panel/styles.js +16 -23
  136. package/build-module/tools-panel/styles.js.map +1 -1
  137. package/build-module/tools-panel/tools-panel/component.js +10 -6
  138. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  139. package/build-module/tools-panel/tools-panel/hook.js +2 -1
  140. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  141. package/build-module/tools-panel/tools-panel-header/component.js +3 -0
  142. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  143. package/build-module/utils/hooks/index.js +1 -0
  144. package/build-module/utils/hooks/index.js.map +1 -1
  145. package/build-module/utils/hooks/use-combined-ref.js +25 -0
  146. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  147. package/build-style/style-rtl.css +39 -51
  148. package/build-style/style.css +39 -51
  149. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  150. package/build-types/tools-panel/styles.d.ts +1 -1
  151. package/build-types/tools-panel/styles.d.ts.map +1 -1
  152. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  153. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  154. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  155. package/build-types/utils/hooks/index.d.ts +1 -0
  156. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  157. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  158. package/package.json +6 -6
  159. package/src/angle-picker-control/index.js +3 -1
  160. package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
  161. package/src/base-control/index.js +1 -1
  162. package/src/circular-option-picker/style.scss +3 -5
  163. package/src/color-edit/index.js +248 -274
  164. package/src/color-edit/style.scss +4 -45
  165. package/src/color-edit/styles.js +97 -0
  166. package/src/color-list-picker/index.js +5 -0
  167. package/src/color-list-picker/style.scss +4 -0
  168. package/src/color-palette/index.js +90 -26
  169. package/src/color-palette/style.scss +18 -0
  170. package/src/color-palette/styles.js +19 -0
  171. package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
  172. package/src/color-picker/component.tsx +6 -17
  173. package/src/color-picker/picker.tsx +6 -4
  174. package/src/color-picker/test/index.js +0 -15
  175. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  176. package/src/duotone-picker/duotone-picker.js +1 -0
  177. package/src/gradient-picker/index.js +79 -11
  178. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  179. package/src/index.native.js +1 -0
  180. package/src/mobile/bottom-sheet/cell.native.js +7 -2
  181. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  182. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  183. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  184. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  185. package/src/mobile/link-settings/index.native.js +3 -2
  186. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  187. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  188. package/src/mobile/link-settings/style.native.scss +17 -0
  189. package/src/mobile/picker/index.android.js +2 -1
  190. package/src/modal/README.md +8 -0
  191. package/src/modal/index.js +60 -45
  192. package/src/modal/style.scss +5 -0
  193. package/src/navigation/group/index.js +1 -2
  194. package/src/navigation/menu/menu-title-search.js +11 -26
  195. package/src/navigation/menu/menu-title.js +4 -4
  196. package/src/navigation/styles/navigation-styles.js +29 -52
  197. package/src/popover/index.js +2 -2
  198. package/src/range-control/styles/range-control-styles.js +4 -1
  199. package/src/resizable-box/style.scss +5 -0
  200. package/src/search-control/index.js +47 -23
  201. package/src/style.scss +1 -0
  202. package/src/text/styles.js +1 -1
  203. package/src/text/test/__snapshots__/index.js.snap +2 -2
  204. package/src/tools-panel/stories/index.js +21 -19
  205. package/src/tools-panel/styles.ts +18 -26
  206. package/src/tools-panel/tools-panel/component.tsx +7 -4
  207. package/src/tools-panel/tools-panel/hook.ts +4 -1
  208. package/src/tools-panel/tools-panel-header/component.tsx +1 -0
  209. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  210. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  211. package/src/utils/hooks/index.js +1 -0
  212. package/src/utils/hooks/use-combined-ref.ts +29 -0
  213. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-picker.js"],"names":["isEqual","useMemo","__","sprintf","ColorListPicker","CircularOptionPicker","CustomDuotoneBar","getDefaultColors","getGradientFromCSSColors","DuotonePicker","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","defaultDark","defaultLight","map","colors","slug","name","style","background","color","tooltipText","label","isSelected","undefined","newColors","newValue","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorListPicker from '../color-list-picker';\nimport CircularOptionPicker from '../circular-option-picker';\n\nimport CustomDuotoneBar from './custom-duotone-bar';\nimport { getDefaultColors, getGradientFromCSSColors } from './utils';\n\nfunction DuotonePicker( {\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tconst [ defaultDark, defaultLight ] = useMemo(\n\t\t() => getDefaultColors( colorPalette ),\n\t\t[ colorPalette ]\n\t);\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\toptions={ duotonePalette.map( ( { colors, slug, name } ) => {\n\t\t\t\tconst style = {\n\t\t\t\t\tbackground: getGradientFromCSSColors( colors, '135deg' ),\n\t\t\t\t\tcolor: 'transparent',\n\t\t\t\t};\n\t\t\t\tconst tooltipText =\n\t\t\t\t\tname ??\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: duotone code e.g: \"dark-grayscale\" or \"7f7f7f-ffffff\".\n\t\t\t\t\t\t__( 'Duotone code: %s' ),\n\t\t\t\t\t\tslug\n\t\t\t\t\t);\n\t\t\t\tconst label = name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the option e.g: \"Dark grayscale\".\n\t\t\t\t\t\t\t__( 'Duotone: %s' ),\n\t\t\t\t\t\t\tname\n\t\t\t\t\t )\n\t\t\t\t\t: tooltipText;\n\t\t\t\tconst isSelected = isEqual( colors, value );\n\n\t\t\t\treturn (\n\t\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\tvalue={ colors }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\ttooltipText={ tooltipText }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( isSelected ? undefined : colors );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\tactions={\n\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t}\n\t\t>\n\t\t\t{ ! disableCustomColors && ! disableCustomDuotone && (\n\t\t\t\t<CustomDuotoneBar value={ value } onChange={ onChange } />\n\t\t\t) }\n\t\t\t{ ! disableCustomDuotone && (\n\t\t\t\t<ColorListPicker\n\t\t\t\t\tlabels={ [ __( 'Shadows' ), __( 'Highlights' ) ] }\n\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\t\tif ( ! newColors[ 0 ] ) {\n\t\t\t\t\t\t\tnewColors[ 0 ] = defaultDark;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! newColors[ 1 ] ) {\n\t\t\t\t\t\t\tnewColors[ 1 ] = defaultLight;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\tnewColors.length >= 2 ? newColors : undefined;\n\t\t\t\t\t\tonChange( newValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</CircularOptionPicker>\n\t);\n}\n\nexport default DuotonePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-picker.js"],"names":["isEqual","useMemo","__","sprintf","ColorListPicker","CircularOptionPicker","CustomDuotoneBar","getDefaultColors","getGradientFromCSSColors","DuotonePicker","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","defaultDark","defaultLight","map","colors","slug","name","style","background","color","tooltipText","label","isSelected","undefined","newColors","newValue","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorListPicker from '../color-list-picker';\nimport CircularOptionPicker from '../circular-option-picker';\n\nimport CustomDuotoneBar from './custom-duotone-bar';\nimport { getDefaultColors, getGradientFromCSSColors } from './utils';\n\nfunction DuotonePicker( {\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tconst [ defaultDark, defaultLight ] = useMemo(\n\t\t() => getDefaultColors( colorPalette ),\n\t\t[ colorPalette ]\n\t);\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\toptions={ duotonePalette.map( ( { colors, slug, name } ) => {\n\t\t\t\tconst style = {\n\t\t\t\t\tbackground: getGradientFromCSSColors( colors, '135deg' ),\n\t\t\t\t\tcolor: 'transparent',\n\t\t\t\t};\n\t\t\t\tconst tooltipText =\n\t\t\t\t\tname ??\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: duotone code e.g: \"dark-grayscale\" or \"7f7f7f-ffffff\".\n\t\t\t\t\t\t__( 'Duotone code: %s' ),\n\t\t\t\t\t\tslug\n\t\t\t\t\t);\n\t\t\t\tconst label = name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the option e.g: \"Dark grayscale\".\n\t\t\t\t\t\t\t__( 'Duotone: %s' ),\n\t\t\t\t\t\t\tname\n\t\t\t\t\t )\n\t\t\t\t\t: tooltipText;\n\t\t\t\tconst isSelected = isEqual( colors, value );\n\n\t\t\t\treturn (\n\t\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\tvalue={ colors }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\ttooltipText={ tooltipText }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( isSelected ? undefined : colors );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\tactions={\n\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t}\n\t\t>\n\t\t\t{ ! disableCustomColors && ! disableCustomDuotone && (\n\t\t\t\t<CustomDuotoneBar value={ value } onChange={ onChange } />\n\t\t\t) }\n\t\t\t{ ! disableCustomDuotone && (\n\t\t\t\t<ColorListPicker\n\t\t\t\t\tlabels={ [ __( 'Shadows' ), __( 'Highlights' ) ] }\n\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\t\tif ( ! newColors[ 0 ] ) {\n\t\t\t\t\t\t\tnewColors[ 0 ] = defaultDark;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! newColors[ 1 ] ) {\n\t\t\t\t\t\t\tnewColors[ 1 ] = defaultLight;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\tnewColors.length >= 2 ? newColors : undefined;\n\t\t\t\t\t\tonChange( newValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</CircularOptionPicker>\n\t);\n}\n\nexport default DuotonePicker;\n"]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import { createElement } from "@wordpress/element";
2
3
 
3
4
  /**
@@ -16,15 +17,18 @@ import { useCallback, useMemo } from '@wordpress/element';
16
17
 
17
18
  import CircularOptionPicker from '../circular-option-picker';
18
19
  import CustomGradientPicker from '../custom-gradient-picker';
19
- export default function GradientPicker({
20
+ import { VStack } from '../v-stack';
21
+ import { ColorHeading } from '../color-palette/styles';
22
+
23
+ function SingleOrigin({
20
24
  className,
25
+ clearGradient,
21
26
  gradients,
22
27
  onChange,
23
28
  value,
24
- clearable = true,
25
- disableCustomGradients = false
29
+ actions,
30
+ content
26
31
  }) {
27
- const clearGradient = useCallback(() => onChange(undefined), [onChange]);
28
32
  const gradientOptions = useMemo(() => {
29
33
  return map(gradients, ({
30
34
  gradient,
@@ -48,12 +52,66 @@ export default function GradientPicker({
48
52
  return createElement(CircularOptionPicker, {
49
53
  className: className,
50
54
  options: gradientOptions,
55
+ actions: actions
56
+ }, content);
57
+ }
58
+
59
+ function MultipleOrigin({
60
+ className,
61
+ clearGradient,
62
+ gradients,
63
+ onChange,
64
+ value,
65
+ actions,
66
+ content
67
+ }) {
68
+ return createElement(VStack, {
69
+ spacing: 3,
70
+ className: className
71
+ }, gradients.map(({
72
+ name,
73
+ gradients: gradientSet
74
+ }, index) => {
75
+ return createElement(VStack, {
76
+ spacing: 2,
77
+ key: index
78
+ }, createElement(ColorHeading, null, name), createElement(SingleOrigin, _extends({
79
+ clearGradient: clearGradient,
80
+ gradients: gradientSet,
81
+ onChange: onChange,
82
+ value: value
83
+ }, gradients.length === index + 1 ? {
84
+ actions,
85
+ content
86
+ } : {})));
87
+ }));
88
+ }
89
+
90
+ export default function GradientPicker({
91
+ className,
92
+ gradients,
93
+ onChange,
94
+ value,
95
+ clearable = true,
96
+ disableCustomGradients = false,
97
+ __experimentalHasMultipleOrigins
98
+ }) {
99
+ const clearGradient = useCallback(() => onChange(undefined), [onChange]);
100
+ const Component = __experimentalHasMultipleOrigins ? MultipleOrigin : SingleOrigin;
101
+ return createElement(Component, {
102
+ className: className,
103
+ clearable: clearable,
104
+ clearGradient: clearGradient,
105
+ gradients: gradients,
106
+ onChange: onChange,
107
+ value: value,
51
108
  actions: clearable && createElement(CircularOptionPicker.ButtonAction, {
52
109
  onClick: clearGradient
53
- }, __('Clear'))
54
- }, !disableCustomGradients && createElement(CustomGradientPicker, {
55
- value: value,
56
- onChange: onChange
57
- }));
110
+ }, __('Clear')),
111
+ content: !disableCustomGradients && createElement(CustomGradientPicker, {
112
+ value: value,
113
+ onChange: onChange
114
+ })
115
+ });
58
116
  }
59
117
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/gradient-picker/index.js"],"names":["map","__","sprintf","useCallback","useMemo","CircularOptionPicker","CustomGradientPicker","GradientPicker","className","gradients","onChange","value","clearable","disableCustomGradients","clearGradient","undefined","gradientOptions","gradient","name","color","background"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,WAAT,EAAsBC,OAAtB,QAAqC,oBAArC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AAEA,eAAe,SAASC,cAAT,CAAyB;AACvCC,EAAAA,SADuC;AAEvCC,EAAAA,SAFuC;AAGvCC,EAAAA,QAHuC;AAIvCC,EAAAA,KAJuC;AAKvCC,EAAAA,SAAS,GAAG,IAL2B;AAMvCC,EAAAA,sBAAsB,GAAG;AANc,CAAzB,EAOX;AACH,QAAMC,aAAa,GAAGX,WAAW,CAAE,MAAMO,QAAQ,CAAEK,SAAF,CAAhB,EAA+B,CAC/DL,QAD+D,CAA/B,CAAjC;AAGA,QAAMM,eAAe,GAAGZ,OAAO,CAAE,MAAM;AACtC,WAAOJ,GAAG,CAAES,SAAF,EAAa,CAAE;AAAEQ,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KAAF,KACtB,cAAC,oBAAD,CAAsB,MAAtB;AACC,MAAA,GAAG,EAAGD,QADP;AAEC,MAAA,KAAK,EAAGA,QAFT;AAGC,MAAA,UAAU,EAAGN,KAAK,KAAKM,QAHxB;AAIC,MAAA,WAAW,EACVC,IAAI,IACJ;AACAhB,MAAAA,OAAO,CAAED,EAAE,CAAE,mBAAF,CAAJ,EAA6BgB,QAA7B,CAPT;AASC,MAAA,KAAK,EAAG;AAAEE,QAAAA,KAAK,EAAE,iBAAT;AAA4BC,QAAAA,UAAU,EAAEH;AAAxC,OATT;AAUC,MAAA,OAAO,EACNN,KAAK,KAAKM,QAAV,GACGH,aADH,GAEG,MAAMJ,QAAQ,CAAEO,QAAF,CAbnB;AAeC,oBACCC,IAAI,GACD;AACAhB,MAAAA,OAAO,CAAED,EAAE,CAAE,cAAF,CAAJ,EAAwBiB,IAAxB,CAFN,GAGD;AACAhB,MAAAA,OAAO,CAAED,EAAE,CAAE,mBAAF,CAAJ,EAA6BgB,QAA7B;AApBZ,MADS,CAAV;AAyBA,GA1B8B,EA0B5B,CAAER,SAAF,EAAaE,KAAb,EAAoBD,QAApB,EAA8BI,aAA9B,CA1B4B,CAA/B;AA2BA,SACC,cAAC,oBAAD;AACC,IAAA,SAAS,EAAGN,SADb;AAEC,IAAA,OAAO,EAAGQ,eAFX;AAGC,IAAA,OAAO,EACNJ,SAAS,IACR,cAAC,oBAAD,CAAsB,YAAtB;AACC,MAAA,OAAO,EAAGE;AADX,OAGGb,EAAE,CAAE,OAAF,CAHL;AALH,KAaG,CAAEY,sBAAF,IACD,cAAC,oBAAD;AAAsB,IAAA,KAAK,EAAGF,KAA9B;AAAsC,IAAA,QAAQ,EAAGD;AAAjD,IAdF,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\n\nexport default function GradientPicker( {\n\tclassName,\n\tgradients,\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n} ) {\n\tconst clearGradient = useCallback( () => onChange( undefined ), [\n\t\tonChange,\n\t] );\n\tconst gradientOptions = useMemo( () => {\n\t\treturn map( gradients, ( { gradient, name } ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ gradient }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\tactions={\n\t\t\t\tclearable && (\n\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{ ! disableCustomGradients && (\n\t\t\t\t<CustomGradientPicker value={ value } onChange={ onChange } />\n\t\t\t) }\n\t\t</CircularOptionPicker>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/gradient-picker/index.js"],"names":["map","__","sprintf","useCallback","useMemo","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","SingleOrigin","className","clearGradient","gradients","onChange","value","actions","content","gradientOptions","gradient","name","color","background","MultipleOrigin","gradientSet","index","length","GradientPicker","clearable","disableCustomGradients","__experimentalHasMultipleOrigins","undefined","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\tactions,\n\tcontent,\n} ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn map( gradients, ( { gradient, name } ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ gradient }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\tactions={ actions }\n\t\t>\n\t\t\t{ content }\n\t\t</CircularOptionPicker>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\tactions,\n\tcontent,\n} ) {\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading>{ name }</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t{ ...( gradients.length === index + 1\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nexport default function GradientPicker( {\n\tclassName,\n\tgradients,\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalHasMultipleOrigins,\n} ) {\n\tconst clearGradient = useCallback( () => onChange( undefined ), [\n\t\tonChange,\n\t] );\n\tconst Component = __experimentalHasMultipleOrigins\n\t\t? MultipleOrigin\n\t\t: SingleOrigin;\n\treturn (\n\t\t<Component\n\t\t\tclassName={ className }\n\t\t\tclearable={ clearable }\n\t\t\tclearGradient={ clearGradient }\n\t\t\tgradients={ gradients }\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ value }\n\t\t\tactions={\n\t\t\t\tclearable && (\n\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t)\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n}\n"]}
@@ -74,6 +74,7 @@ export { default as LinkPickerScreen } from './mobile/link-picker/link-picker-sc
74
74
  export { default as LinkSettings } from './mobile/link-settings';
75
75
  export { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';
76
76
  export { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';
77
+ export { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';
77
78
  export { default as SegmentedControl } from './mobile/segmented-control';
78
79
  export { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';
79
80
  export { default as ImageEditingButton } from './mobile/image/image-editing-button';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/index.native.js"],"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","__experimentalToolbarContext","ToolbarGroup","ToolbarItem","ToolbarDropdownMenu","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","ReadableContentView","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","InserterButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles"],"mappings":"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","sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport { default as Toolbar } from './toolbar';\nexport { default as ToolbarButton } from './toolbar-button';\nexport { default as __experimentalToolbarContext } from './toolbar-context';\nexport { default as ToolbarGroup } from './toolbar-group';\nexport { default as ToolbarItem } from './toolbar-item';\nexport { default as ToolbarDropdownMenu } from './toolbar-dropdown-menu';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\n\n// Higher-Order Components\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as ReadableContentView } from './mobile/readable-content-view';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { default as InserterButton } from './mobile/inserter-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\n\n// Hooks\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport { getGlobalStyles } from './mobile/global-styles-context/utils';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/index.native.js"],"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","__experimentalToolbarContext","ToolbarGroup","ToolbarItem","ToolbarDropdownMenu","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","ReadableContentView","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","ImageLinkDestinationsScreen","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","InserterButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles"],"mappings":"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","sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport { default as Toolbar } from './toolbar';\nexport { default as ToolbarButton } from './toolbar-button';\nexport { default as __experimentalToolbarContext } from './toolbar-context';\nexport { default as ToolbarGroup } from './toolbar-group';\nexport { default as ToolbarItem } from './toolbar-item';\nexport { default as ToolbarDropdownMenu } from './toolbar-dropdown-menu';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\n\n// Higher-Order Components\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as ReadableContentView } from './mobile/readable-content-view';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { default as InserterButton } from './mobile/inserter-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\n\n// Hooks\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport { getGlobalStyles } from './mobile/global-styles-context/utils';\n"]}
@@ -94,6 +94,7 @@ class BottomSheetCell extends Component {
94
94
  valuePlaceholder = '',
95
95
  icon,
96
96
  leftAlign,
97
+ iconStyle = {},
97
98
  labelStyle = {},
98
99
  valueStyle = {},
99
100
  cellContainerStyle = {},
@@ -238,7 +239,7 @@ class BottomSheetCell extends Component {
238
239
  _x('%1$s, %2$s, %3$s', 'inline textinput cell'), label, value, help);
239
240
  };
240
241
 
241
- const iconStyle = getStylesFromColorScheme(styles.icon, styles.iconDark);
242
+ const iconStyleBase = getStylesFromColorScheme(styles.icon, styles.iconDark);
242
243
  const resetButtonStyle = getStylesFromColorScheme(styles.resetButton, styles.resetButtonDark);
243
244
  const cellHelpStyle = [styles.cellHelpLabel, isIOS && styles.cellHelpLabelIOS];
244
245
  const containerPointerEvents = this.state.isScreenReaderEnabled && accessible ? 'none' : 'auto';
@@ -274,7 +275,8 @@ class BottomSheetCell extends Component {
274
275
  }, createElement(Icon, {
275
276
  icon: icon,
276
277
  size: 24,
277
- fill: iconStyle.color,
278
+ fill: iconStyle.color || iconStyleBase.color,
279
+ style: iconStyle,
278
280
  isPressed: false
279
281
  }), createElement(View, {
280
282
  style: platformStyles.labelIconSeparator
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/cell.native.js"],"names":["TouchableOpacity","Text","View","TextInput","I18nManager","AccessibilityInfo","Platform","isEmpty","get","Icon","check","Component","__","_x","sprintf","withPreferredColorScheme","styles","platformStyles","TouchableRipple","isIOS","OS","BottomSheetCell","constructor","props","arguments","state","isEditingValue","autoFocus","isScreenReaderEnabled","handleScreenReaderToggled","bind","isCurrent","componentDidUpdate","prevProps","prevState","_valueTextInput","focus","componentDidMount","addEventListener","then","setState","componentWillUnmount","removeEventListener","typeToKeyboardType","type","step","keyboardType","Math","abs","render","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","disabled","activeOpacity","onPress","onLongPress","label","subLabel","value","valuePlaceholder","icon","leftAlign","labelStyle","valueStyle","cellContainerStyle","cellRowContainerStyle","onChangeValue","onSubmit","children","editable","isSelected","separatorType","style","getStylesFromColorScheme","customActionButton","borderless","help","valueProps","showValue","undefined","isValueEditable","cellLabelStyle","cellLabel","cellTextDark","cellLabelCenteredStyle","cellLabelCentered","cellLabelLeftAlignNoIconStyle","cellLabelLeftAlignNoIcon","defaultMissingIconAndValue","defaultLabelStyle","defaultSubLabelStyleText","cellSubLabelText","cellSubLabelTextDark","drawSeparator","separatorStyle","drawTopSeparator","cellContainerStyles","cellContainer","rowContainerStyles","cellRowContainer","isInteractive","onCellPress","startEditing","finishEditing","defaultSeparatorStyle","separator","separatorDark","cellSeparatorStyle","cellSeparator","cellSeparatorDark","leftMarginStyle","separatorMarginLeft","getValueComponent","styleRTL","isRTL","cellValueRTL","cellValueStyle","cellValue","finalStyle","shouldShowPlaceholder","c","getAccessibilityLabel","iconStyle","iconDark","resetButtonStyle","resetButton","resetButtonDark","cellHelpStyle","cellHelpLabel","cellHelpLabelIOS","containerPointerEvents","title","handler","opacity","clipToBounds","color","labelIconSeparator","placeholderColor"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTouchableOpacity,\n\tText,\n\tView,\n\tTextInput,\n\tI18nManager,\n\tAccessibilityInfo,\n\tPlatform,\n} from 'react-native';\nimport { isEmpty, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { check } from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport platformStyles from './cellStyles.scss';\nimport TouchableRipple from './ripple';\n\nconst isIOS = Platform.OS === 'ios';\nclass BottomSheetCell extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisEditingValue: props.autoFocus || false,\n\t\t\tisScreenReaderEnabled: false,\n\t\t};\n\n\t\tthis.handleScreenReaderToggled = this.handleScreenReaderToggled.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.isCurrent = false;\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tif ( ! prevState.isEditingValue && this.state.isEditingValue ) {\n\t\t\tthis._valueTextInput.focus();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isCurrent = true;\n\t\tAccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\tthis.handleScreenReaderToggled\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( isScreenReaderEnabled ) => {\n\t\t\t\tif ( this.isCurrent ) {\n\t\t\t\t\tthis.setState( { isScreenReaderEnabled } );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isCurrent = false;\n\t\tAccessibilityInfo.removeEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\tthis.handleScreenReaderToggled\n\t\t);\n\t}\n\n\thandleScreenReaderToggled( isScreenReaderEnabled ) {\n\t\tthis.setState( { isScreenReaderEnabled } );\n\t}\n\n\ttypeToKeyboardType( type, step ) {\n\t\tlet keyboardType = `default`;\n\t\tif ( type === `number` ) {\n\t\t\tif ( step && Math.abs( step ) < 1 ) {\n\t\t\t\tkeyboardType = `decimal-pad`;\n\t\t\t} else {\n\t\t\t\tkeyboardType = `number-pad`;\n\t\t\t}\n\t\t}\n\t\treturn keyboardType;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\taccessible,\n\t\t\taccessibilityLabel,\n\t\t\taccessibilityHint,\n\t\t\taccessibilityRole,\n\t\t\tdisabled = false,\n\t\t\tactiveOpacity,\n\t\t\tonPress,\n\t\t\tonLongPress,\n\t\t\tlabel,\n\t\t\tsubLabel,\n\t\t\tvalue,\n\t\t\tvaluePlaceholder = '',\n\t\t\ticon,\n\t\t\tleftAlign,\n\t\t\tlabelStyle = {},\n\t\t\tvalueStyle = {},\n\t\t\tcellContainerStyle = {},\n\t\t\tcellRowContainerStyle = {},\n\t\t\tonChangeValue,\n\t\t\tonSubmit,\n\t\t\tchildren,\n\t\t\teditable = true,\n\t\t\tisSelected = false,\n\t\t\tseparatorType,\n\t\t\tstyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tcustomActionButton,\n\t\t\ttype,\n\t\t\tstep,\n\t\t\tborderless,\n\t\t\thelp,\n\t\t\t...valueProps\n\t\t} = this.props;\n\n\t\tconst showValue = value !== undefined;\n\t\tconst isValueEditable = editable && onChangeValue !== undefined;\n\t\tconst cellLabelStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabel,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst cellLabelCenteredStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabelCentered,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst cellLabelLeftAlignNoIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabelLeftAlignNoIcon,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst defaultMissingIconAndValue = leftAlign\n\t\t\t? cellLabelLeftAlignNoIconStyle\n\t\t\t: cellLabelCenteredStyle;\n\t\tconst defaultLabelStyle =\n\t\t\tshowValue || customActionButton || icon\n\t\t\t\t? cellLabelStyle\n\t\t\t\t: defaultMissingIconAndValue;\n\n\t\tconst defaultSubLabelStyleText = getStylesFromColorScheme(\n\t\t\tstyles.cellSubLabelText,\n\t\t\tstyles.cellSubLabelTextDark\n\t\t);\n\n\t\tconst drawSeparator =\n\t\t\t( separatorType && separatorType !== 'none' ) ||\n\t\t\tseparatorStyle === undefined;\n\t\tconst drawTopSeparator =\n\t\t\tdrawSeparator && separatorType === 'topFullWidth';\n\n\t\tconst cellContainerStyles = [\n\t\t\tstyles.cellContainer,\n\t\t\tcellContainerStyle,\n\t\t];\n\t\tconst rowContainerStyles = [\n\t\t\tstyles.cellRowContainer,\n\t\t\tcellRowContainerStyle,\n\t\t];\n\n\t\tconst isInteractive =\n\t\t\tisValueEditable ||\n\t\t\tonPress !== undefined ||\n\t\t\tonLongPress !== undefined;\n\n\t\tconst onCellPress = () => {\n\t\t\tif ( isValueEditable ) {\n\t\t\t\tstartEditing();\n\t\t\t} else if ( onPress !== undefined ) {\n\t\t\t\tonPress();\n\t\t\t}\n\t\t};\n\n\t\tconst finishEditing = () => {\n\t\t\tthis.setState( { isEditingValue: false } );\n\t\t};\n\n\t\tconst startEditing = () => {\n\t\t\tif ( this.state.isEditingValue === false ) {\n\t\t\t\tthis.setState( { isEditingValue: true } );\n\t\t\t}\n\t\t};\n\n\t\tconst separatorStyle = () => {\n\t\t\t//eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\t\tconst defaultSeparatorStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.separator,\n\t\t\t\tstyles.separatorDark\n\t\t\t);\n\t\t\tconst cellSeparatorStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.cellSeparator,\n\t\t\t\tstyles.cellSeparatorDark\n\t\t\t);\n\t\t\tconst leftMarginStyle = {\n\t\t\t\t...cellSeparatorStyle,\n\t\t\t\t...platformStyles.separatorMarginLeft,\n\t\t\t};\n\t\t\tswitch ( separatorType ) {\n\t\t\t\tcase 'leftMargin':\n\t\t\t\t\treturn leftMarginStyle;\n\t\t\t\tcase 'fullWidth':\n\t\t\t\tcase 'topFullWidth':\n\t\t\t\t\treturn defaultSeparatorStyle;\n\t\t\t\tcase 'none':\n\t\t\t\t\treturn undefined;\n\t\t\t\tcase undefined:\n\t\t\t\t\tif ( showValue && icon ) {\n\t\t\t\t\t\treturn leftMarginStyle;\n\t\t\t\t\t}\n\t\t\t\t\treturn defaultSeparatorStyle;\n\t\t\t}\n\t\t};\n\n\t\tconst getValueComponent = () => {\n\t\t\tconst styleRTL = I18nManager.isRTL && styles.cellValueRTL;\n\t\t\tconst cellValueStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.cellValue,\n\t\t\t\tstyles.cellTextDark\n\t\t\t);\n\t\t\tconst finalStyle = {\n\t\t\t\t...cellValueStyle,\n\t\t\t\t...valueStyle,\n\t\t\t\t...styleRTL,\n\t\t\t};\n\n\t\t\t// To be able to show the `middle` ellipsizeMode on editable cells\n\t\t\t// we show the TextInput just when the user wants to edit the value,\n\t\t\t// and the Text component to display it.\n\t\t\t// We also show the TextInput to display placeholder.\n\t\t\tconst shouldShowPlaceholder = isValueEditable && value === '';\n\t\t\treturn this.state.isEditingValue || shouldShowPlaceholder ? (\n\t\t\t\t<TextInput\n\t\t\t\t\tref={ ( c ) => ( this._valueTextInput = c ) }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ finalStyle }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ valuePlaceholder }\n\t\t\t\t\tplaceholderTextColor={ '#87a6bc' }\n\t\t\t\t\tonChangeText={ onChangeValue }\n\t\t\t\t\teditable={ isValueEditable }\n\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\tthis.state.isEditingValue ? 'auto' : 'none'\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ startEditing }\n\t\t\t\t\tonBlur={ finishEditing }\n\t\t\t\t\tonSubmitEditing={ onSubmit }\n\t\t\t\t\tkeyboardType={ this.typeToKeyboardType( type, step ) }\n\t\t\t\t\t{ ...valueProps }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ { ...cellValueStyle, ...valueStyle } }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode={ 'middle' }\n\t\t\t\t>\n\t\t\t\t\t{ value }\n\t\t\t\t</Text>\n\t\t\t);\n\t\t};\n\n\t\tconst getAccessibilityLabel = () => {\n\t\t\tif ( accessible === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( accessibilityLabel || ! showValue ) {\n\t\t\t\treturn accessibilityLabel || label;\n\t\t\t}\n\n\t\t\tif ( isEmpty( value ) ) {\n\t\t\t\treturn isEmpty( help )\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: accessibility text. Empty state of a inline textinput cell. %s: The cell's title */\n\t\t\t\t\t\t\t_x( '%s. Empty', 'inline textinput cell' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: // Separating by ',' is necessary to make a pause on urls (non-capitalized text)\n\t\t\t\t\t sprintf(\n\t\t\t\t\t\t\t/* translators: accessibility text. Empty state of a inline textinput cell. %1: Cell title, %2: cell help. */\n\t\t\t\t\t\t\t_x( '%1$s, %2$s. Empty', 'inline textinput cell' ),\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thelp\n\t\t\t\t\t );\n\t\t\t}\n\t\t\treturn isEmpty( help )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. Inline textinput title and value.%1: Cell title, %2: cell value. */\n\t\t\t\t\t\t_x( '%1$s, %2$s', 'inline textinput cell' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tvalue\n\t\t\t\t ) // Separating by ',' is necessary to make a pause on urls (non-capitalized text)\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. Inline textinput title, value and help text.%1: Cell title, %2: cell value, , %3: cell help. */\n\t\t\t\t\t\t_x( '%1$s, %2$s, %3$s', 'inline textinput cell' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\thelp\n\t\t\t\t );\n\t\t};\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.icon,\n\t\t\tstyles.iconDark\n\t\t);\n\t\tconst resetButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.resetButton,\n\t\t\tstyles.resetButtonDark\n\t\t);\n\t\tconst cellHelpStyle = [\n\t\t\tstyles.cellHelpLabel,\n\t\t\tisIOS && styles.cellHelpLabelIOS,\n\t\t];\n\t\tconst containerPointerEvents =\n\t\t\tthis.state.isScreenReaderEnabled && accessible ? 'none' : 'auto';\n\t\tconst { title, handler } = customActionButton || {};\n\n\t\tconst opacity =\n\t\t\tactiveOpacity !== undefined\n\t\t\t\t? activeOpacity\n\t\t\t\t: get( platformStyles, 'activeOpacity.opacity' );\n\n\t\treturn (\n\t\t\t<TouchableRipple\n\t\t\t\taccessible={\n\t\t\t\t\taccessible !== undefined\n\t\t\t\t\t\t? accessible\n\t\t\t\t\t\t: ! this.state.isEditingValue\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabel() }\n\t\t\t\taccessibilityRole={ accessibilityRole || 'button' }\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisValueEditable\n\t\t\t\t\t\t? /* translators: accessibility text */\n\t\t\t\t\t\t __( 'Double tap to edit this value' )\n\t\t\t\t\t\t: accessibilityHint\n\t\t\t\t}\n\t\t\t\tdisabled={ disabled || ! isInteractive }\n\t\t\t\tactiveOpacity={ opacity }\n\t\t\t\tonPress={ onCellPress }\n\t\t\t\tonLongPress={ onLongPress }\n\t\t\t\tstyle={ [ styles.clipToBounds, style ] }\n\t\t\t\tborderless={ borderless }\n\t\t\t>\n\t\t\t\t{ drawTopSeparator && <View style={ separatorStyle() } /> }\n\t\t\t\t<View\n\t\t\t\t\tstyle={ cellContainerStyles }\n\t\t\t\t\tpointerEvents={ containerPointerEvents }\n\t\t\t\t>\n\t\t\t\t\t<View style={ rowContainerStyles }>\n\t\t\t\t\t\t<View style={ styles.cellRowContainer }>\n\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t<View style={ styles.cellRowContainer }>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\t\t\tisPressed={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tplatformStyles.labelIconSeparator\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ subLabel && label && (\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\tdefaultLabelStyle,\n\t\t\t\t\t\t\t\t\t\t\tlabelStyle,\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Text style={ defaultSubLabelStyleText }>\n\t\t\t\t\t\t\t\t\t\t{ subLabel }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! subLabel && label && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={ [ defaultLabelStyle, labelStyle ] }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t{ customActionButton && (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tonPress={ handler }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text style={ resetButtonStyle }>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\tfill={ platformStyles.isSelected.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showValue && getValueComponent() }\n\t\t\t\t\t{ children }\n\t\t\t\t</View>\n\t\t\t\t{ help && (\n\t\t\t\t\t<Text style={ [ cellHelpStyle, styles.placeholderColor ] }>\n\t\t\t\t\t\t{ help }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t\t{ ! drawTopSeparator && <View style={ separatorStyle() } /> }\n\t\t\t</TouchableRipple>\n\t\t);\n\t}\n}\n\nexport default withPreferredColorScheme( BottomSheetCell );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/cell.native.js"],"names":["TouchableOpacity","Text","View","TextInput","I18nManager","AccessibilityInfo","Platform","isEmpty","get","Icon","check","Component","__","_x","sprintf","withPreferredColorScheme","styles","platformStyles","TouchableRipple","isIOS","OS","BottomSheetCell","constructor","props","arguments","state","isEditingValue","autoFocus","isScreenReaderEnabled","handleScreenReaderToggled","bind","isCurrent","componentDidUpdate","prevProps","prevState","_valueTextInput","focus","componentDidMount","addEventListener","then","setState","componentWillUnmount","removeEventListener","typeToKeyboardType","type","step","keyboardType","Math","abs","render","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","disabled","activeOpacity","onPress","onLongPress","label","subLabel","value","valuePlaceholder","icon","leftAlign","iconStyle","labelStyle","valueStyle","cellContainerStyle","cellRowContainerStyle","onChangeValue","onSubmit","children","editable","isSelected","separatorType","style","getStylesFromColorScheme","customActionButton","borderless","help","valueProps","showValue","undefined","isValueEditable","cellLabelStyle","cellLabel","cellTextDark","cellLabelCenteredStyle","cellLabelCentered","cellLabelLeftAlignNoIconStyle","cellLabelLeftAlignNoIcon","defaultMissingIconAndValue","defaultLabelStyle","defaultSubLabelStyleText","cellSubLabelText","cellSubLabelTextDark","drawSeparator","separatorStyle","drawTopSeparator","cellContainerStyles","cellContainer","rowContainerStyles","cellRowContainer","isInteractive","onCellPress","startEditing","finishEditing","defaultSeparatorStyle","separator","separatorDark","cellSeparatorStyle","cellSeparator","cellSeparatorDark","leftMarginStyle","separatorMarginLeft","getValueComponent","styleRTL","isRTL","cellValueRTL","cellValueStyle","cellValue","finalStyle","shouldShowPlaceholder","c","getAccessibilityLabel","iconStyleBase","iconDark","resetButtonStyle","resetButton","resetButtonDark","cellHelpStyle","cellHelpLabel","cellHelpLabelIOS","containerPointerEvents","title","handler","opacity","clipToBounds","color","labelIconSeparator","placeholderColor"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTouchableOpacity,\n\tText,\n\tView,\n\tTextInput,\n\tI18nManager,\n\tAccessibilityInfo,\n\tPlatform,\n} from 'react-native';\nimport { isEmpty, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { check } from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport platformStyles from './cellStyles.scss';\nimport TouchableRipple from './ripple';\n\nconst isIOS = Platform.OS === 'ios';\nclass BottomSheetCell extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisEditingValue: props.autoFocus || false,\n\t\t\tisScreenReaderEnabled: false,\n\t\t};\n\n\t\tthis.handleScreenReaderToggled = this.handleScreenReaderToggled.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.isCurrent = false;\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tif ( ! prevState.isEditingValue && this.state.isEditingValue ) {\n\t\t\tthis._valueTextInput.focus();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isCurrent = true;\n\t\tAccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\tthis.handleScreenReaderToggled\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( isScreenReaderEnabled ) => {\n\t\t\t\tif ( this.isCurrent ) {\n\t\t\t\t\tthis.setState( { isScreenReaderEnabled } );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isCurrent = false;\n\t\tAccessibilityInfo.removeEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\tthis.handleScreenReaderToggled\n\t\t);\n\t}\n\n\thandleScreenReaderToggled( isScreenReaderEnabled ) {\n\t\tthis.setState( { isScreenReaderEnabled } );\n\t}\n\n\ttypeToKeyboardType( type, step ) {\n\t\tlet keyboardType = `default`;\n\t\tif ( type === `number` ) {\n\t\t\tif ( step && Math.abs( step ) < 1 ) {\n\t\t\t\tkeyboardType = `decimal-pad`;\n\t\t\t} else {\n\t\t\t\tkeyboardType = `number-pad`;\n\t\t\t}\n\t\t}\n\t\treturn keyboardType;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\taccessible,\n\t\t\taccessibilityLabel,\n\t\t\taccessibilityHint,\n\t\t\taccessibilityRole,\n\t\t\tdisabled = false,\n\t\t\tactiveOpacity,\n\t\t\tonPress,\n\t\t\tonLongPress,\n\t\t\tlabel,\n\t\t\tsubLabel,\n\t\t\tvalue,\n\t\t\tvaluePlaceholder = '',\n\t\t\ticon,\n\t\t\tleftAlign,\n\t\t\ticonStyle = {},\n\t\t\tlabelStyle = {},\n\t\t\tvalueStyle = {},\n\t\t\tcellContainerStyle = {},\n\t\t\tcellRowContainerStyle = {},\n\t\t\tonChangeValue,\n\t\t\tonSubmit,\n\t\t\tchildren,\n\t\t\teditable = true,\n\t\t\tisSelected = false,\n\t\t\tseparatorType,\n\t\t\tstyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tcustomActionButton,\n\t\t\ttype,\n\t\t\tstep,\n\t\t\tborderless,\n\t\t\thelp,\n\t\t\t...valueProps\n\t\t} = this.props;\n\n\t\tconst showValue = value !== undefined;\n\t\tconst isValueEditable = editable && onChangeValue !== undefined;\n\t\tconst cellLabelStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabel,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst cellLabelCenteredStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabelCentered,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst cellLabelLeftAlignNoIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.cellLabelLeftAlignNoIcon,\n\t\t\tstyles.cellTextDark\n\t\t);\n\t\tconst defaultMissingIconAndValue = leftAlign\n\t\t\t? cellLabelLeftAlignNoIconStyle\n\t\t\t: cellLabelCenteredStyle;\n\t\tconst defaultLabelStyle =\n\t\t\tshowValue || customActionButton || icon\n\t\t\t\t? cellLabelStyle\n\t\t\t\t: defaultMissingIconAndValue;\n\n\t\tconst defaultSubLabelStyleText = getStylesFromColorScheme(\n\t\t\tstyles.cellSubLabelText,\n\t\t\tstyles.cellSubLabelTextDark\n\t\t);\n\n\t\tconst drawSeparator =\n\t\t\t( separatorType && separatorType !== 'none' ) ||\n\t\t\tseparatorStyle === undefined;\n\t\tconst drawTopSeparator =\n\t\t\tdrawSeparator && separatorType === 'topFullWidth';\n\n\t\tconst cellContainerStyles = [\n\t\t\tstyles.cellContainer,\n\t\t\tcellContainerStyle,\n\t\t];\n\t\tconst rowContainerStyles = [\n\t\t\tstyles.cellRowContainer,\n\t\t\tcellRowContainerStyle,\n\t\t];\n\n\t\tconst isInteractive =\n\t\t\tisValueEditable ||\n\t\t\tonPress !== undefined ||\n\t\t\tonLongPress !== undefined;\n\n\t\tconst onCellPress = () => {\n\t\t\tif ( isValueEditable ) {\n\t\t\t\tstartEditing();\n\t\t\t} else if ( onPress !== undefined ) {\n\t\t\t\tonPress();\n\t\t\t}\n\t\t};\n\n\t\tconst finishEditing = () => {\n\t\t\tthis.setState( { isEditingValue: false } );\n\t\t};\n\n\t\tconst startEditing = () => {\n\t\t\tif ( this.state.isEditingValue === false ) {\n\t\t\t\tthis.setState( { isEditingValue: true } );\n\t\t\t}\n\t\t};\n\n\t\tconst separatorStyle = () => {\n\t\t\t//eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\t\tconst defaultSeparatorStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.separator,\n\t\t\t\tstyles.separatorDark\n\t\t\t);\n\t\t\tconst cellSeparatorStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.cellSeparator,\n\t\t\t\tstyles.cellSeparatorDark\n\t\t\t);\n\t\t\tconst leftMarginStyle = {\n\t\t\t\t...cellSeparatorStyle,\n\t\t\t\t...platformStyles.separatorMarginLeft,\n\t\t\t};\n\t\t\tswitch ( separatorType ) {\n\t\t\t\tcase 'leftMargin':\n\t\t\t\t\treturn leftMarginStyle;\n\t\t\t\tcase 'fullWidth':\n\t\t\t\tcase 'topFullWidth':\n\t\t\t\t\treturn defaultSeparatorStyle;\n\t\t\t\tcase 'none':\n\t\t\t\t\treturn undefined;\n\t\t\t\tcase undefined:\n\t\t\t\t\tif ( showValue && icon ) {\n\t\t\t\t\t\treturn leftMarginStyle;\n\t\t\t\t\t}\n\t\t\t\t\treturn defaultSeparatorStyle;\n\t\t\t}\n\t\t};\n\n\t\tconst getValueComponent = () => {\n\t\t\tconst styleRTL = I18nManager.isRTL && styles.cellValueRTL;\n\t\t\tconst cellValueStyle = this.props.getStylesFromColorScheme(\n\t\t\t\tstyles.cellValue,\n\t\t\t\tstyles.cellTextDark\n\t\t\t);\n\t\t\tconst finalStyle = {\n\t\t\t\t...cellValueStyle,\n\t\t\t\t...valueStyle,\n\t\t\t\t...styleRTL,\n\t\t\t};\n\n\t\t\t// To be able to show the `middle` ellipsizeMode on editable cells\n\t\t\t// we show the TextInput just when the user wants to edit the value,\n\t\t\t// and the Text component to display it.\n\t\t\t// We also show the TextInput to display placeholder.\n\t\t\tconst shouldShowPlaceholder = isValueEditable && value === '';\n\t\t\treturn this.state.isEditingValue || shouldShowPlaceholder ? (\n\t\t\t\t<TextInput\n\t\t\t\t\tref={ ( c ) => ( this._valueTextInput = c ) }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ finalStyle }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ valuePlaceholder }\n\t\t\t\t\tplaceholderTextColor={ '#87a6bc' }\n\t\t\t\t\tonChangeText={ onChangeValue }\n\t\t\t\t\teditable={ isValueEditable }\n\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\tthis.state.isEditingValue ? 'auto' : 'none'\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ startEditing }\n\t\t\t\t\tonBlur={ finishEditing }\n\t\t\t\t\tonSubmitEditing={ onSubmit }\n\t\t\t\t\tkeyboardType={ this.typeToKeyboardType( type, step ) }\n\t\t\t\t\t{ ...valueProps }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ { ...cellValueStyle, ...valueStyle } }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode={ 'middle' }\n\t\t\t\t>\n\t\t\t\t\t{ value }\n\t\t\t\t</Text>\n\t\t\t);\n\t\t};\n\n\t\tconst getAccessibilityLabel = () => {\n\t\t\tif ( accessible === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( accessibilityLabel || ! showValue ) {\n\t\t\t\treturn accessibilityLabel || label;\n\t\t\t}\n\n\t\t\tif ( isEmpty( value ) ) {\n\t\t\t\treturn isEmpty( help )\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: accessibility text. Empty state of a inline textinput cell. %s: The cell's title */\n\t\t\t\t\t\t\t_x( '%s. Empty', 'inline textinput cell' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: // Separating by ',' is necessary to make a pause on urls (non-capitalized text)\n\t\t\t\t\t sprintf(\n\t\t\t\t\t\t\t/* translators: accessibility text. Empty state of a inline textinput cell. %1: Cell title, %2: cell help. */\n\t\t\t\t\t\t\t_x( '%1$s, %2$s. Empty', 'inline textinput cell' ),\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thelp\n\t\t\t\t\t );\n\t\t\t}\n\t\t\treturn isEmpty( help )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. Inline textinput title and value.%1: Cell title, %2: cell value. */\n\t\t\t\t\t\t_x( '%1$s, %2$s', 'inline textinput cell' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tvalue\n\t\t\t\t ) // Separating by ',' is necessary to make a pause on urls (non-capitalized text)\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. Inline textinput title, value and help text.%1: Cell title, %2: cell value, , %3: cell help. */\n\t\t\t\t\t\t_x( '%1$s, %2$s, %3$s', 'inline textinput cell' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\thelp\n\t\t\t\t );\n\t\t};\n\n\t\tconst iconStyleBase = getStylesFromColorScheme(\n\t\t\tstyles.icon,\n\t\t\tstyles.iconDark\n\t\t);\n\t\tconst resetButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.resetButton,\n\t\t\tstyles.resetButtonDark\n\t\t);\n\t\tconst cellHelpStyle = [\n\t\t\tstyles.cellHelpLabel,\n\t\t\tisIOS && styles.cellHelpLabelIOS,\n\t\t];\n\t\tconst containerPointerEvents =\n\t\t\tthis.state.isScreenReaderEnabled && accessible ? 'none' : 'auto';\n\t\tconst { title, handler } = customActionButton || {};\n\n\t\tconst opacity =\n\t\t\tactiveOpacity !== undefined\n\t\t\t\t? activeOpacity\n\t\t\t\t: get( platformStyles, 'activeOpacity.opacity' );\n\n\t\treturn (\n\t\t\t<TouchableRipple\n\t\t\t\taccessible={\n\t\t\t\t\taccessible !== undefined\n\t\t\t\t\t\t? accessible\n\t\t\t\t\t\t: ! this.state.isEditingValue\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabel() }\n\t\t\t\taccessibilityRole={ accessibilityRole || 'button' }\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisValueEditable\n\t\t\t\t\t\t? /* translators: accessibility text */\n\t\t\t\t\t\t __( 'Double tap to edit this value' )\n\t\t\t\t\t\t: accessibilityHint\n\t\t\t\t}\n\t\t\t\tdisabled={ disabled || ! isInteractive }\n\t\t\t\tactiveOpacity={ opacity }\n\t\t\t\tonPress={ onCellPress }\n\t\t\t\tonLongPress={ onLongPress }\n\t\t\t\tstyle={ [ styles.clipToBounds, style ] }\n\t\t\t\tborderless={ borderless }\n\t\t\t>\n\t\t\t\t{ drawTopSeparator && <View style={ separatorStyle() } /> }\n\t\t\t\t<View\n\t\t\t\t\tstyle={ cellContainerStyles }\n\t\t\t\t\tpointerEvents={ containerPointerEvents }\n\t\t\t\t>\n\t\t\t\t\t<View style={ rowContainerStyles }>\n\t\t\t\t\t\t<View style={ styles.cellRowContainer }>\n\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t<View style={ styles.cellRowContainer }>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\tfill={\n\t\t\t\t\t\t\t\t\t\t\ticonStyle.color ||\n\t\t\t\t\t\t\t\t\t\t\ticonStyleBase.color\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t\t\t\t\t\t\tisPressed={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tplatformStyles.labelIconSeparator\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ subLabel && label && (\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\tdefaultLabelStyle,\n\t\t\t\t\t\t\t\t\t\t\tlabelStyle,\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Text style={ defaultSubLabelStyleText }>\n\t\t\t\t\t\t\t\t\t\t{ subLabel }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! subLabel && label && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={ [ defaultLabelStyle, labelStyle ] }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t{ customActionButton && (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tonPress={ handler }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text style={ resetButtonStyle }>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\tfill={ platformStyles.isSelected.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showValue && getValueComponent() }\n\t\t\t\t\t{ children }\n\t\t\t\t</View>\n\t\t\t\t{ help && (\n\t\t\t\t\t<Text style={ [ cellHelpStyle, styles.placeholderColor ] }>\n\t\t\t\t\t\t{ help }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t\t{ ! drawTopSeparator && <View style={ separatorStyle() } /> }\n\t\t\t</TouchableRipple>\n\t\t);\n\t}\n}\n\nexport default withPreferredColorScheme( BottomSheetCell );\n"]}
@@ -16,6 +16,7 @@ const {
16
16
  } = styles;
17
17
  export default function LinkCell({
18
18
  value,
19
+ valueMask,
19
20
  onPress,
20
21
  showIcon = true
21
22
  }) {
@@ -23,8 +24,8 @@ export default function LinkCell({
23
24
  icon: showIcon && link,
24
25
  label: __('Link to') // since this is not actually editable, we treat value as a placeholder
25
26
  ,
26
- value: value || __('Search or type URL'),
27
- valueStyle: !!value ? undefined : placeholderColor,
27
+ value: valueMask || value || __('Search or type URL'),
28
+ valueStyle: !!(value || valueMask) ? undefined : placeholderColor,
28
29
  onPress: onPress
29
30
  }, createElement(Icon, {
30
31
  icon: chevronRight
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/link-cell.native.js"],"names":["__","link","Icon","chevronRight","Cell","styles","placeholderColor","LinkCell","value","onPress","showIcon","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,YAArB,QAAyC,kBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAuBD,MAA7B;AAEA,eAAe,SAASE,QAAT,CAAmB;AAAEC,EAAAA,KAAF;AAASC,EAAAA,OAAT;AAAkBC,EAAAA,QAAQ,GAAG;AAA7B,CAAnB,EAAyD;AACvE,SACC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGA,QAAQ,IAAIT,IADpB;AAEC,IAAA,KAAK,EAAGD,EAAE,CAAE,SAAF,CAFX,CAGC;AAHD;AAIC,IAAA,KAAK,EAAGQ,KAAK,IAAIR,EAAE,CAAE,oBAAF,CAJpB;AAKC,IAAA,UAAU,EAAG,CAAC,CAAEQ,KAAH,GAAWG,SAAX,GAAuBL,gBALrC;AAMC,IAAA,OAAO,EAAGG;AANX,KAQC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGN;AAAb,IARD,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { link, Icon, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport styles from './styles.scss';\n\nconst { placeholderColor } = styles;\n\nexport default function LinkCell( { value, onPress, showIcon = true } ) {\n\treturn (\n\t\t<Cell\n\t\t\ticon={ showIcon && link }\n\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t// since this is not actually editable, we treat value as a placeholder\n\t\t\tvalue={ value || __( 'Search or type URL' ) }\n\t\t\tvalueStyle={ !! value ? undefined : placeholderColor }\n\t\t\tonPress={ onPress }\n\t\t>\n\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t</Cell>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/link-cell.native.js"],"names":["__","link","Icon","chevronRight","Cell","styles","placeholderColor","LinkCell","value","valueMask","onPress","showIcon","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,YAArB,QAAyC,kBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAuBD,MAA7B;AAEA,eAAe,SAASE,QAAT,CAAmB;AACjCC,EAAAA,KADiC;AAEjCC,EAAAA,SAFiC;AAGjCC,EAAAA,OAHiC;AAIjCC,EAAAA,QAAQ,GAAG;AAJsB,CAAnB,EAKX;AACH,SACC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGA,QAAQ,IAAIV,IADpB;AAEC,IAAA,KAAK,EAAGD,EAAE,CAAE,SAAF,CAFX,CAGC;AAHD;AAIC,IAAA,KAAK,EAAGS,SAAS,IAAID,KAAb,IAAsBR,EAAE,CAAE,oBAAF,CAJjC;AAKC,IAAA,UAAU,EACT,CAAC,EAAIQ,KAAK,IAAIC,SAAb,CAAD,GAA4BG,SAA5B,GAAwCN,gBAN1C;AAQC,IAAA,OAAO,EAAGI;AARX,KAUC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGP;AAAb,IAVD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { link, Icon, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport styles from './styles.scss';\n\nconst { placeholderColor } = styles;\n\nexport default function LinkCell( {\n\tvalue,\n\tvalueMask,\n\tonPress,\n\tshowIcon = true,\n} ) {\n\treturn (\n\t\t<Cell\n\t\t\ticon={ showIcon && link }\n\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t// since this is not actually editable, we treat value as a placeholder\n\t\t\tvalue={ valueMask || value || __( 'Search or type URL' ) }\n\t\t\tvalueStyle={\n\t\t\t\t!! ( value || valueMask ) ? undefined : placeholderColor\n\t\t\t}\n\t\t\tonPress={ onPress }\n\t\t>\n\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t</Cell>\n\t);\n}\n"]}
@@ -0,0 +1,121 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import { useNavigation, useRoute } from '@react-navigation/native';
7
+ import { StyleSheet } from 'react-native';
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ import { __ } from '@wordpress/i18n';
13
+ import { Icon, check, chevronRight } from '@wordpress/icons';
14
+ import { blockSettingsScreens } from '@wordpress/block-editor';
15
+ import { usePreferredColorSchemeStyle } from '@wordpress/compose';
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
20
+ import styles from './style.scss';
21
+ import PanelBody from '../../panel/body';
22
+ import BottomSheet from '../bottom-sheet';
23
+ const LINK_DESTINATION_NONE = 'none';
24
+ const LINK_DESTINATION_MEDIA = 'media';
25
+ const LINK_DESTINATION_ATTACHMENT = 'attachment';
26
+ const LINK_DESTINATION_CUSTOM = 'custom';
27
+
28
+ function LinkDestination({
29
+ children,
30
+ isSelected,
31
+ label,
32
+ onPress,
33
+ value,
34
+ valueStyle
35
+ }) {
36
+ const optionIcon = usePreferredColorSchemeStyle(styles.optionIcon, styles.optionIconDark);
37
+ return createElement(BottomSheet.Cell, {
38
+ icon: check,
39
+ iconStyle: StyleSheet.flatten([optionIcon, !isSelected && styles.unselectedOptionIcon]),
40
+ label: label,
41
+ leftAlign: true,
42
+ onPress: onPress,
43
+ value: value,
44
+ valueStyle: valueStyle,
45
+ separatorType: "leftMargin"
46
+ }, children);
47
+ }
48
+
49
+ function ImageLinkDestinationsScreen(props) {
50
+ const navigation = useNavigation();
51
+ const route = useRoute();
52
+ const {
53
+ url = ''
54
+ } = props;
55
+ const {
56
+ inputValue = url,
57
+ imageUrl,
58
+ attachmentPageUrl,
59
+ linkDestination
60
+ } = route.params || {};
61
+
62
+ function goToLinkPicker() {
63
+ navigation.navigate(blockSettingsScreens.linkPicker, {
64
+ inputValue: linkDestination === LINK_DESTINATION_CUSTOM ? inputValue : ''
65
+ });
66
+ }
67
+
68
+ const setLinkDestination = newLinkDestination => () => {
69
+ let newUrl;
70
+
71
+ switch (newLinkDestination) {
72
+ case LINK_DESTINATION_MEDIA:
73
+ newUrl = imageUrl;
74
+ break;
75
+
76
+ case LINK_DESTINATION_ATTACHMENT:
77
+ newUrl = attachmentPageUrl;
78
+ break;
79
+
80
+ default:
81
+ newUrl = '';
82
+ break;
83
+ }
84
+
85
+ navigation.navigate(blockSettingsScreens.settings, {
86
+ // The `inputValue` name is reused from LinkPicker, as it helps avoid
87
+ // bugs from stale values remaining in the React Navigation route
88
+ // parameters
89
+ inputValue: newUrl,
90
+ // Clear link text value that may be set from LinkPicker
91
+ text: ''
92
+ });
93
+ };
94
+
95
+ return createElement(Fragment, null, createElement(BottomSheet.NavBar, null, createElement(BottomSheet.NavBar.BackButton, {
96
+ onPress: navigation.goBack
97
+ }), createElement(BottomSheet.NavBar.Heading, null, __('Link To'))), createElement(PanelBody, null, createElement(LinkDestination, {
98
+ isSelected: linkDestination === LINK_DESTINATION_NONE,
99
+ label: __('None'),
100
+ onPress: setLinkDestination(LINK_DESTINATION_NONE)
101
+ }), createElement(LinkDestination, {
102
+ isSelected: linkDestination === LINK_DESTINATION_MEDIA,
103
+ label: __('Media File'),
104
+ onPress: setLinkDestination(LINK_DESTINATION_MEDIA)
105
+ }), !!attachmentPageUrl && createElement(LinkDestination, {
106
+ isSelected: linkDestination === LINK_DESTINATION_ATTACHMENT,
107
+ label: __('Attachment Page'),
108
+ onPress: setLinkDestination(LINK_DESTINATION_ATTACHMENT)
109
+ }), createElement(LinkDestination, {
110
+ isSelected: linkDestination === LINK_DESTINATION_CUSTOM,
111
+ label: __('Custom URL'),
112
+ onPress: goToLinkPicker,
113
+ value: linkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',
114
+ valueStyle: linkDestination === LINK_DESTINATION_CUSTOM ? undefined : styles.placeholderTextColor
115
+ }, createElement(Icon, {
116
+ icon: chevronRight
117
+ }))));
118
+ }
119
+
120
+ export default ImageLinkDestinationsScreen;
121
+ //# sourceMappingURL=image-link-destinations-screen.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-settings/image-link-destinations-screen.native.js"],"names":["useNavigation","useRoute","StyleSheet","__","Icon","check","chevronRight","blockSettingsScreens","usePreferredColorSchemeStyle","styles","PanelBody","BottomSheet","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","optionIconDark","flatten","unselectedOptionIcon","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","goBack","undefined","placeholderTextColor"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { blockSettingsScreens } from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport PanelBody from '../../panel/body';\nimport BottomSheet from '../bottom-sheet';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url, imageUrl, attachmentPageUrl, linkDestination } =\n\t\troute.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"]}
@@ -81,9 +81,9 @@ function LinkSettings({
81
81
  urlValue,
82
82
  // Attributes properties
83
83
  url,
84
- label,
84
+ label = '',
85
85
  linkTarget,
86
- rel
86
+ rel = ''
87
87
  }) {
88
88
  const [urlInputValue, setUrlInputValue] = useState('');
89
89
  const [labelInputValue, setLabelInputValue] = useState('');
@@ -202,6 +202,7 @@ function LinkSettings({
202
202
  return createElement(Fragment, null, options.url && (onLinkCellPressed ? createElement(BottomSheet.LinkCell, {
203
203
  showIcon: showIcon,
204
204
  value: url,
205
+ valueMask: options.url.valueMask,
205
206
  onPress: onLinkCellPressed
206
207
  }) : createElement(TextControl, {
207
208
  icon: showIcon && link,