@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
@@ -0,0 +1,110 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ToggleGroupControlOptionWithOptionalIcon = void 0;
40
+ exports.FullSizeToggleControl = FullSizeToggleControl;
41
+ const jsx_runtime_1 = require("react/jsx-runtime");
42
+ const components_1 = require("@wordpress/components");
43
+ const element_1 = require("@wordpress/element");
44
+ const i18n_1 = require("@wordpress/i18n");
45
+ const icons = __importStar(require("@wordpress/icons"));
46
+ const plauditIcons = __importStar(require("../lib/plaudit-icons"));
47
+ const html_react_parser_1 = __importDefault(require("html-react-parser"));
48
+ function FullSizeToggleControl({ componentConfig, label, help, onChange, switchCfg, value }) {
49
+ const [switchLabels, style] = (0, element_1.useMemo)(() => {
50
+ let switchLabels;
51
+ if (typeof switchCfg === 'string') {
52
+ switchCfg = { type: switchCfg };
53
+ }
54
+ switch (switchCfg.type) {
55
+ case "showHide":
56
+ switchLabels = { onLabel: "Show", offLabel: "Hide" };
57
+ break;
58
+ case "yesNo":
59
+ switchLabels = { onLabel: "Yes", offLabel: "No" };
60
+ break;
61
+ default:
62
+ if (switchCfg.type !== undefined) {
63
+ console.error("Invalid switch type:", switchCfg.type);
64
+ }
65
+ switchLabels = { onLabel: "On", offLabel: "Off" };
66
+ break;
67
+ }
68
+ if (switchCfg.onLabel) {
69
+ switchLabels.onLabel = switchCfg.onLabel;
70
+ }
71
+ if (switchCfg.offLabel) {
72
+ switchLabels.offLabel = switchCfg.offLabel;
73
+ }
74
+ return [{ onLabel: i18nSwitchLabel(switchLabels.onLabel), offLabel: i18nSwitchLabel(switchLabels.offLabel) }, { width: switchCfg.narrow ? "min-content" : undefined }];
75
+ }, [switchCfg]);
76
+ const safeOnChange = (0, element_1.useCallback)((v) => onChange(v === "true"), [onChange]);
77
+ return (0, jsx_runtime_1.jsxs)(components_1.__experimentalToggleGroupControl, { ...componentConfig, value: value ? "true" : "false", label: label, help: help, isBlock: true, onChange: safeOnChange, style: style, children: [(0, jsx_runtime_1.jsx)(exports.ToggleGroupControlOptionWithOptionalIcon, { value: "true", label: switchLabels.onLabel }, "true"), (0, jsx_runtime_1.jsx)(exports.ToggleGroupControlOptionWithOptionalIcon, { value: "false", label: switchLabels.offLabel }, "false")] });
78
+ }
79
+ exports.ToggleGroupControlOptionWithOptionalIcon = (0, element_1.memo)(function ({ value, label }) {
80
+ if (typeof label === 'string') {
81
+ return (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControlOption, { value: value, label: label });
82
+ }
83
+ else {
84
+ const icon = resolveIcon(label.icon);
85
+ if (icon) {
86
+ return (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControlOptionIcon, { value: value, label: label.text, icon: icon, "aria-label": label.tooltip });
87
+ }
88
+ else {
89
+ return (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControlOption, { value: value, label: label.text, "aria-label": label.tooltip, showTooltip: !!label.tooltip });
90
+ }
91
+ }
92
+ });
93
+ function i18nSwitchLabel(label) {
94
+ return typeof label === 'string' ? (0, i18n_1.__)(label) : { ...label, text: (0, i18n_1.__)(label.text) };
95
+ }
96
+ function resolveIcon(icon) {
97
+ if (typeof icon !== 'string') {
98
+ return icon;
99
+ }
100
+ if (icon.startsWith("plaudit:")) {
101
+ return plauditIcons[icon.substring(8)];
102
+ }
103
+ else if (icon.startsWith("<svg")) {
104
+ return (0, html_react_parser_1.default)(icon);
105
+ }
106
+ else {
107
+ return icons[icon];
108
+ }
109
+ }
110
+ //# sourceMappingURL=FullSizeToggleControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullSizeToggleControl.js","sourceRoot":"","sources":["../../src/controls/FullSizeToggleControl.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Attachment, type Context } from "@wordpress/core-data";
2
2
  import type { ProvidedSlot } from "../blocks";
3
- import { type ReactNode } from "react";
3
+ import type { ReactNode } from "react";
4
4
  export type ImageData = {
5
5
  media?: {
6
6
  id?: number;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MINIMAL_STORAGE_FIELDS = exports.RETAINED_FIELDS = void 0;
4
+ exports.ImageControl = ImageControl;
5
+ exports.filterImageValueForSaving = filterImageValueForSaving;
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const block_editor_1 = require("@wordpress/block-editor");
8
+ const components_1 = require("@wordpress/components");
9
+ const core_data_1 = require("@wordpress/core-data");
10
+ const data_1 = require("@wordpress/data");
11
+ const element_1 = require("@wordpress/element");
12
+ const i18n_1 = require("@wordpress/i18n");
13
+ function ImageControl(props) {
14
+ const { label, help, value, Label, Messages } = props;
15
+ const media = (0, data_1.useSelect)(select => value?.media?.id ? select(core_data_1.store).getMedia(value.media.id) : undefined, [value]);
16
+ const { baseControlProps, controlProps } = (0, components_1.useBaseControlProps)({ label: Label ? (0, jsx_runtime_1.jsx)(Label, {}) : label, help });
17
+ return (0, jsx_runtime_1.jsxs)(components_1.BaseControl, { ...baseControlProps, children: [(0, jsx_runtime_1.jsx)("div", { ...controlProps, className: "editor-post-featured-image", children: media
18
+ ? (0, jsx_runtime_1.jsx)(ImageControlWithUploadedImage, { ...props, media: media })
19
+ : (0, jsx_runtime_1.jsx)(ImageControlWithoutUploadedImage, { ...props, media: media }) }), Messages && (0, jsx_runtime_1.jsx)(Messages, {})] });
20
+ }
21
+ exports.RETAINED_FIELDS = ["id", "filename", "url", "date", "mime", "height", "width", "orientation"];
22
+ exports.MINIMAL_STORAGE_FIELDS = ['id', 'url'];
23
+ function filterImageValueForSaving(attachment, storage) {
24
+ if (storage === 'slim') {
25
+ return Object.fromEntries(Object.entries(attachment).filter((entry) => exports.MINIMAL_STORAGE_FIELDS.includes(entry[0])));
26
+ }
27
+ return Object.fromEntries(Object.entries(attachment).filter((entry) => exports.RETAINED_FIELDS.includes(entry[0])));
28
+ }
29
+ const ALLOWED_TYPES = ['image'];
30
+ function ImageControlWithUploadedImage(props) {
31
+ const { includeFocalPointPicker, media, storage, onChange, value } = props;
32
+ const onFPPChange = (0, element_1.useCallback)((pos) => onChange(mergeInUpdatedValuePart(value, 'pos', { x: pos.x * 100, y: pos.y * 100 }, storage)), [onChange, value]);
33
+ const onSelect = (0, element_1.useCallback)((media) => onChange(mergeInUpdatedValuePart(value, 'media', media, storage)), [onChange, value]);
34
+ const renderOpenButton = (0, element_1.useCallback)(({ open }) => (0, jsx_runtime_1.jsx)(components_1.Button, { onClick: open, variant: "secondary", children: (0, i18n_1.__)('Replace image', 'plaudit') }), []);
35
+ const clear = (0, element_1.useCallback)(() => onChange(undefined), [onChange]);
36
+ const fppValue = (0, element_1.useMemo)(() => ({
37
+ x: (value?.pos?.x ?? 50) / 100,
38
+ y: (value?.pos?.y ?? 50) / 100
39
+ }), [value?.pos?.x, value?.pos?.y]);
40
+ let fppOrMedia;
41
+ if (includeFocalPointPicker !== false) {
42
+ fppOrMedia = (0, jsx_runtime_1.jsx)(components_1.FocalPointPicker, { onChange: onFPPChange, url: value?.media?.url ?? '', value: fppValue });
43
+ }
44
+ else {
45
+ fppOrMedia = (0, jsx_runtime_1.jsx)(components_1.ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: (0, jsx_runtime_1.jsx)("img", { src: value?.media?.url ?? '', alt: "The currently-selected image." }) });
46
+ }
47
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [value?.media?.url && fppOrMedia, (0, jsx_runtime_1.jsxs)(block_editor_1.MediaUploadCheck, { children: [(0, jsx_runtime_1.jsx)(block_editor_1.MediaUpload, { title: (0, i18n_1.__)('Replace image', 'plaudit'), value: value?.media?.id ?? 0, onSelect: onSelect, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }), (0, jsx_runtime_1.jsx)(components_1.Button, { onClick: clear, isDestructive: true, children: (0, i18n_1.__)('Remove image', 'plaudit') })] })] });
48
+ }
49
+ function ImageControlWithoutUploadedImage(props) {
50
+ const { media, onChange, storage, value } = props;
51
+ const onSelect = (0, element_1.useCallback)((media) => onChange(mergeInUpdatedValuePart(value, 'media', media, storage)), [onChange, value]);
52
+ const renderOpenButton = (0, element_1.useCallback)(({ open }) => ((0, jsx_runtime_1.jsxs)(components_1.Button, { className: !value?.media?.id ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview', onClick: open, children: [!value?.media?.id && (0, i18n_1.__)('Choose an image', 'plaudit'), media &&
53
+ (0, jsx_runtime_1.jsx)(components_1.ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: (0, jsx_runtime_1.jsx)("img", { src: media.source_url, alt: "The currently-selected image." }) })] })), [media, value?.media?.id]);
54
+ return (0, jsx_runtime_1.jsx)(block_editor_1.MediaUploadCheck, { children: (0, jsx_runtime_1.jsx)(block_editor_1.MediaUpload, { onSelect: onSelect, value: value?.media?.id ?? 0, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }) });
55
+ }
56
+ function parsePossiblyUndefinedFloat(string) {
57
+ return typeof string === 'number' ? string : (string !== undefined ? parseFloat(string) : undefined);
58
+ }
59
+ function mergeInUpdatedValuePart(value, partName, part, storage) {
60
+ if (part === undefined) {
61
+ return undefined;
62
+ }
63
+ if (partName === 'media') {
64
+ const prt = part;
65
+ if (prt.id === 0) {
66
+ return undefined;
67
+ }
68
+ else if (value === undefined) {
69
+ return { media: filterImageValueForSaving(prt, storage ?? 'default'), pos: { x: 50, y: 50 } };
70
+ }
71
+ return { media: filterImageValueForSaving(prt, storage ?? 'default'), pos: { x: value.pos?.x ?? 50, y: value.pos?.y ?? 50 } };
72
+ }
73
+ else if (value === undefined || !value.media?.id) {
74
+ return undefined;
75
+ }
76
+ else {
77
+ const prt = part;
78
+ return { media: value.media, pos: { x: prt.x ?? value.pos?.x ?? 50, y: prt.y ?? value.pos?.y ?? 50 } };
79
+ }
80
+ }
81
+ //# sourceMappingURL=ImageControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { InspectorControls } from "@wordpress/block-editor";
2
- import type { PanelBodyProps } from "@wordpress/components/build-types/panel/types";
3
- import type { TabPanelProps } from "@wordpress/components/build-types/tab-panel/types";
4
- import { type ReactNode } from "react";
2
+ import { PanelBody, TabPanel } from "@wordpress/components";
3
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
4
+ type TabPanelProps = ComponentPropsWithoutRef<typeof TabPanel>;
5
+ type PanelBodyProps = ComponentPropsWithoutRef<typeof PanelBody>;
5
6
  type Tab = TabPanelProps['tabs'][number] & {
6
7
  items: ReactNode;
7
8
  };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectorPanel = InspectorPanel;
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 element_1 = require("@wordpress/element");
8
+ const react_1 = require("react");
9
+ function InspectorPanel(props) {
10
+ if (props["tabbed"]) {
11
+ const { tabbed, tabs, group, condition, ...tabPanelProps } = props;
12
+ return (0, jsx_runtime_1.jsx)(block_editor_1.InspectorControls, { group: group, children: (0, jsx_runtime_1.jsx)(components_1.TabPanel, { ...tabPanelProps, tabs: condition === undefined || condition() ? tabs : [], children: tab => (0, jsx_runtime_1.jsx)(components_1.Panel, { children: tab.items }) }) });
13
+ }
14
+ else {
15
+ return (0, jsx_runtime_1.jsx)(InspectorPanelPanel, { ...props });
16
+ }
17
+ }
18
+ function InspectorPanelPanel(props) {
19
+ const { tabbed, raw, group, condition, children, onToggle, initialOpen, ...panelBodyProps } = props;
20
+ const [wasOpened, setWasOpened] = (0, element_1.useState)(initialOpen);
21
+ const memoOnToggle = (0, react_1.useCallback)((value) => {
22
+ onToggle?.(value);
23
+ setWasOpened(value);
24
+ }, [onToggle, setWasOpened]);
25
+ return (0, jsx_runtime_1.jsx)(block_editor_1.InspectorControls, { group: group, children: raw
26
+ ? (condition === undefined || condition() ? children : [])
27
+ : (0, jsx_runtime_1.jsx)(components_1.PanelBody, { ...panelBodyProps, children: condition === undefined || condition() ? children : [], onToggle: memoOnToggle, initialOpen: wasOpened }) });
28
+ }
29
+ //# sourceMappingURL=InspectorPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../src/controls/InspectorPanel.tsx"],"names":[],"mappings":";;AAaA,wCAWC;;AAxBD,0DAA0D;AAC1D,sDAAiE;AACjE,gDAA4C;AAE5C,iCAAiF;AASjF,SAAgB,cAAc,CAAC,KAA0B;IACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,EAAC,GAAG,KAAK,CAAC;QACjE,OAAO,uBAAC,gCAAiB,IAAC,KAAK,EAAE,KAAK,YACrC,uBAAC,qBAAQ,OAAK,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YACnF,GAAG,CAAC,EAAE,CAAC,uBAAC,kBAAK,cAAG,GAAW,CAAC,KAAK,GAAS,GACjC,GACQ,CAAC;IACtB,CAAC;SAAM,CAAC;QACP,OAAO,uBAAC,mBAAmB,OAAK,KAAK,GAAI,CAAC;IAC3C,CAAC;AACF,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAqC;IACjE,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,cAAc,EAAC,GAAG,KAAK,CAAC;IAClG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,kBAAQ,EAAC,WAAW,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,CAAC,KAAc,EAAE,EAAE;QACnD,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAClB,YAAY,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7B,OAAO,uBAAC,gCAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;YACpD,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,CAAC,CAAC,uBAAC,sBAAS,OAAK,cAAc,EAAE,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,GAAI,GAClJ,CAAC;AACN,CAAC"}
@@ -1,6 +1,10 @@
1
- import type { ComboboxControlOption, ComboboxControlProps } from "@wordpress/components/build-types/combobox-control/types";
1
+ import { ComboboxControl } from "@wordpress/components";
2
+ import type { ComponentProps } from "react";
3
+ type ComboboxControlProps = ComponentProps<typeof ComboboxControl>;
4
+ type ComboboxControlOption = ComboboxControlProps['options'][number];
2
5
  export type LazySuggestionsComboboxControlProps = Omit<ComboboxControlProps, 'options'> & {
3
6
  getOption(value?: string): Promise<ComboboxControlOption | undefined>;
4
7
  getSuggestions(filterValue: string): Promise<ComboboxControlOption[]>;
5
8
  };
6
9
  export declare function LazySuggestionsComboboxControl(props: LazySuggestionsComboboxControlProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LazySuggestionsComboboxControl = LazySuggestionsComboboxControl;
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 i18n_1 = require("@wordpress/i18n");
8
+ const useSuggestions_1 = require("./hooks/useSuggestions");
9
+ function LazySuggestionsComboboxControl(props) {
10
+ const { help, allowReset, className, ...passthroughProps } = props;
11
+ const { hasLoadingError, isInitializing, isLoading, suggestions, input, setInput } = (0, useSuggestions_1.useSuggestions)(props.value, props);
12
+ const [hasFocus, setHasFocus] = (0, element_1.useState)(false);
13
+ const options = (0, element_1.useMemo)(() => hasFocus && input.length < 2 || (isLoading && !suggestions.length) ? [{ label: input, value: "", disabled: true }] : suggestions, [hasFocus, input, isLoading, suggestions]);
14
+ const onFocus = (0, element_1.useCallback)((e) => setHasFocus(e.currentTarget.contains(e.target)), [setHasFocus]);
15
+ const onBlur = (0, element_1.useCallback)((e) => setHasFocus(e.currentTarget.contains(e.relatedTarget)), [setHasFocus]);
16
+ const onFilterValueChange = (0, element_1.useCallback)((value) => {
17
+ if (props.onFilterValueChange) {
18
+ props.onFilterValueChange(value);
19
+ }
20
+ setInput(value);
21
+ }, [props.onFilterValueChange, setInput]);
22
+ const __experimentalRenderItem = (0, element_1.useMemo)(() => {
23
+ return hasFocus && input.length < 2 ? () => (0, i18n_1.__)("Start typing to see suggestions")
24
+ : (isLoading && !suggestions.length ? () => (0, i18n_1.__)("Loading suggestions") : undefined);
25
+ }, [hasFocus, input, isLoading, suggestions]);
26
+ if (isInitializing) {
27
+ return (0, jsx_runtime_1.jsxs)(components_1.BaseControl, { ...props, children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), (0, jsx_runtime_1.jsx)("span", { children: (0, i18n_1.__)(`Initializing ${props.label}`) })] });
28
+ }
29
+ const needsGreyOut = input.length < 2 || (isLoading && !suggestions.length);
30
+ return (0, jsx_runtime_1.jsxs)("div", { onFocus: onFocus, onBlur: onBlur, children: [isLoading && (0, jsx_runtime_1.jsx)(components_1.Spinner, { style: { marginTop: "30px", position: "absolute", right: "40px" }, "aria-label": "Updating Suggestions" }), (0, jsx_runtime_1.jsx)(components_1.ComboboxControl, { ...passthroughProps, className: className ? `${className}${needsGreyOut ? " insufficient-input-length" : ""}` : (needsGreyOut ? "insufficient-input-length" : undefined), help: help, options: options, onFilterValueChange: onFilterValueChange, __experimentalRenderItem: __experimentalRenderItem, allowReset: allowReset !== false }), hasLoadingError && (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("span", { className: "components-base-control__help", children: (0, i18n_1.__)("An error occurred while updating suggestions") }) })] });
31
+ }
32
+ //# sourceMappingURL=LazySuggestionsComboboxControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LazySuggestionsComboboxControl.js","sourceRoot":"","sources":["../../src/controls/LazySuggestionsComboboxControl.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { SNPControlSlots } from "../blocks";
2
2
  import type { PickableOptions } from "./types";
3
- import { type ReactNode } from "react";
3
+ import type { ReactNode } from "react";
4
4
  type MultiSelectProps = {
5
5
  onChange: (value: string[]) => void;
6
6
  options: PickableOptions<string | number>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiSelectControl = MultiSelectControl;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const element_1 = require("@wordpress/element");
6
+ const ExtendedFormTokenField_1 = require("./ExtendedFormTokenField");
7
+ const shared_1 = require("./shared");
8
+ function MultiSelectControl(props) {
9
+ const { value, options, ...fieldProps } = props;
10
+ const normalizedOptions = (0, element_1.useMemo)(() => (0, shared_1.normalizePickableOptionsToPairs)(options), [options]);
11
+ const validOptions = (0, element_1.useMemo)(() => Object.fromEntries(normalizedOptions.map(opt => [opt[0], (0, shared_1.getLabel)(opt)])), [normalizedOptions]);
12
+ return (0, jsx_runtime_1.jsx)(ExtendedFormTokenField_1.ExtendedFormTokenField, { ...fieldProps, value: value, multiple: true, stringToTokenConverter: (0, element_1.useCallback)(token => {
13
+ if (validOptions[token]) {
14
+ return { value: token, title: validOptions[token], status: ExtendedFormTokenField_1.ValidationState.Valid };
15
+ }
16
+ else {
17
+ const result = /(.+) \(#([^)]+)\)$/.exec(token);
18
+ return result && result[1] && result[2] ? { value: result[2], title: result[1], status: ExtendedFormTokenField_1.ValidationState.Validating } : { value: token, status: ExtendedFormTokenField_1.ValidationState.Invalid };
19
+ }
20
+ }, [validOptions]), suggestionQuery: (0, element_1.useCallback)(input => {
21
+ return normalizedOptions
22
+ .filter(option => option[0]?.toString().includes(input) || (0, shared_1.getLabel)(option).includes(input))
23
+ .map(option => ({ value: option[0]?.toString(), status: ExtendedFormTokenField_1.ValidationState.Valid, title: (0, shared_1.getLabel)(option) }));
24
+ }, [normalizedOptions]), validationQuery: (0, element_1.useCallback)(values => {
25
+ return values
26
+ .filter(value => validOptions[value] !== undefined)
27
+ .map(value => ({ value, title: validOptions[value], status: ExtendedFormTokenField_1.ValidationState.Valid }));
28
+ }, [validOptions]), validator: validator });
29
+ }
30
+ function validator(token) {
31
+ return /\(#([^)]+)\)$/.exec(token)?.[1] !== undefined;
32
+ }
33
+ //# sourceMappingURL=MultiSelectControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectControl.js","sourceRoot":"","sources":["../../src/controls/MultiSelectControl.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { PickableOptions, SimpleBlockControlProps } from "./types";
2
- import { type ReactElement } from "react";
2
+ import type { ReactElement } from "react";
3
3
  export type PickOneFromToggleGroupProps<T extends string> = SimpleBlockControlProps<T, string | number> & {
4
4
  options: PickableOptions<string, {
5
5
  icon: ReactElement;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PickOneFromToggleGroup = PickOneFromToggleGroup;
4
+ exports.PickOneFromSelect = PickOneFromSelect;
5
+ exports.PickOneFromRadios = PickOneFromRadios;
6
+ exports.PickOneFromColors = PickOneFromColors;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const components_1 = require("@wordpress/components");
9
+ const shared_1 = require("./shared");
10
+ function makeSharedRadioAndSelectProps(props) {
11
+ return {
12
+ label: props.label,
13
+ help: props.help,
14
+ onChange(value) {
15
+ props.setAttributes({ [props.attribute]: value });
16
+ },
17
+ options: (0, shared_1.normalizePickableOptionsToPairs)(props.options).map(([value, label]) => ({
18
+ value, label: typeof label === 'string' ? label : label.text
19
+ }))
20
+ };
21
+ }
22
+ function PickOneFromToggleGroup(props) {
23
+ return (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControl, { label: props.label, help: props.help, value: props.attributes[props.attribute], onChange: value => props.setAttributes({ [props.attribute]: value }), children: (0, shared_1.normalizePickableOptionsToPairs)(props.options).map(([value, label]) => typeof label === 'string'
24
+ ? (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControlOption, { value: value, label: label }, value)
25
+ : (0, jsx_runtime_1.jsx)(components_1.__experimentalToggleGroupControlOptionIcon, { value: value, label: label.text, icon: label.icon }, value)) });
26
+ }
27
+ function PickOneFromSelect(props) {
28
+ return (0, jsx_runtime_1.jsx)(components_1.SelectControl, { ...makeSharedRadioAndSelectProps(props), value: props.attributes[props.attribute] });
29
+ }
30
+ function PickOneFromRadios(props) {
31
+ return (0, jsx_runtime_1.jsx)(components_1.RadioControl, { ...makeSharedRadioAndSelectProps(props), selected: props.attributes[props.attribute] });
32
+ }
33
+ function PickOneFromColors(props) {
34
+ const valueToColorMap = new Map();
35
+ const colorToValueMap = new Map();
36
+ const colors = [];
37
+ for (const [value, display] of (0, shared_1.normalizePickableOptionsToPairs)(props.options)) {
38
+ if (typeof display === 'string') {
39
+ colors.push({ color: value, name: display });
40
+ }
41
+ else if (display.color) {
42
+ valueToColorMap.set(value, display.color);
43
+ colorToValueMap.set(display.color, value);
44
+ colors.push({ color: display.color, name: display.text });
45
+ }
46
+ else {
47
+ colors.push({ color: value, name: display.text });
48
+ }
49
+ }
50
+ const currentColor = valueToColorMap.get(props.attributes[props.attribute]) ?? props.attributes[props.attribute];
51
+ const { baseControlProps, controlProps } = (0, components_1.useBaseControlProps)({ label: props.label, help: props.help });
52
+ return (0, jsx_runtime_1.jsx)(components_1.BaseControl, { ...baseControlProps, children: (0, jsx_runtime_1.jsx)(components_1.ColorPalette, { ...controlProps, disableCustomColors: true, onChange: color => props.setAttributes({ [props.attribute]: colorToValueMap.get(color ?? currentColor) ?? color ?? currentColor }), colors: colors, value: currentColor, clearable: false }) });
53
+ }
54
+ //# sourceMappingURL=PickOne.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickOne.js","sourceRoot":"","sources":["../../src/controls/PickOne.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { type ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
2
  export type AwaitedProps<T extends object> = {
3
3
  [K in keyof T]: Awaited<T[K]>;
4
4
  };
@@ -8,4 +8,4 @@ export type PromisableComponentProps<T extends Awaited<object>> = {
8
8
  renderer(props: AwaitedProps<T>): ReactNode;
9
9
  forceSuspend?: boolean;
10
10
  };
11
- export declare function PromisableComponent<T extends Awaited<object>>(props: PromisableComponentProps<T>): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
11
+ export declare function PromisableComponent<T extends Awaited<object>>(props: PromisableComponentProps<T>): string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
@@ -1,20 +1,23 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Spinner } from '@wordpress/components';
3
- import { useRef } from "@wordpress/element";
4
- import { use, wrapPromise } from "../lib/suspense";
5
- import { Suspense } from "react";
6
- export function PromisableComponent(props) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromisableComponent = PromisableComponent;
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 suspense_1 = require("../lib/suspense");
8
+ const react_1 = require("react");
9
+ function PromisableComponent(props) {
7
10
  const wrappedPromise = useWrappedArgsParameter(props.promisedProps, props.forceSuspend);
8
11
  if (!(wrappedPromise instanceof Promise)) {
9
12
  return props.renderer(wrappedPromise);
10
13
  }
11
- return _jsx(Suspense, { fallback: typeof props.initializing === 'function' ? props.initializing() : _jsxs(_Fragment, { children: [_jsx(Spinner, {}), " ", props.initializing] }), children: _jsx(PromisableComponentDelegator, { promise: wrappedPromise, children: props.renderer }) });
14
+ return (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: typeof props.initializing === 'function' ? props.initializing() : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), " ", props.initializing] }), children: (0, jsx_runtime_1.jsx)(PromisableComponentDelegator, { promise: wrappedPromise, children: props.renderer }) });
12
15
  }
13
16
  function PromisableComponentDelegator({ promise, children }) {
14
- return children(use(promise));
17
+ return children((0, suspense_1.use)(promise));
15
18
  }
16
19
  function useWrappedArgsParameter(args, forcePromise) {
17
- const ref = useRef(null);
20
+ const ref = (0, element_1.useRef)(null);
18
21
  if (ref.current === null || args !== ref.current.args || forcePromise !== ref.current.forcePromise) {
19
22
  return (ref.current = { args, forcePromise, value: actuallyWrapTheArgsParameter(args, forcePromise) }).value;
20
23
  }
@@ -34,9 +37,9 @@ function useWrappedArgsParameter(args, forcePromise) {
34
37
  }
35
38
  function actuallyWrapTheArgsParameter(args, forcePromise) {
36
39
  if (!Object.values(args).some(v => v instanceof Promise)) {
37
- return forcePromise ? wrapPromise(Promise.resolve(args)) : args;
40
+ return forcePromise ? (0, suspense_1.wrapPromise)(Promise.resolve(args)) : args;
38
41
  }
39
- return wrapPromise(Promise
42
+ return (0, suspense_1.wrapPromise)(Promise
40
43
  .all(Object.entries(args).map(async ([key, value]) => [key, await value]))
41
44
  .then(entries => Object.fromEntries(entries)));
42
45
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromisableComponent.js","sourceRoot":"","sources":["../../src/controls/PromisableComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { LinkControl } from "@wordpress/block-editor";
2
- import { type ReactNode } from "react";
2
+ import type { ReactNode } from "react";
3
3
  export type ProperLinkControlSetting = LinkControl.Setting & ({
4
4
  type?: 'toggle' | undefined;
5
5
  default?: boolean | undefined;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProperLinkControl = ProperLinkControl;
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 element_1 = require("@wordpress/element");
8
+ const icons_1 = require("@wordpress/icons");
9
+ function ProperLinkControl(props) {
10
+ const { value, onChange, onRemove, label, help, settings = ProperLinkControl.DEFAULT_LINK_SETTINGS, ...linkControlProps } = props;
11
+ const [areAdvancedSettingsVisible, setAreAdvancedSettingsVisible] = (0, element_1.useState)(false);
12
+ const advancedSettingsRef = (0, element_1.useRef)(null);
13
+ (0, element_1.useEffect)(() => {
14
+ const advancedSettingsElement = advancedSettingsRef.current;
15
+ if (!advancedSettingsElement) {
16
+ return () => { };
17
+ }
18
+ const transitionListener = (evt) => {
19
+ if (evt.propertyName === 'max-height' && evt.target === advancedSettingsElement) {
20
+ if (advancedSettingsElement.style.maxHeight === '0px') {
21
+ advancedSettingsElement.style.display = 'none';
22
+ }
23
+ else {
24
+ advancedSettingsElement.style.maxHeight = '';
25
+ }
26
+ }
27
+ };
28
+ advancedSettingsElement.addEventListener('transitionend', transitionListener);
29
+ return () => advancedSettingsElement.addEventListener('transitionend', transitionListener);
30
+ }, [advancedSettingsRef]);
31
+ (0, element_1.useEffect)(() => {
32
+ const advancedSettingsElement = advancedSettingsRef.current;
33
+ if (!advancedSettingsElement) {
34
+ return;
35
+ }
36
+ if (areAdvancedSettingsVisible) {
37
+ advancedSettingsElement.style.display = '';
38
+ advancedSettingsElement.style.maxHeight = advancedSettingsElement.scrollHeight + "px";
39
+ }
40
+ else {
41
+ advancedSettingsElement.style.maxHeight = advancedSettingsElement.scrollHeight + "px";
42
+ // We have to use window.requestAnimationFrame in order to force the maxHeight to be treated as "recalculated".
43
+ // Unless something else on the page goes horribly wrong, there shouldn't be any actual painting done as part of updating the max height.
44
+ window.requestAnimationFrame(() => advancedSettingsElement.style.maxHeight = "0px");
45
+ }
46
+ }, [areAdvancedSettingsVisible, advancedSettingsRef]);
47
+ const safeOnRemove = (0, element_1.useCallback)(() => onRemove !== undefined ? onRemove() : onChange?.(undefined), [onRemove, onChange]);
48
+ const renderableSettings = settings === false ? [] : settings;
49
+ const renderControlBottom = (0, element_1.useCallback)(() => (value?.url && renderableSettings?.length && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Button, { variant: "tertiary", onClick: () => setAreAdvancedSettingsVisible(!areAdvancedSettingsVisible), icon: areAdvancedSettingsVisible ? icons_1.chevronUp : icons_1.chevronDown, iconPosition: "right", text: "Advanced" }), (0, jsx_runtime_1.jsxs)("div", { ref: advancedSettingsRef, style: { display: "none", transition: "max-height 200ms ease-in-out", overflow: "hidden" }, children: [...renderableSettings.map(setting => (0, jsx_runtime_1.jsx)(ProperLinkControlSetting, { setting: setting, onChange: onChange, value: value }))] })] })) || "", [value, settings, areAdvancedSettingsVisible, onChange]);
50
+ return (0, jsx_runtime_1.jsx)(components_1.BaseControl, { id: "", label: props.label, help: props.help, children: (0, jsx_runtime_1.jsx)(block_editor_1.LinkControl, { ...linkControlProps, value: value, onChange: onChange, onRemove: safeOnRemove, settings: ProperLinkControl.DUMMY_LINK_SETTINGS, renderControlBottom: renderControlBottom }) });
51
+ }
52
+ ProperLinkControl.DEFAULT_LINK_SETTINGS = block_editor_1.LinkControl.DEFAULT_LINK_SETTINGS;
53
+ ProperLinkControl.DUMMY_LINK_SETTINGS = [];
54
+ function ProperLinkControlSetting({ value, onChange, setting }) {
55
+ return (0, jsx_runtime_1.jsx)("div", { style: { marginTop: "8px" }, children: setting.type === 'text'
56
+ ? (0, jsx_runtime_1.jsx)(components_1.TextControl, { style: { marginTop: "8px" }, value: value?.[setting.id] ?? setting.default ?? '', label: setting.title, onChange: v => onChange?.({ ...value, [setting.id]: v }) })
57
+ : (0, jsx_runtime_1.jsx)(components_1.ToggleControl, { style: { marginTop: "8px" }, checked: value?.[setting.id] ?? setting.default ?? false, label: setting.title, onChange: v => onChange?.({ ...value, [setting.id]: v }) }) });
58
+ }
59
+ //# sourceMappingURL=ProperLinkControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProperLinkControl.js","sourceRoot":"","sources":["../../src/controls/ProperLinkControl.tsx"],"names":[],"mappings":";;AAUA,8CA8DC;;AAxED,0DAAoD;AACpD,sDAAsF;AACtF,gDAA4E;AAC5E,4CAAwD;AAOxD,SAAgB,iBAAiB,CAAC,KAA6B;IAC9D,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAC5C,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,GAAG,gBAAgB,EAAC,GAAG,KAAK,CAAC;IAClF,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;IACpF,MAAM,mBAAmB,GAAG,IAAA,gBAAM,EAAsB,IAAI,CAAC,CAAC;IAE9D,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC5D,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC9B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,kBAAkB,GAAG,CAAC,GAAoB,EAAE,EAAE;YACnD,IAAI,GAAG,CAAC,YAAY,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;gBACjF,IAAI,uBAAuB,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;oBACvD,uBAAuB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACP,uBAAuB,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC9C,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QACF,uBAAuB,CAAC,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC9E,OAAO,GAAG,EAAE,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC5F,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC5D,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,IAAI,0BAA0B,EAAE,CAAC;YAChC,uBAAuB,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3C,uBAAuB,CAAC,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC,YAAY,GAAG,IAAI,CAAC;QACvF,CAAC;aAAM,CAAC;YACP,uBAAuB,CAAC,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC,YAAY,GAAG,IAAI,CAAC;YACtF,+GAA+G;YAC/G,yIAAyI;YACzI,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACrF,CAAC;IACF,CAAC,EAAE,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1H,MAAM,kBAAkB,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,mBAAmB,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,kBAAkB,EAAE,MAAM,IAAI,6DAC1F,uBAAC,mBAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC,0BAA0B,CAAC,EAC5F,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,iBAAS,CAAC,CAAC,CAAC,mBAAW,EAAE,YAAY,EAAC,OAAO,EAAC,IAAI,EAAC,UAAU,GACtG,EACF,iCAAK,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,8BAA8B,EAAE,QAAQ,EAAE,QAAQ,EAAC,gBAClH,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,uBAAC,wBAAwB,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,IAClH,IACJ,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErE,OAAO,uBAAC,wBAAW,IAAC,EAAE,EAAC,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,YAC7D,uBAAC,0BAAW,OACP,gBAAgB,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,EAC/C,mBAAmB,EAAE,mBAAmB,GACvC,GACW,CAAA;AACf,CAAC;AACD,iBAAiB,CAAC,qBAAqB,GAAG,0BAAW,CAAC,qBAAqB,CAAC;AAC5E,iBAAiB,CAAC,mBAAmB,GAAG,EAA2B,CAAC;AASpE,SAAS,wBAAwB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAgC;IAC1F,OAAO,gCAAK,KAAK,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,YACnC,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,CAAC,CAAC,uBAAC,wBAAW,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EACpG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,GAAI;YACzE,CAAC,CAAC,uBAAC,0BAAa,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EACzG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,GAAI,GAEvE,CAAC;AACR,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimpleToggle = SimpleToggle;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const components_1 = require("@wordpress/components");
6
+ const element_1 = require("@wordpress/element");
7
+ function SimpleToggle(props) {
8
+ const onChange = (0, element_1.useCallback)((checked) => props.setAttributes({ [props.attribute]: checked }), [props.setAttributes, props.attribute]);
9
+ return (0, jsx_runtime_1.jsx)(components_1.ToggleControl, { checked: props.attributes[props.attribute], label: props.label, onChange: onChange });
10
+ }
11
+ //# sourceMappingURL=SimpleToggle.js.map