@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,7 +1,7 @@
1
- import type { BaseControlProps } from "@wordpress/components/build-types/base-control/types";
1
+ import { useBaseControlProps } from "@wordpress/components";
2
2
  import { ProvidedSlot } from "../blocks";
3
- import { type ReactNode } from "react";
4
- export type BaseSortableItemsControlProps<D> = Omit<BaseControlProps, 'children' | 'id'> & {
3
+ import type { ReactNode } from "react";
4
+ export type BaseSortableItemsControlProps<D> = Omit<Parameters<typeof useBaseControlProps>[0], 'children' | 'id'> & {
5
5
  id?: string;
6
6
  value: D[] | undefined;
7
7
  onAdd?: (index: number, value: D) => void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseSortableItemsControl = BaseSortableItemsControl;
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 icons_1 = require("@wordpress/icons");
8
+ const framer_motion_1 = require("framer-motion");
9
+ const useSortableItemsModel_1 = require("./hooks/useSortableItemsModel");
10
+ function BaseSortableItemsControl({ value, onChange, onRemove, onReorder, onAdd, children: makeChild, min, max, label, Label, Messages, buttonsArea, emptyValue, ...wrapperProps }) {
11
+ const { add: addHandler, commit, makeIndexedItemActions, keyedValues } = (0, useSortableItemsModel_1.useSortableItemsModel)({ onAdd, onChange, onRemove, onReorder, emptyValue, value });
12
+ const listLength = value?.length ?? 0;
13
+ const addDisabled = max !== undefined && listLength >= max;
14
+ const removeDisabled = min !== undefined && listLength <= min;
15
+ const { baseControlProps, controlProps } = (0, components_1.useBaseControlProps)({ ...wrapperProps, label: Label ? (0, jsx_runtime_1.jsx)(Label, {}) : label });
16
+ return (0, jsx_runtime_1.jsxs)(components_1.BaseControl, { ...baseControlProps, children: [(0, jsx_runtime_1.jsx)("div", { ...controlProps, className: "plaudit-sortable-items-container", children: (0, jsx_runtime_1.jsx)(framer_motion_1.Reorder.Group, { axis: "y", onReorder: commit, values: keyedValues, children: keyedValues.map((datum, index) => (0, jsx_runtime_1.jsx)(SortableItemsListNode, { addDisabled: addDisabled, datum: datum, index: index, listLength: listLength, makeChild: makeChild, makeIndexedItemActions: makeIndexedItemActions, removeDisabled: removeDisabled }, datum.key)) }) }), buttonsArea({ addHandler, disabled: addDisabled }), Messages && (0, jsx_runtime_1.jsx)(Messages, {})] });
17
+ }
18
+ function SortableItemsListNode({ datum, index, listLength, makeChild, makeIndexedItemActions, removeDisabled }) {
19
+ const { remove, moveUp, moveDown, change } = makeIndexedItemActions(index, datum.key);
20
+ //TODO: If used, implement addBefore and addAfter the same way as moveUp and moveDown
21
+ const dragControls = (0, framer_motion_1.useDragControls)();
22
+ const dragStartHandler = (0, element_1.useCallback)((event) => dragControls.start(event), [dragControls]);
23
+ return (0, jsx_runtime_1.jsxs)(framer_motion_1.Reorder.Item, { className: "plaudit-sortable-items-row", "data-index": index, dragListener: false, dragControls: dragControls, layout: "position", value: datum, children: [(0, jsx_runtime_1.jsxs)("div", { className: "plaudit-sortable-items-ordering-controls", children: [(0, jsx_runtime_1.jsx)("div", { className: "plaudit-sortable-items-ordering-control", children: (0, jsx_runtime_1.jsx)(icons_1.Icon, { icon: icons_1.dragHandle, onPointerDown: dragStartHandler }) }), (0, jsx_runtime_1.jsxs)("div", { className: "plaudit-sortable-items-ordering-control", children: [(0, jsx_runtime_1.jsx)(components_1.Button, { icon: "arrow-up", "aria-label": "Move Up", disabled: index < 1, onClick: moveUp }), (0, jsx_runtime_1.jsx)(components_1.Button, { icon: "arrow-down", "aria-label": "Move Down", disabled: index >= listLength - 1, onClick: moveDown })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "plaudit-sortable-items-inputs plaudit-sortable-items-padded", children: makeChild(datum.value, change, index) }), (0, jsx_runtime_1.jsx)("div", { className: "plaudit-sortable-items-presence-controls plaudit-sortable-items-padded", children: (0, jsx_runtime_1.jsx)(components_1.Button, { icon: "remove", disabled: removeDisabled, onClick: remove, "aria-label": "Remove" }) })] });
24
+ }
25
+ //# sourceMappingURL=BaseSortableItemsControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSortableItemsControl.js","sourceRoot":"","sources":["../../src/controls/BaseSortableItemsControl.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import type { TokenItem } from "@wordpress/components/build-types/form-token-field/types";
2
- import type { MapSelect } from "@wordpress/data/build-types/types";
1
+ import type { MapSelect } from "@wordpress/data/types";
3
2
  import type { SNPControlSlots } from "../blocks";
3
+ import type { TokenItem } from "../lib/useful-types";
4
4
  import { packDisplayTokenText, unpackDisplayedTokenText, ValidationState } from "./hooks/useImprovedTokenManager";
5
5
  export { packDisplayTokenText, unpackDisplayedTokenText, ValidationState };
6
- import { type ReactNode } from "react";
6
+ import type { ReactNode } from "react";
7
7
  type ExtendedFormTokenFieldPropsBase = {
8
8
  label?: string;
9
9
  help?: ReactNode;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationState = exports.unpackDisplayedTokenText = exports.packDisplayTokenText = void 0;
4
+ exports.ExtendedFormTokenField = ExtendedFormTokenField;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const components_1 = require("@wordpress/components");
7
+ const compose_1 = require("@wordpress/compose");
8
+ const data_1 = require("@wordpress/data");
9
+ const element_1 = require("@wordpress/element");
10
+ const i18n_1 = require("@wordpress/i18n");
11
+ const useImprovedTokenManager_1 = require("./hooks/useImprovedTokenManager");
12
+ Object.defineProperty(exports, "packDisplayTokenText", { enumerable: true, get: function () { return useImprovedTokenManager_1.packDisplayTokenText; } });
13
+ Object.defineProperty(exports, "unpackDisplayedTokenText", { enumerable: true, get: function () { return useImprovedTokenManager_1.unpackDisplayedTokenText; } });
14
+ Object.defineProperty(exports, "ValidationState", { enumerable: true, get: function () { return useImprovedTokenManager_1.ValidationState; } });
15
+ const useMultiSingleConversionLayer_1 = require("./hooks/useMultiSingleConversionLayer");
16
+ function ExtendedFormTokenField(props) {
17
+ const [debouncedInput, setDebouncedInput, setImmediateInput, input] = useDebouncedValue('');
18
+ const tokenTitleCacheRef = (0, element_1.useRef)(undefined);
19
+ if (tokenTitleCacheRef.current === undefined) {
20
+ tokenTitleCacheRef.current = new Map();
21
+ }
22
+ const { rawSuggestions, isLoading, hasLoadingError } = (0, data_1.useSelect)((select, registry) => {
23
+ if (!debouncedInput && props.initialSuggestions !== undefined) {
24
+ return { rawSuggestions: props.initialSuggestions, isLoading: false };
25
+ }
26
+ const res = props.suggestionQuery(debouncedInput, select, registry);
27
+ if (res === undefined) {
28
+ return { rawSuggestions: props.initialSuggestions, isLoading: true };
29
+ }
30
+ return { rawSuggestions: res, isLoading: false, hasLoadingError: props.hasLoadingError?.(debouncedInput, select, registry) };
31
+ }, [debouncedInput, props.initialSuggestions, props.suggestionQuery]);
32
+ const suggestions = (0, element_1.useMemo)(() => rawSuggestions?.map(useImprovedTokenManager_1.packDisplayTokenText), [rawSuggestions]);
33
+ const [value, setValue] = (0, useMultiSingleConversionLayer_1.useMultiSingleConversionLayer)(props.value, props.onChange, props.stringToTokenConverter, props.multiple);
34
+ const { currentTokens, isValidating, updateComponentValue, tokenStatusCache } = (0, useImprovedTokenManager_1.useImprovedTokenManager)(value, setValue, props.validationQuery, props.stringToTokenConverter, tokenTitleCacheRef.current);
35
+ // This is just a trick to avoid needing to repeat requests when pulling from suggestions
36
+ (0, element_1.useMemo)(() => {
37
+ if (rawSuggestions) {
38
+ for (const suggestion of rawSuggestions) {
39
+ if (suggestion.status !== undefined && !tokenStatusCache.has(suggestion.value)) {
40
+ tokenStatusCache.set(suggestion.value, suggestion.status);
41
+ }
42
+ }
43
+ }
44
+ }, [rawSuggestions, tokenStatusCache]);
45
+ const { hasValidationError } = (0, data_1.useSelect)((select, registry) => ({
46
+ hasValidationError: props.hasValidationError?.(select, registry)
47
+ }), [props.hasLoadingError, props.hasValidationError]);
48
+ const { help, expandOnFocus = false } = props;
49
+ //TODO: If focus is in field but user hasn't started typing, show a message telling them to start typing
50
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.FormTokenField, { value: currentTokens, label: props.label, placeholder: "Start typing to see suggestions", suggestions: suggestions, onChange: updateComponentValue, displayTransform: (0, element_1.useCallback)((token) => tokenTitleCacheRef.current.get((0, useImprovedTokenManager_1.unpackDisplayedTokenText)(token).value) ?? token, [tokenTitleCacheRef]), maxLength: props.multiple !== false ? props.maxLength : 1, __experimentalValidateInput: props.validator, __experimentalAutoSelectFirstMatch: true, __experimentalExpandOnFocus: expandOnFocus, __experimentalShowHowTo: props.multiple !== false, onInputChange: setDebouncedInput, onFocus: (0, element_1.useCallback)(() => setImmediateInput(input), [input]) }), help && (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("span", { className: "components-form-token-field__help", children: help }) }), hasLoadingError && (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), (0, jsx_runtime_1.jsx)("span", { className: "components-form-token-field__help", children: (0, i18n_1.__)("An Error Occurred While Loading Suggestions") })] }), isLoading && (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), (0, jsx_runtime_1.jsx)("span", { className: "components-form-token-field__help", children: (0, i18n_1.__)("Updating Suggestions") })] }), hasValidationError && (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), (0, jsx_runtime_1.jsx)("span", { className: "components-form-token-field__help", children: (0, i18n_1.__)("An Error Occurred While Validating") })] }), isValidating && (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Spinner, {}), (0, jsx_runtime_1.jsx)("span", { className: "components-form-token-field__help", children: (0, i18n_1.__)("Validating") })] })] });
51
+ }
52
+ function useDebouncedValue(defaultValue) {
53
+ const [value, setValue] = (0, element_1.useState)(defaultValue);
54
+ const [debouncedValue, setDebouncedState] = (0, element_1.useState)(defaultValue);
55
+ const setDebounced = (0, compose_1.useDebounce)(setDebouncedState, 100);
56
+ (0, element_1.useEffect)(() => {
57
+ setDebounced(value);
58
+ }, [value, setDebounced]);
59
+ return [debouncedValue, setValue, (0, element_1.useCallback)((value) => {
60
+ setValue(value);
61
+ setDebouncedState(value);
62
+ }, [setValue, setDebounced]), value];
63
+ }
64
+ //# sourceMappingURL=ExtendedFormTokenField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedFormTokenField.js","sourceRoot":"","sources":["../../src/controls/ExtendedFormTokenField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
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.ExtendedPostPicker = void 0;
7
+ const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
8
+ const element_1 = require("@wordpress/element");
9
+ const basicNumericallyIdedItemPicker_1 = require("./basicNumericallyIdedItemPicker");
10
+ const ExtendedFormTokenField_1 = require("./ExtendedFormTokenField");
11
+ const simple_gutenberg_endpoints_api_1 = require("../editor/simple-gutenberg-endpoints-api");
12
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.post-table-search-options", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/post-table-search" }), {
13
+ transformer: posts => posts.map(post => ({ value: post.id.toString(), title: post.title, status: ExtendedFormTokenField_1.ValidationState.Valid })),
14
+ maxCachedResults: 10
15
+ });
16
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.post-table-search-validation", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/post-table-search" }), {
17
+ transformer: posts => posts
18
+ .map((post) => ({ value: post.id.toString(), title: post.title, status: ExtendedFormTokenField_1.ValidationState.Valid })),
19
+ maxCachedResults: 10
20
+ });
21
+ exports.ExtendedPostPicker = (0, element_1.memo)((props) => {
22
+ const { postTypes, taxonomyQuery, ...passthrough } = props;
23
+ const queryArgs = (0, element_1.useMemo)(() => {
24
+ return { postTypes: postTypes?.join(','), taxonomyQuery };
25
+ }, [postTypes, taxonomyQuery]);
26
+ return (0, basicNumericallyIdedItemPicker_1.basicNumericallyIdedItemPicker)(passthrough, "plaudit-common.post-table-search", queryArgs);
27
+ });
28
+ //# sourceMappingURL=ExtendedPostPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedPostPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedPostPicker.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAC5C,gDAAiD;AAEjD,qFAAgF;AAEhF,qEAAyD;AACzD,6FAA4F;AAyB5F,IAAA,mEAAkC,EACjC,0CAA0C,EAC1C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAmD,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxI;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IACxH,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AACF,IAAA,mEAAkC,EACjC,6CAA6C,EAC7C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAmD,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxI;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;SACzB,GAAG,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IAC3G,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,cAAI,EAAC,CAAC,KAA8B,EAAE,EAAE;IACzE,MAAM,EAAC,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,EAAC,GAAG,KAAK,CAAC;IAEzD,MAAM,SAAS,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE;QAC9B,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAC,CAAC;IACzD,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/B,OAAO,IAAA,+DAA8B,EAAC,WAAW,EAAE,kCAAkC,EAAE,SAAS,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { RadioControl } from "@wordpress/components";
2
+ import type { SNPControlSlots } from "../blocks";
3
+ import type { ComponentPropsWithoutRef, ElementType } from "react";
4
+ type RawElementSafeProps<P, T extends ElementType> = P & Omit<ComponentPropsWithoutRef<T>, 'as' | keyof P | 'children'>;
5
+ export type ExtendedRadioControlProps = RawElementSafeProps<ComponentPropsWithoutRef<typeof RadioControl> & {
6
+ allowCustom?: boolean;
7
+ }, 'input'> & Partial<SNPControlSlots>;
8
+ /**
9
+ * This is a variant of WordPress'
10
+ */
11
+ export declare function ExtendedRadioControl(props: ExtendedRadioControlProps): import("react/jsx-runtime").JSX.Element | null;
12
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtendedRadioControl = ExtendedRadioControl;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const components_1 = require("@wordpress/components");
6
+ const compose_1 = require("@wordpress/compose");
7
+ const element_1 = require("@wordpress/element");
8
+ /**
9
+ * This is a variant of WordPress'
10
+ */
11
+ function ExtendedRadioControl(props) {
12
+ const { label, className, selected, help, onChange, hideLabelFromVision, options = [], allowCustom, Label, Messages, ...additionalProps } = props;
13
+ const instanceId = (0, compose_1.useInstanceId)(ExtendedRadioControl);
14
+ const id = `inspector-radio-control-${instanceId}`;
15
+ const [valueIsCustom, setValueIsCustom] = (0, element_1.useState)(() => options.find(option => option.value === selected) === undefined);
16
+ const [customValue, setCustomValue] = (0, element_1.useState)(valueIsCustom ? selected : "");
17
+ const onChangeValue = (0, element_1.useCallback)((event) => {
18
+ setValueIsCustom(options.find(option => option.value === event.target.value) === undefined);
19
+ onChange(event.target.value);
20
+ }, [onChange, options, setValueIsCustom]);
21
+ const onChangeCustom = (0, element_1.useCallback)((e) => {
22
+ onChangeValue(e);
23
+ setValueIsCustom(true);
24
+ setCustomValue(e.target.value);
25
+ }, [onChangeValue, setValueIsCustom, setCustomValue]);
26
+ if (!options?.length) {
27
+ return null;
28
+ }
29
+ const distinctnessSet = new Set();
30
+ const classNames = [...className?.split(/\s+/g) ?? [], 'components-radio-control'].filter(cn => distinctnessSet.add(cn)).join(' ');
31
+ return ((0, jsx_runtime_1.jsxs)(components_1.BaseControl, { __nextHasNoMarginBottom: true, label: Label ? (0, jsx_runtime_1.jsx)(Label, {}) : label, id: id, hideLabelFromVision: hideLabelFromVision, help: help, className: classNames, children: [(0, jsx_runtime_1.jsxs)(components_1.__experimentalVStack, { spacing: 1, children: [options.map((option, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "components-radio-control__option", children: [(0, jsx_runtime_1.jsx)("input", { id: `${id}-${index}`, className: "components-radio-control__input", type: "radio", name: id, value: option.value, onChange: onChangeValue, checked: option.value === selected, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), (0, jsx_runtime_1.jsx)("label", { className: "components-radio-control__label", htmlFor: `${id}-${index}`, children: option.label })] }, `${id}-${index}`))), allowCustom && (0, jsx_runtime_1.jsxs)("div", { className: "components-radio-control__option", children: [(0, jsx_runtime_1.jsx)("input", { id: `${id}-${options.length}`, className: "components-radio-control__input", type: "radio", name: id, value: customValue ?? '', onChange: onChangeValue, checked: valueIsCustom, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), (0, jsx_runtime_1.jsx)("label", { id: `${id}-custom-label`, className: "components-radio-control__label", htmlFor: `${id}-${options.length}`, children: "Custom:" }), (0, jsx_runtime_1.jsx)("input", { "aria-labelledby": `${id}-custom-label`, type: "text", value: customValue ?? '', onChange: onChangeCustom })] }, `${id}-${options.length}`)] }), Messages && (0, jsx_runtime_1.jsx)(Messages, {})] }));
32
+ }
33
+ //# sourceMappingURL=ExtendedRadioControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedRadioControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedRadioControl.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type BaseEntityRecords } from "@wordpress/core-data";
2
2
  import type { SNPControlSlots } from "../blocks";
3
- import { type ReactNode } from "react";
3
+ import type { ReactNode } from "react";
4
4
  type ExtendedTaxonomyPickerPropsBase = {
5
5
  label?: string;
6
6
  help?: ReactNode;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtendedTaxonomyPicker = ExtendedTaxonomyPicker;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const core_data_1 = require("@wordpress/core-data");
6
+ const data_1 = require("@wordpress/data");
7
+ const element_1 = require("@wordpress/element");
8
+ const useOutputMemoizingFilter_1 = require("./hooks/useOutputMemoizingFilter");
9
+ const ExtendedFormTokenField_1 = require("./ExtendedFormTokenField");
10
+ function ExtendedTaxonomyPicker(props) {
11
+ const { visibility, ...extendedFormTokenFieldProps } = props;
12
+ const availableTaxonomies = useTaxonomiesFilteredByVisibility(visibility);
13
+ const taxonomyVisibilityFilter = makeTaxonomyVisibilityFilter(visibility);
14
+ const taxonomySuggestionQuery = (0, useOutputMemoizingFilter_1.useOutputMemoizingFilter)((input, taxonomies) => {
15
+ return taxonomies?.filter(taxonomy => !props.value?.includes(taxonomy.slug))
16
+ .filter(taxonomy => taxonomy.name.toLowerCase().includes(input.toLowerCase()) || taxonomy.slug.toLowerCase().includes(input.toLowerCase()))
17
+ .map(taxonomy => ({ value: taxonomy.slug, status: ExtendedFormTokenField_1.ValidationState.Valid, title: taxonomy.name })) ?? [];
18
+ }, [props.value]);
19
+ const taxonomyValidationQuery = (0, useOutputMemoizingFilter_1.useOutputMemoizingFilter)((tokens, rawTaxonomies) => {
20
+ if (rawTaxonomies === null) {
21
+ return tokens.map(token => ({ value: token, status: ExtendedFormTokenField_1.ValidationState.Validating }));
22
+ }
23
+ const tokenItemCreator = (taxonomy) => {
24
+ return [taxonomy.slug, { value: taxonomy.slug, status: ExtendedFormTokenField_1.ValidationState.Valid, title: taxonomy.name }];
25
+ };
26
+ const taxonomies = rawTaxonomies?.length ? Object.fromEntries(rawTaxonomies.map(tokenItemCreator)) : undefined;
27
+ if (!taxonomies) {
28
+ return tokens.map(token => ({ value: token, status: ExtendedFormTokenField_1.ValidationState.Invalid }));
29
+ }
30
+ return tokens.map(token => taxonomies[token] ?? { value: token, status: ExtendedFormTokenField_1.ValidationState.Invalid });
31
+ });
32
+ return (0, jsx_runtime_1.jsx)(ExtendedFormTokenField_1.ExtendedFormTokenField, { expandOnFocus: true, ...extendedFormTokenFieldProps, stringToTokenConverter: (0, element_1.useCallback)(token => {
33
+ if (availableTaxonomies === null) {
34
+ return { value: token, status: ExtendedFormTokenField_1.ValidationState.Validating };
35
+ }
36
+ const { value, title } = (0, ExtendedFormTokenField_1.unpackDisplayedTokenText)(token);
37
+ const foundTaxonomy = availableTaxonomies.find(taxonomy => taxonomy.slug === value);
38
+ if (foundTaxonomy) {
39
+ return { value: foundTaxonomy.slug, status: ExtendedFormTokenField_1.ValidationState.Valid, title: foundTaxonomy.name };
40
+ }
41
+ return title === undefined ? { value, status: ExtendedFormTokenField_1.ValidationState.Validating } : { value, status: ExtendedFormTokenField_1.ValidationState.Invalid, title };
42
+ }, [availableTaxonomies]), suggestionQuery: (0, element_1.useCallback)((input, select) => {
43
+ return taxonomySuggestionQuery(input, taxonomyVisibilityFilter(select(core_data_1.store).getTaxonomies()));
44
+ }, [taxonomyVisibilityFilter, taxonomySuggestionQuery]), validationQuery: (0, element_1.useCallback)((tokens, select) => {
45
+ return taxonomyValidationQuery(tokens, taxonomyVisibilityFilter(select(core_data_1.store).getTaxonomies()));
46
+ }, [taxonomyVisibilityFilter, taxonomyValidationQuery]), validator: (0, element_1.useCallback)((token) => {
47
+ if (!availableTaxonomies) {
48
+ return false;
49
+ }
50
+ const { value } = (0, ExtendedFormTokenField_1.unpackDisplayedTokenText)(token);
51
+ return availableTaxonomies.find(taxonomy => taxonomy.slug === value) !== undefined;
52
+ }, [availableTaxonomies]) });
53
+ }
54
+ function useTaxonomiesFilteredByVisibility(visibility) {
55
+ const taxonomies = (0, data_1.useSelect)(select => select(core_data_1.store).getTaxonomies(), []);
56
+ return (0, element_1.useMemo)(() => filterTaxonomiesByVisibility(taxonomies, visibility), [taxonomies, visibility]);
57
+ }
58
+ function makeTaxonomyVisibilityFilter(visibility) {
59
+ return (0, useOutputMemoizingFilter_1.useOutputMemoizingFilter)((taxonomies) => filterTaxonomiesByVisibility(taxonomies, visibility), [visibility]);
60
+ }
61
+ function filterTaxonomiesByVisibility(taxonomies, visibility) {
62
+ if (!taxonomies || !visibility) {
63
+ return taxonomies;
64
+ }
65
+ const tests = Object.entries(visibility)
66
+ .filter((entry) => entry[1] !== undefined && entry[1] !== null);
67
+ return tests.length
68
+ ? taxonomies.filter(taxonomy => tests.every(([key, value]) => taxonomy.visibility[key] === value))
69
+ : taxonomies;
70
+ }
71
+ //# sourceMappingURL=ExtendedTaxonomyPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedTaxonomyPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedTaxonomyPicker.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SNPControlSlots } from "../blocks";
2
- import { type ReactNode } from "react";
2
+ import type { ReactNode } from "react";
3
3
  type ExtendedTermPickerPropsBase = {
4
4
  label?: string;
5
5
  help?: ReactNode;
@@ -0,0 +1,33 @@
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.ExtendedTermPicker = ExtendedTermPicker;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
9
+ const element_1 = require("@wordpress/element");
10
+ const ExtendedFormTokenField_1 = require("./ExtendedFormTokenField");
11
+ const simple_gutenberg_endpoints_api_1 = require("../editor/simple-gutenberg-endpoints-api");
12
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.term-table-search-options", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/term-table-search" }), {
13
+ transformer: terms => terms.map(term => ({ value: term.slug, title: term.name, status: ExtendedFormTokenField_1.ValidationState.Valid })),
14
+ maxCachedResults: 10
15
+ });
16
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.term-table-search-validation", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/term-table-search" }), {
17
+ transformer: terms => terms
18
+ .map((term) => ({ value: term.slug, title: term.name, status: ExtendedFormTokenField_1.ValidationState.Valid })),
19
+ maxCachedResults: 10
20
+ });
21
+ function ExtendedTermPicker(props) {
22
+ const { taxonomy } = props;
23
+ const suggestionQuery = (0, element_1.useCallback)((input, select) => {
24
+ return select('plaudit/simple-gutenberg-apis')
25
+ .get("plaudit-common.term-table-search-options", { search: input, taxonomy });
26
+ }, [taxonomy]);
27
+ const validationQuery = (0, element_1.useCallback)((slugsBeingValidated, select) => {
28
+ return select('plaudit/simple-gutenberg-apis')
29
+ .get("plaudit-common.term-table-search-validation", { slugs: slugsBeingValidated.join(','), taxonomy });
30
+ }, [taxonomy]);
31
+ return (0, jsx_runtime_1.jsx)(ExtendedFormTokenField_1.ExtendedFormTokenField, { ...props, validationQuery: validationQuery, suggestionQuery: suggestionQuery, stringToTokenConverter: ExtendedFormTokenField_1.unpackDisplayedTokenText });
32
+ }
33
+ //# sourceMappingURL=ExtendedTermPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedTermPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedTermPicker.tsx"],"names":[],"mappings":";;;;;AAgDA,gDAaC;;AA7DD,qEAA4C;AAE5C,gDAA+C;AAG/C,qEAA2G;AAC3G,6FAA4F;AAwB5F,IAAA,mEAAkC,EACjC,0CAA0C,EAC1C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAmB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxG;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IAC9G,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AACF,IAAA,mEAAkC,EACjC,6CAA6C,EAC7C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAmB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxG;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IACtF,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AAEF,SAAgB,kBAAkB,CAAC,KAA8B;IAChE,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IAEzB,MAAM,eAAe,GAAG,IAAA,qBAAW,EAAC,CAAC,KAAa,EAAE,MAAyB,EAAE,EAAE;QAChF,OAAO,MAAM,CAAC,+BAA+B,CAAC;aAC5C,GAAG,CAAC,0CAA0C,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAC,CAA0B,CAAC;IACvG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,MAAM,eAAe,GAAG,IAAA,qBAAW,EAAC,CAAC,mBAA6B,EAAE,MAAyB,EAAE,EAAE;QAChG,OAAQ,MAAM,CAAC,+BAA+B,CAAC;aAC7C,GAAG,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAC,CAA2B,CAAC;IAClI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,uBAAC,+CAAsB,OAAK,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,iDAAwB,GAAI,CAAC;AACpK,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { TextareaControl } from "@wordpress/components";
2
+ import type { SNPControlSlots } from "../blocks";
3
+ import type { ComponentProps } from "react";
4
+ export type TextareaControlPropsExtension = {
5
+ newline?: undefined | "\n" | "br" | "p";
6
+ placeholder?: string | undefined;
7
+ rich?: boolean;
8
+ };
9
+ export type ExtendedTextAreaControlProps = Omit<ComponentProps<typeof TextareaControl>, 'value'> & {
10
+ value: ComponentProps<typeof TextareaControl>['value'] | null | undefined;
11
+ } & Partial<Pick<SNPControlSlots, 'Messages'>> & TextareaControlPropsExtension;
12
+ export declare const ExtendedTextareaControl: import("react").ForwardRefExoticComponent<Omit<ExtendedTextAreaControlProps, "ref"> & import("react").RefAttributes<HTMLTextAreaElement>>;
@@ -1,10 +1,13 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { TextareaControl } from "@wordpress/components";
3
- import { useDebounce } from "@wordpress/compose";
4
- import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from "@wordpress/element";
5
- export const ExtendedTextareaControl = (() => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtendedTextareaControl = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const components_1 = require("@wordpress/components");
6
+ const compose_1 = require("@wordpress/compose");
7
+ const element_1 = require("@wordpress/element");
8
+ exports.ExtendedTextareaControl = (() => {
6
9
  const debouncerSettings = { leading: false, maxWait: 250, trailing: true };
7
- return forwardRef((props, ref) => {
10
+ return (0, element_1.forwardRef)((props, ref) => {
8
11
  const { newline, onChange, placeholder, rich, value, Messages, ...forwardedProps } = props;
9
12
  let v = value ?? '';
10
13
  if (!rich) {
@@ -15,7 +18,7 @@ export const ExtendedTextareaControl = (() => {
15
18
  v = v.replaceAll(/<p>(.*?)<\/p>/gi, "$1\n");
16
19
  }
17
20
  }
18
- const safeOnChange = useCallback((v) => {
21
+ const safeOnChange = (0, element_1.useCallback)((v) => {
19
22
  if (rich) {
20
23
  onChange(v);
21
24
  }
@@ -29,10 +32,10 @@ export const ExtendedTextareaControl = (() => {
29
32
  onChange(v);
30
33
  }
31
34
  }, [onChange]);
32
- const textareaRef = useRef(null);
33
- useImperativeHandle(ref, () => textareaRef.current, []);
34
- const debouncedUpdate = useDebounce(safeOnChange, 100, debouncerSettings);
35
- useEffect(() => {
35
+ const textareaRef = (0, element_1.useRef)(null);
36
+ (0, element_1.useImperativeHandle)(ref, () => textareaRef.current, []);
37
+ const debouncedUpdate = (0, compose_1.useDebounce)(safeOnChange, 100, debouncerSettings);
38
+ (0, element_1.useEffect)(() => {
36
39
  const id = textareaRef.current?.id;
37
40
  if (id && rich && document.getElementById(id)) {
38
41
  window.tinymce.EditorManager.execCommand('mceAddEditor', true, id);
@@ -49,7 +52,7 @@ export const ExtendedTextareaControl = (() => {
49
52
  }
50
53
  return () => { };
51
54
  }, [rich, debouncedUpdate, textareaRef.current]);
52
- return _jsxs(_Fragment, { children: [_jsx(TextareaControl, { ref: textareaRef, ...forwardedProps, value: v, onChange: safeOnChange }), Messages && _jsx(Messages, {})] });
55
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.TextareaControl, { ref: textareaRef, ...forwardedProps, value: v, onChange: safeOnChange }), Messages && (0, jsx_runtime_1.jsx)(Messages, {})] });
53
56
  });
54
57
  })();
55
58
  //# sourceMappingURL=ExtendedTextareaControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedTextareaControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedTextareaControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
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.ExtendedUserPicker = void 0;
7
+ const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
8
+ const element_1 = require("@wordpress/element");
9
+ const basicNumericallyIdedItemPicker_1 = require("./basicNumericallyIdedItemPicker");
10
+ const ExtendedFormTokenField_1 = require("./ExtendedFormTokenField");
11
+ const simple_gutenberg_endpoints_api_1 = require("../editor/simple-gutenberg-endpoints-api");
12
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.user-table-search-options", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/user-table-search" }), {
13
+ transformer: users => users.map(user => ({ value: user.id.toString(), title: user.name, status: ExtendedFormTokenField_1.ValidationState.Valid })),
14
+ maxCachedResults: 10
15
+ });
16
+ (0, simple_gutenberg_endpoints_api_1.registerSimpleGutenbergApiEndpoint)("plaudit-common.user-table-search-validation", data => (0, api_fetch_1.default)({ data, method: 'POST', path: "/plaudit/common/v1/user-table-search" }), {
17
+ transformer: user => user
18
+ .map((user) => ({ value: user.id.toString(), title: user.name, status: ExtendedFormTokenField_1.ValidationState.Valid })),
19
+ maxCachedResults: 10
20
+ });
21
+ exports.ExtendedUserPicker = (0, element_1.memo)((props) => {
22
+ const { userRoles, ...passthrough } = props;
23
+ const queryArgs = (0, element_1.useMemo)(() => {
24
+ return { roles: userRoles?.join(",") };
25
+ }, [userRoles]);
26
+ return (0, basicNumericallyIdedItemPicker_1.basicNumericallyIdedItemPicker)(passthrough, "plaudit-common.user-table-search", queryArgs);
27
+ });
28
+ //# sourceMappingURL=ExtendedUserPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedUserPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedUserPicker.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAC5C,gDAAiD;AAEjD,qFAAgF;AAEhF,qEAAyD;AACzD,6FAA4F;AAuB5F,IAAA,mEAAkC,EACjC,0CAA0C,EAC1C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAsD,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EAC3I;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IACvH,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AACF,IAAA,mEAAkC,EACjC,6CAA6C,EAC7C,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAsD,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EAC3I;IACC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;SACvB,GAAG,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,wCAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IAC1G,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,cAAI,EAAC,CAAC,KAA8B,EAAE,EAAE;IACzE,MAAM,EAAC,SAAS,EAAE,GAAG,WAAW,EAAC,GAAG,KAAK,CAAC;IAE1C,MAAM,SAAS,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE;QAC9B,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC;IACtC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,IAAA,+DAA8B,EAAC,WAAW,EAAE,kCAAkC,EAAE,SAAS,CAAC,CAAC;AACnG,CAAC,CAAC,CAAA"}
@@ -1,8 +1,9 @@
1
- import type { ToggleGroupControlProps } from "@wordpress/components/build-types/toggle-group-control/types";
2
- import type { TogglePropertyCSNPConfig } from "../blocks/common-native-property-constructors";
1
+ import { __experimentalToggleGroupControl as ToggleGroupControl } from "@wordpress/components";
2
+ import type { TogglePropertyCSNPConfig } from "../blocks/csnp-api";
3
3
  import type { OptionalLabel } from "../blocks";
4
4
  import type { CSNPControlComponentProps, NormalSwitch } from "../blocks/shared-internal-types";
5
- import React from "react";
5
+ import type { ComponentPropsWithoutRef } from "react";
6
+ type ToggleGroupControlProps = ComponentPropsWithoutRef<typeof ToggleGroupControl>;
6
7
  export type FullSizeToggleControlProps = Omit<CSNPControlComponentProps<TogglePropertyCSNPConfig, boolean, {
7
8
  switchCfg: NormalSwitch;
8
9
  }>, 'config'> & {
@@ -11,7 +12,8 @@ export type FullSizeToggleControlProps = Omit<CSNPControlComponentProps<TogglePr
11
12
  help?: ToggleGroupControlProps['help'];
12
13
  };
13
14
  export declare function FullSizeToggleControl({ componentConfig, label, help, onChange, switchCfg, value }: FullSizeToggleControlProps): import("react/jsx-runtime").JSX.Element;
14
- export declare const ToggleGroupControlOptionWithOptionalIcon: React.MemoExoticComponent<(<V extends string | number>({ value, label }: {
15
+ export declare const ToggleGroupControlOptionWithOptionalIcon: import("react").MemoExoticComponent<(<V extends string | number>({ value, label }: {
15
16
  value: V;
16
17
  label: NonNullable<OptionalLabel>;
17
18
  }) => import("react/jsx-runtime").JSX.Element)>;
19
+ export {};