@plaudit/gutenberg-api-extensions 2.79.0 → 2.80.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 (489) hide show
  1. package/dist/blocks/MoveError.js +10 -0
  2. package/dist/blocks/MoveError.js.map +1 -0
  3. package/{build → dist}/blocks/PathError.js +7 -3
  4. package/dist/blocks/PathError.js.map +1 -0
  5. package/{build → dist}/blocks/SNPFlexibleItemsListComponent.d.ts +1 -1
  6. package/dist/blocks/SNPFlexibleItemsListComponent.js +18 -0
  7. package/dist/blocks/SNPFlexibleItemsListComponent.js.map +1 -0
  8. package/{build → dist}/blocks/SNPGroupComponent.d.ts +2 -2
  9. package/dist/blocks/SNPGroupComponent.js +20 -0
  10. package/dist/blocks/SNPGroupComponent.js.map +1 -0
  11. package/{build → dist}/blocks/SNPListComponent.d.ts +1 -1
  12. package/dist/blocks/SNPListComponent.js +18 -0
  13. package/dist/blocks/SNPListComponent.js.map +1 -0
  14. package/dist/blocks/SNPTreeContext.js +14 -0
  15. package/dist/blocks/SNPTreeContext.js.map +1 -0
  16. package/dist/blocks/basic-custom-block-bindings-support.js +157 -0
  17. package/dist/blocks/basic-custom-block-bindings-support.js.map +1 -0
  18. package/dist/blocks/common-native-property-constructors.d.ts +13 -0
  19. package/{build → dist}/blocks/common-native-property-constructors.js +105 -151
  20. package/dist/blocks/common-native-property-constructors.js.map +1 -0
  21. package/{build → dist}/blocks/conditions.js +12 -7
  22. package/dist/blocks/conditions.js.map +1 -0
  23. package/dist/blocks/csnp-api.d.ts +166 -0
  24. package/dist/blocks/csnp-api.js +74 -0
  25. package/dist/blocks/csnp-api.js.map +1 -0
  26. package/{build → dist}/blocks/data-controller-manager.js +4 -1
  27. package/dist/blocks/data-controller-manager.js.map +1 -0
  28. package/{build → dist}/blocks/data-controller.js +74 -70
  29. package/dist/blocks/data-controller.js.map +1 -0
  30. package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/select.js +14 -11
  31. package/dist/blocks/hooks/built-in-suspendable-option-protocols/select.js.map +1 -0
  32. package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/settings.js +9 -6
  33. package/dist/blocks/hooks/built-in-suspendable-option-protocols/settings.js.map +1 -0
  34. package/{build → dist}/blocks/hooks/useSuspendableOptions.d.ts +1 -1
  35. package/{build → dist}/blocks/hooks/useSuspendableOptions.js +30 -23
  36. package/dist/blocks/hooks/useSuspendableOptions.js.map +1 -0
  37. package/dist/blocks/index.js +35 -0
  38. package/dist/blocks/index.js.map +1 -0
  39. package/{build → dist}/blocks/layered-styles-api.d.ts +2 -2
  40. package/{build → dist}/blocks/layered-styles-api.js +10 -6
  41. package/dist/blocks/layered-styles-api.js.map +1 -0
  42. package/{build → dist}/blocks/layered-styles-impl.js +14 -9
  43. package/dist/blocks/layered-styles-impl.js.map +1 -0
  44. package/{build → dist}/blocks/layout/LaidOutProperty.d.ts +1 -2
  45. package/dist/blocks/layout/LaidOutProperty.js +47 -0
  46. package/dist/blocks/layout/LaidOutProperty.js.map +1 -0
  47. package/dist/blocks/layout/LaidOutPropertyRow.js +15 -0
  48. package/dist/blocks/layout/LaidOutPropertyRow.js.map +1 -0
  49. package/{build → dist}/blocks/layout/NodeContext.d.ts +2 -2
  50. package/dist/blocks/layout/NodeContext.js +44 -0
  51. package/dist/blocks/layout/NodeContext.js.map +1 -0
  52. package/dist/blocks/layout/PanelRoot.js +29 -0
  53. package/dist/blocks/layout/PanelRoot.js.map +1 -0
  54. package/{build → dist}/blocks/layout/TabsRoot.js +16 -13
  55. package/dist/blocks/layout/TabsRoot.js.map +1 -0
  56. package/dist/blocks/layout/ToolsPanelContext.js +23 -0
  57. package/dist/blocks/layout/ToolsPanelContext.js.map +1 -0
  58. package/dist/blocks/shared-exportable-types.js +3 -0
  59. package/dist/blocks/shared-internal-types.js +3 -0
  60. package/{build → dist}/blocks/simple-block.d.ts +1 -1
  61. package/dist/blocks/simple-block.js +45 -0
  62. package/dist/blocks/simple-block.js.map +1 -0
  63. package/{build → dist}/blocks/simple-native-property-api.d.ts +1 -1
  64. package/{build → dist}/blocks/simple-native-property-api.js +16 -10
  65. package/dist/blocks/simple-native-property-api.js.map +1 -0
  66. package/{build → dist}/blocks/simple-native-property-impl.js +60 -55
  67. package/dist/blocks/simple-native-property-impl.js.map +1 -0
  68. package/{build → dist}/blocks/simple-native-property-internal-shared.js +6 -2
  69. package/dist/blocks/simple-native-property-internal-shared.js.map +1 -0
  70. package/{build → dist}/blocks/snp-api.d.ts +1 -0
  71. package/dist/blocks/snp-api.js +7 -0
  72. package/dist/blocks/snp-api.js.map +1 -0
  73. package/{build → dist}/blocks/snp-data-store.js +8 -4
  74. package/dist/blocks/snp-data-store.js.map +1 -0
  75. package/{build → dist}/blocks/utilities.d.ts +1 -1
  76. package/dist/blocks/utilities.js +79 -0
  77. package/dist/blocks/utilities.js.map +1 -0
  78. package/{build → dist}/controls/AsynchronousFormTokenField.d.ts +1 -1
  79. package/dist/controls/AsynchronousFormTokenField.js +36 -0
  80. package/dist/controls/AsynchronousFormTokenField.js.map +1 -0
  81. package/{build → dist}/controls/BaseSortableItemsControl.d.ts +3 -3
  82. package/dist/controls/BaseSortableItemsControl.js +25 -0
  83. package/dist/controls/BaseSortableItemsControl.js.map +1 -0
  84. package/{build → dist}/controls/ExtendedFormTokenField.d.ts +3 -3
  85. package/dist/controls/ExtendedFormTokenField.js +64 -0
  86. package/dist/controls/ExtendedFormTokenField.js.map +1 -0
  87. package/dist/controls/ExtendedPostPicker.js +28 -0
  88. package/dist/controls/ExtendedPostPicker.js.map +1 -0
  89. package/dist/controls/ExtendedRadioControl.d.ts +12 -0
  90. package/dist/controls/ExtendedRadioControl.js +33 -0
  91. package/dist/controls/ExtendedRadioControl.js.map +1 -0
  92. package/{build → dist}/controls/ExtendedTaxonomyPicker.d.ts +1 -1
  93. package/dist/controls/ExtendedTaxonomyPicker.js +71 -0
  94. package/dist/controls/ExtendedTaxonomyPicker.js.map +1 -0
  95. package/{build → dist}/controls/ExtendedTermPicker.d.ts +1 -1
  96. package/dist/controls/ExtendedTermPicker.js +33 -0
  97. package/dist/controls/ExtendedTermPicker.js.map +1 -0
  98. package/dist/controls/ExtendedTextareaControl.d.ts +12 -0
  99. package/{build → dist}/controls/ExtendedTextareaControl.js +15 -12
  100. package/dist/controls/ExtendedTextareaControl.js.map +1 -0
  101. package/dist/controls/ExtendedUserPicker.js +28 -0
  102. package/dist/controls/ExtendedUserPicker.js.map +1 -0
  103. package/{build → dist}/controls/FullSizeToggleControl.d.ts +6 -4
  104. package/dist/controls/FullSizeToggleControl.js +110 -0
  105. package/dist/controls/FullSizeToggleControl.js.map +1 -0
  106. package/{build → dist}/controls/ImageControl.d.ts +1 -1
  107. package/dist/controls/ImageControl.js +81 -0
  108. package/dist/controls/ImageControl.js.map +1 -0
  109. package/{build → dist}/controls/InspectorPanel.d.ts +4 -3
  110. package/dist/controls/InspectorPanel.js +29 -0
  111. package/dist/controls/InspectorPanel.js.map +1 -0
  112. package/{build → dist}/controls/LazySuggestionsComboboxControl.d.ts +5 -1
  113. package/dist/controls/LazySuggestionsComboboxControl.js +32 -0
  114. package/dist/controls/LazySuggestionsComboboxControl.js.map +1 -0
  115. package/{build → dist}/controls/MultiSelectControl.d.ts +1 -1
  116. package/dist/controls/MultiSelectControl.js +33 -0
  117. package/dist/controls/MultiSelectControl.js.map +1 -0
  118. package/{build → dist}/controls/PickOne.d.ts +1 -1
  119. package/dist/controls/PickOne.js +54 -0
  120. package/dist/controls/PickOne.js.map +1 -0
  121. package/{build → dist}/controls/PromisableComponent.d.ts +2 -2
  122. package/{build → dist}/controls/PromisableComponent.js +14 -11
  123. package/dist/controls/PromisableComponent.js.map +1 -0
  124. package/{build → dist}/controls/ProperLinkControl.d.ts +1 -1
  125. package/dist/controls/ProperLinkControl.js +59 -0
  126. package/dist/controls/ProperLinkControl.js.map +1 -0
  127. package/dist/controls/SimpleToggle.js +11 -0
  128. package/dist/controls/SimpleToggle.js.map +1 -0
  129. package/dist/controls/SortableFlexibleItemsControl.js +18 -0
  130. package/dist/controls/SortableFlexibleItemsControl.js.map +1 -0
  131. package/dist/controls/SortableItemsControl.js +15 -0
  132. package/dist/controls/SortableItemsControl.js.map +1 -0
  133. package/{build → dist}/controls/basicNumericallyIdedItemPicker.d.ts +1 -1
  134. package/dist/controls/basicNumericallyIdedItemPicker.js +37 -0
  135. package/dist/controls/basicNumericallyIdedItemPicker.js.map +1 -0
  136. package/{build → dist}/controls/hooks/useImprovedTokenManager.d.ts +7 -5
  137. package/{build → dist}/controls/hooks/useImprovedTokenManager.js +21 -15
  138. package/dist/controls/hooks/useImprovedTokenManager.js.map +1 -0
  139. package/{build → dist}/controls/hooks/useMultiSingleConversionLayer.d.ts +1 -1
  140. package/dist/controls/hooks/useMultiSingleConversionLayer.js +14 -0
  141. package/dist/controls/hooks/useMultiSingleConversionLayer.js.map +1 -0
  142. package/dist/controls/hooks/useNonRenderingCounter.js +9 -0
  143. package/dist/controls/hooks/useNonRenderingCounter.js.map +1 -0
  144. package/{build → dist}/controls/hooks/useOutputMemoizingFilter.js +7 -4
  145. package/dist/controls/hooks/useOutputMemoizingFilter.js.map +1 -0
  146. package/{build → dist}/controls/hooks/useSortableItemsModel.js +14 -11
  147. package/dist/controls/hooks/useSortableItemsModel.js.map +1 -0
  148. package/{build → dist}/controls/hooks/useSuggestions.js +16 -13
  149. package/dist/controls/hooks/useSuggestions.js.map +1 -0
  150. package/{build → dist}/controls/hooks/useTokenManager.d.ts +5 -3
  151. package/{build → dist}/controls/hooks/useTokenManager.js +37 -34
  152. package/dist/controls/hooks/useTokenManager.js.map +1 -0
  153. package/dist/controls/index.js +41 -0
  154. package/dist/controls/index.js.map +1 -0
  155. package/{build → dist}/controls/shared.js +18 -8
  156. package/dist/controls/shared.js.map +1 -0
  157. package/dist/controls/types.js +3 -0
  158. package/dist/editor/post-featured-image.js +125 -0
  159. package/dist/editor/post-featured-image.js.map +1 -0
  160. package/dist/editor/simple-gutenberg-endpoints-api.js +26 -0
  161. package/dist/editor/simple-gutenberg-endpoints-api.js.map +1 -0
  162. package/{build → dist}/editor/simple-gutenberg-endpoints-impl.js +24 -17
  163. package/dist/editor/simple-gutenberg-endpoints-impl.js.map +1 -0
  164. package/dist/index.js +39 -0
  165. package/dist/index.js.map +1 -0
  166. package/dist/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js +27 -0
  167. package/dist/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js.map +1 -0
  168. package/{build → dist}/lib/gutenberg-api-extensions-state/general-logic.js +12 -8
  169. package/dist/lib/gutenberg-api-extensions-state/general-logic.js.map +1 -0
  170. package/{build → dist}/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js +10 -6
  171. package/dist/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js.map +1 -0
  172. package/{build → dist}/lib/gutenberg-api-extensions-state/snp-logic.js +33 -26
  173. package/dist/lib/gutenberg-api-extensions-state/snp-logic.js.map +1 -0
  174. package/{build → dist}/lib/gutenberg-api-extensions-state.d.ts +2 -2
  175. package/dist/lib/gutenberg-api-extensions-state.js +52 -0
  176. package/dist/lib/gutenberg-api-extensions-state.js.map +1 -0
  177. package/{build → dist}/lib/helpers.d.ts +3 -3
  178. package/{build → dist}/lib/helpers.js +13 -6
  179. package/dist/lib/helpers.js.map +1 -0
  180. package/dist/lib/plaudit-icons/column-1.js +6 -0
  181. package/dist/lib/plaudit-icons/column-1.js.map +1 -0
  182. package/dist/lib/plaudit-icons/column-2.js +6 -0
  183. package/dist/lib/plaudit-icons/column-2.js.map +1 -0
  184. package/dist/lib/plaudit-icons/column-3.js +6 -0
  185. package/dist/lib/plaudit-icons/column-3.js.map +1 -0
  186. package/dist/lib/plaudit-icons/placement-center.js +6 -0
  187. package/dist/lib/plaudit-icons/placement-center.js.map +1 -0
  188. package/dist/lib/plaudit-icons/placement-end.js +6 -0
  189. package/dist/lib/plaudit-icons/placement-end.js.map +1 -0
  190. package/dist/lib/plaudit-icons/placement-start.js +6 -0
  191. package/dist/lib/plaudit-icons/placement-start.js.map +1 -0
  192. package/dist/lib/plaudit-icons/placement-stretch.js +6 -0
  193. package/dist/lib/plaudit-icons/placement-stretch.js.map +1 -0
  194. package/dist/lib/plaudit-icons/plaudit-icon.js +6 -0
  195. package/dist/lib/plaudit-icons/plaudit-icon.js.map +1 -0
  196. package/dist/lib/plaudit-icons/reusable-block-marker.js +6 -0
  197. package/{build → dist}/lib/plaudit-icons/reusable-block-marker.js.map +1 -1
  198. package/dist/lib/plaudit-icons.js +29 -0
  199. package/dist/lib/plaudit-icons.js.map +1 -0
  200. package/{build → dist}/lib/suspense/promise-handlers.js +16 -7
  201. package/dist/lib/suspense/promise-handlers.js.map +1 -0
  202. package/{build → dist}/lib/suspense.d.ts +2 -2
  203. package/dist/lib/suspense.js +31 -0
  204. package/dist/lib/suspense.js.map +1 -0
  205. package/{build → dist}/lib/useful-types.d.ts +4 -1
  206. package/dist/lib/useful-types.js +11 -0
  207. package/dist/lib/useful-types.js.map +1 -0
  208. package/package.json +22 -30
  209. package/src/blocks/MoveError.ts +7 -0
  210. package/src/blocks/PathError.ts +18 -0
  211. package/src/blocks/SNPFlexibleItemsListComponent.tsx +30 -0
  212. package/src/blocks/SNPGroupComponent.tsx +38 -0
  213. package/src/blocks/SNPListComponent.tsx +25 -0
  214. package/src/blocks/SNPTreeContext.tsx +13 -0
  215. package/src/blocks/basic-custom-block-bindings-support.tsx +243 -0
  216. package/src/blocks/common-native-property-constructors.tsx +877 -0
  217. package/src/blocks/conditions.ts +260 -0
  218. package/src/blocks/csnp-api.ts +214 -0
  219. package/src/blocks/data-controller-manager.ts +50 -0
  220. package/src/blocks/data-controller.ts +736 -0
  221. package/src/blocks/hooks/built-in-suspendable-option-protocols/select.ts +51 -0
  222. package/src/blocks/hooks/built-in-suspendable-option-protocols/settings.ts +70 -0
  223. package/src/blocks/hooks/useSuspendableOptions.ts +123 -0
  224. package/src/blocks/index.ts +20 -0
  225. package/src/blocks/layered-styles-api.ts +142 -0
  226. package/src/blocks/layered-styles-impl.ts +94 -0
  227. package/src/blocks/layout/LaidOutProperty.tsx +72 -0
  228. package/src/blocks/layout/LaidOutPropertyRow.tsx +22 -0
  229. package/src/blocks/layout/NodeContext.tsx +54 -0
  230. package/src/blocks/layout/PanelRoot.tsx +33 -0
  231. package/src/blocks/layout/TabsRoot.tsx +56 -0
  232. package/src/blocks/layout/ToolsPanelContext.tsx +22 -0
  233. package/src/blocks/shared-exportable-types.ts +6 -0
  234. package/src/blocks/shared-internal-types.ts +18 -0
  235. package/src/blocks/simple-block.tsx +74 -0
  236. package/src/blocks/simple-native-property-api.ts +170 -0
  237. package/src/blocks/simple-native-property-impl.tsx +329 -0
  238. package/src/blocks/simple-native-property-internal-shared.ts +46 -0
  239. package/src/blocks/snp-api.ts +5 -0
  240. package/src/blocks/snp-data-store.ts +66 -0
  241. package/src/blocks/utilities.ts +80 -0
  242. package/src/controls/AsynchronousFormTokenField.tsx +85 -0
  243. package/src/controls/BaseSortableItemsControl.tsx +84 -0
  244. package/src/controls/ExtendedFormTokenField.tsx +121 -0
  245. package/src/controls/ExtendedPostPicker.ts +57 -0
  246. package/src/controls/ExtendedRadioControl.tsx +107 -0
  247. package/src/controls/ExtendedTaxonomyPicker.tsx +100 -0
  248. package/src/controls/ExtendedTermPicker.tsx +62 -0
  249. package/src/controls/ExtendedTextareaControl.tsx +65 -0
  250. package/src/controls/ExtendedUserPicker.ts +56 -0
  251. package/src/controls/FullSizeToggleControl.tsx +94 -0
  252. package/src/controls/ImageControl.tsx +143 -0
  253. package/src/controls/InspectorPanel.tsx +37 -0
  254. package/src/controls/LazySuggestionsComboboxControl.tsx +62 -0
  255. package/src/controls/MultiSelectControl.tsx +59 -0
  256. package/src/controls/PickOne.tsx +84 -0
  257. package/src/controls/PromisableComponent.tsx +56 -0
  258. package/src/controls/ProperLinkControl.tsx +93 -0
  259. package/src/controls/SimpleToggle.tsx +9 -0
  260. package/src/controls/SortableFlexibleItemsControl.tsx +35 -0
  261. package/src/controls/SortableItemsControl.tsx +18 -0
  262. package/src/controls/basicNumericallyIdedItemPicker.tsx +76 -0
  263. package/src/controls/hooks/useImprovedTokenManager.ts +157 -0
  264. package/src/controls/hooks/useMultiSingleConversionLayer.ts +17 -0
  265. package/src/controls/hooks/useNonRenderingCounter.ts +6 -0
  266. package/src/controls/hooks/useOutputMemoizingFilter.ts +16 -0
  267. package/src/controls/hooks/useSortableItemsModel.ts +196 -0
  268. package/src/controls/hooks/useSuggestions.ts +91 -0
  269. package/src/controls/hooks/useTokenManager.ts +177 -0
  270. package/{build/controls/index.js → src/controls/index.ts} +3 -2
  271. package/src/controls/shared.ts +50 -0
  272. package/src/controls/types.ts +18 -0
  273. package/src/editor/post-featured-image.tsx +161 -0
  274. package/src/editor/simple-gutenberg-endpoints-api.ts +31 -0
  275. package/src/editor/simple-gutenberg-endpoints-impl.ts +119 -0
  276. package/src/index.ts +32 -0
  277. package/src/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.ts +34 -0
  278. package/src/lib/gutenberg-api-extensions-state/general-logic.ts +41 -0
  279. package/src/lib/gutenberg-api-extensions-state/layered-block-styles-logic.ts +42 -0
  280. package/src/lib/gutenberg-api-extensions-state/snp-logic.ts +240 -0
  281. package/src/lib/gutenberg-api-extensions-state.ts +69 -0
  282. package/src/lib/helpers.ts +114 -0
  283. package/src/lib/plaudit-icons/column-1.tsx +6 -0
  284. package/src/lib/plaudit-icons/column-2.tsx +6 -0
  285. package/src/lib/plaudit-icons/column-3.tsx +6 -0
  286. package/src/lib/plaudit-icons/placement-center.tsx +3 -0
  287. package/src/lib/plaudit-icons/placement-end.tsx +3 -0
  288. package/src/lib/plaudit-icons/placement-start.tsx +3 -0
  289. package/src/lib/plaudit-icons/placement-stretch.tsx +3 -0
  290. package/src/lib/plaudit-icons/plaudit-icon.tsx +4 -0
  291. package/src/lib/plaudit-icons/reusable-block-marker.tsx +3 -0
  292. package/{build/lib/plaudit-icons.js → src/lib/plaudit-icons.ts} +1 -1
  293. package/src/lib/suspense/promise-handlers.ts +72 -0
  294. package/src/lib/suspense.tsx +18 -0
  295. package/src/lib/useful-types.ts +65 -0
  296. package/build/blocks/MoveError.js +0 -6
  297. package/build/blocks/MoveError.js.map +0 -1
  298. package/build/blocks/PathError.js.map +0 -1
  299. package/build/blocks/SNPFlexibleItemsListComponent.js +0 -15
  300. package/build/blocks/SNPFlexibleItemsListComponent.js.map +0 -1
  301. package/build/blocks/SNPGroupComponent.js +0 -17
  302. package/build/blocks/SNPGroupComponent.js.map +0 -1
  303. package/build/blocks/SNPListComponent.js +0 -15
  304. package/build/blocks/SNPListComponent.js.map +0 -1
  305. package/build/blocks/SNPTreeContext.js +0 -10
  306. package/build/blocks/SNPTreeContext.js.map +0 -1
  307. package/build/blocks/basic-custom-block-bindings-support.js +0 -150
  308. package/build/blocks/basic-custom-block-bindings-support.js.map +0 -1
  309. package/build/blocks/common-native-property-constructors.d.ts +0 -208
  310. package/build/blocks/common-native-property-constructors.js.map +0 -1
  311. package/build/blocks/conditions.js.map +0 -1
  312. package/build/blocks/data-controller-manager.js.map +0 -1
  313. package/build/blocks/data-controller.js.map +0 -1
  314. package/build/blocks/hooks/built-in-suspendable-option-protocols/select.js.map +0 -1
  315. package/build/blocks/hooks/built-in-suspendable-option-protocols/settings.js.map +0 -1
  316. package/build/blocks/hooks/useSuspendableOptions.js.map +0 -1
  317. package/build/blocks/index.js +0 -15
  318. package/build/blocks/index.js.map +0 -1
  319. package/build/blocks/layered-styles-api.js.map +0 -1
  320. package/build/blocks/layered-styles-impl.js.map +0 -1
  321. package/build/blocks/layout/LaidOutProperty.js +0 -44
  322. package/build/blocks/layout/LaidOutProperty.js.map +0 -1
  323. package/build/blocks/layout/LaidOutPropertyRow.js +0 -12
  324. package/build/blocks/layout/LaidOutPropertyRow.js.map +0 -1
  325. package/build/blocks/layout/NodeContext.js +0 -37
  326. package/build/blocks/layout/NodeContext.js.map +0 -1
  327. package/build/blocks/layout/PanelRoot.js +0 -26
  328. package/build/blocks/layout/PanelRoot.js.map +0 -1
  329. package/build/blocks/layout/TabsRoot.js.map +0 -1
  330. package/build/blocks/layout/ToolsPanelContext.js +0 -18
  331. package/build/blocks/layout/ToolsPanelContext.js.map +0 -1
  332. package/build/blocks/shared-exportable-types.js +0 -2
  333. package/build/blocks/shared-internal-types.js +0 -2
  334. package/build/blocks/simple-block.js +0 -41
  335. package/build/blocks/simple-block.js.map +0 -1
  336. package/build/blocks/simple-native-property-api.js.map +0 -1
  337. package/build/blocks/simple-native-property-impl.js.map +0 -1
  338. package/build/blocks/simple-native-property-internal-shared.js.map +0 -1
  339. package/build/blocks/snp-api.js +0 -2
  340. package/build/blocks/snp-api.js.map +0 -1
  341. package/build/blocks/snp-data-store.js.map +0 -1
  342. package/build/blocks/utilities.js +0 -67
  343. package/build/blocks/utilities.js.map +0 -1
  344. package/build/controls/AsynchronousFormTokenField.js +0 -32
  345. package/build/controls/AsynchronousFormTokenField.js.map +0 -1
  346. package/build/controls/BaseSortableItemsControl.js +0 -22
  347. package/build/controls/BaseSortableItemsControl.js.map +0 -1
  348. package/build/controls/ExtendedFormTokenField.js +0 -58
  349. package/build/controls/ExtendedFormTokenField.js.map +0 -1
  350. package/build/controls/ExtendedPostPicker.js +0 -22
  351. package/build/controls/ExtendedPostPicker.js.map +0 -1
  352. package/build/controls/ExtendedRadioControl.d.ts +0 -10
  353. package/build/controls/ExtendedRadioControl.js +0 -30
  354. package/build/controls/ExtendedRadioControl.js.map +0 -1
  355. package/build/controls/ExtendedTaxonomyPicker.js +0 -68
  356. package/build/controls/ExtendedTaxonomyPicker.js.map +0 -1
  357. package/build/controls/ExtendedTermPicker.js +0 -27
  358. package/build/controls/ExtendedTermPicker.js.map +0 -1
  359. package/build/controls/ExtendedTextareaControl.d.ts +0 -14
  360. package/build/controls/ExtendedTextareaControl.js.map +0 -1
  361. package/build/controls/ExtendedUserPicker.js +0 -22
  362. package/build/controls/ExtendedUserPicker.js.map +0 -1
  363. package/build/controls/FullSizeToggleControl.js +0 -70
  364. package/build/controls/FullSizeToggleControl.js.map +0 -1
  365. package/build/controls/ImageControl.js +0 -76
  366. package/build/controls/ImageControl.js.map +0 -1
  367. package/build/controls/InspectorPanel.js +0 -26
  368. package/build/controls/InspectorPanel.js.map +0 -1
  369. package/build/controls/LazySuggestionsComboboxControl.js +0 -29
  370. package/build/controls/LazySuggestionsComboboxControl.js.map +0 -1
  371. package/build/controls/MultiSelectControl.js +0 -30
  372. package/build/controls/MultiSelectControl.js.map +0 -1
  373. package/build/controls/PickOne.js +0 -48
  374. package/build/controls/PickOne.js.map +0 -1
  375. package/build/controls/PromisableComponent.js.map +0 -1
  376. package/build/controls/ProperLinkControl.js +0 -56
  377. package/build/controls/ProperLinkControl.js.map +0 -1
  378. package/build/controls/SimpleToggle.js +0 -8
  379. package/build/controls/SimpleToggle.js.map +0 -1
  380. package/build/controls/SortableFlexibleItemsControl.js +0 -15
  381. package/build/controls/SortableFlexibleItemsControl.js.map +0 -1
  382. package/build/controls/SortableItemsControl.js +0 -12
  383. package/build/controls/SortableItemsControl.js.map +0 -1
  384. package/build/controls/basicNumericallyIdedItemPicker.js +0 -34
  385. package/build/controls/basicNumericallyIdedItemPicker.js.map +0 -1
  386. package/build/controls/hooks/useImprovedTokenManager.js.map +0 -1
  387. package/build/controls/hooks/useMultiSingleConversionLayer.js +0 -11
  388. package/build/controls/hooks/useMultiSingleConversionLayer.js.map +0 -1
  389. package/build/controls/hooks/useNonRenderingCounter.js +0 -6
  390. package/build/controls/hooks/useNonRenderingCounter.js.map +0 -1
  391. package/build/controls/hooks/useOutputMemoizingFilter.js.map +0 -1
  392. package/build/controls/hooks/useSortableItemsModel.js.map +0 -1
  393. package/build/controls/hooks/useSuggestions.js.map +0 -1
  394. package/build/controls/hooks/useTokenManager.js.map +0 -1
  395. package/build/controls/index.js.map +0 -1
  396. package/build/controls/shared.js.map +0 -1
  397. package/build/controls/types.js +0 -2
  398. package/build/editor/post-featured-image.js +0 -122
  399. package/build/editor/post-featured-image.js.map +0 -1
  400. package/build/editor/simple-gutenberg-endpoints-api.js +0 -22
  401. package/build/editor/simple-gutenberg-endpoints-api.js.map +0 -1
  402. package/build/editor/simple-gutenberg-endpoints-impl.js.map +0 -1
  403. package/build/index.js +0 -22
  404. package/build/index.js.map +0 -1
  405. package/build/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js +0 -23
  406. package/build/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js.map +0 -1
  407. package/build/lib/gutenberg-api-extensions-state/general-logic.js.map +0 -1
  408. package/build/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js.map +0 -1
  409. package/build/lib/gutenberg-api-extensions-state/snp-logic.js.map +0 -1
  410. package/build/lib/gutenberg-api-extensions-state.js +0 -48
  411. package/build/lib/gutenberg-api-extensions-state.js.map +0 -1
  412. package/build/lib/helpers.js.map +0 -1
  413. package/build/lib/plaudit-icons/column-1.js +0 -3
  414. package/build/lib/plaudit-icons/column-1.js.map +0 -1
  415. package/build/lib/plaudit-icons/column-2.js +0 -3
  416. package/build/lib/plaudit-icons/column-2.js.map +0 -1
  417. package/build/lib/plaudit-icons/column-3.js +0 -3
  418. package/build/lib/plaudit-icons/column-3.js.map +0 -1
  419. package/build/lib/plaudit-icons/placement-center.js +0 -3
  420. package/build/lib/plaudit-icons/placement-center.js.map +0 -1
  421. package/build/lib/plaudit-icons/placement-end.js +0 -3
  422. package/build/lib/plaudit-icons/placement-end.js.map +0 -1
  423. package/build/lib/plaudit-icons/placement-start.js +0 -3
  424. package/build/lib/plaudit-icons/placement-start.js.map +0 -1
  425. package/build/lib/plaudit-icons/placement-stretch.js +0 -3
  426. package/build/lib/plaudit-icons/placement-stretch.js.map +0 -1
  427. package/build/lib/plaudit-icons/plaudit-icon.js +0 -3
  428. package/build/lib/plaudit-icons/plaudit-icon.js.map +0 -1
  429. package/build/lib/plaudit-icons/reusable-block-marker.js +0 -3
  430. package/build/lib/plaudit-icons.js.map +0 -1
  431. package/build/lib/suspense/promise-handlers.js.map +0 -1
  432. package/build/lib/suspense.js +0 -14
  433. package/build/lib/suspense.js.map +0 -1
  434. package/build/lib/useful-types.js +0 -7
  435. package/build/lib/useful-types.js.map +0 -1
  436. /package/{build → dist}/blocks/MoveError.d.ts +0 -0
  437. /package/{build → dist}/blocks/PathError.d.ts +0 -0
  438. /package/{build → dist}/blocks/SNPTreeContext.d.ts +0 -0
  439. /package/{build → dist}/blocks/basic-custom-block-bindings-support.d.ts +0 -0
  440. /package/{build → dist}/blocks/conditions.d.ts +0 -0
  441. /package/{build → dist}/blocks/data-controller-manager.d.ts +0 -0
  442. /package/{build → dist}/blocks/data-controller.d.ts +0 -0
  443. /package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/select.d.ts +0 -0
  444. /package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/settings.d.ts +0 -0
  445. /package/{build → dist}/blocks/index.d.ts +0 -0
  446. /package/{build → dist}/blocks/layered-styles-impl.d.ts +0 -0
  447. /package/{build → dist}/blocks/layout/LaidOutPropertyRow.d.ts +0 -0
  448. /package/{build → dist}/blocks/layout/PanelRoot.d.ts +0 -0
  449. /package/{build → dist}/blocks/layout/TabsRoot.d.ts +0 -0
  450. /package/{build → dist}/blocks/layout/ToolsPanelContext.d.ts +0 -0
  451. /package/{build → dist}/blocks/shared-exportable-types.d.ts +0 -0
  452. /package/{build → dist}/blocks/shared-exportable-types.js.map +0 -0
  453. /package/{build → dist}/blocks/shared-internal-types.d.ts +0 -0
  454. /package/{build → dist}/blocks/shared-internal-types.js.map +0 -0
  455. /package/{build → dist}/blocks/simple-native-property-impl.d.ts +0 -0
  456. /package/{build → dist}/blocks/simple-native-property-internal-shared.d.ts +0 -0
  457. /package/{build → dist}/blocks/snp-data-store.d.ts +0 -0
  458. /package/{build → dist}/controls/ExtendedPostPicker.d.ts +0 -0
  459. /package/{build → dist}/controls/ExtendedUserPicker.d.ts +0 -0
  460. /package/{build → dist}/controls/SimpleToggle.d.ts +0 -0
  461. /package/{build → dist}/controls/SortableFlexibleItemsControl.d.ts +0 -0
  462. /package/{build → dist}/controls/SortableItemsControl.d.ts +0 -0
  463. /package/{build → dist}/controls/hooks/useNonRenderingCounter.d.ts +0 -0
  464. /package/{build → dist}/controls/hooks/useOutputMemoizingFilter.d.ts +0 -0
  465. /package/{build → dist}/controls/hooks/useSortableItemsModel.d.ts +0 -0
  466. /package/{build → dist}/controls/hooks/useSuggestions.d.ts +0 -0
  467. /package/{build → dist}/controls/index.d.ts +0 -0
  468. /package/{build → dist}/controls/shared.d.ts +0 -0
  469. /package/{build → dist}/controls/types.d.ts +0 -0
  470. /package/{build → dist}/controls/types.js.map +0 -0
  471. /package/{build → dist}/editor/post-featured-image.d.ts +0 -0
  472. /package/{build → dist}/editor/simple-gutenberg-endpoints-api.d.ts +0 -0
  473. /package/{build → dist}/editor/simple-gutenberg-endpoints-impl.d.ts +0 -0
  474. /package/{build → dist}/index.d.ts +0 -0
  475. /package/{build → dist}/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.d.ts +0 -0
  476. /package/{build → dist}/lib/gutenberg-api-extensions-state/general-logic.d.ts +0 -0
  477. /package/{build → dist}/lib/gutenberg-api-extensions-state/layered-block-styles-logic.d.ts +0 -0
  478. /package/{build → dist}/lib/gutenberg-api-extensions-state/snp-logic.d.ts +0 -0
  479. /package/{build → dist}/lib/plaudit-icons/column-1.d.ts +0 -0
  480. /package/{build → dist}/lib/plaudit-icons/column-2.d.ts +0 -0
  481. /package/{build → dist}/lib/plaudit-icons/column-3.d.ts +0 -0
  482. /package/{build → dist}/lib/plaudit-icons/placement-center.d.ts +0 -0
  483. /package/{build → dist}/lib/plaudit-icons/placement-end.d.ts +0 -0
  484. /package/{build → dist}/lib/plaudit-icons/placement-start.d.ts +0 -0
  485. /package/{build → dist}/lib/plaudit-icons/placement-stretch.d.ts +0 -0
  486. /package/{build → dist}/lib/plaudit-icons/plaudit-icon.d.ts +0 -0
  487. /package/{build → dist}/lib/plaudit-icons/reusable-block-marker.d.ts +0 -0
  488. /package/{build → dist}/lib/plaudit-icons.d.ts +0 -0
  489. /package/{build → dist}/lib/suspense/promise-handlers.d.ts +0 -0
@@ -1,41 +1,48 @@
1
- import { useSelect } from "@wordpress/data";
2
- import { useMemo } from "@wordpress/element";
3
- import { applyFilters } from "@wordpress/hooks";
4
- import { useNodeContext } from "../layout/NodeContext";
5
- import { isPromise, use } from "../../lib/suspense/promise-handlers";
6
- import { blockEditorStore } from "../utilities";
7
- export function isSuspendableOptions(thing) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isSuspendableOptions = isSuspendableOptions;
7
+ exports.useSuspendableOptions = useSuspendableOptions;
8
+ const data_1 = require("@wordpress/data");
9
+ const element_1 = require("@wordpress/element");
10
+ const hooks_1 = require("@wordpress/hooks");
11
+ const NodeContext_1 = require("../layout/NodeContext");
12
+ const promise_handlers_1 = require("../../lib/suspense/promise-handlers");
13
+ const utilities_1 = require("../utilities");
14
+ function isSuspendableOptions(thing) {
8
15
  return typeof thing === 'string' || thing instanceof URL;
9
16
  }
10
- export function useSuspendableOptions(config) {
11
- const rawOptions = isPromise(config.options) ? use(config.options) : config.options;
17
+ function useSuspendableOptions(config) {
18
+ const rawOptions = (0, promise_handlers_1.isPromise)(config.options) ? (0, promise_handlers_1.use)(config.options) : config.options;
12
19
  if (isSuspendableOptions(rawOptions)) {
13
20
  const selectorInfo = toSuspendableOptionsURI(rawOptions);
14
- const nodeContext = useNodeContext("get contextual options");
21
+ const nodeContext = (0, NodeContext_1.useNodeContext)("get contextual options");
15
22
  const blockClientId = nodeContext.dataController.blockClientId;
16
- const usesBlockAttributes = applyFilters('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.usesBlockAttributes', selectorInfo.searchParams.has("attributes"), selectorInfo, blockClientId);
23
+ const usesBlockAttributes = (0, hooks_1.applyFilters)('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.usesBlockAttributes', selectorInfo.searchParams.has("attributes"), selectorInfo, blockClientId);
17
24
  // This if/else statement is present because actually passing attributes through to the selectors represents a SEVERE relative performance hit.
18
25
  // At a minimum, it causes at leat one additional full execution pass, and, due to how data can be cached, that pass is almost guaranteed to turn into at least one full render.
19
26
  let mapSelect;
20
27
  if (usesBlockAttributes) {
21
28
  mapSelect = wrappedSelect => {
22
- const selected = wrappedSelect(blockEditorStore);
29
+ const selected = wrappedSelect(utilities_1.blockEditorStore);
23
30
  return [selected.getBlockAttributes(blockClientId), selected.getBlockName(blockClientId)];
24
31
  };
25
32
  }
26
33
  else {
27
- mapSelect = wrappedSelect => [null, wrappedSelect(blockEditorStore).getBlockName(blockClientId)];
34
+ mapSelect = wrappedSelect => [null, wrappedSelect(utilities_1.blockEditorStore).getBlockName(blockClientId)];
28
35
  }
29
- const [attributes, blockName] = useSelect(mapSelect, [blockClientId]);
30
- const potentiallyPromisedOptions = applyFilters('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.resolve', undefined, selectorInfo, { attributes, blockName });
36
+ const [attributes, blockName] = (0, data_1.useSelect)(mapSelect, [blockClientId]);
37
+ const potentiallyPromisedOptions = (0, hooks_1.applyFilters)('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.resolve', undefined, selectorInfo, { attributes, blockName });
31
38
  if (potentiallyPromisedOptions === undefined) {
32
39
  throw new Error(`Encountered an unsupported suspendable option request: ${rawOptions}`);
33
40
  }
34
41
  // selectorInfo is guaranteed to be valid by virtue of the checks performed while getting the handler
35
42
  const options = potentiallyPromisedOptions && typeof potentiallyPromisedOptions === 'object' && 'then' in potentiallyPromisedOptions
36
- ? use(potentiallyPromisedOptions) : potentiallyPromisedOptions;
37
- return useMemo(() => {
38
- return applyFilters('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.postProcess', options, selectorInfo, { attributes, blockName });
43
+ ? (0, promise_handlers_1.use)(potentiallyPromisedOptions) : potentiallyPromisedOptions;
44
+ return (0, element_1.useMemo)(() => {
45
+ return (0, hooks_1.applyFilters)('plaudit.gutenbergApiExtensions.simpleNativeProperties.suspendableOptions.postProcess', options, selectorInfo, { attributes, blockName });
39
46
  }, [options, selectorInfo, attributes, blockName]);
40
47
  }
41
48
  else {
@@ -46,7 +53,7 @@ function toSuspendableOptionsURI(rawOptions) {
46
53
  if (rawOptions instanceof URL) {
47
54
  return rawOptions;
48
55
  }
49
- return useMemo(() => {
56
+ return (0, element_1.useMemo)(() => {
50
57
  try {
51
58
  const res = new URL(rawOptions);
52
59
  if (res.protocol === "select:") {
@@ -104,8 +111,8 @@ function toSuspendableOptionsURI(rawOptions) {
104
111
  return new URL(correctedRawOptions);
105
112
  }, [rawOptions]);
106
113
  }
107
- import initSelectProtocol from "./built-in-suspendable-option-protocols/select";
108
- import initSettingsProtocol from "./built-in-suspendable-option-protocols/settings";
109
- initSelectProtocol();
110
- initSettingsProtocol();
114
+ const select_1 = __importDefault(require("./built-in-suspendable-option-protocols/select"));
115
+ const settings_1 = __importDefault(require("./built-in-suspendable-option-protocols/settings"));
116
+ (0, select_1.default)();
117
+ (0, settings_1.default)();
111
118
  //# sourceMappingURL=useSuspendableOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuspendableOptions.js","sourceRoot":"","sources":["../../../src/blocks/hooks/useSuspendableOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.registerCustomBlockBindingsSource = exports.installCustomBlockBindingsSupport = void 0;
18
+ exports.installGutenbergBlockExtensions = installGutenbergBlockExtensions;
19
+ __exportStar(require("./layered-styles-api"), exports);
20
+ __exportStar(require("./simple-block"), exports);
21
+ __exportStar(require("./shared-exportable-types"), exports);
22
+ __exportStar(require("./simple-native-property-api"), exports);
23
+ __exportStar(require("./snp-data-store"), exports);
24
+ __exportStar(require("./utilities"), exports);
25
+ var basic_custom_block_bindings_support_1 = require("./basic-custom-block-bindings-support");
26
+ Object.defineProperty(exports, "installCustomBlockBindingsSupport", { enumerable: true, get: function () { return basic_custom_block_bindings_support_1.installCustomBlockBindingsSupport; } });
27
+ Object.defineProperty(exports, "registerCustomBlockBindingsSource", { enumerable: true, get: function () { return basic_custom_block_bindings_support_1.registerCustomBlockBindingsSource; } });
28
+ const index_1 = require("../index");
29
+ /**
30
+ * @deprecated use installGutenbergExtensions() instead
31
+ */
32
+ function installGutenbergBlockExtensions() {
33
+ (0, index_1.installGutenbergExtensions)();
34
+ }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiBA,0EAEC;AAnBD,uDAAqC;AACrC,iDAA+B;AAC/B,4DAA0C;AAC1C,+DAA6C;AAC7C,mDAAiC;AACjC,8CAA4B;AAI5B,6FAA0I;AAAnH,wJAAA,iCAAiC,OAAA;AAAE,wJAAA,iCAAiC,OAAA;AAG3F,oCAAoD;AAEpD;;GAEG;AACH,SAAgB,+BAA+B;IAC9C,IAAA,kCAA0B,GAAE,CAAC;AAC9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ColorPaletteCSNPConfig, CommonPropertyConfig, ToggleGroupPropertyCSNPConfig, TogglePropertyCSNPConfig } from "./common-native-property-constructors";
1
+ import type { ColorPaletteCSNPConfig, CommonPropertyConfig, ToggleGroupPropertyCSNPConfig, TogglePropertyCSNPConfig } from "./csnp-api";
2
2
  import type { PickableOptions } from "../controls";
3
3
  import type { BlockName } from "../lib/useful-types";
4
4
  import { SimpleNativeProperty } from "./simple-native-property-api";
@@ -9,7 +9,7 @@ type BaseLayeredBlockStyleLayer = {
9
9
  condition?: SimpleNativeProperty['condition'];
10
10
  alwaysStore?: boolean | undefined;
11
11
  styleProperty?: string;
12
- } & Pick<CommonPropertyConfig<any, any, any>, 'help'>;
12
+ } & Pick<CommonPropertyConfig<any, any, any, any>, 'help'>;
13
13
  type LayeredBlockStyleColorLayer = BaseLayeredBlockStyleLayer & {
14
14
  picker: 'color' | 'colorPalette';
15
15
  clearable?: boolean | undefined;
@@ -1,7 +1,11 @@
1
- import { installGutenbergExtensions } from "../index";
2
- import { registerSimpleNativeProperties } from "./simple-native-property-api";
3
- export function registerLayeredBlockStyles(config) {
4
- registerSimpleNativeProperties({
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerLayeredBlockStyles = registerLayeredBlockStyles;
4
+ exports.installLayeredBlockStylesSupport = installLayeredBlockStylesSupport;
5
+ const index_1 = require("../index");
6
+ const simple_native_property_api_1 = require("./simple-native-property-api");
7
+ function registerLayeredBlockStyles(config) {
8
+ (0, simple_native_property_api_1.registerSimpleNativeProperties)({
5
9
  block: config.block,
6
10
  properties: {
7
11
  group: 'layered-styles',
@@ -93,7 +97,7 @@ export function registerLayeredBlockStyles(config) {
93
97
  /**
94
98
  * @deprecated use installGutenbergExtensions() instead.
95
99
  */
96
- export function installLayeredBlockStylesSupport() {
97
- installGutenbergExtensions();
100
+ function installLayeredBlockStylesSupport() {
101
+ (0, index_1.installGutenbergExtensions)();
98
102
  }
99
103
  //# sourceMappingURL=layered-styles-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layered-styles-api.js","sourceRoot":"","sources":["../../src/blocks/layered-styles-api.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { select } from "@wordpress/data";
2
- import { makeHasPropClassName } from "./simple-native-property-impl";
3
- import { SNPDataStore } from "./snp-data-store";
4
- export class LayeredStylesDataStore extends SNPDataStore {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LayeredStylesDataStore = void 0;
4
+ exports.extractStyleLayerValueFromAttributes = extractStyleLayerValueFromAttributes;
5
+ const data_1 = require("@wordpress/data");
6
+ const simple_native_property_impl_1 = require("./simple-native-property-impl");
7
+ const snp_data_store_1 = require("./snp-data-store");
8
+ class LayeredStylesDataStore extends snp_data_store_1.SNPDataStore {
5
9
  getAttribute(name) {
6
10
  if (name.startsWith("__plaudit/")) {
7
11
  return this.blockEditProps.attributes[name];
8
12
  }
9
- const layer = select('plaudit/gutenberg-api-extensions').blockStylesLayer(this.blockEditProps.name, name);
13
+ const layer = (0, data_1.select)('plaudit/gutenberg-api-extensions').blockStylesLayer(this.blockEditProps.name, name);
10
14
  if (layer === undefined) {
11
15
  return undefined;
12
16
  }
@@ -17,7 +21,7 @@ export class LayeredStylesDataStore extends SNPDataStore {
17
21
  this.blockEditProps.setAttributes({ [name]: rawValue });
18
22
  return;
19
23
  }
20
- const layers = select('plaudit/gutenberg-api-extensions').blockStylesLayers(this.blockEditProps.name);
24
+ const layers = (0, data_1.select)('plaudit/gutenberg-api-extensions').blockStylesLayers(this.blockEditProps.name);
21
25
  if (layers === undefined) {
22
26
  return;
23
27
  }
@@ -32,7 +36,7 @@ export class LayeredStylesDataStore extends SNPDataStore {
32
36
  if (value.length) {
33
37
  this.blockEditProps.setAttributes({
34
38
  className: "styleProperty" in layer && layer.styleProperty
35
- ? `${currentLayerClassPrefix}${value} ${makeHasPropClassName(layer.name)}`
39
+ ? `${currentLayerClassPrefix}${value} ${(0, simple_native_property_impl_1.makeHasPropClassName)(layer.name)}`
36
40
  : `${currentLayerClassPrefix}${value}`
37
41
  });
38
42
  }
@@ -66,7 +70,7 @@ export class LayeredStylesDataStore extends SNPDataStore {
66
70
  if (value) {
67
71
  layerClasses.push(`style-${name}-${value}`);
68
72
  if ('styleProperty' in currentLayer && currentLayer.styleProperty) {
69
- const hasPropClassName = makeHasPropClassName(currentLayer.name);
73
+ const hasPropClassName = (0, simple_native_property_impl_1.makeHasPropClassName)(currentLayer.name);
70
74
  if (!nonLayerClasses.includes(hasPropClassName)) {
71
75
  nonLayerClasses.push(hasPropClassName);
72
76
  }
@@ -75,7 +79,8 @@ export class LayeredStylesDataStore extends SNPDataStore {
75
79
  return [...nonLayerClasses, ...layerClasses.sort()].join(' ');
76
80
  }
77
81
  }
78
- export function extractStyleLayerValueFromAttributes(attributes, layerName) {
82
+ exports.LayeredStylesDataStore = LayeredStylesDataStore;
83
+ function extractStyleLayerValueFromAttributes(attributes, layerName) {
79
84
  const className = attributes['className'];
80
85
  if (typeof className !== 'string') {
81
86
  return undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layered-styles-impl.js","sourceRoot":"","sources":["../../src/blocks/layered-styles-impl.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { HydratedSimpleNativeProperty } from "../simple-native-property-api";
2
- import React from "react";
3
2
  export type LaidOutPropertyProps = {
4
3
  property: HydratedSimpleNativeProperty;
5
4
  inToolsPanel?: boolean;
6
5
  };
7
- export declare const LaidOutProperty: React.NamedExoticComponent<LaidOutPropertyProps>;
6
+ export declare const LaidOutProperty: import("react").NamedExoticComponent<LaidOutPropertyProps>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LaidOutProperty = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const components_1 = require("@wordpress/components");
6
+ const element_1 = require("@wordpress/element");
7
+ const NodeContext_1 = require("./NodeContext");
8
+ const ToolsPanelContext_1 = require("./ToolsPanelContext");
9
+ const react_1 = require("react");
10
+ exports.LaidOutProperty = (0, element_1.memo)(function ({ property, inToolsPanel }) {
11
+ const nodeContext = (0, NodeContext_1.useNodeContext)("render a node");
12
+ if (nodeContext.rendered) {
13
+ return (0, jsx_runtime_1.jsx)(ActualPropertyRenderer, { property: property, nodeContext: nodeContext, inToolsPanel: inToolsPanel });
14
+ }
15
+ return null;
16
+ });
17
+ const divStyle = { flex: "1" };
18
+ function ActualPropertyRenderer({ property, nodeContext, inToolsPanel }) {
19
+ const [{ Slot: Label, Fill: LabelFill }, { Slot: Messages, Fill: MessagesFill }] = (0, element_1.useMemo)(() => [
20
+ (0, components_1.createSlotFill)(Symbol("laid-out-property-label")),
21
+ (0, components_1.createSlotFill)(Symbol("laid-out-property-messages"))
22
+ ], []);
23
+ const onBlur = (0, element_1.useCallback)(() => nodeContext.validateNode(), [nodeContext]);
24
+ const classNames = ["plaudit-snp-laid-out-property"];
25
+ if (property.required) {
26
+ classNames.push("required");
27
+ }
28
+ if (nodeContext.validationError) {
29
+ classNames.push("has-validation-error");
30
+ }
31
+ const transformedValue = (0, element_1.useMemo)(() => property.transformer ? property.transformer.to(nodeContext.value) : nodeContext.value, [nodeContext.value, property.transformer]);
32
+ const onChangeWithTransform = (0, element_1.useCallback)((value) => {
33
+ nodeContext.setValue(property.transformer ? property.transformer.from(value) : value);
34
+ }, [nodeContext.setValue, property.transformer]);
35
+ const commonParts = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(LabelFill, { children: [property.label, property.required && (0, jsx_runtime_1.jsx)("span", { className: "requiredMarker", children: "*" })] }), (0, jsx_runtime_1.jsx)(MessagesFill, { children: nodeContext.validationError && (0, jsx_runtime_1.jsx)("div", { className: "validation-error-message", children: nodeContext.validationError.split(/\r?\n/gi).map(line => (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [line, (0, jsx_runtime_1.jsx)("br", {})] })) }) })] });
36
+ if (inToolsPanel) {
37
+ const toolsPanelContext = (0, ToolsPanelContext_1.useToolsPanelContext)("render a tools-panel property");
38
+ return (0, jsx_runtime_1.jsxs)(components_1.__experimentalToolsPanelItem, { label: property.label ?? property.name, hasValue: (0, element_1.useCallback)(() => transformedValue !== undefined, [transformedValue]), onSelect: (0, element_1.useCallback)(() => nodeContext.setValue(toolsPanelContext.getDefaultValue(property.name)), [nodeContext.setValue, toolsPanelContext, property.name]), onDeselect: (0, element_1.useCallback)(() => nodeContext.setValue(undefined), [nodeContext.setValue]), resetAllFilter: (0, element_1.useCallback)((a) => a ? Object.fromEntries(Object.entries(a).filter(([name]) => name !== property.name)) : a, [property.name]), children: [commonParts, renderPropInner(property, onBlur, classNames, transformedValue, onChangeWithTransform, { Label, Messages })] });
39
+ }
40
+ else {
41
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [commonParts, renderPropInner(property, onBlur, classNames, transformedValue, onChangeWithTransform, { Label, Messages })] });
42
+ }
43
+ }
44
+ function renderPropInner(property, onBlur, classNames, transformedValue, onChangeWithTransform, slots) {
45
+ return (0, jsx_runtime_1.jsx)("div", { style: divStyle, className: classNames.join(" "), onBlur: onBlur, "data-plaudit-snp-control-type": property.controlType, children: (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: typeof property.initializing === 'function' ? property.initializing() : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), " ", property.initializing] }), children: (0, jsx_runtime_1.jsx)(property.control, { value: transformedValue, onChange: onChangeWithTransform, slots: slots }) }) });
46
+ }
47
+ //# sourceMappingURL=LaidOutProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaidOutProperty.js","sourceRoot":"","sources":["../../../src/blocks/layout/LaidOutProperty.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LaidOutPropertyRow = LaidOutPropertyRow;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const LaidOutProperty_1 = require("./LaidOutProperty");
6
+ const NodeContext_1 = require("./NodeContext");
7
+ function LaidOutPropertyRow({ property, dataController, inToolsPanel }) {
8
+ if (Array.isArray(property)) {
9
+ return (0, jsx_runtime_1.jsxs)("div", { style: { display: "flex", flexWrap: "wrap", columnGap: "8px" }, children: [...property.map(prop => (0, jsx_runtime_1.jsx)(NodeContext_1.NodeContextWrapper, { nodeName: prop.name, dataController: dataController, children: (0, jsx_runtime_1.jsx)(LaidOutProperty_1.LaidOutProperty, { property: prop, inToolsPanel: inToolsPanel }) }, prop.name))] });
10
+ }
11
+ else {
12
+ return (0, jsx_runtime_1.jsx)(NodeContext_1.NodeContextWrapper, { nodeName: property.name, dataController: dataController, children: (0, jsx_runtime_1.jsx)(LaidOutProperty_1.LaidOutProperty, { property: property, inToolsPanel: inToolsPanel }) });
13
+ }
14
+ }
15
+ //# sourceMappingURL=LaidOutPropertyRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaidOutPropertyRow.js","sourceRoot":"","sources":["../../../src/blocks/layout/LaidOutPropertyRow.tsx"],"names":[],"mappings":";;AAOA,gDAcC;;AArBD,uDAAkD;AAClD,+CAAiD;AAMjD,SAAgB,kBAAkB,CACjC,EAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAyG;IAEhJ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,iCAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,gBACnE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,uBAAC,gCAAkB,IAAiB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,YAC/G,uBAAC,iCAAe,IAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI,IADd,IAAI,CAAC,IAAI,CAEtC,CAAC,IACjB,CAAC;IACR,CAAC;SAAM,CAAC;QACP,OAAO,uBAAC,gCAAkB,IAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,YACjF,uBAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAI,GAC/C,CAAC;IACvB,CAAC;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { DataController, NodePath } from "../simple-native-property-api";
2
- import React, { type ReactNode } from "react";
2
+ import type { ReactNode } from "react";
3
3
  type NodeContextValueActions = {
4
4
  setValue(value: any): void;
5
5
  addNode(name: string | number, value?: any): void;
@@ -20,7 +20,7 @@ export type NodeContextValue = {
20
20
  validationError?: string;
21
21
  value: any;
22
22
  } & NodeContextValueActions;
23
- export declare const NodeContext: React.Context<NodeContextValue | undefined>;
23
+ export declare const NodeContext: import("react").Context<NodeContextValue | undefined>;
24
24
  export declare function useNodeContext(action: string): NodeContextValue;
25
25
  export declare function DescendantNodeContext({ nodeName, children }: {
26
26
  nodeName: string | number;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeContext = void 0;
4
+ exports.useNodeContext = useNodeContext;
5
+ exports.DescendantNodeContext = DescendantNodeContext;
6
+ exports.RootNodeContext = RootNodeContext;
7
+ exports.NodeContextWrapper = NodeContextWrapper;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const element_1 = require("@wordpress/element");
10
+ exports.NodeContext = (0, element_1.createContext)(undefined);
11
+ function makeNodeContextValue(path, dataController) {
12
+ const value = dataController.getValue(path);
13
+ const node = dataController.getNode(path);
14
+ // We memoize actions separately to reduce later re-render calls
15
+ const actions = (0, element_1.useMemo)(() => ({
16
+ setValue: value => dataController.setValue(path, value),
17
+ addNode: (name, value) => dataController.addNode([...path, name], value),
18
+ removeNode: name => dataController.removeNode([...path, name]),
19
+ moveNode: indices => dataController.moveNode(path, indices),
20
+ validateNode: () => dataController.dispatch({ type: "validateNode", path })
21
+ }), [path, dataController]);
22
+ // We can skip testing path and dataController because we're checking actions
23
+ return (0, element_1.useMemo)(() => ({ path, dataController, rendered: node.rendered ?? true, validationError: node.validationError, value, ...actions }), [actions, node, value]);
24
+ }
25
+ function useNodeContext(action) {
26
+ const currentContext = (0, element_1.useContext)(exports.NodeContext);
27
+ if (currentContext === undefined) {
28
+ throw new Error(`Cannot ${action} outside of an existing NodeContext`);
29
+ }
30
+ return currentContext;
31
+ }
32
+ function DescendantNodeContext({ nodeName, children }) {
33
+ const currentContext = useNodeContext("create a descendant NodeContext");
34
+ const descendantPath = (0, element_1.useMemo)(() => currentContext.path.toSpliced(currentContext.path.length, 0, nodeName), [nodeName, currentContext.path]);
35
+ return (0, jsx_runtime_1.jsx)(exports.NodeContext.Provider, { value: makeNodeContextValue(descendantPath, currentContext.dataController), children: children });
36
+ }
37
+ function RootNodeContext({ nodeName, dataController, children }) {
38
+ const path = (0, element_1.useMemo)(() => [nodeName], [nodeName]);
39
+ return (0, jsx_runtime_1.jsx)(exports.NodeContext.Provider, { value: makeNodeContextValue(path, dataController), children: children });
40
+ }
41
+ function NodeContextWrapper(props) {
42
+ return props.dataController !== undefined ? RootNodeContext(props) : DescendantNodeContext(props);
43
+ }
44
+ //# sourceMappingURL=NodeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeContext.js","sourceRoot":"","sources":["../../../src/blocks/layout/NodeContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PanelRoot = PanelRoot;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const block_editor_1 = require("@wordpress/block-editor");
6
+ const components_1 = require("@wordpress/components");
7
+ const icons_1 = require("@wordpress/icons");
8
+ const conditions_1 = require("../conditions");
9
+ const LaidOutPropertyRow_1 = require("./LaidOutPropertyRow");
10
+ const simple_native_property_internal_shared_1 = require("../simple-native-property-internal-shared");
11
+ const SNPTreeContext_1 = require("../SNPTreeContext");
12
+ function PanelRoot({ panel }) {
13
+ const { condition, properties, raw, ...panelBodyProps } = panel;
14
+ const dataController = (0, SNPTreeContext_1.useSNPTreeContext)("construct a PanelRoot");
15
+ if (!dataController.hasRenderedNode(properties)
16
+ || !(0, conditions_1.testCondition)(condition, dataController.makePropertyValueResolver([]))) {
17
+ return null;
18
+ }
19
+ const bonusProps = dataController.hasValidationErrors(properties)
20
+ ? { icon: icons_1.cautionFilled, buttonProps: { className: "has-validation-error components-panel__body-toggle" } } //We have to include the default button class for some insane reason
21
+ : {};
22
+ const panelGroup = panel.group === 'layered-styles' ? 'styles' : panel.group;
23
+ const children = properties.map(property => {
24
+ const key = Array.isArray(property) ? property.map(prop => prop.name).join('-') : property.name;
25
+ return (0, jsx_runtime_1.jsx)(LaidOutPropertyRow_1.LaidOutPropertyRow, { property: property, dataController: dataController }, key);
26
+ });
27
+ return (0, jsx_runtime_1.jsx)(block_editor_1.InspectorControls, { group: panelGroup, children: (raw ?? !(0, simple_native_property_internal_shared_1.isRootLevelPanelGroup)(panelGroup)) ? children : (0, jsx_runtime_1.jsx)(components_1.PanelBody, { ...panelBodyProps, ...bonusProps, children: children }) });
28
+ }
29
+ //# sourceMappingURL=PanelRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelRoot.js","sourceRoot":"","sources":["../../../src/blocks/layout/PanelRoot.tsx"],"names":[],"mappings":";;AAYA,8BAoBC;;AAhCD,0DAA0D;AAC1D,sDAAgD;AAChD,4CAA+C;AAE/C,8CAA4C;AAC5C,6DAAwD;AACxD,sGAA2G;AAC3G,sDAAoD;AAKpD,SAAgB,SAAS,CAAC,EAAC,KAAK,EAAiB;IAChD,MAAM,EAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,cAAc,EAAC,GAAG,KAAK,CAAC;IAE9D,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,uBAAuB,CAAC,CAAC;IAElE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC;WAC3C,CAAC,IAAA,0BAAa,EAAC,SAAS,EAAE,cAAc,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAwD,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC;QACrH,CAAC,CAAC,EAAC,IAAI,EAAE,qBAAa,EAAE,WAAW,EAAE,EAAC,SAAS,EAAE,oDAAoD,EAAC,EAAC,CAAC,oEAAoE;QAC5K,CAAC,CAAC,EAAE,CAAC;IAEN,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChG,OAAO,uBAAC,uCAAkB,IAAW,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,IAAvD,GAAG,CAAuD,CAAC;IAC5F,CAAC,CAAC,CAAC;IACH,OAAO,uBAAC,gCAAiB,IAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAA,8DAAqB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAC,sBAAS,OAAK,cAAc,KAAM,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,GAAI,CAAC;AAC3L,CAAC"}
@@ -1,19 +1,22 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { InspectorControls } from "@wordpress/block-editor";
3
- import { PanelBody, TabPanel } from "@wordpress/components";
4
- import { testCondition } from "../conditions";
5
- import { LaidOutPropertyRow } from "./LaidOutPropertyRow";
6
- import { useSNPTreeContext } from "../SNPTreeContext";
7
- export function TabsRoot({ tabs, tabGroupName }) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TabsRoot = TabsRoot;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const block_editor_1 = require("@wordpress/block-editor");
6
+ const components_1 = require("@wordpress/components");
7
+ const conditions_1 = require("../conditions");
8
+ const LaidOutPropertyRow_1 = require("./LaidOutPropertyRow");
9
+ const SNPTreeContext_1 = require("../SNPTreeContext");
10
+ function TabsRoot({ tabs, tabGroupName }) {
8
11
  //TODO: It should be possible to use immer to make this entire thing memoized
9
- const dataController = useSNPTreeContext("construct a TabsRoot component");
12
+ const dataController = (0, SNPTreeContext_1.useSNPTreeContext)("construct a TabsRoot component");
10
13
  const instantiatedTabs = instantiateTabsForRenderCycle(tabs, dataController);
11
14
  if (instantiatedTabs.every(tab => tab.disabled)) {
12
15
  return null;
13
16
  }
14
- return _jsx(InspectorControls, { group: tabGroupName, children: _jsx(TabPanel, { tabs: instantiatedTabs, children: tab => tab.panels
17
+ return (0, jsx_runtime_1.jsx)(block_editor_1.InspectorControls, { group: tabGroupName, children: (0, jsx_runtime_1.jsx)(components_1.TabPanel, { tabs: instantiatedTabs, children: tab => tab.panels
15
18
  .filter(([rendered]) => rendered)
16
- .map(([_, panel, key]) => _jsx(RenderedTabPanel, { dataController: dataController, panel: panel }, key)) }) });
19
+ .map(([_, panel, key]) => (0, jsx_runtime_1.jsx)(RenderedTabPanel, { dataController: dataController, panel: panel }, key)) }) });
17
20
  }
18
21
  //TODO: Figure out how to memoize this (will probably need some sort of panel/tab-based cache in the dataController)
19
22
  function instantiateTabsForRenderCycle(hydratedTabs, dataController) {
@@ -24,7 +27,7 @@ function instantiateTabsForRenderCycle(hydratedTabs, dataController) {
24
27
  let index = 0;
25
28
  let hasValidationErrors = false;
26
29
  for (const panel of hydratedTab.items) {
27
- const rendered = dataController.hasRenderedNode(panel.properties) && (panel.condition === undefined || testCondition(panel.condition, propertyValueResolver));
30
+ const rendered = dataController.hasRenderedNode(panel.properties) && (panel.condition === undefined || (0, conditions_1.testCondition)(panel.condition, propertyValueResolver));
28
31
  if (rendered) {
29
32
  if (!hasValidationErrors && dataController.hasValidationErrors(panel.properties)) {
30
33
  hasValidationErrors = true;
@@ -39,7 +42,7 @@ function instantiateTabsForRenderCycle(hydratedTabs, dataController) {
39
42
  function RenderedTabPanel({ dataController, panel }) {
40
43
  // We have already tested the rendered-ness of the Panel earlier, so there's no need to redo it
41
44
  const { condition, properties, raw, ...panelBodyProps } = panel;
42
- const children = properties.map(property => _jsx(LaidOutPropertyRow, { property: property, dataController: dataController }));
43
- return raw ? children : _jsx(PanelBody, { ...panelBodyProps, opened: panelBodyProps.title ? undefined : true, children: children });
45
+ const children = properties.map(property => (0, jsx_runtime_1.jsx)(LaidOutPropertyRow_1.LaidOutPropertyRow, { property: property, dataController: dataController }));
46
+ return raw ? children : (0, jsx_runtime_1.jsx)(components_1.PanelBody, { ...panelBodyProps, opened: panelBodyProps.title ? undefined : true, children: children });
44
47
  }
45
48
  //# sourceMappingURL=TabsRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsRoot.js","sourceRoot":"","sources":["../../../src/blocks/layout/TabsRoot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolsPanelContext = void 0;
4
+ exports.makeToolsPanelContextValue = makeToolsPanelContextValue;
5
+ exports.useToolsPanelContext = useToolsPanelContext;
6
+ const element_1 = require("@wordpress/element");
7
+ exports.ToolsPanelContext = (0, element_1.createContext)(undefined);
8
+ let nextPanelId = 0;
9
+ function makeToolsPanelContextValue(actualDefaultValues) {
10
+ const panelId = (0, element_1.useMemo)(() => (nextPanelId++).toString(), []);
11
+ return (0, element_1.useMemo)(() => ({
12
+ panelId,
13
+ getDefaultValue: (name) => actualDefaultValues[name]
14
+ }), [panelId, actualDefaultValues]);
15
+ }
16
+ function useToolsPanelContext(action) {
17
+ const currentContext = (0, element_1.useContext)(exports.ToolsPanelContext);
18
+ if (currentContext === undefined) {
19
+ throw new Error(`Cannot ${action} outside of an existing ToolsPanelContext`);
20
+ }
21
+ return currentContext;
22
+ }
23
+ //# sourceMappingURL=ToolsPanelContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsPanelContext.js","sourceRoot":"","sources":["../../../src/blocks/layout/ToolsPanelContext.tsx"],"names":[],"mappings":";;;AAOA,gEAMC;AAED,oDAMC;AArBD,gDAAsE;AAIzD,QAAA,iBAAiB,GAAG,IAAA,uBAAa,EAAmC,SAAS,CAAC,CAAC;AAE5F,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,SAAgB,0BAA0B,CAAC,mBAA+C;IACzF,MAAM,OAAO,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,IAAA,iBAAO,EAAC,GAAG,EAAE,CAAC,CAAC;QACrB,OAAO;QACP,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;KAC5D,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAc;IAClD,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,yBAAiB,CAAC,CAAC;IACrD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,2CAA2C,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shared-exportable-types.js.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shared-internal-types.js.map
@@ -1,7 +1,7 @@
1
1
  import { type Block, type BlockConfiguration, type BlockSaveProps } from "@wordpress/blocks";
2
2
  import { InnerBlocks } from "@wordpress/block-editor";
3
3
  import type { UseBlockProps } from "@wordpress/block-editor/components/use-block-props";
4
- import React, { type ComponentType, type ReactNode } from "react";
4
+ import type { ComponentType, ReactNode } from "react";
5
5
  export type SimpleBlockTypeConfig<TAttributes extends Record<string, any>> = {
6
6
  icon?: BlockConfiguration<TAttributes>['icon'] | undefined;
7
7
  defaults?: Required<TAttributes>;