@wordpress/block-editor 12.16.0 → 12.16.1-next.79a6196f.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 (650) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +3 -6
  3. package/build/components/block-canvas/index.js +0 -2
  4. package/build/components/block-canvas/index.js.map +1 -1
  5. package/build/components/block-card/index.js +1 -1
  6. package/build/components/block-card/index.js.map +1 -1
  7. package/build/components/block-draggable/draggable-chip.js +6 -1
  8. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  9. package/build/components/block-draggable/index.js +76 -6
  10. package/build/components/block-draggable/index.js.map +1 -1
  11. package/build/components/block-draggable/index.native.js +0 -6
  12. package/build/components/block-draggable/index.native.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  15. package/build/components/block-editing-mode/index.js +2 -3
  16. package/build/components/block-editing-mode/index.js.map +1 -1
  17. package/build/components/block-inspector/index.js +1 -1
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  20. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  21. package/build/components/block-list/block.js +245 -102
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/block.native.js +46 -20
  24. package/build/components/block-list/block.native.js.map +1 -1
  25. package/build/components/block-list/index.native.js +3 -5
  26. package/build/components/block-list/index.native.js.map +1 -1
  27. package/build/components/block-list/private-block-context.js +14 -0
  28. package/build/components/block-list/private-block-context.js.map +1 -0
  29. package/build/components/block-list/use-block-props/index.js +33 -96
  30. package/build/components/block-list/use-block-props/index.js.map +1 -1
  31. package/build/components/block-list/use-in-between-inserter.js +3 -2
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  33. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  34. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  35. package/build/components/block-lock/toolbar.js +21 -27
  36. package/build/components/block-lock/toolbar.js.map +1 -1
  37. package/build/components/block-mover/index.js +2 -1
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-patterns-list/index.js +4 -4
  40. package/build/components/block-patterns-list/index.js.map +1 -1
  41. package/build/components/block-switcher/index.js +4 -4
  42. package/build/components/block-switcher/index.js.map +1 -1
  43. package/build/components/block-toolbar/index.js +1 -2
  44. package/build/components/block-toolbar/index.js.map +1 -1
  45. package/build/components/block-tools/block-toolbar-popover.js +0 -2
  46. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  47. package/build/components/block-variation-transforms/index.js +29 -2
  48. package/build/components/block-variation-transforms/index.js.map +1 -1
  49. package/build/components/border-radius-control/linked-button.js +1 -1
  50. package/build/components/border-radius-control/linked-button.js.map +1 -1
  51. package/build/components/colors/utils.js +10 -2
  52. package/build/components/colors/utils.js.map +1 -1
  53. package/build/components/colors/with-colors.js +6 -2
  54. package/build/components/colors/with-colors.js.map +1 -1
  55. package/build/components/font-sizes/utils.js +10 -2
  56. package/build/components/font-sizes/utils.js.map +1 -1
  57. package/build/components/global-styles/border-panel.js +2 -1
  58. package/build/components/global-styles/border-panel.js.map +1 -1
  59. package/build/components/global-styles/color-panel.js +2 -1
  60. package/build/components/global-styles/color-panel.js.map +1 -1
  61. package/build/components/global-styles/dimensions-panel.js +4 -3
  62. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  63. package/build/components/global-styles/effects-panel.js +2 -1
  64. package/build/components/global-styles/effects-panel.js.map +1 -1
  65. package/build/components/global-styles/filters-panel.js +1 -4
  66. package/build/components/global-styles/filters-panel.js.map +1 -1
  67. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  68. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  69. package/build/components/global-styles/hooks.js +3 -2
  70. package/build/components/global-styles/hooks.js.map +1 -1
  71. package/build/components/global-styles/image-settings-panel.js +7 -1
  72. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  73. package/build/components/global-styles/index.js +7 -0
  74. package/build/components/global-styles/index.js.map +1 -1
  75. package/build/components/global-styles/typography-panel.js +33 -15
  76. package/build/components/global-styles/typography-panel.js.map +1 -1
  77. package/build/components/global-styles/use-global-styles-output.js +22 -8
  78. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  79. package/build/components/global-styles/utils.js +8 -1
  80. package/build/components/global-styles/utils.js.map +1 -1
  81. package/build/components/height-control/index.js +6 -2
  82. package/build/components/height-control/index.js.map +1 -1
  83. package/build/components/image-size-control/index.js +2 -2
  84. package/build/components/image-size-control/index.js.map +1 -1
  85. package/build/components/index.native.js +6 -5
  86. package/build/components/index.native.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +61 -22
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inner-blocks/index.native.js +18 -4
  90. package/build/components/inner-blocks/index.native.js.map +1 -1
  91. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  92. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  93. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  94. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  95. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  97. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  98. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  99. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  100. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  101. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  102. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  103. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  104. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  105. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  106. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  107. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  109. package/build/components/inserter/index.js +1 -2
  110. package/build/components/inserter/index.js.map +1 -1
  111. package/build/components/inserter/library.js +3 -7
  112. package/build/components/inserter/library.js.map +1 -1
  113. package/build/components/inserter/menu.js +14 -28
  114. package/build/components/inserter/menu.js.map +1 -1
  115. package/build/components/inserter/tabs.js +21 -21
  116. package/build/components/inserter/tabs.js.map +1 -1
  117. package/build/components/inserter-draggable-blocks/index.js +1 -1
  118. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  119. package/build/components/inserter-list-item/index.js +2 -4
  120. package/build/components/inserter-list-item/index.js.map +1 -1
  121. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  122. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  123. package/build/components/inspector-controls-tabs/index.js +34 -23
  124. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  125. package/build/components/list-view/block-select-button.js +4 -0
  126. package/build/components/list-view/block-select-button.js.map +1 -1
  127. package/build/components/list-view/block.js +57 -3
  128. package/build/components/list-view/block.js.map +1 -1
  129. package/build/components/media-upload-progress/constants.js +19 -0
  130. package/build/components/media-upload-progress/constants.js.map +1 -0
  131. package/build/components/media-upload-progress/index.native.js +42 -17
  132. package/build/components/media-upload-progress/index.native.js.map +1 -1
  133. package/build/components/navigable-toolbar/index.js +9 -14
  134. package/build/components/navigable-toolbar/index.js.map +1 -1
  135. package/build/components/plain-text/index.native.js +8 -3
  136. package/build/components/plain-text/index.native.js.map +1 -1
  137. package/build/components/provider/index.js +3 -1
  138. package/build/components/provider/index.js.map +1 -1
  139. package/build/components/provider/use-block-sync.js +7 -1
  140. package/build/components/provider/use-block-sync.js.map +1 -1
  141. package/build/components/rich-text/index.js +17 -7
  142. package/build/components/rich-text/index.js.map +1 -1
  143. package/build/components/rich-text/native/index.native.js +16 -24
  144. package/build/components/rich-text/native/index.native.js.map +1 -1
  145. package/build/components/rich-text/use-input-rules.js +2 -2
  146. package/build/components/rich-text/use-input-rules.js.map +1 -1
  147. package/build/components/rich-text/use-mark-persistent.js +1 -1
  148. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  149. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  150. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  151. package/build/components/url-input/index.js +9 -6
  152. package/build/components/url-input/index.js.map +1 -1
  153. package/build/components/use-block-commands/index.js +14 -18
  154. package/build/components/use-block-commands/index.js.map +1 -1
  155. package/build/components/use-block-drop-zone/index.js +51 -22
  156. package/build/components/use-block-drop-zone/index.js.map +1 -1
  157. package/build/components/use-moving-animation/index.js +100 -92
  158. package/build/components/use-moving-animation/index.js.map +1 -1
  159. package/build/components/use-on-block-drop/index.js +8 -11
  160. package/build/components/use-on-block-drop/index.js.map +1 -1
  161. package/build/components/writing-flow/index.js +0 -1
  162. package/build/components/writing-flow/index.js.map +1 -1
  163. package/build/components/writing-flow/use-drag-selection.js +15 -4
  164. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  165. package/build/components/writing-flow/use-selection-observer.js +73 -27
  166. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  167. package/build/components/writing-flow/use-tab-nav.js +7 -4
  168. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  169. package/build/hooks/align.js +1 -1
  170. package/build/hooks/align.js.map +1 -1
  171. package/build/hooks/anchor.js +1 -1
  172. package/build/hooks/anchor.js.map +1 -1
  173. package/build/hooks/aria-label.js +9 -1
  174. package/build/hooks/aria-label.js.map +1 -1
  175. package/build/hooks/background.js +185 -20
  176. package/build/hooks/background.js.map +1 -1
  177. package/build/hooks/border.js +5 -10
  178. package/build/hooks/border.js.map +1 -1
  179. package/build/hooks/color.js +13 -11
  180. package/build/hooks/color.js.map +1 -1
  181. package/build/hooks/custom-class-name.js +1 -1
  182. package/build/hooks/custom-class-name.js.map +1 -1
  183. package/build/hooks/custom-class-name.native.js +9 -1
  184. package/build/hooks/custom-class-name.native.js.map +1 -1
  185. package/build/hooks/dimensions.js +4 -9
  186. package/build/hooks/dimensions.js.map +1 -1
  187. package/build/hooks/font-family.js +7 -3
  188. package/build/hooks/font-family.js.map +1 -1
  189. package/build/hooks/font-size.js +1 -1
  190. package/build/hooks/font-size.js.map +1 -1
  191. package/build/hooks/index.js +4 -4
  192. package/build/hooks/index.js.map +1 -1
  193. package/build/hooks/index.native.js +5 -3
  194. package/build/hooks/index.native.js.map +1 -1
  195. package/build/hooks/layout.js +10 -4
  196. package/build/hooks/layout.js.map +1 -1
  197. package/build/hooks/style.js +1 -1
  198. package/build/hooks/style.js.map +1 -1
  199. package/build/hooks/typography.js +4 -9
  200. package/build/hooks/typography.js.map +1 -1
  201. package/build/hooks/typography.native.js +43 -18
  202. package/build/hooks/typography.native.js.map +1 -1
  203. package/build/hooks/use-typography-props.js +10 -2
  204. package/build/hooks/use-typography-props.js.map +1 -1
  205. package/build/hooks/utils.js +48 -5
  206. package/build/hooks/utils.js.map +1 -1
  207. package/build/private-apis.js +2 -4
  208. package/build/private-apis.js.map +1 -1
  209. package/build/private-apis.native.js +0 -2
  210. package/build/private-apis.native.js.map +1 -1
  211. package/build/store/actions.js +0 -16
  212. package/build/store/actions.js.map +1 -1
  213. package/build/store/private-actions.js +51 -5
  214. package/build/store/private-actions.js.map +1 -1
  215. package/build/store/private-selectors.js +12 -0
  216. package/build/store/private-selectors.js.map +1 -1
  217. package/build/store/reducer.js +14 -6
  218. package/build/store/reducer.js.map +1 -1
  219. package/build/store/selectors.js +1 -13
  220. package/build/store/selectors.js.map +1 -1
  221. package/build/store/undo-ignore.js +12 -0
  222. package/build/store/undo-ignore.js.map +1 -0
  223. package/build/store/utils.js +1 -1
  224. package/build/store/utils.js.map +1 -1
  225. package/build/utils/get-px-from-css-unit.js +16 -0
  226. package/build/utils/get-px-from-css-unit.js.map +1 -0
  227. package/build/utils/index.js +2 -2
  228. package/build/utils/index.js.map +1 -1
  229. package/build/utils/object.js +17 -38
  230. package/build/utils/object.js.map +1 -1
  231. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  232. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  233. package/build-module/components/block-canvas/index.js +0 -2
  234. package/build-module/components/block-canvas/index.js.map +1 -1
  235. package/build-module/components/block-card/index.js +1 -1
  236. package/build-module/components/block-card/index.js.map +1 -1
  237. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  238. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  239. package/build-module/components/block-draggable/index.js +76 -6
  240. package/build-module/components/block-draggable/index.js.map +1 -1
  241. package/build-module/components/block-draggable/index.native.js +1 -7
  242. package/build-module/components/block-draggable/index.native.js.map +1 -1
  243. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  244. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  245. package/build-module/components/block-editing-mode/index.js +3 -4
  246. package/build-module/components/block-editing-mode/index.js.map +1 -1
  247. package/build-module/components/block-inspector/index.js +1 -1
  248. package/build-module/components/block-inspector/index.js.map +1 -1
  249. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  250. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  251. package/build-module/components/block-list/block.js +249 -106
  252. package/build-module/components/block-list/block.js.map +1 -1
  253. package/build-module/components/block-list/block.native.js +48 -22
  254. package/build-module/components/block-list/block.native.js.map +1 -1
  255. package/build-module/components/block-list/index.native.js +3 -5
  256. package/build-module/components/block-list/index.native.js.map +1 -1
  257. package/build-module/components/block-list/private-block-context.js +6 -0
  258. package/build-module/components/block-list/private-block-context.js.map +1 -0
  259. package/build-module/components/block-list/use-block-props/index.js +34 -97
  260. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  261. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  262. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  263. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  264. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  265. package/build-module/components/block-lock/toolbar.js +22 -28
  266. package/build-module/components/block-lock/toolbar.js.map +1 -1
  267. package/build-module/components/block-mover/index.js +2 -1
  268. package/build-module/components/block-mover/index.js.map +1 -1
  269. package/build-module/components/block-patterns-list/index.js +5 -5
  270. package/build-module/components/block-patterns-list/index.js.map +1 -1
  271. package/build-module/components/block-switcher/index.js +4 -4
  272. package/build-module/components/block-switcher/index.js.map +1 -1
  273. package/build-module/components/block-toolbar/index.js +1 -2
  274. package/build-module/components/block-toolbar/index.js.map +1 -1
  275. package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
  276. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  277. package/build-module/components/block-variation-transforms/index.js +30 -3
  278. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  279. package/build-module/components/border-radius-control/linked-button.js +1 -1
  280. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  281. package/build-module/components/colors/utils.js +9 -1
  282. package/build-module/components/colors/utils.js.map +1 -1
  283. package/build-module/components/colors/with-colors.js +5 -1
  284. package/build-module/components/colors/with-colors.js.map +1 -1
  285. package/build-module/components/font-sizes/utils.js +9 -1
  286. package/build-module/components/font-sizes/utils.js.map +1 -1
  287. package/build-module/components/global-styles/border-panel.js +3 -2
  288. package/build-module/components/global-styles/border-panel.js.map +1 -1
  289. package/build-module/components/global-styles/color-panel.js +3 -2
  290. package/build-module/components/global-styles/color-panel.js.map +1 -1
  291. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  292. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  293. package/build-module/components/global-styles/effects-panel.js +3 -2
  294. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  295. package/build-module/components/global-styles/filters-panel.js +2 -5
  296. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  297. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  298. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  299. package/build-module/components/global-styles/hooks.js +3 -2
  300. package/build-module/components/global-styles/hooks.js.map +1 -1
  301. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  302. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  303. package/build-module/components/global-styles/index.js +1 -0
  304. package/build-module/components/global-styles/index.js.map +1 -1
  305. package/build-module/components/global-styles/typography-panel.js +35 -17
  306. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  307. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  308. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  309. package/build-module/components/global-styles/utils.js +7 -0
  310. package/build-module/components/global-styles/utils.js.map +1 -1
  311. package/build-module/components/height-control/index.js +6 -2
  312. package/build-module/components/height-control/index.js.map +1 -1
  313. package/build-module/components/image-size-control/index.js +2 -2
  314. package/build-module/components/image-size-control/index.js.map +1 -1
  315. package/build-module/components/index.native.js +2 -1
  316. package/build-module/components/index.native.js.map +1 -1
  317. package/build-module/components/inner-blocks/index.js +62 -23
  318. package/build-module/components/inner-blocks/index.js.map +1 -1
  319. package/build-module/components/inner-blocks/index.native.js +18 -4
  320. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  321. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  322. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  323. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  324. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  325. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  326. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  327. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  328. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  329. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  330. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  331. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  332. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  333. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  334. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  335. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  336. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  337. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  338. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  339. package/build-module/components/inserter/index.js +1 -2
  340. package/build-module/components/inserter/index.js.map +1 -1
  341. package/build-module/components/inserter/library.js +3 -7
  342. package/build-module/components/inserter/library.js.map +1 -1
  343. package/build-module/components/inserter/menu.js +14 -28
  344. package/build-module/components/inserter/menu.js.map +1 -1
  345. package/build-module/components/inserter/tabs.js +22 -22
  346. package/build-module/components/inserter/tabs.js.map +1 -1
  347. package/build-module/components/inserter-draggable-blocks/index.js +2 -2
  348. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  349. package/build-module/components/inserter-list-item/index.js +2 -4
  350. package/build-module/components/inserter-list-item/index.js.map +1 -1
  351. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  352. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  353. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  354. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  355. package/build-module/components/list-view/block-select-button.js +4 -0
  356. package/build-module/components/list-view/block-select-button.js.map +1 -1
  357. package/build-module/components/list-view/block.js +58 -4
  358. package/build-module/components/list-view/block.js.map +1 -1
  359. package/build-module/components/media-upload-progress/constants.js +7 -0
  360. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  361. package/build-module/components/media-upload-progress/index.native.js +37 -8
  362. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  363. package/build-module/components/navigable-toolbar/index.js +9 -14
  364. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  365. package/build-module/components/plain-text/index.native.js +6 -1
  366. package/build-module/components/plain-text/index.native.js.map +1 -1
  367. package/build-module/components/provider/index.js +3 -1
  368. package/build-module/components/provider/index.js.map +1 -1
  369. package/build-module/components/provider/use-block-sync.js +7 -1
  370. package/build-module/components/provider/use-block-sync.js.map +1 -1
  371. package/build-module/components/rich-text/index.js +17 -7
  372. package/build-module/components/rich-text/index.js.map +1 -1
  373. package/build-module/components/rich-text/native/index.native.js +16 -23
  374. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  375. package/build-module/components/rich-text/use-input-rules.js +2 -2
  376. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  377. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  378. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  379. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  380. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  381. package/build-module/components/url-input/index.js +9 -6
  382. package/build-module/components/url-input/index.js.map +1 -1
  383. package/build-module/components/use-block-commands/index.js +14 -18
  384. package/build-module/components/use-block-commands/index.js.map +1 -1
  385. package/build-module/components/use-block-drop-zone/index.js +51 -23
  386. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  387. package/build-module/components/use-moving-animation/index.js +102 -94
  388. package/build-module/components/use-moving-animation/index.js.map +1 -1
  389. package/build-module/components/use-on-block-drop/index.js +8 -11
  390. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  391. package/build-module/components/writing-flow/index.js +0 -1
  392. package/build-module/components/writing-flow/index.js.map +1 -1
  393. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  394. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  395. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  396. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  397. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  398. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  399. package/build-module/hooks/align.js +1 -1
  400. package/build-module/hooks/align.js.map +1 -1
  401. package/build-module/hooks/anchor.js +1 -1
  402. package/build-module/hooks/anchor.js.map +1 -1
  403. package/build-module/hooks/aria-label.js +7 -1
  404. package/build-module/hooks/aria-label.js.map +1 -1
  405. package/build-module/hooks/background.js +181 -19
  406. package/build-module/hooks/background.js.map +1 -1
  407. package/build-module/hooks/border.js +2 -8
  408. package/build-module/hooks/border.js.map +1 -1
  409. package/build-module/hooks/color.js +11 -9
  410. package/build-module/hooks/color.js.map +1 -1
  411. package/build-module/hooks/custom-class-name.js +1 -1
  412. package/build-module/hooks/custom-class-name.js.map +1 -1
  413. package/build-module/hooks/custom-class-name.native.js +7 -1
  414. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  415. package/build-module/hooks/dimensions.js +1 -7
  416. package/build-module/hooks/dimensions.js.map +1 -1
  417. package/build-module/hooks/font-family.js +6 -2
  418. package/build-module/hooks/font-family.js.map +1 -1
  419. package/build-module/hooks/font-size.js +1 -1
  420. package/build-module/hooks/font-size.js.map +1 -1
  421. package/build-module/hooks/index.js +5 -5
  422. package/build-module/hooks/index.js.map +1 -1
  423. package/build-module/hooks/index.native.js +6 -4
  424. package/build-module/hooks/index.native.js.map +1 -1
  425. package/build-module/hooks/layout.js +9 -3
  426. package/build-module/hooks/layout.js.map +1 -1
  427. package/build-module/hooks/style.js +1 -1
  428. package/build-module/hooks/style.js.map +1 -1
  429. package/build-module/hooks/typography.js +1 -7
  430. package/build-module/hooks/typography.js.map +1 -1
  431. package/build-module/hooks/typography.native.js +43 -17
  432. package/build-module/hooks/typography.native.js.map +1 -1
  433. package/build-module/hooks/use-typography-props.js +9 -1
  434. package/build-module/hooks/use-typography-props.js.map +1 -1
  435. package/build-module/hooks/utils.js +47 -5
  436. package/build-module/hooks/utils.js.map +1 -1
  437. package/build-module/private-apis.js +2 -4
  438. package/build-module/private-apis.js.map +1 -1
  439. package/build-module/private-apis.native.js +0 -2
  440. package/build-module/private-apis.native.js.map +1 -1
  441. package/build-module/store/actions.js +0 -15
  442. package/build-module/store/actions.js.map +1 -1
  443. package/build-module/store/private-actions.js +49 -4
  444. package/build-module/store/private-actions.js.map +1 -1
  445. package/build-module/store/private-selectors.js +11 -0
  446. package/build-module/store/private-selectors.js.map +1 -1
  447. package/build-module/store/reducer.js +14 -6
  448. package/build-module/store/reducer.js.map +1 -1
  449. package/build-module/store/selectors.js +1 -12
  450. package/build-module/store/selectors.js.map +1 -1
  451. package/build-module/store/undo-ignore.js +5 -0
  452. package/build-module/store/undo-ignore.js.map +1 -0
  453. package/build-module/store/utils.js +2 -2
  454. package/build-module/store/utils.js.map +1 -1
  455. package/build-module/utils/get-px-from-css-unit.js +9 -0
  456. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  457. package/build-module/utils/index.js +1 -1
  458. package/build-module/utils/index.js.map +1 -1
  459. package/build-module/utils/object.js +16 -37
  460. package/build-module/utils/object.js.map +1 -1
  461. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  462. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  463. package/build-style/content-rtl.css +7 -6
  464. package/build-style/content.css +7 -6
  465. package/build-style/style-rtl.css +51 -8
  466. package/build-style/style.css +51 -8
  467. package/package.json +31 -31
  468. package/src/components/alignment-control/README.md +0 -5
  469. package/src/components/block-alignment-control/README.md +0 -5
  470. package/src/components/block-alignment-matrix-control/README.md +0 -10
  471. package/src/components/block-breadcrumb/README.md +0 -5
  472. package/src/components/block-canvas/index.js +0 -2
  473. package/src/components/block-canvas/style.scss +6 -0
  474. package/src/components/block-caption/README.md +0 -5
  475. package/src/components/block-card/README.md +0 -5
  476. package/src/components/block-card/index.js +1 -1
  477. package/src/components/block-draggable/draggable-chip.js +11 -1
  478. package/src/components/block-draggable/index.js +116 -4
  479. package/src/components/block-draggable/index.native.js +0 -5
  480. package/src/components/block-draggable/style.scss +35 -0
  481. package/src/components/block-draggable/test/helpers.native.js +8 -7
  482. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  483. package/src/components/block-editing-mode/index.js +3 -3
  484. package/src/components/block-icon/README.md +0 -5
  485. package/src/components/block-inspector/README.md +0 -5
  486. package/src/components/block-inspector/index.js +3 -1
  487. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  488. package/src/components/block-list/block.js +290 -119
  489. package/src/components/block-list/block.native.js +55 -21
  490. package/src/components/block-list/content.scss +14 -10
  491. package/src/components/block-list/index.native.js +3 -5
  492. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  493. package/src/components/block-list/use-block-props/index.js +32 -128
  494. package/src/components/block-list/use-in-between-inserter.js +4 -1
  495. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  496. package/src/components/block-lock/toolbar.js +23 -34
  497. package/src/components/block-mover/README.md +0 -5
  498. package/src/components/block-mover/index.js +1 -1
  499. package/src/components/block-parent-selector/README.md +0 -5
  500. package/src/components/block-patterns-list/README.md +0 -5
  501. package/src/components/block-patterns-list/index.js +8 -5
  502. package/src/components/block-switcher/index.js +49 -59
  503. package/src/components/block-toolbar/README.md +0 -5
  504. package/src/components/block-toolbar/index.js +1 -2
  505. package/src/components/block-tools/block-toolbar-popover.js +4 -10
  506. package/src/components/block-types-list/README.md +0 -5
  507. package/src/components/block-variation-picker/README.md +0 -5
  508. package/src/components/block-variation-transforms/README.md +0 -5
  509. package/src/components/block-variation-transforms/index.js +49 -3
  510. package/src/components/border-radius-control/linked-button.js +1 -1
  511. package/src/components/caption/README.md +0 -5
  512. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  513. package/src/components/colors/utils.js +8 -1
  514. package/src/components/colors/with-colors.js +3 -1
  515. package/src/components/contrast-checker/README.md +0 -4
  516. package/src/components/copy-handler/README.md +0 -10
  517. package/src/components/font-sizes/utils.js +7 -1
  518. package/src/components/global-styles/border-panel.js +2 -1
  519. package/src/components/global-styles/color-panel.js +2 -1
  520. package/src/components/global-styles/dimensions-panel.js +4 -3
  521. package/src/components/global-styles/effects-panel.js +2 -1
  522. package/src/components/global-styles/filters-panel.js +2 -5
  523. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  524. package/src/components/global-styles/hooks.js +5 -0
  525. package/src/components/global-styles/image-settings-panel.js +6 -0
  526. package/src/components/global-styles/index.js +1 -0
  527. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  528. package/src/components/global-styles/typography-panel.js +47 -14
  529. package/src/components/global-styles/use-global-styles-output.js +9 -5
  530. package/src/components/global-styles/utils.js +7 -0
  531. package/src/components/height-control/README.md +2 -7
  532. package/src/components/height-control/index.js +4 -0
  533. package/src/components/image-size-control/index.js +5 -2
  534. package/src/components/index.native.js +2 -2
  535. package/src/components/inner-blocks/index.js +68 -29
  536. package/src/components/inner-blocks/index.native.js +19 -7
  537. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  538. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  539. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  540. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  541. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  542. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  543. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  544. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  545. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  546. package/src/components/inserter/index.js +0 -1
  547. package/src/components/inserter/library.js +2 -8
  548. package/src/components/inserter/menu.js +13 -31
  549. package/src/components/inserter/style.scss +6 -4
  550. package/src/components/inserter/tabs.js +34 -25
  551. package/src/components/inserter-draggable-blocks/index.js +2 -2
  552. package/src/components/inserter-list-item/index.js +6 -6
  553. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  554. package/src/components/inspector-controls-tabs/index.js +39 -28
  555. package/src/components/inspector-controls-tabs/style.scss +3 -2
  556. package/src/components/letter-spacing-control/README.md +0 -5
  557. package/src/components/line-height-control/README.md +0 -5
  558. package/src/components/list-view/README.md +0 -5
  559. package/src/components/list-view/block-select-button.js +4 -0
  560. package/src/components/list-view/block.js +73 -2
  561. package/src/components/list-view/style.scss +6 -0
  562. package/src/components/media-upload-progress/constants.js +6 -0
  563. package/src/components/media-upload-progress/index.native.js +66 -14
  564. package/src/components/media-upload-progress/test/index.native.js +2 -2
  565. package/src/components/multi-selection-inspector/README.md +0 -5
  566. package/src/components/navigable-toolbar/index.js +13 -11
  567. package/src/components/plain-text/index.native.js +6 -1
  568. package/src/components/provider/index.js +1 -1
  569. package/src/components/provider/test/use-block-sync.js +20 -17
  570. package/src/components/provider/use-block-sync.js +6 -0
  571. package/src/components/rich-text/index.js +18 -6
  572. package/src/components/rich-text/native/index.native.js +16 -24
  573. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  574. package/src/components/rich-text/native/test/index.native.js +72 -5
  575. package/src/components/rich-text/use-input-rules.js +2 -2
  576. package/src/components/rich-text/use-mark-persistent.js +1 -2
  577. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  578. package/src/components/text-decoration-control/README.md +40 -0
  579. package/src/components/text-transform-control/README.md +0 -4
  580. package/src/components/ungroup-button/README.md +0 -5
  581. package/src/components/unit-control/README.md +0 -4
  582. package/src/components/url-input/index.js +11 -11
  583. package/src/components/use-block-commands/index.js +18 -21
  584. package/src/components/use-block-drop-zone/index.js +85 -34
  585. package/src/components/use-moving-animation/index.js +107 -103
  586. package/src/components/use-on-block-drop/index.js +7 -23
  587. package/src/components/use-on-block-drop/test/index.js +12 -26
  588. package/src/components/use-resize-canvas/README.md +0 -4
  589. package/src/components/use-settings/README.md +0 -4
  590. package/src/components/writing-flow/index.js +0 -1
  591. package/src/components/writing-flow/use-drag-selection.js +18 -4
  592. package/src/components/writing-flow/use-selection-observer.js +99 -37
  593. package/src/components/writing-flow/use-tab-nav.js +7 -7
  594. package/src/hooks/align.js +1 -5
  595. package/src/hooks/anchor.js +1 -5
  596. package/src/hooks/aria-label.js +8 -5
  597. package/src/hooks/background.js +253 -21
  598. package/src/hooks/border.js +2 -13
  599. package/src/hooks/color.js +19 -14
  600. package/src/hooks/custom-class-name.js +1 -5
  601. package/src/hooks/custom-class-name.native.js +8 -5
  602. package/src/hooks/dimensions.js +1 -7
  603. package/src/hooks/font-family.js +4 -7
  604. package/src/hooks/font-size.js +1 -6
  605. package/src/hooks/index.js +19 -5
  606. package/src/hooks/index.native.js +17 -4
  607. package/src/hooks/layout.js +5 -2
  608. package/src/hooks/style.js +1 -6
  609. package/src/hooks/test/anchor.js +4 -9
  610. package/src/hooks/test/custom-class-name.js +3 -8
  611. package/src/hooks/test/style.js +4 -14
  612. package/src/hooks/typography.js +1 -7
  613. package/src/hooks/typography.native.js +31 -33
  614. package/src/hooks/use-typography-props.js +7 -1
  615. package/src/hooks/utils.js +76 -6
  616. package/src/private-apis.js +2 -4
  617. package/src/private-apis.native.js +0 -2
  618. package/src/store/actions.js +0 -15
  619. package/src/store/private-actions.js +44 -4
  620. package/src/store/private-selectors.js +11 -0
  621. package/src/store/reducer.js +16 -5
  622. package/src/store/selectors.js +5 -13
  623. package/src/store/undo-ignore.js +4 -0
  624. package/src/store/utils.js +2 -2
  625. package/src/style.scss +1 -0
  626. package/src/utils/get-px-from-css-unit.js +8 -0
  627. package/src/utils/index.js +1 -1
  628. package/src/utils/object.js +16 -35
  629. package/src/utils/test/object.js +1 -96
  630. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  631. package/build/components/block-list/block-list-block-context.js +0 -14
  632. package/build/components/block-list/block-list-block-context.js.map +0 -1
  633. package/build/hooks/custom-fields.js +0 -106
  634. package/build/hooks/custom-fields.js.map +0 -1
  635. package/build/utils/parse-css-unit-to-px.js +0 -302
  636. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  637. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  638. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  639. package/build-module/components/block-list/block-list-block-context.js +0 -6
  640. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  641. package/build-module/hooks/custom-fields.js +0 -99
  642. package/build-module/hooks/custom-fields.js.map +0 -1
  643. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  644. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  645. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  646. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  647. package/src/hooks/custom-fields.js +0 -115
  648. package/src/utils/parse-css-unit-to-px.js +0 -329
  649. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  650. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"names":["_es","_interopRequireDefault","require","_element","_data","_blocks","_i18n","_utils","_object","_context","_lockUnlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","useContext","GlobalStylesContext","canReset","fastDeepEqual","useCallback","exports","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","useMemo","configToUse","_getValueFromObjectPa","getValueFromObjectPath","result","forEach","setting","_getValueFromObjectPa2","value","undefined","setImmutably","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","getPresetVariableFromValue","rawResult","getValueFromVariable","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","useSelect","select","unlock","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","_x","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_es","_interopRequireDefault","require","_element","_data","_blocks","_i18n","_utils","_object","_context","_lockUnlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","useContext","GlobalStylesContext","canReset","fastDeepEqual","useCallback","exports","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","useMemo","configToUse","_getValueFromObjectPa","getValueFromObjectPath","result","forEach","setting","_getValueFromObjectPa2","value","undefined","setImmutably","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","getPresetVariableFromValue","rawResult","getValueFromVariable","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","useSelect","select","unlock","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","defaultFontSizes","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","_x","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'background.backgroundImage',\n\t'background.backgroundRepeat',\n\t'background.backgroundSize',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.defaultFontSizes',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t\tdefaultFontSizes: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":"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"}
@@ -8,10 +8,15 @@ exports.useHasImageSettingsPanel = useHasImageSettingsPanel;
8
8
  var _react = require("react");
9
9
  var _components = require("@wordpress/components");
10
10
  var _i18n = require("@wordpress/i18n");
11
+ var _utils = require("./utils");
11
12
  /**
12
13
  * WordPress dependencies
13
14
  */
14
15
 
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
15
20
  function useHasImageSettingsPanel(name, value, inheritedValue) {
16
21
  // Note: If lightbox `value` exists, that means it was
17
22
  // defined via the the Global Styles UI and will NOT
@@ -40,7 +45,8 @@ function ImageSettingsPanel({
40
45
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalToolsPanel, {
41
46
  label: (0, _i18n._x)('Settings', 'Image settings'),
42
47
  resetAll: resetLightbox,
43
- panelId: panelId
48
+ panelId: panelId,
49
+ dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS
44
50
  }, (0, _react.createElement)(_components.__experimentalToolsPanelItem
45
51
  // We use the `userSettings` prop instead of `settings`, because `settings`
46
52
  // contains the core/theme values for the lightbox and we want to show the
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAQO,SAASE,wBAAwBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,cAAc,EAAG;EACvE;EACA;EACA;EACA;EACA,OACGF,IAAI,KAAK,YAAY,IAAIE,cAAc,EAAEC,QAAQ,EAAEC,YAAY,IACjE,CAAC,CAAEH,KAAK,EAAEE,QAAQ;AAEpB;AAEe,SAASE,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRL,KAAK;EACLC,cAAc;EACdK;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BF,QAAQ,CAAEG,SAAU,CAAC;EACtB,CAAC;EAED,MAAMC,gBAAgB,GAAKC,UAAU,IAAM;IAC1CL,QAAQ,CAAE;MACTM,OAAO,EAAED;IACV,CAAE,CAAC;EACJ,CAAC;EAED,IAAIE,eAAe,GAAG,KAAK;EAE3B,IAAKX,cAAc,EAAEC,QAAQ,EAAES,OAAO,EAAG;IACxCC,eAAe,GAAGX,cAAc,CAACC,QAAQ,CAACS,OAAO;EAClD;EAEA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAqB,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAU,EAAE,gBAAiB,CAAG;IAC5CC,QAAQ,EAAGZ,aAAe;IAC1BD,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAyB;EACA;EACA;EACA;EACA;EAAA;IACAC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAErB,KAAK,EAAEE,QAAU;IACrCe,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCC,UAAU,EAAGhB,aAAe;IAC5BiB,gBAAgB,EAAG,IAAM;IACzBlB,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA8B,aAAa;IACbR,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCI,OAAO,EAAGd,eAAiB;IAC3BP,QAAQ,EAAGI;EAAkB,CAC7B,CACc,CACL,CACX,CAAC;AAEL"}
1
+ {"version":3,"names":["_components","require","_i18n","_utils","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGO,SAASG,wBAAwBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,cAAc,EAAG;EACvE;EACA;EACA;EACA;EACA,OACGF,IAAI,KAAK,YAAY,IAAIE,cAAc,EAAEC,QAAQ,EAAEC,YAAY,IACjE,CAAC,CAAEH,KAAK,EAAEE,QAAQ;AAEpB;AAEe,SAASE,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRL,KAAK;EACLC,cAAc;EACdK;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BF,QAAQ,CAAEG,SAAU,CAAC;EACtB,CAAC;EAED,MAAMC,gBAAgB,GAAKC,UAAU,IAAM;IAC1CL,QAAQ,CAAE;MACTM,OAAO,EAAED;IACV,CAAE,CAAC;EACJ,CAAC;EAED,IAAIE,eAAe,GAAG,KAAK;EAE3B,IAAKX,cAAc,EAAEC,QAAQ,EAAES,OAAO,EAAG;IACxCC,eAAe,GAAGX,cAAc,CAACC,QAAQ,CAACS,OAAO;EAClD;EAEA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAsB,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAU,EAAE,gBAAiB,CAAG;IAC5CC,QAAQ,EAAGZ,aAAe;IAC1BD,OAAO,EAAGA,OAAS;IACnBc,iBAAiB,EAAGC;EAA+B,GAEnD,IAAAR,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAA4B;EACA;EACA;EACA;EACA;EAAA;IACAC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEvB,KAAK,EAAEE,QAAU;IACrCe,KAAK,EAAG,IAAAO,QAAE,EAAE,iBAAkB,CAAG;IACjCC,UAAU,EAAGlB,aAAe;IAC5BmB,gBAAgB,EAAG,IAAM;IACzBpB,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAiC,aAAa;IACbV,KAAK,EAAG,IAAAO,QAAE,EAAE,iBAAkB,CAAG;IACjCI,OAAO,EAAGhB,eAAiB;IAC3BP,QAAQ,EAAGI;EAAkB,CAC7B,CACc,CACL,CACX,CAAC;AAEL"}
@@ -70,6 +70,12 @@ Object.defineProperty(exports, "getBlockCSSSelector", {
70
70
  return _getBlockCssSelector.getBlockCSSSelector;
71
71
  }
72
72
  });
73
+ Object.defineProperty(exports, "getGlobalStylesChanges", {
74
+ enumerable: true,
75
+ get: function () {
76
+ return _getGlobalStylesChanges.default;
77
+ }
78
+ });
73
79
  Object.defineProperty(exports, "getLayoutStyles", {
74
80
  enumerable: true,
75
81
  get: function () {
@@ -167,6 +173,7 @@ var _filtersPanel = _interopRequireWildcard(require("./filters-panel"));
167
173
  var _imageSettingsPanel = _interopRequireWildcard(require("./image-settings-panel"));
168
174
  var _advancedPanel = _interopRequireDefault(require("./advanced-panel"));
169
175
  var _utils = require("./utils");
176
+ var _getGlobalStylesChanges = _interopRequireDefault(require("./get-global-styles-changes"));
170
177
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
171
178
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
172
179
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_effectsPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport { default as BorderPanel, useHasBorderPanel } from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as EffectsPanel, useHasEffectsPanel } from './effects-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAC,uBAAA,CAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAD,uBAAA,CAAAL,OAAA;AAIA,IAAAO,YAAA,GAAAF,uBAAA,CAAAL,OAAA;AACA,IAAAQ,WAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,aAAA,GAAAJ,uBAAA,CAAAL,OAAA;AACA,IAAAU,aAAA,GAAAL,uBAAA,CAAAL,OAAA;AACA,IAAAW,mBAAA,GAAAN,uBAAA,CAAAL,OAAA;AAIA,IAAAY,cAAA,GAAAC,sBAAA,CAAAb,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AAAqD,SAAAe,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAe,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
1
+ {"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_effectsPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getGlobalStylesChanges","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport { default as BorderPanel, useHasBorderPanel } from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as EffectsPanel, useHasEffectsPanel } from './effects-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\nexport { default as getGlobalStylesChanges } from './get-global-styles-changes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAC,uBAAA,CAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAD,uBAAA,CAAAL,OAAA;AAIA,IAAAO,YAAA,GAAAF,uBAAA,CAAAL,OAAA;AACA,IAAAQ,WAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,aAAA,GAAAJ,uBAAA,CAAAL,OAAA;AACA,IAAAU,aAAA,GAAAL,uBAAA,CAAAL,OAAA;AACA,IAAAW,mBAAA,GAAAN,uBAAA,CAAAL,OAAA;AAIA,IAAAY,cAAA,GAAAC,sBAAA,CAAAb,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,uBAAA,GAAAF,sBAAA,CAAAb,OAAA;AAAgF,SAAAgB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAgB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -43,7 +43,7 @@ function useHasTypographyPanel(settings) {
43
43
  return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns;
44
44
  }
45
45
  function useHasFontSizeControl(settings) {
46
- return (0, _useSettings.hasMergedOrigins)(settings?.typography?.fontSizes) || settings?.typography?.customFontSize;
46
+ return settings?.typography?.defaultFontSizes !== false && settings?.typography?.fontSizes?.default?.length || settings?.typography?.fontSizes?.theme?.length || settings?.typography?.fontSizes?.custom?.length || settings?.typography?.customFontSize;
47
47
  }
48
48
  function useHasFontFamilyControl(settings) {
49
49
  return (0, _useSettings.hasMergedOrigins)(settings?.typography?.fontFamilies);
@@ -78,18 +78,35 @@ function useHasWritingModeControl(settings) {
78
78
  function useHasTextColumnsControl(settings) {
79
79
  return settings?.typography?.textColumns;
80
80
  }
81
- function getUniqueFontSizesBySlug(settings) {
82
- const fontSizes = settings?.typography?.fontSizes;
83
- const mergedFontSizes = fontSizes ? (0, _useSettings.mergeOrigins)(fontSizes) : [];
84
- const uniqueSizes = [];
85
- for (const currentSize of mergedFontSizes) {
86
- if (!uniqueSizes.some(({
87
- slug
88
- }) => slug === currentSize.slug)) {
89
- uniqueSizes.push(currentSize);
90
- }
91
- }
92
- return uniqueSizes;
81
+
82
+ /**
83
+ * TODO: The reversing and filtering of default font sizes is a hack so the
84
+ * dropdown UI matches what is generated in the global styles CSS stylesheet.
85
+ *
86
+ * This is a temporary solution until #57733 is resolved. At which point,
87
+ * the mergedFontSizes would just need to be the concatenated array of all
88
+ * presets or a custom dropdown with sections for each.
89
+ *
90
+ * @see {@link https://github.com/WordPress/gutenberg/issues/57733}
91
+ *
92
+ * @param {Object} settings The global styles settings.
93
+ *
94
+ * @return {Array} The merged font sizes.
95
+ */
96
+ function getMergedFontSizes(settings) {
97
+ // The font size presets are merged in reverse order so that the duplicates
98
+ // that may defined later in the array have higher priority to match the CSS.
99
+ const mergedFontSizesAll = (0, _object.uniqByProperty)([settings?.typography?.fontSizes?.custom, settings?.typography?.fontSizes?.theme, settings?.typography?.fontSizes?.default].flatMap(presets => {
100
+ var _presets$toReversed;
101
+ return (_presets$toReversed = presets?.toReversed()) !== null && _presets$toReversed !== void 0 ? _presets$toReversed : [];
102
+ }), 'slug').reverse();
103
+
104
+ // Default presets exist in the global styles CSS no matter the setting, so
105
+ // filtering them out in the UI has to be done after merging.
106
+ const mergedFontSizes = settings?.typography?.defaultFontSizes === false ? mergedFontSizesAll.filter(({
107
+ slug
108
+ }) => !['small', 'medium', 'large', 'x-large'].includes(slug)) : mergedFontSizesAll;
109
+ return mergedFontSizes;
93
110
  }
94
111
  function TypographyToolsPanel({
95
112
  resetAllFilter,
@@ -105,7 +122,8 @@ function TypographyToolsPanel({
105
122
  return (0, _react.createElement)(_components.__experimentalToolsPanel, {
106
123
  label: (0, _i18n.__)('Typography'),
107
124
  resetAll: resetAll,
108
- panelId: panelId
125
+ panelId: panelId,
126
+ dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS
109
127
  }, children);
110
128
  }
111
129
  const DEFAULT_CONTROLS = {
@@ -149,7 +167,7 @@ function TypographyPanel({
149
167
  // Font Size
150
168
  const hasFontSizeEnabled = useHasFontSizeControl(settings);
151
169
  const disableCustomFontSizes = !settings?.typography?.customFontSize;
152
- const mergedFontSizes = getUniqueFontSizesBySlug(settings);
170
+ const mergedFontSizes = getMergedFontSizes(settings);
153
171
  const fontSize = decodeValue(inheritedValue?.typography?.fontSize);
154
172
  const setFontSize = (newValue, metadata) => {
155
173
  const actualValue = !!metadata?.slug ? `var:preset|font-size|${metadata?.slug}` : newValue;
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_useSettings","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","hasMergedOrigins","typography","fontSizes","customFontSize","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","mergedFontSizes","mergeOrigins","uniqueSizes","currentSize","some","slug","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","mergedFontFamilies","setFontFamily","newValue","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","default","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { mergeOrigins, hasMergedOrigins } from '../use-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\thasMergedOrigins( settings?.typography?.fontSizes ) ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasMergedOrigins( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst mergedFontSizes = fontSizes ? mergeOrigins( fontSizes ) : [];\n\tconst uniqueSizes = [];\n\tfor ( const currentSize of mergedFontSizes ) {\n\t\tif ( ! uniqueSizes.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tuniqueSizes.push( currentSize );\n\t\t}\n\t}\n\treturn uniqueSizes;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies;\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\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>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_useSettings","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","defaultFontSizes","fontSizes","default","length","theme","custom","customFontSize","hasMergedOrigins","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getMergedFontSizes","mergedFontSizesAll","uniqByProperty","flatMap","presets","_presets$toReversed","toReversed","reverse","mergedFontSizes","filter","slug","includes","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","mergedFontFamilies","mergeOrigins","setFontFamily","newValue","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { mergeOrigins, hasMergedOrigins } from '../use-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably, uniqByProperty } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasMergedOrigins( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * TODO: The reversing and filtering of default font sizes is a hack so the\n * dropdown UI matches what is generated in the global styles CSS stylesheet.\n *\n * This is a temporary solution until #57733 is resolved. At which point,\n * the mergedFontSizes would just need to be the concatenated array of all\n * presets or a custom dropdown with sections for each.\n *\n * @see {@link https://github.com/WordPress/gutenberg/issues/57733}\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\t// The font size presets are merged in reverse order so that the duplicates\n\t// that may defined later in the array have higher priority to match the CSS.\n\tconst mergedFontSizesAll = uniqByProperty(\n\t\t[\n\t\t\tsettings?.typography?.fontSizes?.custom,\n\t\t\tsettings?.typography?.fontSizes?.theme,\n\t\t\tsettings?.typography?.fontSizes?.default,\n\t\t].flatMap( ( presets ) => presets?.toReversed() ?? [] ),\n\t\t'slug'\n\t).reverse();\n\n\t// Default presets exist in the global styles CSS no matter the setting, so\n\t// filtering them out in the UI has to be done after merging.\n\tconst mergedFontSizes =\n\t\tsettings?.typography?.defaultFontSizes === false\n\t\t\t? mergedFontSizesAll.filter(\n\t\t\t\t\t( { slug } ) =>\n\t\t\t\t\t\t! [ 'small', 'medium', 'large', 'x-large' ].includes(\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t)\n\t\t\t )\n\t\t\t: mergedFontSizesAll;\n\n\treturn mergedFontSizes;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies;\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\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>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ var _blocks = require("@wordpress/blocks");
17
17
  var _data = require("@wordpress/data");
18
18
  var _element = require("@wordpress/element");
19
19
  var _styleEngine = require("@wordpress/style-engine");
20
+ var _components = require("@wordpress/components");
20
21
  var _utils = require("./utils");
21
22
  var _getBlockCssSelector = require("./get-block-css-selector");
22
23
  var _typographyUtils = require("./typography-utils");
@@ -28,6 +29,7 @@ var _store = require("../../store");
28
29
  var _definitions = require("../../layouts/definitions");
29
30
  var _object = require("../../utils/object");
30
31
  var _blockContext = _interopRequireDefault(require("../block-context"));
32
+ var _lockUnlock = require("../../lock-unlock");
31
33
  /**
32
34
  * WordPress dependencies
33
35
  */
@@ -64,6 +66,9 @@ function compileStyleValue(uncompiledValue) {
64
66
  * @return {Array<Object>} An array of style declarations.
65
67
  */
66
68
  function getPresetsDeclarations(blockPresets = {}, mergedSettings) {
69
+ const {
70
+ kebabCase
71
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
67
72
  return _utils.PRESET_METADATA.reduce((declarations, {
68
73
  path,
69
74
  valueKey,
@@ -75,9 +80,9 @@ function getPresetsDeclarations(blockPresets = {}, mergedSettings) {
75
80
  if (presetByOrigin[origin]) {
76
81
  presetByOrigin[origin].forEach(value => {
77
82
  if (valueKey && !valueFunc) {
78
- declarations.push(`--wp--preset--${cssVarInfix}--${(0, _object.kebabCase)(value.slug)}: ${value[valueKey]}`);
83
+ declarations.push(`--wp--preset--${cssVarInfix}--${kebabCase(value.slug)}: ${value[valueKey]}`);
79
84
  } else if (valueFunc && typeof valueFunc === 'function') {
80
- declarations.push(`--wp--preset--${cssVarInfix}--${(0, _object.kebabCase)(value.slug)}: ${valueFunc(value, mergedSettings)}`);
85
+ declarations.push(`--wp--preset--${cssVarInfix}--${kebabCase(value.slug)}: ${valueFunc(value, mergedSettings)}`);
81
86
  }
82
87
  });
83
88
  }
@@ -94,6 +99,9 @@ function getPresetsDeclarations(blockPresets = {}, mergedSettings) {
94
99
  * @return {string} CSS declarations for the preset classes.
95
100
  */
96
101
  function getPresetsClasses(blockSelector = '*', blockPresets = {}) {
102
+ const {
103
+ kebabCase
104
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
97
105
  return _utils.PRESET_METADATA.reduce((declarations, {
98
106
  path,
99
107
  cssVarInfix,
@@ -112,10 +120,10 @@ function getPresetsClasses(blockSelector = '*', blockPresets = {}) {
112
120
  classSuffix,
113
121
  propertyName
114
122
  }) => {
115
- const classSelectorToUse = `.has-${(0, _object.kebabCase)(slug)}-${classSuffix}`;
123
+ const classSelectorToUse = `.has-${kebabCase(slug)}-${classSuffix}`;
116
124
  const selectorToUse = blockSelector.split(',') // Selector can be "h1, h2, h3"
117
125
  .map(selector => `${selector}${classSelectorToUse}`).join(',');
118
- const value = `var(--wp--preset--${cssVarInfix}--${(0, _object.kebabCase)(slug)})`;
126
+ const value = `var(--wp--preset--${cssVarInfix}--${kebabCase(slug)})`;
119
127
  declarations += `${selectorToUse}{${propertyName}: ${value} !important;}`;
120
128
  });
121
129
  });
@@ -133,9 +141,12 @@ function getPresetsSvgFilters(blockPresets = {}) {
133
141
  });
134
142
  }
135
143
  function flattenTree(input = {}, prefix, token) {
144
+ const {
145
+ kebabCase
146
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
136
147
  let result = [];
137
148
  Object.keys(input).forEach(key => {
138
- const newKey = prefix + (0, _object.kebabCase)(key.replace('/', '-'));
149
+ const newKey = prefix + kebabCase(key.replace('/', '-'));
139
150
  const newLeaf = input[key];
140
151
  if (newLeaf instanceof Object) {
141
152
  const newPrefix = newKey + token;
@@ -249,6 +260,9 @@ const getFeatureDeclarations = (selectors, styles) => {
249
260
  * @return {Array} An array of style declarations.
250
261
  */
251
262
  function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAlign, tree = {}, isTemplate = true) {
263
+ const {
264
+ kebabCase
265
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
252
266
  const isRoot = _utils.ROOT_BLOCK_SELECTOR === selector;
253
267
  const output = Object.entries(_blocks.__EXPERIMENTAL_STYLE_PROPERTY).reduce((declarations, [key, {
254
268
  value,
@@ -278,11 +292,11 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
278
292
  // for sub-properties that don't have any value.
279
293
  return;
280
294
  }
281
- const cssProperty = name.startsWith('--') ? name : (0, _object.kebabCase)(name);
295
+ const cssProperty = name.startsWith('--') ? name : kebabCase(name);
282
296
  declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(styleValue, [prop]))}`);
283
297
  });
284
298
  } else if ((0, _object.getValueFromObjectPath)(blockStyles, pathToValue, false)) {
285
- const cssProperty = key.startsWith('--') ? key : (0, _object.kebabCase)(key);
299
+ const cssProperty = key.startsWith('--') ? key : kebabCase(key);
286
300
  declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(blockStyles, pathToValue))}`);
287
301
  }
288
302
  return declarations;
@@ -296,7 +310,7 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
296
310
  if (isRoot && (useRootPaddingAlign || !isTemplate) && rule.key.startsWith('padding')) {
297
311
  return;
298
312
  }
299
- const cssProperty = rule.key.startsWith('--') ? rule.key : (0, _object.kebabCase)(rule.key);
313
+ const cssProperty = rule.key.startsWith('--') ? rule.key : kebabCase(rule.key);
300
314
  let ruleValue = rule.value;
301
315
  if (typeof ruleValue !== 'string' && ruleValue?.ref) {
302
316
  const refPath = ruleValue.ref.split('.');