@wordpress/block-editor 14.3.6 → 14.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (953) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +6 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +2 -1
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/background-image-control/index.js +1 -1
  7. package/build/components/background-image-control/index.js.map +1 -1
  8. package/build/components/block-actions/index.js +1 -13
  9. package/build/components/block-actions/index.js.map +1 -1
  10. package/build/components/block-controls/slot.js.map +1 -1
  11. package/build/components/block-controls/slot.native.js.map +1 -1
  12. package/build/components/block-draggable/draggable-chip.js +1 -1
  13. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  14. package/build/components/block-inspector/index.js +56 -75
  15. package/build/components/block-inspector/index.js.map +1 -1
  16. package/build/components/block-list/block-invalid-warning.native.js +1 -1
  17. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  18. package/build/components/block-list/block-list-item.native.js.map +1 -1
  19. package/build/components/block-list/block.js +5 -16
  20. package/build/components/block-list/block.js.map +1 -1
  21. package/build/components/block-list/index.js +6 -8
  22. package/build/components/block-list/index.js.map +1 -1
  23. package/build/components/block-list/index.native.js.map +1 -1
  24. package/build/components/block-list/use-block-props/index.js +3 -8
  25. package/build/components/block-list/use-block-props/index.js.map +1 -1
  26. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  27. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  28. package/build/components/block-list/use-in-between-inserter.js +5 -3
  29. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  30. package/build/components/block-list/zoom-out-separator.js +24 -13
  31. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  32. package/build/components/block-lock/modal.js +1 -1
  33. package/build/components/block-lock/modal.js.map +1 -1
  34. package/build/components/block-mover/button.js.map +1 -1
  35. package/build/components/block-navigation/dropdown.js +2 -4
  36. package/build/components/block-navigation/dropdown.js.map +1 -1
  37. package/build/components/block-parent-selector/index.js +14 -11
  38. package/build/components/block-parent-selector/index.js.map +1 -1
  39. package/build/components/block-pattern-setup/index.js.map +1 -1
  40. package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
  41. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  42. package/build/components/block-patterns-list/index.js.map +1 -1
  43. package/build/components/block-patterns-paging/index.js +11 -13
  44. package/build/components/block-patterns-paging/index.js.map +1 -1
  45. package/build/components/block-popover/index.js +45 -2
  46. package/build/components/block-popover/index.js.map +1 -1
  47. package/build/components/block-preview/auto.js +1 -4
  48. package/build/components/block-preview/auto.js.map +1 -1
  49. package/build/components/block-preview/index.js.map +1 -1
  50. package/build/components/block-quick-navigation/index.js +2 -4
  51. package/build/components/block-quick-navigation/index.js.map +1 -1
  52. package/build/components/block-rename/modal.js +2 -2
  53. package/build/components/block-rename/modal.js.map +1 -1
  54. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  55. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  56. package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
  57. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  58. package/build/components/block-settings-menu-controls/index.js +1 -6
  59. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  60. package/build/components/block-switcher/block-transformations-menu.native.js +1 -1
  61. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  62. package/build/components/block-switcher/index.js +19 -15
  63. package/build/components/block-switcher/index.js.map +1 -1
  64. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  65. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  66. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  67. package/build/components/block-switcher/utils.js +1 -0
  68. package/build/components/block-switcher/utils.js.map +1 -1
  69. package/build/components/block-toolbar/index.js +16 -19
  70. package/build/components/block-toolbar/index.js.map +1 -1
  71. package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
  72. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  73. package/build/components/block-tools/index.js +8 -18
  74. package/build/components/block-tools/index.js.map +1 -1
  75. package/build/components/block-tools/insertion-point.js +1 -4
  76. package/build/components/block-tools/insertion-point.js.map +1 -1
  77. package/build/components/block-tools/use-show-block-tools.js +8 -7
  78. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  80. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  81. package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
  82. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  83. package/build/components/block-tools/zoom-out-popover.js +3 -2
  84. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  85. package/build/components/block-tools/zoom-out-toolbar.js +5 -32
  86. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  87. package/build/components/block-types-list/index.js.map +1 -1
  88. package/build/components/block-types-list/index.native.js.map +1 -1
  89. package/build/components/block-variation-transforms/index.js +3 -2
  90. package/build/components/block-variation-transforms/index.js.map +1 -1
  91. package/build/components/border-radius-control/index.js.map +1 -1
  92. package/build/components/border-radius-control/utils.js.map +1 -1
  93. package/build/components/button-block-appender/index.js.map +1 -1
  94. package/build/components/color-style-selector/index.js.map +1 -1
  95. package/build/components/colors/utils.js.map +1 -1
  96. package/build/components/colors/with-colors.js.map +1 -1
  97. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  98. package/build/components/date-format-picker/index.js +1 -0
  99. package/build/components/date-format-picker/index.js.map +1 -1
  100. package/build/components/duotone/utils.js.map +1 -1
  101. package/build/components/duotone-control/index.js.map +1 -1
  102. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  103. package/build/components/font-sizes/utils.js.map +1 -1
  104. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  105. package/build/components/global-styles/border-panel.js +1 -1
  106. package/build/components/global-styles/border-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +1 -1
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/dimensions-panel.js +3 -3
  110. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  111. package/build/components/global-styles/filters-panel.js.map +1 -1
  112. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  113. package/build/components/global-styles/get-global-styles-changes.js +2 -1
  114. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  115. package/build/components/global-styles/hooks.js.map +1 -1
  116. package/build/components/global-styles/typography-panel.js.map +1 -1
  117. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  118. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  119. package/build/components/global-styles/utils.js.map +1 -1
  120. package/build/components/gradients/use-gradient.js.map +1 -1
  121. package/build/components/grid/grid-item-movers.js.map +1 -1
  122. package/build/components/grid/grid-visualizer.js.map +1 -1
  123. package/build/components/iframe/index.js +44 -9
  124. package/build/components/iframe/index.js.map +1 -1
  125. package/build/components/image-editor/use-save-image.js +1 -1
  126. package/build/components/image-editor/use-save-image.js.map +1 -1
  127. package/build/components/inner-blocks/index.js +1 -9
  128. package/build/components/inner-blocks/index.js.map +1 -1
  129. package/build/components/inner-blocks/use-nested-settings-update.js +15 -8
  130. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  131. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  132. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  133. package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  134. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  135. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  136. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  137. package/build/components/inserter/block-types-tab.js +1 -1
  138. package/build/components/inserter/block-types-tab.js.map +1 -1
  139. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  140. package/build/components/inserter/category-tabs/index.js +1 -10
  141. package/build/components/inserter/category-tabs/index.js.map +1 -1
  142. package/build/components/inserter/hooks/use-block-types-state.js +24 -5
  143. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  144. package/build/components/inserter/hooks/use-insertion-point.js +22 -12
  145. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  146. package/build/components/inserter/hooks/use-patterns-state.js +24 -11
  147. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  148. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  149. package/build/components/inserter/media-tab/media-preview.js +36 -14
  150. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  151. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  152. package/build/components/inserter/media-tab/utils.js.map +1 -1
  153. package/build/components/inserter/menu.js +4 -4
  154. package/build/components/inserter/menu.js.map +1 -1
  155. package/build/components/inserter/mobile-tab-navigation.js +5 -5
  156. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  157. package/build/components/inserter/preview-panel.js.map +1 -1
  158. package/build/components/inserter/quick-inserter.js +5 -5
  159. package/build/components/inserter/quick-inserter.js.map +1 -1
  160. package/build/components/inserter/search-results.js +1 -1
  161. package/build/components/inserter/search-results.js.map +1 -1
  162. package/build/components/inserter/tabs.native.js.map +1 -1
  163. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  164. package/build/components/inspector-controls/fill.js.map +1 -1
  165. package/build/components/inspector-controls/fill.native.js.map +1 -1
  166. package/build/components/inspector-controls/slot.js.map +1 -1
  167. package/build/components/inspector-controls/slot.native.js.map +1 -1
  168. package/build/components/line-height-control/index.js.map +1 -1
  169. package/build/components/link-control/index.js +1 -2
  170. package/build/components/link-control/index.js.map +1 -1
  171. package/build/components/link-control/is-url-like.js.map +1 -1
  172. package/build/components/link-control/search-create-button.js +1 -1
  173. package/build/components/link-control/search-create-button.js.map +1 -1
  174. package/build/components/link-control/search-input.js +3 -5
  175. package/build/components/link-control/search-input.js.map +1 -1
  176. package/build/components/link-control/search-results.js +5 -15
  177. package/build/components/link-control/search-results.js.map +1 -1
  178. package/build/components/link-control/settings-drawer.js.map +1 -1
  179. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  180. package/build/components/list-view/appender.js +1 -1
  181. package/build/components/list-view/appender.js.map +1 -1
  182. package/build/components/list-view/block-contents.js +1 -25
  183. package/build/components/list-view/block-contents.js.map +1 -1
  184. package/build/components/list-view/block-select-button.js.map +1 -1
  185. package/build/components/list-view/block.js.map +1 -1
  186. package/build/components/list-view/branch.js.map +1 -1
  187. package/build/components/list-view/drop-indicator.js.map +1 -1
  188. package/build/components/list-view/index.js.map +1 -1
  189. package/build/components/list-view/use-block-selection.js +2 -2
  190. package/build/components/list-view/use-block-selection.js.map +1 -1
  191. package/build/components/list-view/utils.js +1 -1
  192. package/build/components/list-view/utils.js.map +1 -1
  193. package/build/components/media-placeholder/index.native.js +1 -1
  194. package/build/components/media-placeholder/index.native.js.map +1 -1
  195. package/build/components/media-replace-flow/index.js.map +1 -1
  196. package/build/components/multi-selection-inspector/index.js +2 -2
  197. package/build/components/multi-selection-inspector/index.js.map +1 -1
  198. package/build/components/observe-typing/index.js +1 -0
  199. package/build/components/observe-typing/index.js.map +1 -1
  200. package/build/components/recursion-provider/index.js +1 -0
  201. package/build/components/recursion-provider/index.js.map +1 -1
  202. package/build/components/responsive-block-control/index.js +3 -3
  203. package/build/components/responsive-block-control/index.js.map +1 -1
  204. package/build/components/responsive-block-control/label.js +1 -1
  205. package/build/components/responsive-block-control/label.js.map +1 -1
  206. package/build/components/rich-text/content.js.map +1 -1
  207. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  208. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  209. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  210. package/build/components/rich-text/index.js +3 -2
  211. package/build/components/rich-text/index.js.map +1 -1
  212. package/build/components/rich-text/multiline.js.map +1 -1
  213. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  214. package/build/components/rich-text/native/index.native.js.map +1 -1
  215. package/build/components/rich-text/native/use-format-types.js +1 -0
  216. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  217. package/build/components/rich-text/toolbar-button.js.map +1 -1
  218. package/build/components/rich-text/use-format-types.js +1 -0
  219. package/build/components/rich-text/use-format-types.js.map +1 -1
  220. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  221. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  222. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  223. package/build/components/spacing-sizes-control/utils.js +1 -0
  224. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  225. package/build/components/tool-selector/index.js +13 -8
  226. package/build/components/tool-selector/index.js.map +1 -1
  227. package/build/components/typewriter/index.js +1 -0
  228. package/build/components/typewriter/index.js.map +1 -1
  229. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  230. package/build/components/url-input/index.js +1 -1
  231. package/build/components/url-input/index.js.map +1 -1
  232. package/build/components/use-block-commands/index.js +0 -61
  233. package/build/components/use-block-commands/index.js.map +1 -1
  234. package/build/components/use-block-drop-zone/index.js.map +1 -1
  235. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  236. package/build/components/use-moving-animation/index.js.map +1 -1
  237. package/build/components/writing-flow/use-tab-nav.js +23 -30
  238. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  239. package/build/hooks/align.js.map +1 -1
  240. package/build/hooks/block-hooks.js +1 -1
  241. package/build/hooks/block-hooks.js.map +1 -1
  242. package/build/hooks/block-style-variation.js.map +1 -1
  243. package/build/hooks/duotone.js +4 -1
  244. package/build/hooks/duotone.js.map +1 -1
  245. package/build/hooks/font-family.js.map +1 -1
  246. package/build/hooks/gap.js.map +1 -1
  247. package/build/hooks/generated-class-name.js +1 -0
  248. package/build/hooks/generated-class-name.js.map +1 -1
  249. package/build/hooks/layout-child.js +3 -1
  250. package/build/hooks/layout-child.js.map +1 -1
  251. package/build/hooks/layout.js.map +1 -1
  252. package/build/hooks/position.js +4 -3
  253. package/build/hooks/position.js.map +1 -1
  254. package/build/hooks/spacing-visualizer.js.map +1 -1
  255. package/build/hooks/style.js.map +1 -1
  256. package/build/hooks/text-align.js.map +1 -1
  257. package/build/hooks/use-typography-props.js.map +1 -1
  258. package/build/hooks/use-zoom-out.js +24 -16
  259. package/build/hooks/use-zoom-out.js.map +1 -1
  260. package/build/layouts/constrained.js.map +1 -1
  261. package/build/layouts/flex.js.map +1 -1
  262. package/build/layouts/grid.js.map +1 -1
  263. package/build/layouts/utils.js.map +1 -1
  264. package/build/store/actions.js +18 -20
  265. package/build/store/actions.js.map +1 -1
  266. package/build/store/private-actions.js +15 -0
  267. package/build/store/private-actions.js.map +1 -1
  268. package/build/store/private-selectors.js +104 -7
  269. package/build/store/private-selectors.js.map +1 -1
  270. package/build/store/reducer.js +24 -44
  271. package/build/store/reducer.js.map +1 -1
  272. package/build/store/selectors.js +149 -71
  273. package/build/store/selectors.js.map +1 -1
  274. package/build/store/utils.js +4 -3
  275. package/build/store/utils.js.map +1 -1
  276. package/build/utils/block-bindings.js +2 -0
  277. package/build/utils/block-bindings.js.map +1 -1
  278. package/build/utils/get-font-styles-and-weights.js +1 -1
  279. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  280. package/build/utils/object.js +1 -0
  281. package/build/utils/object.js.map +1 -1
  282. package/build/utils/pasting.js.map +1 -1
  283. package/build-module/autocompleters/block.js +1 -3
  284. package/build-module/autocompleters/block.js.map +1 -1
  285. package/build-module/autocompleters/link.js +3 -4
  286. package/build-module/autocompleters/link.js.map +1 -1
  287. package/build-module/components/audio-player/index.native.js +1 -2
  288. package/build-module/components/audio-player/index.native.js.map +1 -1
  289. package/build-module/components/background-image-control/index.js +2 -3
  290. package/build-module/components/background-image-control/index.js.map +1 -1
  291. package/build-module/components/block-actions/index.js +1 -13
  292. package/build-module/components/block-actions/index.js.map +1 -1
  293. package/build-module/components/block-alignment-control/ui.js +1 -2
  294. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  295. package/build-module/components/block-breadcrumb/index.js +1 -2
  296. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  297. package/build-module/components/block-canvas/index.js +1 -2
  298. package/build-module/components/block-canvas/index.js.map +1 -1
  299. package/build-module/components/block-card/index.js +1 -2
  300. package/build-module/components/block-card/index.js.map +1 -1
  301. package/build-module/components/block-compare/block-view.js +1 -2
  302. package/build-module/components/block-compare/block-view.js.map +1 -1
  303. package/build-module/components/block-compare/index.js +1 -2
  304. package/build-module/components/block-compare/index.js.map +1 -1
  305. package/build-module/components/block-controls/fill.js +1 -3
  306. package/build-module/components/block-controls/fill.js.map +1 -1
  307. package/build-module/components/block-controls/slot.js.map +1 -1
  308. package/build-module/components/block-controls/slot.native.js.map +1 -1
  309. package/build-module/components/block-draggable/draggable-chip.js +2 -3
  310. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  311. package/build-module/components/block-draggable/draggable-chip.native.js +1 -2
  312. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  313. package/build-module/components/block-draggable/index.native.js +1 -3
  314. package/build-module/components/block-draggable/index.native.js.map +1 -1
  315. package/build-module/components/block-edit/index.js +1 -2
  316. package/build-module/components/block-edit/index.js.map +1 -1
  317. package/build-module/components/block-edit/multiple-usage-warning.js +1 -2
  318. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  319. package/build-module/components/block-inspector/index.js +57 -78
  320. package/build-module/components/block-inspector/index.js.map +1 -1
  321. package/build-module/components/block-list/block-crash-warning.js +1 -1
  322. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  323. package/build-module/components/block-list/block-crash-warning.native.js +1 -1
  324. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  325. package/build-module/components/block-list/block-invalid-warning.js +1 -3
  326. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  327. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  328. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  329. package/build-module/components/block-list/block-list-item.native.js +1 -2
  330. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  331. package/build-module/components/block-list/block-selection-button.native.js +1 -2
  332. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  333. package/build-module/components/block-list/block.js +6 -19
  334. package/build-module/components/block-list/block.js.map +1 -1
  335. package/build-module/components/block-list/block.native.js +1 -2
  336. package/build-module/components/block-list/block.native.js.map +1 -1
  337. package/build-module/components/block-list/index.js +7 -10
  338. package/build-module/components/block-list/index.js.map +1 -1
  339. package/build-module/components/block-list/index.native.js +1 -3
  340. package/build-module/components/block-list/index.native.js.map +1 -1
  341. package/build-module/components/block-list/insertion-point.native.js +1 -2
  342. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  343. package/build-module/components/block-list/use-block-props/index.js +3 -8
  344. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  345. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  346. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  347. package/build-module/components/block-list/use-in-between-inserter.js +5 -3
  348. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  349. package/build-module/components/block-list/zoom-out-separator.js +24 -13
  350. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  351. package/build-module/components/block-lock/menu-item.js +1 -3
  352. package/build-module/components/block-lock/menu-item.js.map +1 -1
  353. package/build-module/components/block-lock/modal.js +2 -3
  354. package/build-module/components/block-lock/modal.js.map +1 -1
  355. package/build-module/components/block-lock/toolbar.js +1 -3
  356. package/build-module/components/block-lock/toolbar.js.map +1 -1
  357. package/build-module/components/block-media-update-progress/index.native.js +1 -2
  358. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  359. package/build-module/components/block-mover/button.js +1 -3
  360. package/build-module/components/block-mover/button.js.map +1 -1
  361. package/build-module/components/block-mover/index.js +1 -2
  362. package/build-module/components/block-mover/index.js.map +1 -1
  363. package/build-module/components/block-mover/index.native.js +1 -2
  364. package/build-module/components/block-mover/index.native.js.map +1 -1
  365. package/build-module/components/block-navigation/dropdown.js +3 -6
  366. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  367. package/build-module/components/block-parent-selector/index.js +14 -11
  368. package/build-module/components/block-parent-selector/index.js.map +1 -1
  369. package/build-module/components/block-pattern-setup/index.js +1 -3
  370. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  371. package/build-module/components/block-pattern-setup/setup-toolbar.js +11 -22
  372. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  373. package/build-module/components/block-patterns-list/index.js +1 -3
  374. package/build-module/components/block-patterns-list/index.js.map +1 -1
  375. package/build-module/components/block-patterns-paging/index.js +12 -15
  376. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  377. package/build-module/components/block-popover/index.js +45 -2
  378. package/build-module/components/block-popover/index.js.map +1 -1
  379. package/build-module/components/block-preview/auto.js +2 -7
  380. package/build-module/components/block-preview/auto.js.map +1 -1
  381. package/build-module/components/block-preview/index.js +1 -2
  382. package/build-module/components/block-preview/index.js.map +1 -1
  383. package/build-module/components/block-quick-navigation/index.js +3 -6
  384. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  385. package/build-module/components/block-removal-warning-modal/index.js +1 -2
  386. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  387. package/build-module/components/block-rename/modal.js +3 -4
  388. package/build-module/components/block-rename/modal.js.map +1 -1
  389. package/build-module/components/block-rename/rename-control.js +1 -3
  390. package/build-module/components/block-rename/rename-control.js.map +1 -1
  391. package/build-module/components/block-settings/container.native.js +1 -3
  392. package/build-module/components/block-settings/container.native.js.map +1 -1
  393. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  394. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  395. package/build-module/components/block-settings-menu/block-settings-dropdown.js +80 -79
  396. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  397. package/build-module/components/block-settings-menu-controls/index.js +3 -9
  398. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  399. package/build-module/components/block-styles/index.js +1 -2
  400. package/build-module/components/block-styles/index.js.map +1 -1
  401. package/build-module/components/block-styles/menu-items.js +1 -2
  402. package/build-module/components/block-styles/menu-items.js.map +1 -1
  403. package/build-module/components/block-styles/preview.native.js +1 -2
  404. package/build-module/components/block-styles/preview.native.js.map +1 -1
  405. package/build-module/components/block-switcher/block-transformations-menu.js +1 -3
  406. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  407. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  408. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  409. package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
  410. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  411. package/build-module/components/block-switcher/index.js +20 -18
  412. package/build-module/components/block-switcher/index.js.map +1 -1
  413. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -2
  414. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  415. package/build-module/components/block-switcher/preview-block-popover.js +1 -2
  416. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  417. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  418. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  419. package/build-module/components/block-switcher/utils.js +1 -0
  420. package/build-module/components/block-switcher/utils.js.map +1 -1
  421. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  422. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  423. package/build-module/components/block-toolbar/index.js +17 -22
  424. package/build-module/components/block-toolbar/index.js.map +1 -1
  425. package/build-module/components/block-toolbar/index.native.js +1 -3
  426. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  427. package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
  428. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  429. package/build-module/components/block-tools/index.js +9 -20
  430. package/build-module/components/block-tools/index.js.map +1 -1
  431. package/build-module/components/block-tools/insertion-point.js +2 -6
  432. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  433. package/build-module/components/block-tools/use-show-block-tools.js +8 -7
  434. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  435. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  436. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  437. package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
  438. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  439. package/build-module/components/block-tools/zoom-out-popover.js +2 -1
  440. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  441. package/build-module/components/block-tools/zoom-out-toolbar.js +7 -35
  442. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  443. package/build-module/components/block-types-list/index.js +1 -2
  444. package/build-module/components/block-types-list/index.js.map +1 -1
  445. package/build-module/components/block-types-list/index.native.js +1 -2
  446. package/build-module/components/block-types-list/index.native.js.map +1 -1
  447. package/build-module/components/block-variation-picker/index.js +1 -2
  448. package/build-module/components/block-variation-picker/index.js.map +1 -1
  449. package/build-module/components/block-variation-picker/index.native.js +1 -2
  450. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  451. package/build-module/components/block-variation-transforms/index.js +4 -4
  452. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  453. package/build-module/components/border-radius-control/index.js +1 -3
  454. package/build-module/components/border-radius-control/index.js.map +1 -1
  455. package/build-module/components/border-radius-control/utils.js.map +1 -1
  456. package/build-module/components/button-block-appender/index.js.map +1 -1
  457. package/build-module/components/button-block-appender/index.native.js +1 -2
  458. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  459. package/build-module/components/child-layout-control/index.js +1 -3
  460. package/build-module/components/child-layout-control/index.js.map +1 -1
  461. package/build-module/components/color-style-selector/index.js.map +1 -1
  462. package/build-module/components/colors/utils.js.map +1 -1
  463. package/build-module/components/colors/with-colors.js.map +1 -1
  464. package/build-module/components/colors-gradients/control.js +1 -2
  465. package/build-module/components/colors-gradients/control.js.map +1 -1
  466. package/build-module/components/colors-gradients/dropdown.js +1 -3
  467. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  468. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -3
  469. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  470. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -3
  471. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  472. package/build-module/components/contrast-checker/index.native.js +1 -2
  473. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  474. package/build-module/components/convert-to-group-buttons/index.js +1 -3
  475. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  476. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -2
  477. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  478. package/build-module/components/date-format-picker/index.js +2 -2
  479. package/build-module/components/date-format-picker/index.js.map +1 -1
  480. package/build-module/components/default-block-appender/index.js +1 -2
  481. package/build-module/components/default-block-appender/index.js.map +1 -1
  482. package/build-module/components/dimensions-tool/index.js +1 -3
  483. package/build-module/components/dimensions-tool/index.js.map +1 -1
  484. package/build-module/components/dimensions-tool/width-height-tool.js +1 -3
  485. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  486. package/build-module/components/duotone/utils.js.map +1 -1
  487. package/build-module/components/duotone-control/index.js +1 -2
  488. package/build-module/components/duotone-control/index.js.map +1 -1
  489. package/build-module/components/editor-styles/index.js +1 -3
  490. package/build-module/components/editor-styles/index.js.map +1 -1
  491. package/build-module/components/floating-toolbar/index.native.js +1 -2
  492. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  493. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -2
  494. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  495. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  496. package/build-module/components/font-sizes/utils.js.map +1 -1
  497. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  498. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  499. package/build-module/components/global-styles/advanced-panel.js +1 -2
  500. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  501. package/build-module/components/global-styles/border-panel.js +2 -3
  502. package/build-module/components/global-styles/border-panel.js.map +1 -1
  503. package/build-module/components/global-styles/color-panel.js +2 -3
  504. package/build-module/components/global-styles/color-panel.js.map +1 -1
  505. package/build-module/components/global-styles/dimensions-panel.js +2 -3
  506. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  507. package/build-module/components/global-styles/filters-panel.js +1 -2
  508. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  509. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  510. package/build-module/components/global-styles/get-global-styles-changes.js +2 -1
  511. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  512. package/build-module/components/global-styles/hooks.js.map +1 -1
  513. package/build-module/components/global-styles/image-settings-panel.js +1 -2
  514. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  515. package/build-module/components/global-styles/shadow-panel-components.js +1 -2
  516. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  517. package/build-module/components/global-styles/typography-panel.js +1 -2
  518. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  519. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  520. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  521. package/build-module/components/global-styles/utils.js.map +1 -1
  522. package/build-module/components/gradients/use-gradient.js.map +1 -1
  523. package/build-module/components/grid/grid-item-movers.js +1 -3
  524. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  525. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  526. package/build-module/components/height-control/index.js +1 -2
  527. package/build-module/components/height-control/index.js.map +1 -1
  528. package/build-module/components/iframe/index.js +45 -12
  529. package/build-module/components/iframe/index.js.map +1 -1
  530. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -3
  531. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  532. package/build-module/components/image-editor/cropper.js +1 -3
  533. package/build-module/components/image-editor/cropper.js.map +1 -1
  534. package/build-module/components/image-editor/form-controls.js +1 -3
  535. package/build-module/components/image-editor/form-controls.js.map +1 -1
  536. package/build-module/components/image-editor/index.js +1 -2
  537. package/build-module/components/image-editor/index.js.map +1 -1
  538. package/build-module/components/image-editor/use-save-image.js +1 -1
  539. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  540. package/build-module/components/image-link-destinations/index.native.js +1 -3
  541. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  542. package/build-module/components/image-size-control/index.js +1 -3
  543. package/build-module/components/image-size-control/index.js.map +1 -1
  544. package/build-module/components/inner-blocks/index.js +1 -9
  545. package/build-module/components/inner-blocks/index.js.map +1 -1
  546. package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -9
  547. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  548. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  549. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  550. package/build-module/components/inserter/block-patterns-explorer/index.js +1 -2
  551. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  552. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -3
  553. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  554. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -5
  555. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  556. package/build-module/components/inserter/block-patterns-tab/index.js +1 -3
  557. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  558. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  559. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  560. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -3
  561. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  562. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  563. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  564. package/build-module/components/inserter/block-types-tab.js +2 -4
  565. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  566. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  567. package/build-module/components/inserter/category-tabs/index.js +3 -13
  568. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  569. package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
  570. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  571. package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
  572. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  573. package/build-module/components/inserter/hooks/use-patterns-state.js +24 -11
  574. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  575. package/build-module/components/inserter/index.native.js +1 -3
  576. package/build-module/components/inserter/index.native.js.map +1 -1
  577. package/build-module/components/inserter/media-tab/media-panel.js +1 -2
  578. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  579. package/build-module/components/inserter/media-tab/media-preview.js +37 -17
  580. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  581. package/build-module/components/inserter/media-tab/media-tab.js +1 -3
  582. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  583. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  584. package/build-module/components/inserter/menu.js +5 -7
  585. package/build-module/components/inserter/menu.js.map +1 -1
  586. package/build-module/components/inserter/menu.native.js +1 -3
  587. package/build-module/components/inserter/menu.native.js.map +1 -1
  588. package/build-module/components/inserter/mobile-tab-navigation.js +7 -8
  589. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  590. package/build-module/components/inserter/no-results.js +1 -2
  591. package/build-module/components/inserter/no-results.js.map +1 -1
  592. package/build-module/components/inserter/no-results.native.js +1 -2
  593. package/build-module/components/inserter/no-results.native.js.map +1 -1
  594. package/build-module/components/inserter/panel.js +1 -3
  595. package/build-module/components/inserter/panel.js.map +1 -1
  596. package/build-module/components/inserter/preview-panel.js +1 -2
  597. package/build-module/components/inserter/preview-panel.js.map +1 -1
  598. package/build-module/components/inserter/quick-inserter.js +6 -7
  599. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  600. package/build-module/components/inserter/search-results.js +2 -3
  601. package/build-module/components/inserter/search-results.js.map +1 -1
  602. package/build-module/components/inserter/tabs.native.js.map +1 -1
  603. package/build-module/components/inserter-button/index.native.js +1 -2
  604. package/build-module/components/inserter-button/index.native.js.map +1 -1
  605. package/build-module/components/inserter-list-item/index.js +1 -2
  606. package/build-module/components/inserter-list-item/index.js.map +1 -1
  607. package/build-module/components/inserter-listbox/index.js +1 -2
  608. package/build-module/components/inserter-listbox/index.js.map +1 -1
  609. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  610. package/build-module/components/inspector-controls/fill.js.map +1 -1
  611. package/build-module/components/inspector-controls/fill.native.js +1 -3
  612. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  613. package/build-module/components/inspector-controls/slot.js.map +1 -1
  614. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  615. package/build-module/components/inspector-controls-tabs/index.js +1 -2
  616. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  617. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -3
  618. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  619. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -3
  620. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  621. package/build-module/components/inspector-popover-header/index.js +1 -2
  622. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  623. package/build-module/components/line-height-control/index.js.map +1 -1
  624. package/build-module/components/link-control/index.js +2 -5
  625. package/build-module/components/link-control/index.js.map +1 -1
  626. package/build-module/components/link-control/is-url-like.js.map +1 -1
  627. package/build-module/components/link-control/link-preview.js +1 -3
  628. package/build-module/components/link-control/link-preview.js.map +1 -1
  629. package/build-module/components/link-control/search-create-button.js +1 -1
  630. package/build-module/components/link-control/search-create-button.js.map +1 -1
  631. package/build-module/components/link-control/search-input.js +4 -7
  632. package/build-module/components/link-control/search-input.js.map +1 -1
  633. package/build-module/components/link-control/search-results.js +6 -17
  634. package/build-module/components/link-control/search-results.js.map +1 -1
  635. package/build-module/components/link-control/settings-drawer.js +1 -3
  636. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  637. package/build-module/components/link-control/settings.js +1 -2
  638. package/build-module/components/link-control/settings.js.map +1 -1
  639. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  640. package/build-module/components/list-view/appender.js +2 -3
  641. package/build-module/components/list-view/appender.js.map +1 -1
  642. package/build-module/components/list-view/block-contents.js +2 -28
  643. package/build-module/components/list-view/block-contents.js.map +1 -1
  644. package/build-module/components/list-view/block-select-button.js +1 -2
  645. package/build-module/components/list-view/block-select-button.js.map +1 -1
  646. package/build-module/components/list-view/block.js +1 -3
  647. package/build-module/components/list-view/block.js.map +1 -1
  648. package/build-module/components/list-view/branch.js +1 -3
  649. package/build-module/components/list-view/branch.js.map +1 -1
  650. package/build-module/components/list-view/drop-indicator.js +1 -2
  651. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  652. package/build-module/components/list-view/index.js +1 -2
  653. package/build-module/components/list-view/index.js.map +1 -1
  654. package/build-module/components/list-view/use-block-selection.js +2 -2
  655. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  656. package/build-module/components/list-view/utils.js +1 -1
  657. package/build-module/components/list-view/utils.js.map +1 -1
  658. package/build-module/components/media-placeholder/index.js +1 -3
  659. package/build-module/components/media-placeholder/index.js.map +1 -1
  660. package/build-module/components/media-placeholder/index.native.js +2 -4
  661. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  662. package/build-module/components/media-replace-flow/index.js +1 -3
  663. package/build-module/components/media-replace-flow/index.js.map +1 -1
  664. package/build-module/components/media-upload/index.native.js +1 -3
  665. package/build-module/components/media-upload/index.native.js.map +1 -1
  666. package/build-module/components/media-upload-progress/index.native.js +1 -2
  667. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  668. package/build-module/components/multi-selection-inspector/index.js +3 -4
  669. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  670. package/build-module/components/observe-typing/index.js +1 -0
  671. package/build-module/components/observe-typing/index.js.map +1 -1
  672. package/build-module/components/provider/index.js +1 -2
  673. package/build-module/components/provider/index.js.map +1 -1
  674. package/build-module/components/publish-date-time-picker/index.js +1 -2
  675. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  676. package/build-module/components/recursion-provider/index.js +1 -0
  677. package/build-module/components/recursion-provider/index.js.map +1 -1
  678. package/build-module/components/responsive-block-control/index.js +4 -5
  679. package/build-module/components/responsive-block-control/index.js.map +1 -1
  680. package/build-module/components/responsive-block-control/label.js +2 -4
  681. package/build-module/components/responsive-block-control/label.js.map +1 -1
  682. package/build-module/components/rich-text/content.js.map +1 -1
  683. package/build-module/components/rich-text/event-listeners/before-input-rules.js +2 -2
  684. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  685. package/build-module/components/rich-text/event-listeners/delete.js +2 -2
  686. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  687. package/build-module/components/rich-text/event-listeners/enter.js +2 -2
  688. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  689. package/build-module/components/rich-text/event-listeners/firefox-compat.js +2 -2
  690. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -1
  691. package/build-module/components/rich-text/event-listeners/input-events.js +2 -2
  692. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -1
  693. package/build-module/components/rich-text/event-listeners/input-rules.js +2 -2
  694. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  695. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +2 -2
  696. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -1
  697. package/build-module/components/rich-text/event-listeners/paste-handler.js +2 -2
  698. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  699. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +2 -2
  700. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -1
  701. package/build-module/components/rich-text/event-listeners/shortcuts.js +2 -2
  702. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -1
  703. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +2 -2
  704. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -1
  705. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  706. package/build-module/components/rich-text/format-toolbar/index.js +1 -3
  707. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  708. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
  709. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  710. package/build-module/components/rich-text/index.js +4 -5
  711. package/build-module/components/rich-text/index.js.map +1 -1
  712. package/build-module/components/rich-text/index.native.js +1 -3
  713. package/build-module/components/rich-text/index.native.js.map +1 -1
  714. package/build-module/components/rich-text/multiline.js.map +1 -1
  715. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  716. package/build-module/components/rich-text/native/index.js +1 -1
  717. package/build-module/components/rich-text/native/index.js.map +1 -1
  718. package/build-module/components/rich-text/native/index.native.js +1 -3
  719. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  720. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -3
  721. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  722. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  723. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  724. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  725. package/build-module/components/rich-text/use-format-types.js +1 -0
  726. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  727. package/build-module/components/spacing-sizes-control/index.js +1 -2
  728. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  729. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -2
  730. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  731. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -2
  732. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  733. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -3
  734. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  735. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  736. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  737. package/build-module/components/tabbed-sidebar/index.js +1 -2
  738. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  739. package/build-module/components/tool-selector/index.js +14 -11
  740. package/build-module/components/tool-selector/index.js.map +1 -1
  741. package/build-module/components/typewriter/index.js +1 -0
  742. package/build-module/components/typewriter/index.js.map +1 -1
  743. package/build-module/components/unsupported-block-details/index.native.js +1 -2
  744. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  745. package/build-module/components/url-input/button.js +1 -2
  746. package/build-module/components/url-input/button.js.map +1 -1
  747. package/build-module/components/url-input/index.js +2 -4
  748. package/build-module/components/url-input/index.js.map +1 -1
  749. package/build-module/components/url-popover/image-url-input-ui.js +1 -3
  750. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  751. package/build-module/components/url-popover/index.js +1 -2
  752. package/build-module/components/url-popover/index.js.map +1 -1
  753. package/build-module/components/url-popover/link-editor.js +1 -2
  754. package/build-module/components/url-popover/link-editor.js.map +1 -1
  755. package/build-module/components/url-popover/link-viewer.js +1 -2
  756. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  757. package/build-module/components/use-block-commands/index.js +1 -62
  758. package/build-module/components/use-block-commands/index.js.map +1 -1
  759. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  760. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  761. package/build-module/components/use-moving-animation/index.js.map +1 -1
  762. package/build-module/components/video-player/index.native.js +1 -2
  763. package/build-module/components/video-player/index.native.js.map +1 -1
  764. package/build-module/components/warning/index.js +1 -2
  765. package/build-module/components/warning/index.js.map +1 -1
  766. package/build-module/components/warning/index.native.js +1 -2
  767. package/build-module/components/warning/index.native.js.map +1 -1
  768. package/build-module/components/writing-flow/index.js +1 -3
  769. package/build-module/components/writing-flow/index.js.map +1 -1
  770. package/build-module/components/writing-flow/use-tab-nav.js +24 -31
  771. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  772. package/build-module/hooks/align.js.map +1 -1
  773. package/build-module/hooks/anchor.js +1 -3
  774. package/build-module/hooks/anchor.js.map +1 -1
  775. package/build-module/hooks/block-bindings.js +1 -3
  776. package/build-module/hooks/block-bindings.js.map +1 -1
  777. package/build-module/hooks/block-hooks.js +2 -3
  778. package/build-module/hooks/block-hooks.js.map +1 -1
  779. package/build-module/hooks/block-style-variation.js +1 -2
  780. package/build-module/hooks/block-style-variation.js.map +1 -1
  781. package/build-module/hooks/dimensions.js +1 -3
  782. package/build-module/hooks/dimensions.js.map +1 -1
  783. package/build-module/hooks/duotone.js +5 -4
  784. package/build-module/hooks/duotone.js.map +1 -1
  785. package/build-module/hooks/font-family.js.map +1 -1
  786. package/build-module/hooks/gap.js.map +1 -1
  787. package/build-module/hooks/generated-class-name.js +1 -0
  788. package/build-module/hooks/generated-class-name.js.map +1 -1
  789. package/build-module/hooks/grid-visualizer.js +1 -3
  790. package/build-module/hooks/grid-visualizer.js.map +1 -1
  791. package/build-module/hooks/layout-child.js +5 -4
  792. package/build-module/hooks/layout-child.js.map +1 -1
  793. package/build-module/hooks/layout.js +1 -3
  794. package/build-module/hooks/layout.js.map +1 -1
  795. package/build-module/hooks/position.js +5 -2
  796. package/build-module/hooks/position.js.map +1 -1
  797. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  798. package/build-module/hooks/style.js +1 -3
  799. package/build-module/hooks/style.js.map +1 -1
  800. package/build-module/hooks/text-align.js.map +1 -1
  801. package/build-module/hooks/typography.native.js +1 -2
  802. package/build-module/hooks/typography.native.js.map +1 -1
  803. package/build-module/hooks/use-bindings-attributes.js +1 -2
  804. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  805. package/build-module/hooks/use-typography-props.js.map +1 -1
  806. package/build-module/hooks/use-zoom-out.js +24 -17
  807. package/build-module/hooks/use-zoom-out.js.map +1 -1
  808. package/build-module/layouts/constrained.js +1 -3
  809. package/build-module/layouts/constrained.js.map +1 -1
  810. package/build-module/layouts/flex.js +1 -3
  811. package/build-module/layouts/flex.js.map +1 -1
  812. package/build-module/layouts/grid.js +1 -3
  813. package/build-module/layouts/grid.js.map +1 -1
  814. package/build-module/layouts/utils.js.map +1 -1
  815. package/build-module/store/actions.js +17 -18
  816. package/build-module/store/actions.js.map +1 -1
  817. package/build-module/store/private-actions.js +14 -0
  818. package/build-module/store/private-actions.js.map +1 -1
  819. package/build-module/store/private-selectors.js +98 -7
  820. package/build-module/store/private-selectors.js.map +1 -1
  821. package/build-module/store/reducer.js +22 -41
  822. package/build-module/store/reducer.js.map +1 -1
  823. package/build-module/store/selectors.js +150 -70
  824. package/build-module/store/selectors.js.map +1 -1
  825. package/build-module/store/utils.js +3 -2
  826. package/build-module/store/utils.js.map +1 -1
  827. package/build-module/utils/block-bindings.js +2 -0
  828. package/build-module/utils/block-bindings.js.map +1 -1
  829. package/build-module/utils/get-font-styles-and-weights.js +1 -1
  830. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  831. package/build-module/utils/get-px-from-css-unit.js +1 -1
  832. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  833. package/build-module/utils/object.js +1 -0
  834. package/build-module/utils/object.js.map +1 -1
  835. package/build-module/utils/pasting.js.map +1 -1
  836. package/build-style/content-rtl.css +22 -73
  837. package/build-style/content.css +22 -73
  838. package/build-style/default-editor-styles-rtl.css +10 -1
  839. package/build-style/default-editor-styles.css +10 -1
  840. package/build-style/style-rtl.css +48 -165
  841. package/build-style/style.css +48 -165
  842. package/package.json +33 -33
  843. package/src/autocompleters/link.js +2 -1
  844. package/src/components/block-actions/index.js +1 -13
  845. package/src/components/block-canvas/style.scss +0 -1
  846. package/src/components/block-draggable/style.scss +2 -2
  847. package/src/components/block-inspector/index.js +79 -95
  848. package/src/components/block-list/block.js +7 -25
  849. package/src/components/block-list/content.scss +4 -63
  850. package/src/components/block-list/index.js +21 -29
  851. package/src/components/block-list/use-block-props/index.js +2 -8
  852. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +25 -4
  853. package/src/components/block-list/use-in-between-inserter.js +5 -2
  854. package/src/components/block-list/zoom-out-separator.js +32 -14
  855. package/src/components/block-navigation/dropdown.js +1 -2
  856. package/src/components/block-parent-selector/index.js +13 -10
  857. package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
  858. package/src/components/block-patterns-paging/index.js +8 -7
  859. package/src/components/block-patterns-paging/style.scss +10 -27
  860. package/src/components/block-popover/index.js +64 -2
  861. package/src/components/block-preview/auto.js +1 -4
  862. package/src/components/block-quick-navigation/index.js +1 -2
  863. package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
  864. package/src/components/block-settings-menu-controls/index.js +0 -15
  865. package/src/components/block-switcher/index.js +37 -30
  866. package/src/components/block-toolbar/index.js +22 -34
  867. package/src/components/block-toolbar/style.scss +10 -1
  868. package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
  869. package/src/components/block-tools/index.js +7 -27
  870. package/src/components/block-tools/insertion-point.js +1 -4
  871. package/src/components/block-tools/style.scss +0 -90
  872. package/src/components/block-tools/use-show-block-tools.js +10 -13
  873. package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
  874. package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
  875. package/src/components/block-tools/zoom-out-popover.js +2 -1
  876. package/src/components/block-tools/zoom-out-toolbar.js +4 -36
  877. package/src/components/font-family/README.md +5 -1
  878. package/src/components/global-styles/border-panel.js +1 -1
  879. package/src/components/global-styles/dimensions-panel.js +1 -1
  880. package/src/components/iframe/content.scss +20 -24
  881. package/src/components/iframe/index.js +56 -12
  882. package/src/components/iframe/style.scss +6 -5
  883. package/src/components/inner-blocks/index.js +1 -16
  884. package/src/components/inner-blocks/use-nested-settings-update.js +16 -10
  885. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  886. package/src/components/inserter/block-types-tab.js +1 -1
  887. package/src/components/inserter/category-tabs/index.js +1 -11
  888. package/src/components/inserter/hooks/use-block-types-state.js +34 -14
  889. package/src/components/inserter/hooks/use-insertion-point.js +35 -13
  890. package/src/components/inserter/hooks/use-patterns-state.js +46 -9
  891. package/src/components/inserter/media-tab/media-preview.js +38 -12
  892. package/src/components/inserter/menu.js +4 -4
  893. package/src/components/inserter/mobile-tab-navigation.js +10 -13
  894. package/src/components/inserter/quick-inserter.js +6 -5
  895. package/src/components/inserter/style.scss +1 -69
  896. package/src/components/inspector-controls-tabs/style.scss +2 -6
  897. package/src/components/link-control/index.js +0 -1
  898. package/src/components/link-control/search-input.js +4 -5
  899. package/src/components/link-control/search-results.js +2 -13
  900. package/src/components/link-control/test/index.js +84 -46
  901. package/src/components/list-view/block-contents.js +1 -28
  902. package/src/components/list-view/style.scss +0 -14
  903. package/src/components/media-replace-flow/test/index.js +1 -1
  904. package/src/components/responsive-block-control/style.scss +0 -1
  905. package/src/components/rich-text/style.scss +5 -0
  906. package/src/components/tool-selector/index.js +15 -7
  907. package/src/components/tool-selector/style.scss +5 -0
  908. package/src/components/use-block-commands/index.js +0 -58
  909. package/src/components/writing-flow/use-tab-nav.js +32 -40
  910. package/src/content.scss +0 -1
  911. package/src/hooks/duotone.js +4 -1
  912. package/src/hooks/layout-child.js +4 -1
  913. package/src/hooks/position.js +4 -1
  914. package/src/hooks/use-zoom-out.js +36 -20
  915. package/src/store/actions.js +17 -15
  916. package/src/store/private-actions.js +14 -0
  917. package/src/store/private-selectors.js +120 -16
  918. package/src/store/reducer.js +22 -45
  919. package/src/store/selectors.js +218 -118
  920. package/src/store/test/private-actions.js +15 -0
  921. package/src/store/test/private-selectors.js +41 -1
  922. package/src/store/test/reducer.js +40 -4
  923. package/src/store/test/selectors.js +195 -21
  924. package/src/store/utils.js +4 -2
  925. package/src/style.scss +1 -0
  926. package/src/utils/block-bindings.js +2 -0
  927. package/build/components/block-controls/use-has-block-controls.js +0 -43
  928. package/build/components/block-controls/use-has-block-controls.js.map +0 -1
  929. package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
  930. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  931. package/build/components/block-tools/block-selection-button.js +0 -259
  932. package/build/components/block-tools/block-selection-button.js.map +0 -1
  933. package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
  934. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  935. package/build/components/inserter/tabs.js +0 -78
  936. package/build/components/inserter/tabs.js.map +0 -1
  937. package/build-module/components/block-controls/use-has-block-controls.js +0 -34
  938. package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
  939. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
  940. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  941. package/build-module/components/block-tools/block-selection-button.js +0 -254
  942. package/build-module/components/block-tools/block-selection-button.js.map +0 -1
  943. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
  944. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  945. package/build-module/components/inserter/tabs.js +0 -72
  946. package/build-module/components/inserter/tabs.js.map +0 -1
  947. package/src/components/block-controls/use-has-block-controls.js +0 -35
  948. package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
  949. package/src/components/block-tools/block-selection-button.js +0 -302
  950. package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
  951. package/src/components/inner-blocks/content.scss +0 -13
  952. package/src/components/inserter/tabs.js +0 -78
  953. package/src/components/inserter/test/block-types-tab.native.js +0 -67
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_components","_element","_blockSettings","_jsxRuntime","PanelColorGradientSettings","settings","title","children","navigation","useNavigation","mappedSettings","useMemo","map","onColorChange","onColorCleared","colorValue","onGradientChange","gradientValue","label","jsx","ColorControl","onPress","navigate","blockSettingsScreens","color","jsxs","Fragment","PanelBody"],"sources":["@wordpress/block-editor/src/components/colors-gradients/panel-color-gradient-settings.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { ColorControl, PanelBody } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { blockSettingsScreens } from '../block-settings';\n\nexport default function PanelColorGradientSettings( {\n\tsettings,\n\ttitle,\n\tchildren,\n} ) {\n\tconst navigation = useNavigation();\n\n\tconst mappedSettings = useMemo( () => {\n\t\treturn settings.map(\n\t\t\t( {\n\t\t\t\tonColorChange,\n\t\t\t\tonColorCleared,\n\t\t\t\tcolorValue,\n\t\t\t\tonGradientChange,\n\t\t\t\tgradientValue,\n\t\t\t\tlabel,\n\t\t\t} ) => (\n\t\t\t\t<ColorControl\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tnavigation.navigate( blockSettingsScreens.color, {\n\t\t\t\t\t\t\tonColorChange,\n\t\t\t\t\t\t\tcolorValue: gradientValue || colorValue,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonGradientChange,\n\t\t\t\t\t\t\tonColorCleared,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tkey={ `color-setting-${ label }` }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tcolor={ gradientValue || colorValue }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t}, [ settings ] );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ title }>{ mappedSettings }</PanelBody>\n\t\t\t<PanelBody>{ children }</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,cAAA,GAAAH,OAAA;AAAyD,IAAAI,WAAA,GAAAJ,OAAA;AAdzD;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASK,0BAA0BA,CAAE;EACnDC,QAAQ;EACRC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAElC,MAAMC,cAAc,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACrC,OAAON,QAAQ,CAACO,GAAG,CAClB,CAAE;MACDC,aAAa;MACbC,cAAc;MACdC,UAAU;MACVC,gBAAgB;MAChBC,aAAa;MACbC;IACD,CAAC,kBACA,IAAAf,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAAoB,YAAY;MACZC,OAAO,EAAGA,CAAA,KAAM;QACfb,UAAU,CAACc,QAAQ,CAAEC,mCAAoB,CAACC,KAAK,EAAE;UAChDX,aAAa;UACbE,UAAU,EAAEE,aAAa,IAAIF,UAAU;UACvCE,aAAa;UACbD,gBAAgB;UAChBF,cAAc;UACdI;QACD,CAAE,CAAC;MACJ,CAAG;MAEHA,KAAK,EAAGA,KAAO;MACfM,KAAK,EAAGP,aAAa,IAAIF;IAAY,GAF9B,iBAAiBG,KAAO,EAG/B,CAEH,CAAC;EACF,CAAC,EAAE,CAAEb,QAAQ,CAAG,CAAC;EAEjB,oBACC,IAAAF,WAAA,CAAAsB,IAAA,EAAAtB,WAAA,CAAAuB,QAAA;IAAAnB,QAAA,gBACC,IAAAJ,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAA2B,SAAS;MAACrB,KAAK,EAAGA,KAAO;MAAAC,QAAA,EAAGG;IAAc,CAAa,CAAC,eACzD,IAAAP,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAA2B,SAAS;MAAApB,QAAA,EAAGA;IAAQ,CAAa,CAAC;EAAA,CAClC,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_components","_element","_blockSettings","_jsxRuntime","PanelColorGradientSettings","settings","title","children","navigation","useNavigation","mappedSettings","useMemo","map","onColorChange","onColorCleared","colorValue","onGradientChange","gradientValue","label","jsx","ColorControl","onPress","navigate","blockSettingsScreens","color","jsxs","Fragment","PanelBody"],"sources":["@wordpress/block-editor/src/components/colors-gradients/panel-color-gradient-settings.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { ColorControl, PanelBody } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { blockSettingsScreens } from '../block-settings';\n\nexport default function PanelColorGradientSettings( {\n\tsettings,\n\ttitle,\n\tchildren,\n} ) {\n\tconst navigation = useNavigation();\n\n\tconst mappedSettings = useMemo( () => {\n\t\treturn settings.map(\n\t\t\t( {\n\t\t\t\tonColorChange,\n\t\t\t\tonColorCleared,\n\t\t\t\tcolorValue,\n\t\t\t\tonGradientChange,\n\t\t\t\tgradientValue,\n\t\t\t\tlabel,\n\t\t\t} ) => (\n\t\t\t\t<ColorControl\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tnavigation.navigate( blockSettingsScreens.color, {\n\t\t\t\t\t\t\tonColorChange,\n\t\t\t\t\t\t\tcolorValue: gradientValue || colorValue,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonGradientChange,\n\t\t\t\t\t\t\tonColorCleared,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tkey={ `color-setting-${ label }` }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tcolor={ gradientValue || colorValue }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t}, [ settings ] );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ title }>{ mappedSettings }</PanelBody>\n\t\t\t<PanelBody>{ children }</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,cAAA,GAAAH,OAAA;AAAyD,IAAAI,WAAA,GAAAJ,OAAA;AAdzD;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASK,0BAA0BA,CAAE;EACnDC,QAAQ;EACRC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAElC,MAAMC,cAAc,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACrC,OAAON,QAAQ,CAACO,GAAG,CAClB,CAAE;MACDC,aAAa;MACbC,cAAc;MACdC,UAAU;MACVC,gBAAgB;MAChBC,aAAa;MACbC;IACD,CAAC,kBACA,IAAAf,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAAoB,YAAY;MACZC,OAAO,EAAGA,CAAA,KAAM;QACfb,UAAU,CAACc,QAAQ,CAAEC,mCAAoB,CAACC,KAAK,EAAE;UAChDX,aAAa;UACbE,UAAU,EAAEE,aAAa,IAAIF,UAAU;UACvCE,aAAa;UACbD,gBAAgB;UAChBF,cAAc;UACdI;QACD,CAAE,CAAC;MACJ,CAAG;MAEHA,KAAK,EAAGA,KAAO;MACfM,KAAK,EAAGP,aAAa,IAAIF;IAAY,GAF/B,iBAAkBG,KAAK,EAG7B,CAEH,CAAC;EACF,CAAC,EAAE,CAAEb,QAAQ,CAAG,CAAC;EAEjB,oBACC,IAAAF,WAAA,CAAAsB,IAAA,EAAAtB,WAAA,CAAAuB,QAAA;IAAAnB,QAAA,gBACC,IAAAJ,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAA2B,SAAS;MAACrB,KAAK,EAAGA,KAAO;MAAAC,QAAA,EAAGG;IAAc,CAAa,CAAC,eACzD,IAAAP,WAAA,CAAAgB,GAAA,EAACnB,WAAA,CAAA2B,SAAS;MAAApB,QAAA,EAAGA;IAAQ,CAAa,CAAC;EAAA,CAClC,CAAC;AAEL","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_date","_element","_components","_jsxRuntime","exampleDate","Date","setDate","setMonth","getMonth","DateFormatPicker","format","defaultFormat","onChange","jsxs","className","children","jsx","VisuallyHidden","as","__","ToggleControl","__nextHasNoMarginBottom","label","help","dateI18n","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","_x","suggestedOptions","map","suggestedFormat","index","key","name","humanTimeDiff","customOption","hint","isCustom","setIsCustom","useState","some","option","__experimentalVStack","CustomSelectControl","__next40pxDefaultSize","options","value","find","selectedItem","TextControl","hideLabelFromVision","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n, humanTimeDiff } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n\tCustomSelectControl,\n} from '@wordpress/components';\n\n// So that we illustrate the different formats in the dropdown properly, show a date that is\n// somwhat recent, has a day greater than 12, and a month with more than three letters.\nconst exampleDate = new Date();\nexampleDate.setDate( 20 );\nexampleDate.setMonth( exampleDate.getMonth() - 3 );\nif ( exampleDate.getMonth() === 4 ) {\n\t// May has three letters, so use March.\n\texampleDate.setMonth( 3 );\n}\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\texampleDate\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = [\n\t\t...suggestedFormats.map( ( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, exampleDate ),\n\t\t\tformat: suggestedFormat,\n\t\t} ) ),\n\t\t{\n\t\t\tkey: 'human-diff',\n\t\t\tname: humanTimeDiff( exampleDate ),\n\t\t\tformat: 'human-diff',\n\t\t},\n\t];\n\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\thint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() =>\n\t\t\t!! format &&\n\t\t\t! suggestedOptions.some( ( option ) => option.format === format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAO+B,IAAAI,WAAA,GAAAJ,OAAA;AAb/B;AACA;AACA;;AAaA;AACA;AACA,MAAMK,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC;AAC9BD,WAAW,CAACE,OAAO,CAAE,EAAG,CAAC;AACzBF,WAAW,CAACG,QAAQ,CAAEH,WAAW,CAACI,QAAQ,CAAC,CAAC,GAAG,CAAE,CAAC;AAClD,IAAKJ,WAAW,CAACI,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAG;EACnC;EACAJ,WAAW,CAACG,QAAQ,CAAE,CAAE,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,gBAAgBA,CAAE;EACzCC,MAAM;EACNC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,oBACC,IAAAT,WAAA,CAAAU,IAAA;IAAUC,SAAS,EAAC,iCAAiC;IAAAC,QAAA,gBACpD,IAAAZ,WAAA,CAAAa,GAAA,EAACd,WAAA,CAAAe,cAAc;MAACC,EAAE,EAAC,QAAQ;MAAAH,QAAA,EAAG,IAAAI,QAAE,EAAE,aAAc;IAAC,CAAkB,CAAC,eACpE,IAAAhB,WAAA,CAAAa,GAAA,EAACd,WAAA,CAAAkB,aAAa;MACbC,uBAAuB;MACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,gBAAiB,CAAG;MAChCI,IAAI,EAAI,GAAG,IAAAJ,QAAE,EAAE,UAAW,CAAG,KAAK,IAAAK,cAAQ,EACzCb,aAAa,EACbP,WACD,CAAG,EAAG;MACNqB,OAAO,EAAG,CAAEf,MAAQ;MACpBE,QAAQ,EAAKa,OAAO,IACnBb,QAAQ,CAAEa,OAAO,GAAG,IAAI,GAAGd,aAAc;IACzC,CACD,CAAC,EACAD,MAAM,iBACP,IAAAP,WAAA,CAAAa,GAAA,EAACU,kBAAkB;MAAChB,MAAM,EAAGA,MAAQ;MAACE,QAAQ,EAAGA;IAAU,CAAE,CAC7D;EAAA,CACQ,CAAC;AAEb;AAEA,SAASc,kBAAkBA,CAAE;EAAEhB,MAAM;EAAEE;AAAS,CAAC,EAAG;EAAA,IAAAe,qBAAA;EACnD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG,CACxB,GAAG,IAAIC,GAAG,CAAE,CACX;EACA,OAAO,EACP;EACA,IAAAC,QAAE,EAAE,OAAO,EAAE,mBAAoB,CAAC,EAClC;EACA,IAAAA,QAAE,EAAE,aAAa,EAAE,6BAA8B,CAAC,EAClD;EACA,IAAAA,QAAE,EAAE,QAAQ,EAAE,oBAAqB,CAAC,EACpC;EACA,IAAAA,QAAE,EAAE,cAAc,EAAE,8BAA+B,CAAC,EACpD;EACA,IAAAA,QAAE,EAAE,QAAQ,EAAE,kBAAmB,CAAC,EAClC;EACA,IAAAA,QAAE,EAAE,KAAK,EAAE,oCAAqC,CAAC,CAChD,CAAC,CACH;EAED,MAAMC,gBAAgB,GAAG,CACxB,GAAGH,gBAAgB,CAACI,GAAG,CAAE,CAAEC,eAAe,EAAEC,KAAK,MAAQ;IACxDC,GAAG,EAAG,aAAaD,KAAO,EAAC;IAC3BE,IAAI,EAAE,IAAAZ,cAAQ,EAAES,eAAe,EAAE7B,WAAY,CAAC;IAC9CM,MAAM,EAAEuB;EACT,CAAC,CAAG,CAAC,EACL;IACCE,GAAG,EAAE,YAAY;IACjBC,IAAI,EAAE,IAAAC,mBAAa,EAAEjC,WAAY,CAAC;IAClCM,MAAM,EAAE;EACT,CAAC,CACD;EAED,MAAM4B,YAAY,GAAG;IACpBH,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,IAAAjB,QAAE,EAAE,QAAS,CAAC;IACpBL,SAAS,EACR,8EAA8E;IAC/EyB,IAAI,EAAE,IAAApB,QAAE,EAAE,4BAA6B;EACxC,CAAC;EAED,MAAM,CAAEqB,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAC,iBAAQ,EACzC,MACC,CAAC,CAAEhC,MAAM,IACT,CAAEqB,gBAAgB,CAACY,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAAClC,MAAM,KAAKA,MAAO,CAClE,CAAC;EAED,oBACC,IAAAP,WAAA,CAAAU,IAAA,EAACX,WAAA,CAAA2C,oBAAM;IAAA9B,QAAA,gBACN,IAAAZ,WAAA,CAAAa,GAAA,EAACd,WAAA,CAAA4C,mBAAmB;MACnBC,qBAAqB;MACrBzB,KAAK,EAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAG;MACjC6B,OAAO,EAAG,CAAE,GAAGjB,gBAAgB,EAAEO,YAAY,CAAI;MACjDW,KAAK,EACJT,QAAQ,GACLF,YAAY,IAAAX,qBAAA,GACZI,gBAAgB,CAACmB,IAAI,CACnBN,MAAM,IAAMA,MAAM,CAAClC,MAAM,KAAKA,MAChC,CAAC,cAAAiB,qBAAA,cAAAA,qBAAA,GAAIW,YACR;MACD1B,QAAQ,EAAGA,CAAE;QAAEuC;MAAa,CAAC,KAAM;QAClC,IAAKA,YAAY,KAAKb,YAAY,EAAG;UACpCG,WAAW,CAAE,IAAK,CAAC;QACpB,CAAC,MAAM;UACNA,WAAW,CAAE,KAAM,CAAC;UACpB7B,QAAQ,CAAEuC,YAAY,CAACzC,MAAO,CAAC;QAChC;MACD;IAAG,CACH,CAAC,EACA8B,QAAQ,iBACT,IAAArC,WAAA,CAAAa,GAAA,EAACd,WAAA,CAAAkD,WAAW;MACXL,qBAAqB;MACrB1B,uBAAuB;MACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,eAAgB,CAAG;MAC/BkC,mBAAmB;MACnB9B,IAAI,EAAG,IAAA+B,iCAAwB,EAC9B,IAAAnC,QAAE,EACD,kDACD,CAAC,EACD;QACCoC,IAAI,eACH,IAAApD,WAAA,CAAAa,GAAA,EAACd,WAAA,CAAAsD,YAAY;UACZC,IAAI,EAAG,IAAAtC,QAAE,EACR,6EACD;QAAG,CACH;MAEH,CACD,CAAG;MACH8B,KAAK,EAAGvC,MAAQ;MAChBE,QAAQ,EAAKqC,KAAK,IAAMrC,QAAQ,CAAEqC,KAAM;IAAG,CAC3C,CACD;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_date","_element","_components","_jsxRuntime","exampleDate","Date","setDate","setMonth","getMonth","DateFormatPicker","format","defaultFormat","onChange","jsxs","className","children","jsx","VisuallyHidden","as","__","ToggleControl","__nextHasNoMarginBottom","label","help","dateI18n","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","_x","suggestedOptions","map","suggestedFormat","index","key","name","humanTimeDiff","customOption","hint","isCustom","setIsCustom","useState","some","option","__experimentalVStack","CustomSelectControl","__next40pxDefaultSize","options","value","find","selectedItem","TextControl","hideLabelFromVision","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n, humanTimeDiff } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n\tCustomSelectControl,\n} from '@wordpress/components';\n\n// So that we illustrate the different formats in the dropdown properly, show a date that is\n// somwhat recent, has a day greater than 12, and a month with more than three letters.\nconst exampleDate = new Date();\nexampleDate.setDate( 20 );\nexampleDate.setMonth( exampleDate.getMonth() - 3 );\nif ( exampleDate.getMonth() === 4 ) {\n\t// May has three letters, so use March.\n\texampleDate.setMonth( 3 );\n}\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\texampleDate\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = [\n\t\t...suggestedFormats.map( ( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, exampleDate ),\n\t\t\tformat: suggestedFormat,\n\t\t} ) ),\n\t\t{\n\t\t\tkey: 'human-diff',\n\t\t\tname: humanTimeDiff( exampleDate ),\n\t\t\tformat: 'human-diff',\n\t\t},\n\t];\n\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\thint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() =>\n\t\t\t!! format &&\n\t\t\t! suggestedOptions.some( ( option ) => option.format === format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_colord","require","getValuesFromColors","colors","values","r","g","b","a","forEach","color","rgbColor","colord","toRgb","push","getDuotoneUnsetStylesheet","selector","getDuotoneStylesheet","id","getDuotoneFilter","join"],"sources":["@wordpress/block-editor/src/components/duotone/utils.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord } from 'colord';\n\n/**\n * Convert a list of colors to an object of R, G, and B values.\n *\n * @param {string[]} colors Array of RBG color strings.\n *\n * @return {Object} R, G, and B values.\n */\nexport function getValuesFromColors( colors = [] ) {\n\tconst values = { r: [], g: [], b: [], a: [] };\n\n\tcolors.forEach( ( color ) => {\n\t\tconst rgbColor = colord( color ).toRgb();\n\t\tvalues.r.push( rgbColor.r / 255 );\n\t\tvalues.g.push( rgbColor.g / 255 );\n\t\tvalues.b.push( rgbColor.b / 255 );\n\t\tvalues.a.push( rgbColor.a );\n\t} );\n\n\treturn values;\n}\n\n/**\n * Stylesheet for disabling a global styles duotone filter.\n *\n * @param {string} selector Selector to disable the filter for.\n *\n * @return {string} Filter none style.\n */\nexport function getDuotoneUnsetStylesheet( selector ) {\n\treturn `${ selector }{filter:none}`;\n}\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {string} selector Selector to apply the filter to.\n * @param {string} id Unique id for this duotone filter.\n *\n * @return {string} Duotone filter style.\n */\nexport function getDuotoneStylesheet( selector, id ) {\n\treturn `${ selector }{filter:url(#${ id })}`;\n}\n\n/**\n * The SVG part of the duotone filter.\n *\n * @param {string} id Unique id for this duotone filter.\n * @param {string[]} colors Color strings from dark to light.\n *\n * @return {string} Duotone SVG.\n */\nexport function getDuotoneFilter( id, colors ) {\n\tconst values = getValuesFromColors( colors );\n\treturn `\n<svg\n\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\tviewBox=\"0 0 0 0\"\n\twidth=\"0\"\n\theight=\"0\"\n\tfocusable=\"false\"\n\trole=\"none\"\n\taria-hidden=\"true\"\n\tstyle=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\"\n>\n\t<defs>\n\t\t<filter id=\"${ id }\">\n\t\t\t<!--\n\t\t\t\tUse sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\tUse perceptual brightness to convert to grayscale.\n\t\t\t-->\n\t\t\t<feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \"></feColorMatrix>\n\t\t\t<!-- Use sRGB instead of linearRGB to be consistent with how CSS gradients work. -->\n\t\t\t<feComponentTransfer color-interpolation-filters=\"sRGB\">\n\t\t\t\t<feFuncR type=\"table\" tableValues=\"${ values.r.join( ' ' ) }\"></feFuncR>\n\t\t\t\t<feFuncG type=\"table\" tableValues=\"${ values.g.join( ' ' ) }\"></feFuncG>\n\t\t\t\t<feFuncB type=\"table\" tableValues=\"${ values.b.join( ' ' ) }\"></feFuncB>\n\t\t\t\t<feFuncA type=\"table\" tableValues=\"${ values.a.join( ' ' ) }\"></feFuncA>\n\t\t\t</feComponentTransfer>\n\t\t\t<!-- Re-mask the image with the original transparency since the feColorMatrix above loses that information. -->\n\t\t\t<feComposite in2=\"SourceGraphic\" operator=\"in\"></feComposite>\n\t\t</filter>\n\t</defs>\n</svg>`;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAEC,MAAM,GAAG,EAAE,EAAG;EAClD,MAAMC,MAAM,GAAG;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE;EAAG,CAAC;EAE7CL,MAAM,CAACM,OAAO,CAAIC,KAAK,IAAM;IAC5B,MAAMC,QAAQ,GAAG,IAAAC,cAAM,EAAEF,KAAM,CAAC,CAACG,KAAK,CAAC,CAAC;IACxCT,MAAM,CAACC,CAAC,CAACS,IAAI,CAAEH,QAAQ,CAACN,CAAC,GAAG,GAAI,CAAC;IACjCD,MAAM,CAACE,CAAC,CAACQ,IAAI,CAAEH,QAAQ,CAACL,CAAC,GAAG,GAAI,CAAC;IACjCF,MAAM,CAACG,CAAC,CAACO,IAAI,CAAEH,QAAQ,CAACJ,CAAC,GAAG,GAAI,CAAC;IACjCH,MAAM,CAACI,CAAC,CAACM,IAAI,CAAEH,QAAQ,CAACH,CAAE,CAAC;EAC5B,CAAE,CAAC;EAEH,OAAOJ,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,yBAAyBA,CAAEC,QAAQ,EAAG;EACrD,OAAQ,GAAGA,QAAU,eAAc;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAED,QAAQ,EAAEE,EAAE,EAAG;EACpD,OAAQ,GAAGF,QAAU,gBAAgBE,EAAI,IAAG;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAED,EAAE,EAAEf,MAAM,EAAG;EAC9C,MAAMC,MAAM,GAAGF,mBAAmB,CAAEC,MAAO,CAAC;EAC5C,OAAQ;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAiBe,EAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAA0Cd,MAAM,CAACC,CAAC,CAACe,IAAI,CAAE,GAAI,CAAG;AAChE,yCAA0ChB,MAAM,CAACE,CAAC,CAACc,IAAI,CAAE,GAAI,CAAG;AAChE,yCAA0ChB,MAAM,CAACG,CAAC,CAACa,IAAI,CAAE,GAAI,CAAG;AAChE,yCAA0ChB,MAAM,CAACI,CAAC,CAACY,IAAI,CAAE,GAAI,CAAG;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP","ignoreList":[]}
1
+ {"version":3,"names":["_colord","require","getValuesFromColors","colors","values","r","g","b","a","forEach","color","rgbColor","colord","toRgb","push","getDuotoneUnsetStylesheet","selector","getDuotoneStylesheet","id","getDuotoneFilter","join"],"sources":["@wordpress/block-editor/src/components/duotone/utils.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord } from 'colord';\n\n/**\n * Convert a list of colors to an object of R, G, and B values.\n *\n * @param {string[]} colors Array of RBG color strings.\n *\n * @return {Object} R, G, and B values.\n */\nexport function getValuesFromColors( colors = [] ) {\n\tconst values = { r: [], g: [], b: [], a: [] };\n\n\tcolors.forEach( ( color ) => {\n\t\tconst rgbColor = colord( color ).toRgb();\n\t\tvalues.r.push( rgbColor.r / 255 );\n\t\tvalues.g.push( rgbColor.g / 255 );\n\t\tvalues.b.push( rgbColor.b / 255 );\n\t\tvalues.a.push( rgbColor.a );\n\t} );\n\n\treturn values;\n}\n\n/**\n * Stylesheet for disabling a global styles duotone filter.\n *\n * @param {string} selector Selector to disable the filter for.\n *\n * @return {string} Filter none style.\n */\nexport function getDuotoneUnsetStylesheet( selector ) {\n\treturn `${ selector }{filter:none}`;\n}\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {string} selector Selector to apply the filter to.\n * @param {string} id Unique id for this duotone filter.\n *\n * @return {string} Duotone filter style.\n */\nexport function getDuotoneStylesheet( selector, id ) {\n\treturn `${ selector }{filter:url(#${ id })}`;\n}\n\n/**\n * The SVG part of the duotone filter.\n *\n * @param {string} id Unique id for this duotone filter.\n * @param {string[]} colors Color strings from dark to light.\n *\n * @return {string} Duotone SVG.\n */\nexport function getDuotoneFilter( id, colors ) {\n\tconst values = getValuesFromColors( colors );\n\treturn `\n<svg\n\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\tviewBox=\"0 0 0 0\"\n\twidth=\"0\"\n\theight=\"0\"\n\tfocusable=\"false\"\n\trole=\"none\"\n\taria-hidden=\"true\"\n\tstyle=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\"\n>\n\t<defs>\n\t\t<filter id=\"${ id }\">\n\t\t\t<!--\n\t\t\t\tUse sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\tUse perceptual brightness to convert to grayscale.\n\t\t\t-->\n\t\t\t<feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \"></feColorMatrix>\n\t\t\t<!-- Use sRGB instead of linearRGB to be consistent with how CSS gradients work. -->\n\t\t\t<feComponentTransfer color-interpolation-filters=\"sRGB\">\n\t\t\t\t<feFuncR type=\"table\" tableValues=\"${ values.r.join( ' ' ) }\"></feFuncR>\n\t\t\t\t<feFuncG type=\"table\" tableValues=\"${ values.g.join( ' ' ) }\"></feFuncG>\n\t\t\t\t<feFuncB type=\"table\" tableValues=\"${ values.b.join( ' ' ) }\"></feFuncB>\n\t\t\t\t<feFuncA type=\"table\" tableValues=\"${ values.a.join( ' ' ) }\"></feFuncA>\n\t\t\t</feComponentTransfer>\n\t\t\t<!-- Re-mask the image with the original transparency since the feColorMatrix above loses that information. -->\n\t\t\t<feComposite in2=\"SourceGraphic\" operator=\"in\"></feComposite>\n\t\t</filter>\n\t</defs>\n</svg>`;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAEC,MAAM,GAAG,EAAE,EAAG;EAClD,MAAMC,MAAM,GAAG;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE;EAAG,CAAC;EAE7CL,MAAM,CAACM,OAAO,CAAIC,KAAK,IAAM;IAC5B,MAAMC,QAAQ,GAAG,IAAAC,cAAM,EAAEF,KAAM,CAAC,CAACG,KAAK,CAAC,CAAC;IACxCT,MAAM,CAACC,CAAC,CAACS,IAAI,CAAEH,QAAQ,CAACN,CAAC,GAAG,GAAI,CAAC;IACjCD,MAAM,CAACE,CAAC,CAACQ,IAAI,CAAEH,QAAQ,CAACL,CAAC,GAAG,GAAI,CAAC;IACjCF,MAAM,CAACG,CAAC,CAACO,IAAI,CAAEH,QAAQ,CAACJ,CAAC,GAAG,GAAI,CAAC;IACjCH,MAAM,CAACI,CAAC,CAACM,IAAI,CAAEH,QAAQ,CAACH,CAAE,CAAC;EAC5B,CAAE,CAAC;EAEH,OAAOJ,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,yBAAyBA,CAAEC,QAAQ,EAAG;EACrD,OAAO,GAAIA,QAAQ,eAAgB;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAED,QAAQ,EAAEE,EAAE,EAAG;EACpD,OAAO,GAAIF,QAAQ,gBAAkBE,EAAE,IAAK;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAED,EAAE,EAAEf,MAAM,EAAG;EAC9C,MAAMC,MAAM,GAAGF,mBAAmB,CAAEC,MAAO,CAAC;EAC5C,OAAO;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAiBe,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAA0Cd,MAAM,CAACC,CAAC,CAACe,IAAI,CAAE,GAAI,CAAC;AAC9D,yCAA0ChB,MAAM,CAACE,CAAC,CAACc,IAAI,CAAE,GAAI,CAAC;AAC9D,yCAA0ChB,MAAM,CAACG,CAAC,CAACa,IAAI,CAAE,GAAI,CAAC;AAC9D,yCAA0ChB,MAAM,CAACI,CAAC,CAACY,IAAI,CAAE,GAAI,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_keycodes","_icons","_compose","_jsxRuntime","DuotoneControl","id","idProp","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","toolbarIcon","jsx","ColorIndicator","className","DuotoneSwatch","values","Icon","icon","filter","actionLabel","__","useInstanceId","descriptionId","Dropdown","popoverProps","headerTitle","renderToggle","isOpen","onToggle","openOnArrowDown","event","keyCode","DOWN","preventDefault","ToolbarButton","showTooltip","onClick","onKeyDown","label","renderContent","jsxs","MenuGroup","children","DuotonePicker","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/duotone-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tColorIndicator,\n\tDropdown,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tMenuGroup,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport { Icon, filter } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\nfunction DuotoneControl( {\n\tid: idProp,\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tlet toolbarIcon;\n\tif ( value === 'unset' ) {\n\t\ttoolbarIcon = (\n\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t);\n\t} else if ( value ) {\n\t\ttoolbarIcon = <DuotoneSwatch values={ value } />;\n\t} else {\n\t\ttoolbarIcon = <Icon icon={ filter } />;\n\t}\n\n\tconst actionLabel = __( 'Apply duotone filter' );\n\tconst id = useInstanceId( DuotoneControl, 'duotone-control', idProp );\n\tconst descriptionId = `${ id }__description`;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ {\n\t\t\t\tclassName: 'block-editor-duotone-control__popover',\n\t\t\t\theaderTitle: __( 'Duotone' ),\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ actionLabel }\n\t\t\t\t\t\ticon={ toolbarIcon }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\taria-label={ actionLabel }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\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</MenuGroup>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default DuotoneControl;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAdnD;AACA;AACA;;AAcA,SAASM,cAAcA,CAAE;EACxBC,EAAE,EAAEC,MAAM;EACVC,YAAY;EACZC,cAAc;EACdC,mBAAmB;EACnBC,oBAAoB;EACpBC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,IAAIC,WAAW;EACf,IAAKF,KAAK,KAAK,OAAO,EAAG;IACxBE,WAAW,gBACV,IAAAV,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAkB,cAAc;MAACC,SAAS,EAAC;IAA+C,CAAE,CAC3E;EACF,CAAC,MAAM,IAAKL,KAAK,EAAG;IACnBE,WAAW,gBAAG,IAAAV,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAoB,aAAa;MAACC,MAAM,EAAGP;IAAO,CAAE,CAAC;EACjD,CAAC,MAAM;IACNE,WAAW,gBAAG,IAAAV,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAAkB,IAAI;MAACC,IAAI,EAAGC;IAAQ,CAAE,CAAC;EACvC;EAEA,MAAMC,WAAW,GAAG,IAAAC,QAAE,EAAE,sBAAuB,CAAC;EAChD,MAAMlB,EAAE,GAAG,IAAAmB,sBAAa,EAAEpB,cAAc,EAAE,iBAAiB,EAAEE,MAAO,CAAC;EACrE,MAAMmB,aAAa,GAAI,GAAGpB,EAAI,eAAc;EAE5C,oBACC,IAAAF,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAA6B,QAAQ;IACRC,YAAY,EAAG;MACdX,SAAS,EAAE,uCAAuC;MAClDY,WAAW,EAAE,IAAAL,QAAE,EAAE,SAAU;IAC5B,CAAG;IACHM,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,KAAM;MAC1C,MAAMC,eAAe,GAAKC,KAAK,IAAM;QACpC,IAAK,CAAEH,MAAM,IAAIG,KAAK,CAACC,OAAO,KAAKC,cAAI,EAAG;UACzCF,KAAK,CAACG,cAAc,CAAC,CAAC;UACtBL,QAAQ,CAAC,CAAC;QACX;MACD,CAAC;MACD,oBACC,IAAA5B,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAwC,aAAa;QACbC,WAAW;QACXC,OAAO,EAAGR,QAAU;QACpB,iBAAc,MAAM;QACpB,iBAAgBD,MAAQ;QACxBU,SAAS,EAAGR,eAAiB;QAC7BS,KAAK,EAAGnB,WAAa;QACrBF,IAAI,EAAGP;MAAa,CACpB,CAAC;IAEJ,CAAG;IACH6B,aAAa,EAAGA,CAAA,kBACf,IAAAvC,WAAA,CAAAwC,IAAA,EAAC9C,WAAA,CAAA+C,SAAS;MAACH,KAAK,EAAG,IAAAlB,QAAE,EAAE,SAAU,CAAG;MAAAsB,QAAA,gBACnC,IAAA1C,WAAA,CAAAW,GAAA;QAAA+B,QAAA,EACG,IAAAtB,QAAE,EACH,oEACD;MAAC,CACC,CAAC,eACJ,IAAApB,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAiD,aAAa;QACb,cAAaxB,WAAa;QAC1B,oBAAmBG,aAAe;QAClClB,YAAY,EAAGA,YAAc;QAC7BC,cAAc,EAAGA,cAAgB;QACjCC,mBAAmB,EAAGA,mBAAqB;QAC3CC,oBAAoB,EAAGA,oBAAsB;QAC7CC,KAAK,EAAGA,KAAO;QACfC,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACQ;EACT,CACH,CAAC;AAEJ;AAAC,IAAAmC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7C,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_keycodes","_icons","_compose","_jsxRuntime","DuotoneControl","id","idProp","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","toolbarIcon","jsx","ColorIndicator","className","DuotoneSwatch","values","Icon","icon","filter","actionLabel","__","useInstanceId","descriptionId","Dropdown","popoverProps","headerTitle","renderToggle","isOpen","onToggle","openOnArrowDown","event","keyCode","DOWN","preventDefault","ToolbarButton","showTooltip","onClick","onKeyDown","label","renderContent","jsxs","MenuGroup","children","DuotonePicker","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/duotone-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tColorIndicator,\n\tDropdown,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tMenuGroup,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport { Icon, filter } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\nfunction DuotoneControl( {\n\tid: idProp,\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tlet toolbarIcon;\n\tif ( value === 'unset' ) {\n\t\ttoolbarIcon = (\n\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t);\n\t} else if ( value ) {\n\t\ttoolbarIcon = <DuotoneSwatch values={ value } />;\n\t} else {\n\t\ttoolbarIcon = <Icon icon={ filter } />;\n\t}\n\n\tconst actionLabel = __( 'Apply duotone filter' );\n\tconst id = useInstanceId( DuotoneControl, 'duotone-control', idProp );\n\tconst descriptionId = `${ id }__description`;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ {\n\t\t\t\tclassName: 'block-editor-duotone-control__popover',\n\t\t\t\theaderTitle: __( 'Duotone' ),\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ actionLabel }\n\t\t\t\t\t\ticon={ toolbarIcon }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\taria-label={ actionLabel }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\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</MenuGroup>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default DuotoneControl;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAdnD;AACA;AACA;;AAcA,SAASM,cAAcA,CAAE;EACxBC,EAAE,EAAEC,MAAM;EACVC,YAAY;EACZC,cAAc;EACdC,mBAAmB;EACnBC,oBAAoB;EACpBC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,IAAIC,WAAW;EACf,IAAKF,KAAK,KAAK,OAAO,EAAG;IACxBE,WAAW,gBACV,IAAAV,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAkB,cAAc;MAACC,SAAS,EAAC;IAA+C,CAAE,CAC3E;EACF,CAAC,MAAM,IAAKL,KAAK,EAAG;IACnBE,WAAW,gBAAG,IAAAV,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAoB,aAAa;MAACC,MAAM,EAAGP;IAAO,CAAE,CAAC;EACjD,CAAC,MAAM;IACNE,WAAW,gBAAG,IAAAV,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAAkB,IAAI;MAACC,IAAI,EAAGC;IAAQ,CAAE,CAAC;EACvC;EAEA,MAAMC,WAAW,GAAG,IAAAC,QAAE,EAAE,sBAAuB,CAAC;EAChD,MAAMlB,EAAE,GAAG,IAAAmB,sBAAa,EAAEpB,cAAc,EAAE,iBAAiB,EAAEE,MAAO,CAAC;EACrE,MAAMmB,aAAa,GAAG,GAAIpB,EAAE,eAAgB;EAE5C,oBACC,IAAAF,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAA6B,QAAQ;IACRC,YAAY,EAAG;MACdX,SAAS,EAAE,uCAAuC;MAClDY,WAAW,EAAE,IAAAL,QAAE,EAAE,SAAU;IAC5B,CAAG;IACHM,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,KAAM;MAC1C,MAAMC,eAAe,GAAKC,KAAK,IAAM;QACpC,IAAK,CAAEH,MAAM,IAAIG,KAAK,CAACC,OAAO,KAAKC,cAAI,EAAG;UACzCF,KAAK,CAACG,cAAc,CAAC,CAAC;UACtBL,QAAQ,CAAC,CAAC;QACX;MACD,CAAC;MACD,oBACC,IAAA5B,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAwC,aAAa;QACbC,WAAW;QACXC,OAAO,EAAGR,QAAU;QACpB,iBAAc,MAAM;QACpB,iBAAgBD,MAAQ;QACxBU,SAAS,EAAGR,eAAiB;QAC7BS,KAAK,EAAGnB,WAAa;QACrBF,IAAI,EAAGP;MAAa,CACpB,CAAC;IAEJ,CAAG;IACH6B,aAAa,EAAGA,CAAA,kBACf,IAAAvC,WAAA,CAAAwC,IAAA,EAAC9C,WAAA,CAAA+C,SAAS;MAACH,KAAK,EAAG,IAAAlB,QAAE,EAAE,SAAU,CAAG;MAAAsB,QAAA,gBACnC,IAAA1C,WAAA,CAAAW,GAAA;QAAA+B,QAAA,EACG,IAAAtB,QAAE,EACH,oEACD;MAAC,CACC,CAAC,eACJ,IAAApB,WAAA,CAAAW,GAAA,EAACjB,WAAA,CAAAiD,aAAa;QACb,cAAaxB,WAAa;QAC1B,oBAAmBG,aAAe;QAClClB,YAAY,EAAGA,YAAc;QAC7BC,cAAc,EAAGA,cAAgB;QACjCC,mBAAmB,EAAGA,mBAAqB;QAC3CC,oBAAoB,EAAGA,oBAAsB;QAC7CC,KAAK,EAAGA,KAAO;QACfC,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACQ;EACT,CACH,CAAC;AAEJ;AAAC,IAAAmC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7C,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewportWidth","maximumViewportWidth","scaleFactor","minimumFontSizeLimit","getTypographyValueAndUnit","fontSizeParsed","unit","minimumFontSizeLimitParsed","coerceTo","value","fontSizeValueInPx","minimumFontSizeFactor","Math","min","max","log2","calculatedMinimumFontSize","roundToPrecision","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewportWidthParsed","minimumViewportWidthParsed","linearDenominator","minViewportWidthOffsetValue","viewportWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","pow","Number","round","undefined"],"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maximum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down using a logarithmic scale.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewportWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewportWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeLimit,\n} ) {\n\t// Validate incoming settings and set defaults.\n\tminimumFontSizeLimit = !! getTypographyValueAndUnit( minimumFontSizeLimit )\n\t\t? minimumFontSizeLimit\n\t\t: DEFAULT_MINIMUM_FONT_SIZE_LIMIT;\n\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\t// Don't enforce minimum font size if a font size has explicitly set a min and max value.\n\t\tif (\n\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t! minimumFontSize &&\n\t\t\t! maximumFontSize\n\t\t) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than $minimum_font_size_limit,\n\t\t\t * do not calculate a fluid value.\n\t\t\t */\n\t\t\tif ( fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// If no fluid max font size is available use the incoming value.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t}\n\n\t\t/*\n\t\t * If no minimumFontSize is provided, create one using\n\t\t * the given font size multiplied by the min font size scale factor.\n\t\t */\n\t\tif ( ! minimumFontSize ) {\n\t\t\tconst fontSizeValueInPx =\n\t\t\t\tfontSizeParsed.unit === 'px'\n\t\t\t\t\t? fontSizeParsed.value\n\t\t\t\t\t: fontSizeParsed.value * 16;\n\n\t\t\t/*\n\t\t\t * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum,\n\t\t\t * that is, how quickly the size factor reaches 0 given increasing font size values.\n\t\t\t * For a - b * log2(), lower values of b will make the curve move towards the minimum faster.\n\t\t\t * The scale factor is constrained between min and max values.\n\t\t\t */\n\t\t\tconst minimumFontSizeFactor = Math.min(\n\t\t\t\tMath.max(\n\t\t\t\t\t1 - 0.075 * Math.log2( fontSizeValueInPx ),\n\t\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN\n\t\t\t\t),\n\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX\n\t\t\t);\n\n\t\t\t// Calculates the minimum font size.\n\t\t\tconst calculatedMinimumFontSize = roundToPrecision(\n\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\t// Only use calculated min font size if it's > $minimum_font_size_limit value.\n\t\t\tif (\n\t\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t\tcalculatedMinimumFontSize < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSize = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tminimumFontSize = `${ calculatedMinimumFontSize }${ fontSizeParsed.unit }`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed = getTypographyValueAndUnit( minimumFontSize );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit( minimumFontSize, {\n\t\tcoerceTo: 'rem',\n\t} );\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewportWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewportWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minimumViewportWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewportWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewportWidthParsed ||\n\t\t! minimumViewportWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Calculates the linear factor denominator. If it's 0, we cannot calculate a fluid value.\n\tconst linearDenominator =\n\t\tmaximumViewportWidthParsed.value - minimumViewportWidthParsed.value;\n\tif ( ! linearDenominator ) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewportWidthOffsetValue = roundToPrecision(\n\t\tminimumViewportWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewportWidthOffset =\n\t\troundToPrecision( minViewportWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\tlinearDenominator );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewportWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSize }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN","DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewportWidth","maximumViewportWidth","scaleFactor","minimumFontSizeLimit","getTypographyValueAndUnit","fontSizeParsed","unit","minimumFontSizeLimitParsed","coerceTo","value","fontSizeValueInPx","minimumFontSizeFactor","Math","min","max","log2","calculatedMinimumFontSize","roundToPrecision","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewportWidthParsed","minimumViewportWidthParsed","linearDenominator","minViewportWidthOffsetValue","viewportWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","pow","Number","round","undefined"],"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maximum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down using a logarithmic scale.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewportWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewportWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeLimit,\n} ) {\n\t// Validate incoming settings and set defaults.\n\tminimumFontSizeLimit = !! getTypographyValueAndUnit( minimumFontSizeLimit )\n\t\t? minimumFontSizeLimit\n\t\t: DEFAULT_MINIMUM_FONT_SIZE_LIMIT;\n\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\t// Don't enforce minimum font size if a font size has explicitly set a min and max value.\n\t\tif (\n\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t! minimumFontSize &&\n\t\t\t! maximumFontSize\n\t\t) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than $minimum_font_size_limit,\n\t\t\t * do not calculate a fluid value.\n\t\t\t */\n\t\t\tif ( fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// If no fluid max font size is available use the incoming value.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t}\n\n\t\t/*\n\t\t * If no minimumFontSize is provided, create one using\n\t\t * the given font size multiplied by the min font size scale factor.\n\t\t */\n\t\tif ( ! minimumFontSize ) {\n\t\t\tconst fontSizeValueInPx =\n\t\t\t\tfontSizeParsed.unit === 'px'\n\t\t\t\t\t? fontSizeParsed.value\n\t\t\t\t\t: fontSizeParsed.value * 16;\n\n\t\t\t/*\n\t\t\t * The scale factor is a multiplier that affects how quickly the curve will move towards the minimum,\n\t\t\t * that is, how quickly the size factor reaches 0 given increasing font size values.\n\t\t\t * For a - b * log2(), lower values of b will make the curve move towards the minimum faster.\n\t\t\t * The scale factor is constrained between min and max values.\n\t\t\t */\n\t\t\tconst minimumFontSizeFactor = Math.min(\n\t\t\t\tMath.max(\n\t\t\t\t\t1 - 0.075 * Math.log2( fontSizeValueInPx ),\n\t\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN\n\t\t\t\t),\n\t\t\t\tDEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX\n\t\t\t);\n\n\t\t\t// Calculates the minimum font size.\n\t\t\tconst calculatedMinimumFontSize = roundToPrecision(\n\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\t// Only use calculated min font size if it's > $minimum_font_size_limit value.\n\t\t\tif (\n\t\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t\tcalculatedMinimumFontSize < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSize = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tminimumFontSize = `${ calculatedMinimumFontSize }${ fontSizeParsed.unit }`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed = getTypographyValueAndUnit( minimumFontSize );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit( minimumFontSize, {\n\t\tcoerceTo: 'rem',\n\t} );\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewportWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewportWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minimumViewportWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewportWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewportWidthParsed ||\n\t\t! minimumViewportWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Calculates the linear factor denominator. If it's 0, we cannot calculate a fluid value.\n\tconst linearDenominator =\n\t\tmaximumViewportWidthParsed.value - minimumViewportWidthParsed.value;\n\tif ( ! linearDenominator ) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewportWidthOffsetValue = roundToPrecision(\n\t\tminimumViewportWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewportWidthOffset =\n\t\troundToPrecision( minViewportWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\tlinearDenominator );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewportWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSize }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_lockUnlock","kebabCase","unlock","componentsPrivateApis","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","exports","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAM;EAAEE;AAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAAGA,CAC1BC,SAAS,EACTC,iBAAiB,EACjBC,uBAAuB,KACnB;EACJ,IAAKD,iBAAiB,EAAG;IACxB,MAAME,cAAc,GAAGH,SAAS,EAAEI,IAAI,CACrC,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAKJ,iBAC1B,CAAC;IACD,IAAKE,cAAc,EAAG;MACrB,OAAOA,cAAc;IACtB;EACD;EACA,OAAO;IACNG,IAAI,EAAEJ;EACP,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAK,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAQO,SAASS,wBAAwBA,CAAER,SAAS,EAAES,KAAK,EAAG;EAC5D,MAAMN,cAAc,GAAGH,SAAS,EAAEI,IAAI,CAAE,CAAE;IAAEE;EAAK,CAAC,KAAMA,IAAI,KAAKG,KAAM,CAAC;EACxE,IAAKN,cAAc,EAAG;IACrB,OAAOA,cAAc;EACtB;EAEA,OAAO;IACNG,IAAI,EAAEG;EACP,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAEC,YAAY,EAAG;EAChD,IAAK,CAAEA,YAAY,EAAG;IACrB;EACD;EAEA,OAAQ,OAAOf,SAAS,CAAEe,YAAa,CAAG,YAAW;AACtD","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_lockUnlock","kebabCase","unlock","componentsPrivateApis","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","exports","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAM;EAAEE;AAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAAGA,CAC1BC,SAAS,EACTC,iBAAiB,EACjBC,uBAAuB,KACnB;EACJ,IAAKD,iBAAiB,EAAG;IACxB,MAAME,cAAc,GAAGH,SAAS,EAAEI,IAAI,CACrC,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAKJ,iBAC1B,CAAC;IACD,IAAKE,cAAc,EAAG;MACrB,OAAOA,cAAc;IACtB;EACD;EACA,OAAO;IACNG,IAAI,EAAEJ;EACP,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAK,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAQO,SAASS,wBAAwBA,CAAER,SAAS,EAAES,KAAK,EAAG;EAC5D,MAAMN,cAAc,GAAGH,SAAS,EAAEI,IAAI,CAAE,CAAE;IAAEE;EAAK,CAAC,KAAMA,IAAI,KAAKG,KAAM,CAAC;EACxE,IAAKN,cAAc,EAAG;IACrB,OAAOA,cAAc;EACtB;EAEA,OAAO;IACNG,IAAI,EAAEG;EACP,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAEC,YAAY,EAAG;EAChD,IAAK,CAAEA,YAAY,EAAG;IACrB;EACD;EAEA,OAAO,OAAQf,SAAS,CAAEe,YAAa,CAAC,YAAa;AACtD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_element","_utils","_useSettings","_jsxRuntime","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","_default","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","createHigherOrderComponent","compose","WrappedComponent","props","fontSizes","useSettings","jsx","Component","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","getFontSize","class","getFontSizeClass","render","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport { useSettings } from '../use-settings';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes || DEFAULT_FONT_SIZES }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\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\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\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\treturn newStateAccumulator;\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\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\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] ),\n\t\t'withFontSizes'\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_compose","require","_element","_utils","_useSettings","_jsxRuntime","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","_default","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","createHigherOrderComponent","compose","WrappedComponent","props","fontSizes","useSettings","jsx","Component","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","getFontSize","class","getFontSizeClass","render","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport { useSettings } from '../use-settings';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes || DEFAULT_FONT_SIZES }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\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\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\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\treturn newStateAccumulator;\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\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\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] ),\n\t\t'withFontSizes'\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -221,7 +221,7 @@ function BorderPanel({
221
221
  onDeselect: () => resetBorder(),
222
222
  isShownByDefault: showBorderByDefault,
223
223
  panelId: panelId,
224
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalBorderBoxControl, {
224
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BorderBoxControl, {
225
225
  colors: colors,
226
226
  enableAlpha: true,
227
227
  enableStyle: showBorderStyle,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_object","_border","_shadowPanelComponents","_jsxRuntime","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_ref","_ref2","_shadowPresets$custom","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","mergedShadowPresets","custom","theme","default","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","jsxs","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_object","_border","_shadowPanelComponents","_jsxRuntime","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_ref","_ref2","_shadowPresets$custom","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","mergedShadowPresets","custom","theme","default","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","jsxs","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","BorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -190,7 +190,7 @@ function ColorPanelDropdown({
190
190
  'is-open': isOpen
191
191
  }),
192
192
  'aria-expanded': isOpen,
193
- 'aria-label': (0, _i18n.sprintf)( /* translators: %s is the type of color property, e.g., "background" */
193
+ 'aria-label': (0, _i18n.sprintf)(/* translators: %s is the type of color property, e.g., "background" */
194
194
  (0, _i18n.__)('Color %s styles'), label)
195
195
  };
196
196
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {