@plaudit/gutenberg-api-extensions 2.79.0 → 2.80.1

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 -4
  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 +23 -31
  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 +120 -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 +156 -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 +113 -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 @@
1
+ {"version":3,"file":"SimpleToggle.js","sourceRoot":"","sources":["../../src/controls/SimpleToggle.tsx"],"names":[],"mappings":";;AAKA,oCAGC;;AARD,sDAAoD;AACpD,gDAA+C;AAI/C,SAAgB,YAAY,CAAmB,KAA0C;IACxF,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9I,OAAO,uBAAC,0BAAa,IAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;AAC9G,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SortableFlexibleItemsControl = SortableFlexibleItemsControl;
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 BaseSortableItemsControl_1 = require("./BaseSortableItemsControl");
8
+ function SortableFlexibleItemsControl({ availableTypes, emptyValueBuilder, ...baseProps }) {
9
+ const buttonsArea = (0, element_1.useCallback)(
10
+ // Unfortunately, the typedefs for React memo components don't allow us to properly check the emptyValueBuilder function
11
+ args => (0, jsx_runtime_1.jsx)(ButtonsArea, { ...args, availableTypes: availableTypes, emptyValueBuilder: emptyValueBuilder }), [availableTypes, emptyValueBuilder]);
12
+ return (0, jsx_runtime_1.jsx)(BaseSortableItemsControl_1.BaseSortableItemsControl, { ...baseProps, buttonsArea: buttonsArea });
13
+ }
14
+ function ButtonsArea({ addHandler, disabled, availableTypes, emptyValueBuilder }) {
15
+ const [selectedType, setSelectedType] = (0, element_1.useState)(availableTypes[0].value);
16
+ return (0, jsx_runtime_1.jsxs)("div", { className: "plaudit-sortable-items-buttons flexible-items", children: [(0, jsx_runtime_1.jsx)(components_1.Button, { icon: "insert", disabled: disabled, onClick: () => addHandler(emptyValueBuilder(selectedType)), children: "Add" }), (0, jsx_runtime_1.jsx)(components_1.SelectControl, { label: "Type", hideLabelFromVision: true, value: selectedType, options: availableTypes, onChange: setSelectedType })] });
17
+ }
18
+ //# sourceMappingURL=SortableFlexibleItemsControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableFlexibleItemsControl.js","sourceRoot":"","sources":["../../src/controls/SortableFlexibleItemsControl.tsx"],"names":[],"mappings":";;AAcA,oEAKC;;AAnBD,sDAA4D;AAC5D,gDAAyD;AAEzD,yEAAwG;AAWxG,SAAgB,4BAA4B,CAAmB,EAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAAkC;IAChJ,MAAM,WAAW,GAAG,IAAA,qBAAW;IAC9B,wHAAwH;IACxH,IAAI,CAAC,EAAE,CAAC,uBAAC,WAAW,OAAK,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,GAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/I,OAAO,uBAAC,mDAAwB,OAAK,SAAS,EAAE,WAAW,EAAE,WAAW,GAAI,CAAC;AAC9E,CAAC;AAGD,SAAS,WAAW,CAAmB,EAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAsB;IACpH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,iCAAK,SAAS,EAAC,+CAA+C,aACpE,uBAAC,mBAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,oBAAc,EAClH,uBAAC,0BAAa,IACb,KAAK,EAAC,MAAM,EACZ,mBAAmB,EAAE,IAAI,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,GACxB,IACG,CAAC;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SortableItemsControl = SortableItemsControl;
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 BaseSortableItemsControl_1 = require("./BaseSortableItemsControl");
8
+ function SortableItemsControl({ emptyValue, addRowText, ...baseProps }) {
9
+ const buttonsArea = (0, element_1.useCallback)(args => (0, jsx_runtime_1.jsx)(ButtonsArea, { ...args, emptyValue: emptyValue, addRowText: addRowText }), [emptyValue, addRowText]);
10
+ return (0, jsx_runtime_1.jsx)(BaseSortableItemsControl_1.BaseSortableItemsControl, { ...baseProps, buttonsArea: buttonsArea, emptyValue: emptyValue });
11
+ }
12
+ function ButtonsArea({ addHandler, disabled, emptyValue, addRowText }) {
13
+ return (0, jsx_runtime_1.jsx)("div", { className: "plaudit-sortable-items-buttons", children: (0, jsx_runtime_1.jsx)(components_1.Button, { icon: "insert", disabled: disabled, onClick: () => addHandler(typeof emptyValue === 'object' ? { ...emptyValue } : emptyValue), children: addRowText ?? "Add Row" }) });
14
+ }
15
+ //# sourceMappingURL=SortableItemsControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableItemsControl.js","sourceRoot":"","sources":["../../src/controls/SortableItemsControl.tsx"],"names":[],"mappings":";;AAMA,oDAIC;;AAVD,sDAA6C;AAC7C,gDAA+C;AAE/C,yEAAwG;AAGxG,SAAgB,oBAAoB,CAAI,EAAC,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,EAA+B;IAC3G,MAAM,WAAW,GAAG,IAAA,qBAAW,EAC9B,IAAI,CAAC,EAAE,CAAC,uBAAC,WAAW,OAAK,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9G,OAAO,uBAAC,mDAAwB,OAAK,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;AACtG,CAAC;AAGD,SAAS,WAAW,CAAI,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAsB;IAC1F,OAAO,gCAAK,SAAS,EAAC,gCAAgC,YACrD,uBAAC,mBAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,GAAG,UAAU,EAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAG,UAAU,IAAI,SAAS,GAAU,GACjK,CAAA;AACP,CAAC"}
@@ -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 BasicNumericallyIdedItemPickerPropsBase = {
4
4
  label?: string;
5
5
  help?: ReactNode;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.basicNumericallyIdedItemPicker = basicNumericallyIdedItemPicker;
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 basicNumericallyIdedItemPicker(props, endpoint, queryProps) {
9
+ const { multiple, value, ...remainder } = props;
10
+ const suggestionQuery = (0, element_1.useCallback)((input, select) => {
11
+ return select('plaudit/simple-gutenberg-apis')
12
+ .get(endpoint + "-options", { search: input, ...queryProps });
13
+ }, [queryProps]);
14
+ const validationQuery = (0, element_1.useCallback)((idsBeingValidated, select) => {
15
+ return select('plaudit/simple-gutenberg-apis')
16
+ .get(endpoint + "-validation", { ids: idsBeingValidated.join(','), ...queryProps });
17
+ }, [queryProps]);
18
+ if (props.multiple === false) {
19
+ return (0, jsx_runtime_1.jsx)(ExtendedFormTokenField_1.ExtendedFormTokenField, { ...remainder, value: props.value, multiple: false, onChange: props.onChange, stringToTokenConverter: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
20
+ }
21
+ else {
22
+ return (0, jsx_runtime_1.jsx)(ExtendedFormTokenField_1.ExtendedFormTokenField, { ...remainder, value: props.value, multiple: true, onChange: props.onChange, stringToTokenConverter: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
23
+ }
24
+ }
25
+ function makeTokenFromSuggestion(token) {
26
+ if ((0, shared_1.isNumeric)(token)) {
27
+ return { value: token, status: ExtendedFormTokenField_1.ValidationState.Validating };
28
+ }
29
+ else {
30
+ const { value, title } = (0, ExtendedFormTokenField_1.unpackDisplayedTokenText)(token);
31
+ return { value, status: (0, shared_1.isNumeric)(value) ? ExtendedFormTokenField_1.ValidationState.Validating : ExtendedFormTokenField_1.ValidationState.Invalid, title };
32
+ }
33
+ }
34
+ function validator(token) {
35
+ return /\(#([0-9]+)\)$/.exec(token)?.[1] !== undefined;
36
+ }
37
+ //# sourceMappingURL=basicNumericallyIdedItemPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicNumericallyIdedItemPicker.js","sourceRoot":"","sources":["../../src/controls/basicNumericallyIdedItemPicker.tsx"],"names":[],"mappings":";;AA2BA,wEAmCC;;AA7DD,gDAA+C;AAG/C,qEAA2G;AAC3G,qCAAmC;AAsBnC,SAAgB,8BAA8B,CAAC,KAA0C,EAAE,QAAgB,EAAE,UAAgC;IAC5I,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,EAAC,GAAG,KAAK,CAAC;IAE9C,MAAM,eAAe,GAAG,IAAA,qBAAW,EAAC,CAAC,KAAa,EAAE,MAAyB,EAAE,EAAE;QAChF,OAAO,MAAM,CAAC,+BAA+B,CAAC;aAC5C,GAAG,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAC,CAA0B,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,MAAM,eAAe,GAAG,IAAA,qBAAW,EAAC,CAAC,iBAA2B,EAAE,MAAyB,EAAE,EAAE;QAC9F,OAAQ,MAAM,CAAC,+BAA+B,CAAC;aAC7C,GAAG,CAAC,QAAQ,GAAG,aAAa,EAAE,EAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,EAAC,CAA2B,CAAC;IAC9G,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,uBAAC,+CAAsB,OACzB,SAAS,EACb,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,sBAAsB,EAAE,uBAAuB,EAC/C,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACnB,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,OAAO,uBAAC,+CAAsB,OACzB,SAAS,EACb,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,sBAAsB,EAAE,uBAAuB,EAC/C,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACnB,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC7C,IAAI,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAe,CAAC,UAAU,EAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACP,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,IAAA,iDAAwB,EAAC,KAAK,CAAC,CAAC;QACvD,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wCAAe,CAAC,UAAU,CAAC,CAAC,CAAC,wCAAe,CAAC,OAAO,EAAE,KAAK,EAAC,CAAC;IACxG,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC/B,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;AACxD,CAAC"}
@@ -1,5 +1,5 @@
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";
2
+ import type { TokenItem } from "../../lib/useful-types";
3
3
  export declare function packDisplayTokenText(token: TokenItem): string;
4
4
  export declare function unpackDisplayedTokenText(token: string): {
5
5
  title: string | undefined;
@@ -15,9 +15,11 @@ export type TokenManagementCallbacks = {
15
15
  suggestionQuery(input: string, ...args: Parameters<MapSelect>): TokenItem[] | undefined;
16
16
  stringToTokenConverter(suggestion: string): TokenItem;
17
17
  };
18
- export declare function useImprovedTokenManager(initialValue: (string | TokenItem)[] | undefined, writeBackingValue: (value: TokenItem[]) => void, validationQuery: TokenManagementCallbacks['validationQuery'], makeTokenFromString: TokenManagementCallbacks['stringToTokenConverter'], tokenTitleCache: Map<TokenItem['value'], TokenItem['title']>): {
18
+ type ImprovedTokenManagerReturnType = {
19
19
  currentTokens: TokenItem[];
20
20
  isValidating: boolean;
21
- updateComponentValue: import("react").Dispatch<import("react").SetStateAction<(string | TokenItem)[]>>;
22
- tokenStatusCache: Map<string, "error" | "success" | "validating" | undefined>;
21
+ updateComponentValue: (value: (((prevState: (string | TokenItem)[]) => (string | TokenItem)[]) | (string | TokenItem)[])) => void;
22
+ tokenStatusCache: Map<TokenItem["value"], TokenItem["status"]>;
23
23
  };
24
+ export declare function useImprovedTokenManager(initialValue: (string | TokenItem)[] | undefined, writeBackingValue: (value: TokenItem[]) => void, validationQuery: TokenManagementCallbacks['validationQuery'], makeTokenFromString: TokenManagementCallbacks['stringToTokenConverter'], tokenTitleCache: Map<TokenItem['value'], TokenItem['title']>): ImprovedTokenManagerReturnType;
25
+ export {};
@@ -1,29 +1,35 @@
1
- import { useSelect } from "@wordpress/data";
2
- import { useEffect, useMemo, useRef, useState } from "@wordpress/element";
3
- export function packDisplayTokenText(token) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationState = void 0;
4
+ exports.packDisplayTokenText = packDisplayTokenText;
5
+ exports.unpackDisplayedTokenText = unpackDisplayedTokenText;
6
+ exports.useImprovedTokenManager = useImprovedTokenManager;
7
+ const data_1 = require("@wordpress/data");
8
+ const element_1 = require("@wordpress/element");
9
+ function packDisplayTokenText(token) {
4
10
  return `${token.title || token.value} (#${token.value})`;
5
11
  }
6
- export function unpackDisplayedTokenText(token) {
12
+ function unpackDisplayedTokenText(token) {
7
13
  const result = /(.+) \(#([^)]+)\)$/.exec(token);
8
14
  return { title: result?.[1], value: result?.[2] ?? token };
9
15
  }
10
16
  // The strange values correspond to the literals that are expected by TokenItem.status, which allows the assignment code to be cleaner
11
- export var ValidationState;
17
+ var ValidationState;
12
18
  (function (ValidationState) {
13
19
  ValidationState["Valid"] = "success";
14
20
  ValidationState["Invalid"] = "error";
15
21
  ValidationState["Validating"] = "validating";
16
- })(ValidationState || (ValidationState = {}));
17
- export function useImprovedTokenManager(initialValue, writeBackingValue, validationQuery, makeTokenFromString, tokenTitleCache) {
18
- const [componentValue, updateComponentValue] = useState(() => initialValue?.map(item => typeof item === 'string' ? makeTokenFromString(item) : item) ?? []);
19
- const tokenStatusCacheRef = useRef(undefined);
22
+ })(ValidationState || (exports.ValidationState = ValidationState = {}));
23
+ function useImprovedTokenManager(initialValue, writeBackingValue, validationQuery, makeTokenFromString, tokenTitleCache) {
24
+ const [componentValue, updateComponentValue] = (0, element_1.useState)(() => initialValue?.map(item => typeof item === 'string' ? makeTokenFromString(item) : item) ?? []);
25
+ const tokenStatusCacheRef = (0, element_1.useRef)(undefined);
20
26
  if (tokenStatusCacheRef.current === undefined) {
21
27
  tokenStatusCacheRef.current = new Map();
22
28
  }
23
29
  const convertedTokens = useTokenConverter(componentValue, makeTokenFromString, tokenStatusCacheRef.current);
24
30
  const { isValidating, validatedTokens } = useTokenValidator(convertedTokens, validationQuery, tokenStatusCacheRef.current);
25
31
  const titledTokens = useTokenTitleApplier(validatedTokens, tokenTitleCache);
26
- useEffect(() => {
32
+ (0, element_1.useEffect)(() => {
27
33
  if (!isValidating) {
28
34
  writeBackingValue(titledTokens);
29
35
  }
@@ -50,8 +56,8 @@ function isAllValidTokens(arr) {
50
56
  return arr.every(token => typeof token !== 'string' && token.status !== undefined && token.status !== ValidationState.Validating && token.title !== undefined);
51
57
  }
52
58
  function useTokenConverter(componentValue, makeTokenFromString, tokenStatusCache) {
53
- const priorComponentValue = useRef([]);
54
- const alreadyConvertedTokens = useRef([]);
59
+ const priorComponentValue = (0, element_1.useRef)([]);
60
+ const alreadyConvertedTokens = (0, element_1.useRef)([]);
55
61
  if (priorComponentValue.current === componentValue) {
56
62
  return alreadyConvertedTokens.current;
57
63
  }
@@ -87,7 +93,7 @@ function useTokenConverter(componentValue, makeTokenFromString, tokenStatusCache
87
93
  return convertedTokens;
88
94
  }
89
95
  function useTokenValidator(convertedTokens, validationQuery, tokenStatusCache) {
90
- const [statusUpdatedConvertedTokens, statusUpdatedConvertedTokenValues] = useMemo(() => {
96
+ const [statusUpdatedConvertedTokens, statusUpdatedConvertedTokenValues] = (0, element_1.useMemo)(() => {
91
97
  const res = convertedTokens
92
98
  .map(token => {
93
99
  return (token.status === undefined || token.status === ValidationState.Validating) && tokenStatusCache.has(token.value)
@@ -95,7 +101,7 @@ function useTokenValidator(convertedTokens, validationQuery, tokenStatusCache) {
95
101
  });
96
102
  return [res, res.map(token => token.value)];
97
103
  }, [convertedTokens, tokenStatusCache]);
98
- return useSelect((select, registry) => {
104
+ return (0, data_1.useSelect)((select, registry) => {
99
105
  if (statusUpdatedConvertedTokens.some(token => token.status === undefined || token.status === ValidationState.Validating)) {
100
106
  const res = validationQuery(statusUpdatedConvertedTokenValues, select, registry);
101
107
  if (res !== undefined) {
@@ -116,6 +122,6 @@ function useTokenValidator(convertedTokens, validationQuery, tokenStatusCache) {
116
122
  }, [convertedTokens, statusUpdatedConvertedTokens, statusUpdatedConvertedTokenValues, validationQuery, tokenStatusCache]);
117
123
  }
118
124
  function useTokenTitleApplier(convertedTokens, tokenTitleCache) {
119
- return useMemo(() => convertedTokens.map(token => syncTokenTitles(token, tokenTitleCache)), [convertedTokens, tokenTitleCache]);
125
+ return (0, element_1.useMemo)(() => convertedTokens.map(token => syncTokenTitles(token, tokenTitleCache)), [convertedTokens, tokenTitleCache]);
120
126
  }
121
127
  //# sourceMappingURL=useImprovedTokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImprovedTokenManager.js","sourceRoot":"","sources":["../../../src/controls/hooks/useImprovedTokenManager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { TokenItem } from "@wordpress/components/build-types/form-token-field/types";
1
+ import type { TokenItem } from "../../lib/useful-types";
2
2
  export type ValueConverter = [string[], (value: TokenItem[]) => void];
3
3
  export declare function useMultiSingleConversionLayer(value: string | string[] | undefined, onChange: ((tokens: string[]) => void) | ((token: string) => void), makeTokenFromSuggestion: (suggestion: string) => TokenItem, multiple?: boolean): ValueConverter;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMultiSingleConversionLayer = useMultiSingleConversionLayer;
4
+ const element_1 = require("@wordpress/element");
5
+ function useMultiSingleConversionLayer(value, onChange, makeTokenFromSuggestion, multiple = true) {
6
+ return [
7
+ (0, element_1.useMemo)(() => value === undefined ? [] : (Array.isArray(value) ? value : [value]), [value]),
8
+ (0, element_1.useCallback)(tokens => {
9
+ const bareTokens = tokens.filter(token => token.status === 'success').map(token => token.value);
10
+ onChange((multiple ? bareTokens : bareTokens[0]));
11
+ }, [onChange, makeTokenFromSuggestion, multiple])
12
+ ];
13
+ }
14
+ //# sourceMappingURL=useMultiSingleConversionLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMultiSingleConversionLayer.js","sourceRoot":"","sources":["../../../src/controls/hooks/useMultiSingleConversionLayer.ts"],"names":[],"mappings":";;AAKA,sEAWC;AAhBD,gDAAwD;AAKxD,SAAgB,6BAA6B,CAC5C,KAAgC,EAAE,QAAgE,EAClG,uBAA0D,EAAE,QAAQ,GAAG,IAAI;IAE3E,OAAO;QACN,IAAA,iBAAO,EAAC,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3F,IAAA,qBAAW,EAAC,MAAM,CAAC,EAAE;YACpB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChG,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC;QAC1D,CAAC,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;KACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useNonRenderingCounter = useNonRenderingCounter;
4
+ const element_1 = require("@wordpress/element");
5
+ function useNonRenderingCounter(initialValue = 0) {
6
+ const count = (0, element_1.useRef)(initialValue);
7
+ return [count, () => ++count.current];
8
+ }
9
+ //# sourceMappingURL=useNonRenderingCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNonRenderingCounter.js","sourceRoot":"","sources":["../../../src/controls/hooks/useNonRenderingCounter.ts"],"names":[],"mappings":";;AAEA,wDAGC;AALD,gDAA0C;AAE1C,SAAgB,sBAAsB,CAAC,YAAY,GAAG,CAAC;IACtD,MAAM,KAAK,GAAG,IAAA,gBAAM,EAAC,YAAY,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1,7 +1,10 @@
1
- import { useCallback, useRef } from "@wordpress/element";
2
- export function useOutputMemoizingFilter(filter, externals) {
3
- const existingState = useRef(undefined);
4
- const memoizedFilter = useCallback((...args) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOutputMemoizingFilter = useOutputMemoizingFilter;
4
+ const element_1 = require("@wordpress/element");
5
+ function useOutputMemoizingFilter(filter, externals) {
6
+ const existingState = (0, element_1.useRef)(undefined);
7
+ const memoizedFilter = (0, element_1.useCallback)((...args) => {
5
8
  if (existingState.current !== undefined && existingState.current[0] === memoizedFilter
6
9
  && (existingState.current[1] === args || args.every((a, i) => existingState.current[1][i] === a))) {
7
10
  return existingState.current[2];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOutputMemoizingFilter.js","sourceRoot":"","sources":["../../../src/controls/hooks/useOutputMemoizingFilter.ts"],"names":[],"mappings":";;AAEA,4DAaC;AAfD,gDAAuD;AAEvD,SAAgB,wBAAwB,CAAqB,MAAyB,EAAE,SAAiB;IACxG,MAAM,aAAa,GAAG,IAAA,gBAAM,EAAkC,SAAS,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,IAAA,qBAAW,EAAC,CAAC,GAAG,IAAO,EAAK,EAAE;QACpD,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc;eAClF,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjG,CAAC;YACF,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,aAAa,CAAC,OAAO,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -1,11 +1,14 @@
1
- import { useEffect, useMemo, useState } from "@wordpress/element";
2
- import { Immer } from "immer";
3
- import { clone } from "../../lib/helpers";
4
- export function useSortableItemsModel(args) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSortableItemsModel = useSortableItemsModel;
4
+ const element_1 = require("@wordpress/element");
5
+ const immer_1 = require("immer");
6
+ const helpers_1 = require("../../lib/helpers");
7
+ function useSortableItemsModel(args) {
5
8
  const { mutators, state } = usePseudoReducerBasedStateManagement(args);
6
9
  const { emptyValue } = args;
7
10
  // We use a separate memo for the actions because dispatch should change significantly less-often than state
8
- const actions = useMemo(() => {
11
+ const actions = (0, element_1.useMemo)(() => {
9
12
  return ({
10
13
  add: (value, index) => {
11
14
  mutators.add({ value, index });
@@ -17,7 +20,7 @@ export function useSortableItemsModel(args) {
17
20
  mutators.add({ value: typeof emptyValue === 'object' ? { ...emptyValue } : emptyValue, index });
18
21
  } : undefined,
19
22
  makeIndexedItemActions(index, key) {
20
- return useMemo(() => ({
23
+ return (0, element_1.useMemo)(() => ({
21
24
  add: (value) => {
22
25
  mutators.add({ value, index });
23
26
  },
@@ -51,8 +54,8 @@ function swap(value, newIndex, oldIndex) {
51
54
  return splicedValue;
52
55
  }
53
56
  function usePseudoReducerBasedStateManagement({ value, onAdd, onChange, onRemove, onReorder }) {
54
- const [state, setState] = useState({ keyedValues: [], listeners: {} });
55
- const mutators = useMemo(() => {
57
+ const [state, setState] = (0, element_1.useState)({ keyedValues: [], listeners: {} });
58
+ const mutators = (0, element_1.useMemo)(() => {
56
59
  return {
57
60
  add({ value, index }) {
58
61
  const newItemIndex = index ?? state.value?.length ?? 0;
@@ -85,7 +88,7 @@ function usePseudoReducerBasedStateManagement({ value, onAdd, onChange, onRemove
85
88
  }
86
89
  const newValue = swap(state.value ?? [], newIndex, oldIndex);
87
90
  const changesStart = Math.min(newIndex, oldIndex);
88
- newValue.splice(changesStart, newValue.length, ...newValue.slice(changesStart).map(v => clone(v)));
91
+ newValue.splice(changesStart, newValue.length, ...newValue.slice(changesStart).map(v => (0, helpers_1.clone)(v)));
89
92
  onReorder?.(oldIndex, newIndex);
90
93
  onChange?.(newValue);
91
94
  setState({
@@ -117,7 +120,7 @@ function usePseudoReducerBasedStateManagement({ value, onAdd, onChange, onRemove
117
120
  },
118
121
  refresh(args) {
119
122
  const prevState = state;
120
- setState((new Immer({ autoFreeze: false })).produce(prevState, (draft) => {
123
+ setState((new immer_1.Immer({ autoFreeze: false })).produce(prevState, (draft) => {
121
124
  for (const [key, value] of Object.entries(args.listeners)) {
122
125
  draft.listeners[key] = value;
123
126
  }
@@ -143,7 +146,7 @@ function usePseudoReducerBasedStateManagement({ value, onAdd, onChange, onRemove
143
146
  }
144
147
  };
145
148
  }, [state, onAdd, onChange, onRemove, onReorder]);
146
- useEffect(() => {
149
+ (0, element_1.useEffect)(() => {
147
150
  mutators.refresh({ listeners: { onAdd, onChange, onRemove, onReorder }, value });
148
151
  }, [value, onAdd, onChange, onRemove, onReorder, mutators]);
149
152
  return { mutators, state };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSortableItemsModel.js","sourceRoot":"","sources":["../../../src/controls/hooks/useSortableItemsModel.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
- import { useCallback, useEffect, useRef, useState } from "@wordpress/element";
2
- import { useNonRenderingCounter } from "./useNonRenderingCounter";
3
- import { useReducer } from "react";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSuggestions = useSuggestions;
4
+ const element_1 = require("@wordpress/element");
5
+ const useNonRenderingCounter_1 = require("./useNonRenderingCounter");
6
+ const react_1 = require("react");
4
7
  function useSimpleDebouncer(delay) {
5
- const timerId = useRef(undefined);
6
- return useCallback((action) => {
8
+ const timerId = (0, element_1.useRef)(undefined);
9
+ return (0, element_1.useCallback)((action) => {
7
10
  if (timerId.current !== undefined) {
8
11
  clearTimeout(timerId.current);
9
12
  }
@@ -13,13 +16,13 @@ function useSimpleDebouncer(delay) {
13
16
  }, delay);
14
17
  }, [timerId]);
15
18
  }
16
- export function useSuggestions(initialValue, { expandOnFocus, getOption, getSuggestions }) {
19
+ function useSuggestions(initialValue, { expandOnFocus, getOption, getSuggestions }) {
17
20
  const suggestionRequestDebouncer = useSimpleDebouncer(200);
18
- const [requestId, nextRequestId] = useNonRenderingCounter();
19
- const [isLoading, setIsLoading] = useState(false);
20
- const [latestSuggestions, dispatchSuggestionsUpdate] = useReducer((useSuggestionSuggestionUpdateReducer), { hasLoadingError: false, requestId: 0, suggestions: [] });
21
- const [input, setInput] = useState(initialValue ?? "");
22
- useEffect(() => {
21
+ const [requestId, nextRequestId] = (0, useNonRenderingCounter_1.useNonRenderingCounter)();
22
+ const [isLoading, setIsLoading] = (0, element_1.useState)(false);
23
+ const [latestSuggestions, dispatchSuggestionsUpdate] = (0, react_1.useReducer)((useSuggestionSuggestionUpdateReducer), { hasLoadingError: false, requestId: 0, suggestions: [] });
24
+ const [input, setInput] = (0, element_1.useState)(initialValue ?? "");
25
+ (0, element_1.useEffect)(() => {
23
26
  const myRequestId = nextRequestId();
24
27
  if (getOption === undefined) {
25
28
  dispatchSuggestionsUpdate({ hasLoadingError: false, suggestions: [], requestId: myRequestId });
@@ -38,7 +41,7 @@ export function useSuggestions(initialValue, { expandOnFocus, getOption, getSugg
38
41
  });
39
42
  }
40
43
  }, [expandOnFocus, getOption]);
41
- useEffect(() => {
44
+ (0, element_1.useEffect)(() => {
42
45
  const myRequestId = nextRequestId();
43
46
  if (!expandOnFocus && input.length < 2) {
44
47
  dispatchSuggestionsUpdate({ hasLoadingError: false, suggestions: [], requestId: myRequestId });
@@ -57,7 +60,7 @@ export function useSuggestions(initialValue, { expandOnFocus, getOption, getSugg
57
60
  }
58
61
  }, [input, suggestionRequestDebouncer]);
59
62
  // This is a separate useEffect hook because we don't necessarily want to update the rendered state when a new request is sent out.
60
- useEffect(() => setIsLoading(latestSuggestions.requestId < requestId.current), [latestSuggestions.requestId]);
63
+ (0, element_1.useEffect)(() => setIsLoading(latestSuggestions.requestId < requestId.current), [latestSuggestions.requestId]);
61
64
  return {
62
65
  hasLoadingError: latestSuggestions.hasLoadingError, isInitializing: latestSuggestions.requestId === 0, isLoading,
63
66
  input, setInput, suggestions: latestSuggestions.suggestions
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuggestions.js","sourceRoot":"","sources":["../../../src/controls/hooks/useSuggestions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import type { TokenItem } from "@wordpress/components/build-types/form-token-field/types";
2
1
  import type { Dict } from "../types";
3
- export declare function useTokenManager(initialValue: string[], setComponentValue: (value: TokenItem[]) => void, validationQuery: (tokens: string[]) => Promise<TokenItem[]>, stringToTokenConverter: (value: string) => TokenItem): {
2
+ import type { TokenItem } from "../../lib/useful-types";
3
+ type TokenManagerReturnType = {
4
4
  currentTokens: TokenItem[];
5
- dispatchValueUpdate: import("react").Dispatch<import("react").SetStateAction<(string | TokenItem)[]>>;
5
+ dispatchValueUpdate: (value: (((prevState: (string | TokenItem)[]) => (string | TokenItem)[]) | (string | TokenItem)[])) => void;
6
6
  hasValidationError: boolean;
7
7
  isInitializing: boolean;
8
8
  isValidating: boolean;
9
9
  tokenTitleMappings: Dict<string>;
10
10
  };
11
+ export declare function useTokenManager(initialValue: string[], setComponentValue: (value: TokenItem[]) => void, validationQuery: (tokens: string[]) => Promise<TokenItem[]>, stringToTokenConverter: (value: string) => TokenItem): TokenManagerReturnType;
12
+ export {};