@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.
- package/dist/blocks/MoveError.js +10 -0
- package/dist/blocks/MoveError.js.map +1 -0
- package/{build → dist}/blocks/PathError.js +7 -3
- package/dist/blocks/PathError.js.map +1 -0
- package/{build → dist}/blocks/SNPFlexibleItemsListComponent.d.ts +1 -1
- package/dist/blocks/SNPFlexibleItemsListComponent.js +18 -0
- package/dist/blocks/SNPFlexibleItemsListComponent.js.map +1 -0
- package/{build → dist}/blocks/SNPGroupComponent.d.ts +2 -2
- package/dist/blocks/SNPGroupComponent.js +20 -0
- package/dist/blocks/SNPGroupComponent.js.map +1 -0
- package/{build → dist}/blocks/SNPListComponent.d.ts +1 -1
- package/dist/blocks/SNPListComponent.js +18 -0
- package/dist/blocks/SNPListComponent.js.map +1 -0
- package/dist/blocks/SNPTreeContext.js +14 -0
- package/dist/blocks/SNPTreeContext.js.map +1 -0
- package/dist/blocks/basic-custom-block-bindings-support.js +157 -0
- package/dist/blocks/basic-custom-block-bindings-support.js.map +1 -0
- package/dist/blocks/common-native-property-constructors.d.ts +13 -0
- package/{build → dist}/blocks/common-native-property-constructors.js +105 -151
- package/dist/blocks/common-native-property-constructors.js.map +1 -0
- package/{build → dist}/blocks/conditions.js +12 -7
- package/dist/blocks/conditions.js.map +1 -0
- package/dist/blocks/csnp-api.d.ts +166 -0
- package/dist/blocks/csnp-api.js +74 -0
- package/dist/blocks/csnp-api.js.map +1 -0
- package/{build → dist}/blocks/data-controller-manager.js +4 -1
- package/dist/blocks/data-controller-manager.js.map +1 -0
- package/{build → dist}/blocks/data-controller.js +74 -70
- package/dist/blocks/data-controller.js.map +1 -0
- package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/select.js +14 -11
- package/dist/blocks/hooks/built-in-suspendable-option-protocols/select.js.map +1 -0
- package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/settings.js +9 -6
- package/dist/blocks/hooks/built-in-suspendable-option-protocols/settings.js.map +1 -0
- package/{build → dist}/blocks/hooks/useSuspendableOptions.d.ts +1 -1
- package/{build → dist}/blocks/hooks/useSuspendableOptions.js +30 -23
- package/dist/blocks/hooks/useSuspendableOptions.js.map +1 -0
- package/dist/blocks/index.js +35 -0
- package/dist/blocks/index.js.map +1 -0
- package/{build → dist}/blocks/layered-styles-api.d.ts +2 -2
- package/{build → dist}/blocks/layered-styles-api.js +10 -6
- package/dist/blocks/layered-styles-api.js.map +1 -0
- package/{build → dist}/blocks/layered-styles-impl.js +14 -9
- package/dist/blocks/layered-styles-impl.js.map +1 -0
- package/{build → dist}/blocks/layout/LaidOutProperty.d.ts +1 -2
- package/dist/blocks/layout/LaidOutProperty.js +47 -0
- package/dist/blocks/layout/LaidOutProperty.js.map +1 -0
- package/dist/blocks/layout/LaidOutPropertyRow.js +15 -0
- package/dist/blocks/layout/LaidOutPropertyRow.js.map +1 -0
- package/{build → dist}/blocks/layout/NodeContext.d.ts +2 -2
- package/dist/blocks/layout/NodeContext.js +44 -0
- package/dist/blocks/layout/NodeContext.js.map +1 -0
- package/dist/blocks/layout/PanelRoot.js +29 -0
- package/dist/blocks/layout/PanelRoot.js.map +1 -0
- package/{build → dist}/blocks/layout/TabsRoot.js +16 -13
- package/dist/blocks/layout/TabsRoot.js.map +1 -0
- package/dist/blocks/layout/ToolsPanelContext.js +23 -0
- package/dist/blocks/layout/ToolsPanelContext.js.map +1 -0
- package/dist/blocks/shared-exportable-types.js +3 -0
- package/dist/blocks/shared-internal-types.js +3 -0
- package/{build → dist}/blocks/simple-block.d.ts +1 -1
- package/dist/blocks/simple-block.js +45 -0
- package/dist/blocks/simple-block.js.map +1 -0
- package/{build → dist}/blocks/simple-native-property-api.d.ts +1 -1
- package/{build → dist}/blocks/simple-native-property-api.js +16 -10
- package/dist/blocks/simple-native-property-api.js.map +1 -0
- package/{build → dist}/blocks/simple-native-property-impl.js +60 -55
- package/dist/blocks/simple-native-property-impl.js.map +1 -0
- package/{build → dist}/blocks/simple-native-property-internal-shared.js +6 -2
- package/dist/blocks/simple-native-property-internal-shared.js.map +1 -0
- package/{build → dist}/blocks/snp-api.d.ts +1 -0
- package/dist/blocks/snp-api.js +7 -0
- package/dist/blocks/snp-api.js.map +1 -0
- package/{build → dist}/blocks/snp-data-store.js +8 -4
- package/dist/blocks/snp-data-store.js.map +1 -0
- package/{build → dist}/blocks/utilities.d.ts +1 -1
- package/dist/blocks/utilities.js +79 -0
- package/dist/blocks/utilities.js.map +1 -0
- package/{build → dist}/controls/AsynchronousFormTokenField.d.ts +1 -1
- package/dist/controls/AsynchronousFormTokenField.js +36 -0
- package/dist/controls/AsynchronousFormTokenField.js.map +1 -0
- package/{build → dist}/controls/BaseSortableItemsControl.d.ts +3 -3
- package/dist/controls/BaseSortableItemsControl.js +25 -0
- package/dist/controls/BaseSortableItemsControl.js.map +1 -0
- package/{build → dist}/controls/ExtendedFormTokenField.d.ts +3 -3
- package/dist/controls/ExtendedFormTokenField.js +64 -0
- package/dist/controls/ExtendedFormTokenField.js.map +1 -0
- package/dist/controls/ExtendedPostPicker.js +28 -0
- package/dist/controls/ExtendedPostPicker.js.map +1 -0
- package/dist/controls/ExtendedRadioControl.d.ts +12 -0
- package/dist/controls/ExtendedRadioControl.js +33 -0
- package/dist/controls/ExtendedRadioControl.js.map +1 -0
- package/{build → dist}/controls/ExtendedTaxonomyPicker.d.ts +1 -1
- package/dist/controls/ExtendedTaxonomyPicker.js +71 -0
- package/dist/controls/ExtendedTaxonomyPicker.js.map +1 -0
- package/{build → dist}/controls/ExtendedTermPicker.d.ts +1 -1
- package/dist/controls/ExtendedTermPicker.js +33 -0
- package/dist/controls/ExtendedTermPicker.js.map +1 -0
- package/dist/controls/ExtendedTextareaControl.d.ts +12 -0
- package/{build → dist}/controls/ExtendedTextareaControl.js +15 -12
- package/dist/controls/ExtendedTextareaControl.js.map +1 -0
- package/dist/controls/ExtendedUserPicker.js +28 -0
- package/dist/controls/ExtendedUserPicker.js.map +1 -0
- package/{build → dist}/controls/FullSizeToggleControl.d.ts +6 -4
- package/dist/controls/FullSizeToggleControl.js +110 -0
- package/dist/controls/FullSizeToggleControl.js.map +1 -0
- package/{build → dist}/controls/ImageControl.d.ts +1 -1
- package/dist/controls/ImageControl.js +81 -0
- package/dist/controls/ImageControl.js.map +1 -0
- package/{build → dist}/controls/InspectorPanel.d.ts +4 -3
- package/dist/controls/InspectorPanel.js +29 -0
- package/dist/controls/InspectorPanel.js.map +1 -0
- package/{build → dist}/controls/LazySuggestionsComboboxControl.d.ts +5 -1
- package/dist/controls/LazySuggestionsComboboxControl.js +32 -0
- package/dist/controls/LazySuggestionsComboboxControl.js.map +1 -0
- package/{build → dist}/controls/MultiSelectControl.d.ts +1 -1
- package/dist/controls/MultiSelectControl.js +33 -0
- package/dist/controls/MultiSelectControl.js.map +1 -0
- package/{build → dist}/controls/PickOne.d.ts +1 -1
- package/dist/controls/PickOne.js +54 -0
- package/dist/controls/PickOne.js.map +1 -0
- package/{build → dist}/controls/PromisableComponent.d.ts +2 -2
- package/{build → dist}/controls/PromisableComponent.js +14 -11
- package/dist/controls/PromisableComponent.js.map +1 -0
- package/{build → dist}/controls/ProperLinkControl.d.ts +1 -1
- package/dist/controls/ProperLinkControl.js +59 -0
- package/dist/controls/ProperLinkControl.js.map +1 -0
- package/dist/controls/SimpleToggle.js +11 -0
- package/dist/controls/SimpleToggle.js.map +1 -0
- package/dist/controls/SortableFlexibleItemsControl.js +18 -0
- package/dist/controls/SortableFlexibleItemsControl.js.map +1 -0
- package/dist/controls/SortableItemsControl.js +15 -0
- package/dist/controls/SortableItemsControl.js.map +1 -0
- package/{build → dist}/controls/basicNumericallyIdedItemPicker.d.ts +1 -1
- package/dist/controls/basicNumericallyIdedItemPicker.js +37 -0
- package/dist/controls/basicNumericallyIdedItemPicker.js.map +1 -0
- package/{build → dist}/controls/hooks/useImprovedTokenManager.d.ts +7 -5
- package/{build → dist}/controls/hooks/useImprovedTokenManager.js +21 -15
- package/dist/controls/hooks/useImprovedTokenManager.js.map +1 -0
- package/{build → dist}/controls/hooks/useMultiSingleConversionLayer.d.ts +1 -1
- package/dist/controls/hooks/useMultiSingleConversionLayer.js +14 -0
- package/dist/controls/hooks/useMultiSingleConversionLayer.js.map +1 -0
- package/dist/controls/hooks/useNonRenderingCounter.js +9 -0
- package/dist/controls/hooks/useNonRenderingCounter.js.map +1 -0
- package/{build → dist}/controls/hooks/useOutputMemoizingFilter.js +7 -4
- package/dist/controls/hooks/useOutputMemoizingFilter.js.map +1 -0
- package/{build → dist}/controls/hooks/useSortableItemsModel.js +14 -11
- package/dist/controls/hooks/useSortableItemsModel.js.map +1 -0
- package/{build → dist}/controls/hooks/useSuggestions.js +16 -13
- package/dist/controls/hooks/useSuggestions.js.map +1 -0
- package/{build → dist}/controls/hooks/useTokenManager.d.ts +5 -3
- package/{build → dist}/controls/hooks/useTokenManager.js +37 -34
- package/dist/controls/hooks/useTokenManager.js.map +1 -0
- package/dist/controls/index.js +41 -0
- package/dist/controls/index.js.map +1 -0
- package/{build → dist}/controls/shared.js +18 -8
- package/dist/controls/shared.js.map +1 -0
- package/dist/controls/types.js +3 -0
- package/dist/editor/post-featured-image.js +125 -0
- package/dist/editor/post-featured-image.js.map +1 -0
- package/dist/editor/simple-gutenberg-endpoints-api.js +26 -0
- package/dist/editor/simple-gutenberg-endpoints-api.js.map +1 -0
- package/{build → dist}/editor/simple-gutenberg-endpoints-impl.js +24 -17
- package/dist/editor/simple-gutenberg-endpoints-impl.js.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js +27 -0
- package/dist/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js.map +1 -0
- package/{build → dist}/lib/gutenberg-api-extensions-state/general-logic.js +12 -8
- package/dist/lib/gutenberg-api-extensions-state/general-logic.js.map +1 -0
- package/{build → dist}/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js +10 -6
- package/dist/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js.map +1 -0
- package/{build → dist}/lib/gutenberg-api-extensions-state/snp-logic.js +33 -26
- package/dist/lib/gutenberg-api-extensions-state/snp-logic.js.map +1 -0
- package/{build → dist}/lib/gutenberg-api-extensions-state.d.ts +2 -2
- package/dist/lib/gutenberg-api-extensions-state.js +52 -0
- package/dist/lib/gutenberg-api-extensions-state.js.map +1 -0
- package/{build → dist}/lib/helpers.d.ts +3 -4
- package/{build → dist}/lib/helpers.js +13 -6
- package/dist/lib/helpers.js.map +1 -0
- package/dist/lib/plaudit-icons/column-1.js +6 -0
- package/dist/lib/plaudit-icons/column-1.js.map +1 -0
- package/dist/lib/plaudit-icons/column-2.js +6 -0
- package/dist/lib/plaudit-icons/column-2.js.map +1 -0
- package/dist/lib/plaudit-icons/column-3.js +6 -0
- package/dist/lib/plaudit-icons/column-3.js.map +1 -0
- package/dist/lib/plaudit-icons/placement-center.js +6 -0
- package/dist/lib/plaudit-icons/placement-center.js.map +1 -0
- package/dist/lib/plaudit-icons/placement-end.js +6 -0
- package/dist/lib/plaudit-icons/placement-end.js.map +1 -0
- package/dist/lib/plaudit-icons/placement-start.js +6 -0
- package/dist/lib/plaudit-icons/placement-start.js.map +1 -0
- package/dist/lib/plaudit-icons/placement-stretch.js +6 -0
- package/dist/lib/plaudit-icons/placement-stretch.js.map +1 -0
- package/dist/lib/plaudit-icons/plaudit-icon.js +6 -0
- package/dist/lib/plaudit-icons/plaudit-icon.js.map +1 -0
- package/dist/lib/plaudit-icons/reusable-block-marker.js +6 -0
- package/{build → dist}/lib/plaudit-icons/reusable-block-marker.js.map +1 -1
- package/dist/lib/plaudit-icons.js +29 -0
- package/dist/lib/plaudit-icons.js.map +1 -0
- package/{build → dist}/lib/suspense/promise-handlers.js +16 -7
- package/dist/lib/suspense/promise-handlers.js.map +1 -0
- package/{build → dist}/lib/suspense.d.ts +2 -2
- package/dist/lib/suspense.js +31 -0
- package/dist/lib/suspense.js.map +1 -0
- package/{build → dist}/lib/useful-types.d.ts +4 -1
- package/dist/lib/useful-types.js +11 -0
- package/dist/lib/useful-types.js.map +1 -0
- package/package.json +23 -31
- package/src/blocks/MoveError.ts +7 -0
- package/src/blocks/PathError.ts +18 -0
- package/src/blocks/SNPFlexibleItemsListComponent.tsx +30 -0
- package/src/blocks/SNPGroupComponent.tsx +38 -0
- package/src/blocks/SNPListComponent.tsx +25 -0
- package/src/blocks/SNPTreeContext.tsx +13 -0
- package/src/blocks/basic-custom-block-bindings-support.tsx +243 -0
- package/src/blocks/common-native-property-constructors.tsx +877 -0
- package/src/blocks/conditions.ts +260 -0
- package/src/blocks/csnp-api.ts +214 -0
- package/src/blocks/data-controller-manager.ts +50 -0
- package/src/blocks/data-controller.ts +736 -0
- package/src/blocks/hooks/built-in-suspendable-option-protocols/select.ts +51 -0
- package/src/blocks/hooks/built-in-suspendable-option-protocols/settings.ts +70 -0
- package/src/blocks/hooks/useSuspendableOptions.ts +123 -0
- package/src/blocks/index.ts +20 -0
- package/src/blocks/layered-styles-api.ts +142 -0
- package/src/blocks/layered-styles-impl.ts +94 -0
- package/src/blocks/layout/LaidOutProperty.tsx +72 -0
- package/src/blocks/layout/LaidOutPropertyRow.tsx +22 -0
- package/src/blocks/layout/NodeContext.tsx +54 -0
- package/src/blocks/layout/PanelRoot.tsx +33 -0
- package/src/blocks/layout/TabsRoot.tsx +56 -0
- package/src/blocks/layout/ToolsPanelContext.tsx +22 -0
- package/src/blocks/shared-exportable-types.ts +6 -0
- package/src/blocks/shared-internal-types.ts +18 -0
- package/src/blocks/simple-block.tsx +74 -0
- package/src/blocks/simple-native-property-api.ts +170 -0
- package/src/blocks/simple-native-property-impl.tsx +329 -0
- package/src/blocks/simple-native-property-internal-shared.ts +46 -0
- package/src/blocks/snp-api.ts +5 -0
- package/src/blocks/snp-data-store.ts +66 -0
- package/src/blocks/utilities.ts +80 -0
- package/src/controls/AsynchronousFormTokenField.tsx +85 -0
- package/src/controls/BaseSortableItemsControl.tsx +84 -0
- package/src/controls/ExtendedFormTokenField.tsx +120 -0
- package/src/controls/ExtendedPostPicker.ts +57 -0
- package/src/controls/ExtendedRadioControl.tsx +107 -0
- package/src/controls/ExtendedTaxonomyPicker.tsx +100 -0
- package/src/controls/ExtendedTermPicker.tsx +62 -0
- package/src/controls/ExtendedTextareaControl.tsx +65 -0
- package/src/controls/ExtendedUserPicker.ts +56 -0
- package/src/controls/FullSizeToggleControl.tsx +94 -0
- package/src/controls/ImageControl.tsx +143 -0
- package/src/controls/InspectorPanel.tsx +37 -0
- package/src/controls/LazySuggestionsComboboxControl.tsx +62 -0
- package/src/controls/MultiSelectControl.tsx +59 -0
- package/src/controls/PickOne.tsx +84 -0
- package/src/controls/PromisableComponent.tsx +56 -0
- package/src/controls/ProperLinkControl.tsx +93 -0
- package/src/controls/SimpleToggle.tsx +9 -0
- package/src/controls/SortableFlexibleItemsControl.tsx +35 -0
- package/src/controls/SortableItemsControl.tsx +18 -0
- package/src/controls/basicNumericallyIdedItemPicker.tsx +76 -0
- package/src/controls/hooks/useImprovedTokenManager.ts +156 -0
- package/src/controls/hooks/useMultiSingleConversionLayer.ts +17 -0
- package/src/controls/hooks/useNonRenderingCounter.ts +6 -0
- package/src/controls/hooks/useOutputMemoizingFilter.ts +16 -0
- package/src/controls/hooks/useSortableItemsModel.ts +196 -0
- package/src/controls/hooks/useSuggestions.ts +91 -0
- package/src/controls/hooks/useTokenManager.ts +177 -0
- package/{build/controls/index.js → src/controls/index.ts} +3 -2
- package/src/controls/shared.ts +50 -0
- package/src/controls/types.ts +18 -0
- package/src/editor/post-featured-image.tsx +161 -0
- package/src/editor/simple-gutenberg-endpoints-api.ts +31 -0
- package/src/editor/simple-gutenberg-endpoints-impl.ts +119 -0
- package/src/index.ts +32 -0
- package/src/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.ts +34 -0
- package/src/lib/gutenberg-api-extensions-state/general-logic.ts +41 -0
- package/src/lib/gutenberg-api-extensions-state/layered-block-styles-logic.ts +42 -0
- package/src/lib/gutenberg-api-extensions-state/snp-logic.ts +240 -0
- package/src/lib/gutenberg-api-extensions-state.ts +69 -0
- package/src/lib/helpers.ts +113 -0
- package/src/lib/plaudit-icons/column-1.tsx +6 -0
- package/src/lib/plaudit-icons/column-2.tsx +6 -0
- package/src/lib/plaudit-icons/column-3.tsx +6 -0
- package/src/lib/plaudit-icons/placement-center.tsx +3 -0
- package/src/lib/plaudit-icons/placement-end.tsx +3 -0
- package/src/lib/plaudit-icons/placement-start.tsx +3 -0
- package/src/lib/plaudit-icons/placement-stretch.tsx +3 -0
- package/src/lib/plaudit-icons/plaudit-icon.tsx +4 -0
- package/src/lib/plaudit-icons/reusable-block-marker.tsx +3 -0
- package/{build/lib/plaudit-icons.js → src/lib/plaudit-icons.ts} +1 -1
- package/src/lib/suspense/promise-handlers.ts +72 -0
- package/src/lib/suspense.tsx +18 -0
- package/src/lib/useful-types.ts +65 -0
- package/build/blocks/MoveError.js +0 -6
- package/build/blocks/MoveError.js.map +0 -1
- package/build/blocks/PathError.js.map +0 -1
- package/build/blocks/SNPFlexibleItemsListComponent.js +0 -15
- package/build/blocks/SNPFlexibleItemsListComponent.js.map +0 -1
- package/build/blocks/SNPGroupComponent.js +0 -17
- package/build/blocks/SNPGroupComponent.js.map +0 -1
- package/build/blocks/SNPListComponent.js +0 -15
- package/build/blocks/SNPListComponent.js.map +0 -1
- package/build/blocks/SNPTreeContext.js +0 -10
- package/build/blocks/SNPTreeContext.js.map +0 -1
- package/build/blocks/basic-custom-block-bindings-support.js +0 -150
- package/build/blocks/basic-custom-block-bindings-support.js.map +0 -1
- package/build/blocks/common-native-property-constructors.d.ts +0 -208
- package/build/blocks/common-native-property-constructors.js.map +0 -1
- package/build/blocks/conditions.js.map +0 -1
- package/build/blocks/data-controller-manager.js.map +0 -1
- package/build/blocks/data-controller.js.map +0 -1
- package/build/blocks/hooks/built-in-suspendable-option-protocols/select.js.map +0 -1
- package/build/blocks/hooks/built-in-suspendable-option-protocols/settings.js.map +0 -1
- package/build/blocks/hooks/useSuspendableOptions.js.map +0 -1
- package/build/blocks/index.js +0 -15
- package/build/blocks/index.js.map +0 -1
- package/build/blocks/layered-styles-api.js.map +0 -1
- package/build/blocks/layered-styles-impl.js.map +0 -1
- package/build/blocks/layout/LaidOutProperty.js +0 -44
- package/build/blocks/layout/LaidOutProperty.js.map +0 -1
- package/build/blocks/layout/LaidOutPropertyRow.js +0 -12
- package/build/blocks/layout/LaidOutPropertyRow.js.map +0 -1
- package/build/blocks/layout/NodeContext.js +0 -37
- package/build/blocks/layout/NodeContext.js.map +0 -1
- package/build/blocks/layout/PanelRoot.js +0 -26
- package/build/blocks/layout/PanelRoot.js.map +0 -1
- package/build/blocks/layout/TabsRoot.js.map +0 -1
- package/build/blocks/layout/ToolsPanelContext.js +0 -18
- package/build/blocks/layout/ToolsPanelContext.js.map +0 -1
- package/build/blocks/shared-exportable-types.js +0 -2
- package/build/blocks/shared-internal-types.js +0 -2
- package/build/blocks/simple-block.js +0 -41
- package/build/blocks/simple-block.js.map +0 -1
- package/build/blocks/simple-native-property-api.js.map +0 -1
- package/build/blocks/simple-native-property-impl.js.map +0 -1
- package/build/blocks/simple-native-property-internal-shared.js.map +0 -1
- package/build/blocks/snp-api.js +0 -2
- package/build/blocks/snp-api.js.map +0 -1
- package/build/blocks/snp-data-store.js.map +0 -1
- package/build/blocks/utilities.js +0 -67
- package/build/blocks/utilities.js.map +0 -1
- package/build/controls/AsynchronousFormTokenField.js +0 -32
- package/build/controls/AsynchronousFormTokenField.js.map +0 -1
- package/build/controls/BaseSortableItemsControl.js +0 -22
- package/build/controls/BaseSortableItemsControl.js.map +0 -1
- package/build/controls/ExtendedFormTokenField.js +0 -58
- package/build/controls/ExtendedFormTokenField.js.map +0 -1
- package/build/controls/ExtendedPostPicker.js +0 -22
- package/build/controls/ExtendedPostPicker.js.map +0 -1
- package/build/controls/ExtendedRadioControl.d.ts +0 -10
- package/build/controls/ExtendedRadioControl.js +0 -30
- package/build/controls/ExtendedRadioControl.js.map +0 -1
- package/build/controls/ExtendedTaxonomyPicker.js +0 -68
- package/build/controls/ExtendedTaxonomyPicker.js.map +0 -1
- package/build/controls/ExtendedTermPicker.js +0 -27
- package/build/controls/ExtendedTermPicker.js.map +0 -1
- package/build/controls/ExtendedTextareaControl.d.ts +0 -14
- package/build/controls/ExtendedTextareaControl.js.map +0 -1
- package/build/controls/ExtendedUserPicker.js +0 -22
- package/build/controls/ExtendedUserPicker.js.map +0 -1
- package/build/controls/FullSizeToggleControl.js +0 -70
- package/build/controls/FullSizeToggleControl.js.map +0 -1
- package/build/controls/ImageControl.js +0 -76
- package/build/controls/ImageControl.js.map +0 -1
- package/build/controls/InspectorPanel.js +0 -26
- package/build/controls/InspectorPanel.js.map +0 -1
- package/build/controls/LazySuggestionsComboboxControl.js +0 -29
- package/build/controls/LazySuggestionsComboboxControl.js.map +0 -1
- package/build/controls/MultiSelectControl.js +0 -30
- package/build/controls/MultiSelectControl.js.map +0 -1
- package/build/controls/PickOne.js +0 -48
- package/build/controls/PickOne.js.map +0 -1
- package/build/controls/PromisableComponent.js.map +0 -1
- package/build/controls/ProperLinkControl.js +0 -56
- package/build/controls/ProperLinkControl.js.map +0 -1
- package/build/controls/SimpleToggle.js +0 -8
- package/build/controls/SimpleToggle.js.map +0 -1
- package/build/controls/SortableFlexibleItemsControl.js +0 -15
- package/build/controls/SortableFlexibleItemsControl.js.map +0 -1
- package/build/controls/SortableItemsControl.js +0 -12
- package/build/controls/SortableItemsControl.js.map +0 -1
- package/build/controls/basicNumericallyIdedItemPicker.js +0 -34
- package/build/controls/basicNumericallyIdedItemPicker.js.map +0 -1
- package/build/controls/hooks/useImprovedTokenManager.js.map +0 -1
- package/build/controls/hooks/useMultiSingleConversionLayer.js +0 -11
- package/build/controls/hooks/useMultiSingleConversionLayer.js.map +0 -1
- package/build/controls/hooks/useNonRenderingCounter.js +0 -6
- package/build/controls/hooks/useNonRenderingCounter.js.map +0 -1
- package/build/controls/hooks/useOutputMemoizingFilter.js.map +0 -1
- package/build/controls/hooks/useSortableItemsModel.js.map +0 -1
- package/build/controls/hooks/useSuggestions.js.map +0 -1
- package/build/controls/hooks/useTokenManager.js.map +0 -1
- package/build/controls/index.js.map +0 -1
- package/build/controls/shared.js.map +0 -1
- package/build/controls/types.js +0 -2
- package/build/editor/post-featured-image.js +0 -122
- package/build/editor/post-featured-image.js.map +0 -1
- package/build/editor/simple-gutenberg-endpoints-api.js +0 -22
- package/build/editor/simple-gutenberg-endpoints-api.js.map +0 -1
- package/build/editor/simple-gutenberg-endpoints-impl.js.map +0 -1
- package/build/index.js +0 -22
- package/build/index.js.map +0 -1
- package/build/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js +0 -23
- package/build/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.js.map +0 -1
- package/build/lib/gutenberg-api-extensions-state/general-logic.js.map +0 -1
- package/build/lib/gutenberg-api-extensions-state/layered-block-styles-logic.js.map +0 -1
- package/build/lib/gutenberg-api-extensions-state/snp-logic.js.map +0 -1
- package/build/lib/gutenberg-api-extensions-state.js +0 -48
- package/build/lib/gutenberg-api-extensions-state.js.map +0 -1
- package/build/lib/helpers.js.map +0 -1
- package/build/lib/plaudit-icons/column-1.js +0 -3
- package/build/lib/plaudit-icons/column-1.js.map +0 -1
- package/build/lib/plaudit-icons/column-2.js +0 -3
- package/build/lib/plaudit-icons/column-2.js.map +0 -1
- package/build/lib/plaudit-icons/column-3.js +0 -3
- package/build/lib/plaudit-icons/column-3.js.map +0 -1
- package/build/lib/plaudit-icons/placement-center.js +0 -3
- package/build/lib/plaudit-icons/placement-center.js.map +0 -1
- package/build/lib/plaudit-icons/placement-end.js +0 -3
- package/build/lib/plaudit-icons/placement-end.js.map +0 -1
- package/build/lib/plaudit-icons/placement-start.js +0 -3
- package/build/lib/plaudit-icons/placement-start.js.map +0 -1
- package/build/lib/plaudit-icons/placement-stretch.js +0 -3
- package/build/lib/plaudit-icons/placement-stretch.js.map +0 -1
- package/build/lib/plaudit-icons/plaudit-icon.js +0 -3
- package/build/lib/plaudit-icons/plaudit-icon.js.map +0 -1
- package/build/lib/plaudit-icons/reusable-block-marker.js +0 -3
- package/build/lib/plaudit-icons.js.map +0 -1
- package/build/lib/suspense/promise-handlers.js.map +0 -1
- package/build/lib/suspense.js +0 -14
- package/build/lib/suspense.js.map +0 -1
- package/build/lib/useful-types.js +0 -7
- package/build/lib/useful-types.js.map +0 -1
- /package/{build → dist}/blocks/MoveError.d.ts +0 -0
- /package/{build → dist}/blocks/PathError.d.ts +0 -0
- /package/{build → dist}/blocks/SNPTreeContext.d.ts +0 -0
- /package/{build → dist}/blocks/basic-custom-block-bindings-support.d.ts +0 -0
- /package/{build → dist}/blocks/conditions.d.ts +0 -0
- /package/{build → dist}/blocks/data-controller-manager.d.ts +0 -0
- /package/{build → dist}/blocks/data-controller.d.ts +0 -0
- /package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/select.d.ts +0 -0
- /package/{build → dist}/blocks/hooks/built-in-suspendable-option-protocols/settings.d.ts +0 -0
- /package/{build → dist}/blocks/index.d.ts +0 -0
- /package/{build → dist}/blocks/layered-styles-impl.d.ts +0 -0
- /package/{build → dist}/blocks/layout/LaidOutPropertyRow.d.ts +0 -0
- /package/{build → dist}/blocks/layout/PanelRoot.d.ts +0 -0
- /package/{build → dist}/blocks/layout/TabsRoot.d.ts +0 -0
- /package/{build → dist}/blocks/layout/ToolsPanelContext.d.ts +0 -0
- /package/{build → dist}/blocks/shared-exportable-types.d.ts +0 -0
- /package/{build → dist}/blocks/shared-exportable-types.js.map +0 -0
- /package/{build → dist}/blocks/shared-internal-types.d.ts +0 -0
- /package/{build → dist}/blocks/shared-internal-types.js.map +0 -0
- /package/{build → dist}/blocks/simple-native-property-impl.d.ts +0 -0
- /package/{build → dist}/blocks/simple-native-property-internal-shared.d.ts +0 -0
- /package/{build → dist}/blocks/snp-data-store.d.ts +0 -0
- /package/{build → dist}/controls/ExtendedPostPicker.d.ts +0 -0
- /package/{build → dist}/controls/ExtendedUserPicker.d.ts +0 -0
- /package/{build → dist}/controls/SimpleToggle.d.ts +0 -0
- /package/{build → dist}/controls/SortableFlexibleItemsControl.d.ts +0 -0
- /package/{build → dist}/controls/SortableItemsControl.d.ts +0 -0
- /package/{build → dist}/controls/hooks/useNonRenderingCounter.d.ts +0 -0
- /package/{build → dist}/controls/hooks/useOutputMemoizingFilter.d.ts +0 -0
- /package/{build → dist}/controls/hooks/useSortableItemsModel.d.ts +0 -0
- /package/{build → dist}/controls/hooks/useSuggestions.d.ts +0 -0
- /package/{build → dist}/controls/index.d.ts +0 -0
- /package/{build → dist}/controls/shared.d.ts +0 -0
- /package/{build → dist}/controls/types.d.ts +0 -0
- /package/{build → dist}/controls/types.js.map +0 -0
- /package/{build → dist}/editor/post-featured-image.d.ts +0 -0
- /package/{build → dist}/editor/simple-gutenberg-endpoints-api.d.ts +0 -0
- /package/{build → dist}/editor/simple-gutenberg-endpoints-impl.d.ts +0 -0
- /package/{build → dist}/index.d.ts +0 -0
- /package/{build → dist}/lib/gutenberg-api-extensions-state/custom-block-bindings-support-logic.d.ts +0 -0
- /package/{build → dist}/lib/gutenberg-api-extensions-state/general-logic.d.ts +0 -0
- /package/{build → dist}/lib/gutenberg-api-extensions-state/layered-block-styles-logic.d.ts +0 -0
- /package/{build → dist}/lib/gutenberg-api-extensions-state/snp-logic.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/column-1.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/column-2.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/column-3.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/placement-center.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/placement-end.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/placement-start.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/placement-stretch.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/plaudit-icon.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons/reusable-block-marker.d.ts +0 -0
- /package/{build → dist}/lib/plaudit-icons.d.ts +0 -0
- /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"}
|
|
@@ -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
|
|
2
|
-
import type {
|
|
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
|
-
|
|
18
|
+
type ImprovedTokenManagerReturnType = {
|
|
19
19
|
currentTokens: TokenItem[];
|
|
20
20
|
isValidating: boolean;
|
|
21
|
-
updateComponentValue:
|
|
22
|
-
tokenStatusCache: Map<
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;AAKA,oDAEC;AACD,4DAGC;AAsBD,0DA0BC;AA3DD,0CAA0D;AAC1D,gDAAwE;AAIxE,SAAgB,oBAAoB,CAAC,KAAgB;IACpD,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,GAAG,CAAC;AAC1D,CAAC;AACD,SAAgB,wBAAwB,CAAC,KAAa;IACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAC,CAAC;AAC1D,CAAC;AAED,sIAAsI;AACtI,IAAkB,eAIjB;AAJD,WAAkB,eAAe;IAChC,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,4CAAyB,CAAA;AAC1B,CAAC,EAJiB,eAAe,+BAAf,eAAe,QAIhC;AAeD,SAAgB,uBAAuB,CACtC,YAA4C,EAC5C,iBAA+C,EAC/C,eAA4D,EAC5D,mBAAuE,EACvE,eAA4D;IAE5D,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,IAAA,kBAAQ,EACtD,GAAG,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAErG,MAAM,mBAAmB,GAAG,IAAA,gBAAM,EAAyD,SAAS,CAAC,CAAC;IACtG,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/C,mBAAmB,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5G,MAAM,EAAC,YAAY,EAAE,eAAe,EAAC,GAAG,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACxH,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE5E,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,OAAO,EAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,EAAC,CAAC;AACzH,CAAC;AACD,SAAS,eAAe,CAAC,KAAgB,EAAE,KAAkD;IAC5F,OAAO,EAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAC,CAAC;AACvH,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAgB,EAAE,KAAkD;IACjG,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO;IACR,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;IAChG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAyB;IAClD,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAChK,CAAC;AAED,SAAS,iBAAiB,CACzB,cAAoC,EAAE,mBAAiD,EAAE,gBAA8D;IAEvJ,MAAM,mBAAmB,GAAG,IAAA,gBAAM,EAAuB,EAAE,CAAC,CAAC;IAC7D,MAAM,sBAAsB,GAAG,IAAA,gBAAM,EAAc,EAAE,CAAC,CAAC;IACvD,IAAI,mBAAmB,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACpD,OAAO,sBAAsB,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc;QAC7E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,GAAG,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,GAAG,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACP,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,UAAU,EAAE,CAAC;oBAC/E,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC,CAAC,CAAC;IAEJ,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC;IACvD,IAAI,oBAAoB,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;QAC5D,mBAAmB,CAAC,OAAO,GAAG,cAAc,CAAC;QAC7C,sBAAsB,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACtD,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YACpI,mBAAmB,CAAC,OAAO,GAAG,cAAc,CAAC;YAC7C,sBAAsB,CAAC,OAAO,GAAG,oBAAoB,CAAC;YACtD,OAAO,oBAAoB,CAAC;QAC7B,CAAC;IACF,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACzB,eAA4B,EAAE,eAA4D,EAAE,gBAA8D;IAE1J,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE;QACtF,MAAM,GAAG,GAAG,eAAe;aACzB,GAAG,CAAC,KAAK,CAAC,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtH,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExC,OAAO,IAAA,gBAAS,EAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACrC,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3H,MAAM,GAAG,GAAG,eAAe,CAAC,iCAAiC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,EAAC,CAAC,CAAC;gBAClI,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACrC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,EAAC,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,OAAO,EAAC,eAAe,EAAE,4BAA4B,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;YAC5E,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,EAAC,eAAe,EAAE,4BAA4B,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC;QAC7E,CAAC;IACF,CAAC,EAAE,CAAC,eAAe,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,oBAAoB,CAAC,eAA4B,EAAE,eAA4D;IACvH,OAAO,IAAA,iBAAO,EAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;AACjI,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { TokenItem } from "
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
+
import type { TokenItem } from "../../lib/useful-types";
|
|
3
|
+
type TokenManagerReturnType = {
|
|
4
4
|
currentTokens: TokenItem[];
|
|
5
|
-
dispatchValueUpdate:
|
|
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 {};
|