@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
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const [
|
|
11
|
-
const [
|
|
12
|
-
const [
|
|
13
|
-
const [
|
|
14
|
-
const [
|
|
15
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTokenManager = useTokenManager;
|
|
4
|
+
const element_1 = require("@wordpress/element");
|
|
5
|
+
const AsynchronousFormTokenField_1 = require("../AsynchronousFormTokenField");
|
|
6
|
+
const shared_1 = require("../shared");
|
|
7
|
+
const useNonRenderingCounter_1 = require("./useNonRenderingCounter");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
function useTokenManager(initialValue, setComponentValue, validationQuery, stringToTokenConverter) {
|
|
10
|
+
const [validationRequestId, nextValidationRequestId] = (0, useNonRenderingCounter_1.useNonRenderingCounter)(initialValue.length ? 0 : 1);
|
|
11
|
+
const [isValidating, setIsValidating] = (0, element_1.useState)(false);
|
|
12
|
+
const [hasValidationError, setHasValidationError] = (0, element_1.useState)(false);
|
|
13
|
+
const [latestResolvedRequest, dispatchLatestResolvedRequestUpdate] = (0, react_1.useReducer)(Math.max, validationRequestId.current);
|
|
14
|
+
const [validatedTokens, dispatchValidatedTokensUpdate] = (0, react_1.useReducer)(performValidationStateDictReductionUpdate, {});
|
|
15
|
+
const [currentValue, setCurrentValue] = (0, element_1.useState)(initialValue);
|
|
16
|
+
const [currentTokens, updateCurrentTokens] = (0, react_1.useReducer)(currentTokensStateReducer, [], () => initialValue.map(value => ({ value, status: AsynchronousFormTokenField_1.ValidationState.Validating })));
|
|
17
|
+
const [tokenTitleMappings, updateTokenTitleMappings] = (0, react_1.useReducer)(tokenTitleMappingsUpdater, {});
|
|
18
|
+
(0, element_1.useEffect)(() => {
|
|
16
19
|
const tokensInNeedOfValidation = currentTokens
|
|
17
|
-
.filter(token => token.status === ValidationState.Validating)
|
|
20
|
+
.filter(token => token.status === AsynchronousFormTokenField_1.ValidationState.Validating)
|
|
18
21
|
.filter(token => !(token.value in validatedTokens))
|
|
19
22
|
.map(token => token.value);
|
|
20
23
|
if (tokensInNeedOfValidation.length > 0) {
|
|
21
|
-
dispatchValidatedTokensUpdate({ data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, ValidationState.Waiting])) });
|
|
24
|
+
dispatchValidatedTokensUpdate({ data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, AsynchronousFormTokenField_1.ValidationState.Waiting])) });
|
|
22
25
|
}
|
|
23
26
|
}, [currentTokens]);
|
|
24
27
|
// I'm splitting out the useEffect call here in order to have one-to-one correspondence between effects and types of state updates
|
|
25
|
-
useEffect(() => {
|
|
28
|
+
(0, element_1.useEffect)(() => {
|
|
26
29
|
const tokensInNeedOfValidation = Object.entries(validatedTokens)
|
|
27
|
-
.filter(([_, v]) => v === ValidationState.Waiting)
|
|
30
|
+
.filter(([_, v]) => v === AsynchronousFormTokenField_1.ValidationState.Waiting)
|
|
28
31
|
.map(([token]) => token);
|
|
29
32
|
if (tokensInNeedOfValidation.length === 0) {
|
|
30
33
|
return;
|
|
@@ -32,10 +35,10 @@ export function useTokenManager(initialValue, setComponentValue, validationQuery
|
|
|
32
35
|
const myValidationRequestId = nextValidationRequestId();
|
|
33
36
|
setIsValidating(true);
|
|
34
37
|
setHasValidationError(false);
|
|
35
|
-
dispatchValidatedTokensUpdate({ data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, ValidationState.Validating])) });
|
|
38
|
+
dispatchValidatedTokensUpdate({ data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, AsynchronousFormTokenField_1.ValidationState.Validating])) });
|
|
36
39
|
let timeoutId = setTimeout(() => {
|
|
37
40
|
timeoutId = undefined;
|
|
38
|
-
dispatchValidatedTokensUpdate({ type: 'rollback', data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, ValidationState.Waiting])) });
|
|
41
|
+
dispatchValidatedTokensUpdate({ type: 'rollback', data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, AsynchronousFormTokenField_1.ValidationState.Waiting])) });
|
|
39
42
|
}, 60_000);
|
|
40
43
|
validationQuery(tokensInNeedOfValidation)
|
|
41
44
|
.then(tokens => {
|
|
@@ -43,7 +46,7 @@ export function useTokenManager(initialValue, setComponentValue, validationQuery
|
|
|
43
46
|
throw "Timeout";
|
|
44
47
|
}
|
|
45
48
|
dispatchValidatedTokensUpdate({
|
|
46
|
-
data: Object.fromEntries(tokens.map(token => [token.value, token.status === ValidationState.Valid ? ValidationState.Valid : ValidationState.Invalid]))
|
|
49
|
+
data: Object.fromEntries(tokens.map(token => [token.value, token.status === AsynchronousFormTokenField_1.ValidationState.Valid ? AsynchronousFormTokenField_1.ValidationState.Valid : AsynchronousFormTokenField_1.ValidationState.Invalid]))
|
|
47
50
|
});
|
|
48
51
|
updateTokenTitleMappings(tokens);
|
|
49
52
|
})
|
|
@@ -53,7 +56,7 @@ export function useTokenManager(initialValue, setComponentValue, validationQuery
|
|
|
53
56
|
// We retry the validation after 30 seconds
|
|
54
57
|
setTimeout(() => dispatchValidatedTokensUpdate({
|
|
55
58
|
type: 'rollback',
|
|
56
|
-
data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, ValidationState.Waiting]))
|
|
59
|
+
data: Object.fromEntries(tokensInNeedOfValidation.map(token => [token, AsynchronousFormTokenField_1.ValidationState.Waiting]))
|
|
57
60
|
}), 30_000);
|
|
58
61
|
})
|
|
59
62
|
.finally(() => {
|
|
@@ -61,13 +64,13 @@ export function useTokenManager(initialValue, setComponentValue, validationQuery
|
|
|
61
64
|
dispatchLatestResolvedRequestUpdate(myValidationRequestId);
|
|
62
65
|
});
|
|
63
66
|
}, [validatedTokens]);
|
|
64
|
-
useEffect(() => {
|
|
67
|
+
(0, element_1.useEffect)(() => {
|
|
65
68
|
updateCurrentTokens(currentValue.map(token => {
|
|
66
69
|
if (typeof token === 'string') {
|
|
67
70
|
token = stringToTokenConverter(token);
|
|
68
|
-
if (token.status === undefined || token.status === ValidationState.Validating) {
|
|
71
|
+
if (token.status === undefined || token.status === AsynchronousFormTokenField_1.ValidationState.Validating) {
|
|
69
72
|
const status = validatedTokens[token.value];
|
|
70
|
-
if (status !== undefined && status !== ValidationState.Waiting) {
|
|
73
|
+
if (status !== undefined && status !== AsynchronousFormTokenField_1.ValidationState.Waiting) {
|
|
71
74
|
token.status = status;
|
|
72
75
|
}
|
|
73
76
|
}
|
|
@@ -76,28 +79,28 @@ export function useTokenManager(initialValue, setComponentValue, validationQuery
|
|
|
76
79
|
}));
|
|
77
80
|
}, [currentValue]);
|
|
78
81
|
// This is split out into a useEffect call in order to take advantage of the Reducer's excess-update-reduction logic.
|
|
79
|
-
useEffect(() => {
|
|
82
|
+
(0, element_1.useEffect)(() => {
|
|
80
83
|
updateTokenTitleMappings(currentTokens);
|
|
81
84
|
if (latestResolvedRequest > (initialValue.length ? 0 : 1)) {
|
|
82
85
|
setComponentValue(currentTokens);
|
|
83
86
|
}
|
|
84
87
|
}, [currentTokens]);
|
|
85
|
-
useEffect(() => {
|
|
88
|
+
(0, element_1.useEffect)(() => {
|
|
86
89
|
if (currentTokens.some(token => token.value in tokenTitleMappings && tokenTitleMappings[token.value] !== token.title)) {
|
|
87
90
|
updateCurrentTokens(currentTokens.map(token => token.title === undefined && token.value in tokenTitleMappings
|
|
88
91
|
? { ...token, title: tokenTitleMappings[token.value] } : token));
|
|
89
92
|
}
|
|
90
93
|
}, [tokenTitleMappings]);
|
|
91
|
-
useEffect(() => {
|
|
94
|
+
(0, element_1.useEffect)(() => {
|
|
92
95
|
const potentiallyUpdatableTokens = currentTokens.map((token) => [token, validatedTokens[token.value]]);
|
|
93
96
|
// A token is worth updating if its status is undefined or validating and its new status is defined and neither waiting nor validating
|
|
94
97
|
const hasTokenWorthUpdating = potentiallyUpdatableTokens.some(([token, nvs]) => {
|
|
95
|
-
return (token.status === undefined || token.status === ValidationState.Validating)
|
|
96
|
-
&& nvs !== undefined && nvs !== ValidationState.Validating && nvs !== ValidationState.Waiting;
|
|
98
|
+
return (token.status === undefined || token.status === AsynchronousFormTokenField_1.ValidationState.Validating)
|
|
99
|
+
&& nvs !== undefined && nvs !== AsynchronousFormTokenField_1.ValidationState.Validating && nvs !== AsynchronousFormTokenField_1.ValidationState.Waiting;
|
|
97
100
|
});
|
|
98
101
|
if (hasTokenWorthUpdating) {
|
|
99
102
|
updateCurrentTokens(potentiallyUpdatableTokens.map(([token, status]) => {
|
|
100
|
-
return !status || status === ValidationState.Waiting ? token : ({ ...token, status });
|
|
103
|
+
return !status || status === AsynchronousFormTokenField_1.ValidationState.Waiting ? token : ({ ...token, status });
|
|
101
104
|
}));
|
|
102
105
|
}
|
|
103
106
|
setIsValidating(latestResolvedRequest < validationRequestId.current);
|
|
@@ -111,7 +114,7 @@ function performValidationStateDictReductionUpdate(prevState, action) {
|
|
|
111
114
|
default:
|
|
112
115
|
return {
|
|
113
116
|
...prevState, ...Object.fromEntries(Object.entries(action.data)
|
|
114
|
-
.filter(([token, validationState]) => validationState !== ValidationState.Waiting || !(token in prevState)))
|
|
117
|
+
.filter(([token, validationState]) => validationState !== AsynchronousFormTokenField_1.ValidationState.Waiting || !(token in prevState)))
|
|
115
118
|
};
|
|
116
119
|
}
|
|
117
120
|
}
|
|
@@ -130,7 +133,7 @@ function tokenTitleMappingsUpdater(state, tokens) {
|
|
|
130
133
|
const titleWithIdRegex = /(.*)\(#([^)]+)\)$/;
|
|
131
134
|
const novelTokens = tokens
|
|
132
135
|
.map(token => [token.value, token.title])
|
|
133
|
-
.filter((token) => token[1] !== undefined && !isNumeric(token[1]))
|
|
136
|
+
.filter((token) => token[1] !== undefined && !(0, shared_1.isNumeric)(token[1]))
|
|
134
137
|
.map(token => {
|
|
135
138
|
const res = titleWithIdRegex.exec(token[1]);
|
|
136
139
|
return res && res[1] && res[1].trim().length < 30 ? token : [token[0], labelToDisplayableTitle(res?.[1] ?? token[1], res?.[2] ?? token[0])];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTokenManager.js","sourceRoot":"","sources":["../../../src/controls/hooks/useTokenManager.ts"],"names":[],"mappings":";;AAmBA,0CAmHC;AAtID,gDAAuD;AAEvD,8EAA8D;AAC9D,sCAAoC;AAGpC,qEAAgE;AAEhE,iCAAiC;AAWjC,SAAgB,eAAe,CAC9B,YAAsB,EAAE,iBAA+C,EAAE,eAA2D,EACpI,sBAAoD;IAEpD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GAAG,IAAA,+CAAsB,EAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC,GAAG,IAAA,kBAAU,EAAyC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/J,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC,GAAG,IAAA,kBAAU,EAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;IAEnH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,kBAAQ,EAAuB,YAAY,CAAC,CAAC;IACrF,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,IAAA,kBAAU,EAAC,yBAAyB,EAAE,EAAE,EACpF,GAAgB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,4CAAe,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,IAAA,kBAAU,EAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAEjG,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,MAAM,wBAAwB,GAAG,aAAa;aAC5C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,4CAAe,CAAC,UAAU,CAAC;aAC5D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;aAClD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,6BAA6B,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,4CAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QACpI,CAAC;IACF,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,kIAAkI;IAClI,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;aAC9D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,4CAAe,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;QACR,CAAC;QAED,MAAM,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;QACxD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,6BAA6B,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,4CAAe,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAEtI,IAAI,SAAS,GAA4C,UAAU,CAAC,GAAG,EAAE;YACxE,SAAS,GAAG,SAAS,CAAC;YACtB,6BAA6B,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,4CAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QACtJ,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,eAAe,CAAC,wBAAwB,CAAC;aACvC,IAAI,CAAC,MAAM,CAAC,EAAE;YACd,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,SAAS,CAAC;YACjB,CAAC;YACD,6BAA6B,CAAC;gBAC7B,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,4CAAe,CAAC,KAAK,CAAC,CAAC,CAAC,4CAAe,CAAC,KAAK,CAAC,CAAC,CAAC,4CAAe,CAAC,OAAO,CAAC,CAAC,CAAC;aACtJ,CAAC,CAAC;YACH,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACxC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,2CAA2C;YAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC;gBAC9C,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,4CAAe,CAAC,OAAO,CAAC,CAAC,CAAC;aACjG,CAAC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,mCAAmC,CAAC,qBAAqB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAY,KAAK,CAAC,EAAE;YACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,4CAAe,CAAC,UAAU,EAAE,CAAC;oBAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,4CAAe,CAAC,OAAO,EAAE,CAAC;wBAChE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,CAAC;gBACF,CAAC;YACF,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpI,CAAC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,qHAAqH;IACrH,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,qBAAqB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;IACF,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvH,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,kBAAkB;gBAC5G,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;IACF,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,IAAA,mBAAS,EAAC,GAAG,EAAE;QACd,MAAM,0BAA0B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAA0C,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/I,sIAAsI;QACtI,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;YAC9E,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,4CAAe,CAAC,UAAU,CAAC;mBAC9E,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,4CAAe,CAAC,UAAU,IAAI,GAAG,KAAK,4CAAe,CAAC,OAAO,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,qBAAqB,EAAE,CAAC;YAC3B,mBAAmB,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;gBACtE,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,4CAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,KAAK,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAC,CAAC;AACjK,CAAC;AAGD,SAAS,yCAAyC,CAAC,SAAgC,EAAE,MAAgD;IACpI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU;YACd,OAAO,EAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,EAAC,CAAC;QACvC;YACC,OAAO;gBACN,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC7D,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,KAAK,4CAAe,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;aAC7G,CAAC;IACJ,CAAC;AACF,CAAC;AACD,SAAS,yBAAyB,CAAC,aAA0B,EAAE,SAAsB;IACpF,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,aAAa,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;YAC7J,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AACD,SAAS,yBAAyB,CAAC,KAAmB,EAAE,MAAmB;IAC1E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM;SACxB,GAAG,CAA6B,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SACpE,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5F,GAAG,CAAmB,KAAK,CAAC,EAAE;QAC9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC,CAAC;SACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,EAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAC,CAAC;AACvD,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAa,EAAE,EAAU;IACzD,OAAO,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,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC;AAC7F,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.requestPostsFromAPI = exports.AsynchronousFormTokenField = void 0;
|
|
18
|
+
var AsynchronousFormTokenField_1 = require("./AsynchronousFormTokenField");
|
|
19
|
+
Object.defineProperty(exports, "AsynchronousFormTokenField", { enumerable: true, get: function () { return AsynchronousFormTokenField_1.AsynchronousFormTokenField; } });
|
|
20
|
+
__exportStar(require("./BaseSortableItemsControl"), exports);
|
|
21
|
+
__exportStar(require("./ExtendedFormTokenField"), exports);
|
|
22
|
+
__exportStar(require("./ExtendedPostPicker"), exports);
|
|
23
|
+
__exportStar(require("./ExtendedRadioControl"), exports);
|
|
24
|
+
__exportStar(require("./ExtendedTaxonomyPicker"), exports);
|
|
25
|
+
__exportStar(require("./ExtendedTermPicker"), exports);
|
|
26
|
+
__exportStar(require("./ExtendedTextareaControl"), exports);
|
|
27
|
+
__exportStar(require("./ExtendedUserPicker"), exports);
|
|
28
|
+
__exportStar(require("./FullSizeToggleControl"), exports);
|
|
29
|
+
__exportStar(require("./ImageControl"), exports);
|
|
30
|
+
__exportStar(require("./InspectorPanel"), exports);
|
|
31
|
+
__exportStar(require("./LazySuggestionsComboboxControl"), exports);
|
|
32
|
+
__exportStar(require("./MultiSelectControl"), exports);
|
|
33
|
+
__exportStar(require("./PickOne"), exports);
|
|
34
|
+
__exportStar(require("./PromisableComponent"), exports);
|
|
35
|
+
__exportStar(require("./ProperLinkControl"), exports);
|
|
36
|
+
__exportStar(require("./SimpleToggle"), exports);
|
|
37
|
+
__exportStar(require("./SortableFlexibleItemsControl"), exports);
|
|
38
|
+
__exportStar(require("./SortableItemsControl"), exports);
|
|
39
|
+
var shared_1 = require("./shared");
|
|
40
|
+
Object.defineProperty(exports, "requestPostsFromAPI", { enumerable: true, get: function () { return shared_1.requestPostsFromAPI; } });
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2EAAwE;AAAhE,wIAAA,0BAA0B,OAAA;AAClC,6DAA2C;AAC3C,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,2DAAyC;AACzC,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC;AACrC,0DAAwC;AACxC,iDAA+B;AAC/B,mDAAiC;AACjC,mEAAiD;AACjD,uDAAqC;AACrC,4CAA0B;AAC1B,wDAAsC;AACtC,sDAAoC;AACpC,iDAA+B;AAC/B,iEAA+C;AAC/C,yDAAuC;AAEvC,mCAA+C;AAAtC,6GAAA,mBAAmB,OAAA"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.requestPostsFromAPI = requestPostsFromAPI;
|
|
7
|
+
exports.normalizePickableOptionsToObjects = normalizePickableOptionsToObjects;
|
|
8
|
+
exports.normalizePickableOptionsToPairs = normalizePickableOptionsToPairs;
|
|
9
|
+
exports.getLabel = getLabel;
|
|
10
|
+
exports.isNumeric = isNumeric;
|
|
11
|
+
const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
|
|
12
|
+
const url_1 = require("@wordpress/url");
|
|
13
|
+
async function requestPostsFromAPI(data) {
|
|
14
|
+
return (await (0, api_fetch_1.default)({ path: (0, url_1.addQueryArgs)("/plaudit/common/v1/post-table-search", data) }))
|
|
5
15
|
.map(item => ({ id: item.id.toString(), title: item.title, type: item.type }));
|
|
6
16
|
}
|
|
7
|
-
|
|
17
|
+
function normalizePickableOptionsToObjects(options) {
|
|
8
18
|
return options.map(option => {
|
|
9
19
|
if (Array.isArray(option)) {
|
|
10
20
|
if (typeof option[1] === 'string') {
|
|
@@ -16,7 +26,7 @@ export function normalizePickableOptionsToObjects(options) {
|
|
|
16
26
|
return option;
|
|
17
27
|
});
|
|
18
28
|
}
|
|
19
|
-
|
|
29
|
+
function normalizePickableOptionsToPairs(options) {
|
|
20
30
|
return options.map(option => {
|
|
21
31
|
if (isPairPickableOption(option)) {
|
|
22
32
|
return option;
|
|
@@ -25,13 +35,13 @@ export function normalizePickableOptionsToPairs(options) {
|
|
|
25
35
|
return [value, { text: label, ...rest }];
|
|
26
36
|
});
|
|
27
37
|
}
|
|
28
|
-
|
|
38
|
+
function getLabel(option) {
|
|
29
39
|
return Array.isArray(option) ? (typeof option[1] === 'string' ? option[1] : option[1].text) : (option.label ?? option.value.toString());
|
|
30
40
|
}
|
|
31
41
|
function isPairPickableOption(option) {
|
|
32
42
|
return Array.isArray(option) && option.length === 2;
|
|
33
43
|
}
|
|
34
|
-
|
|
44
|
+
function isNumeric(str) {
|
|
35
45
|
if (typeof str !== "string")
|
|
36
46
|
return true; // we only process strings!
|
|
37
47
|
return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/controls/shared.ts"],"names":[],"mappings":";;;;;AAKA,kDAGC;AAED,8EAaC;AACD,0EAUC;AACD,4BAEC;AAQD,8BAIC;AAjDD,qEAA4C;AAC5C,wCAA4C;AAIrC,KAAK,UAAU,mBAAmB,CAAC,IAAmE;IAC5G,OAAO,CAAC,MAAM,IAAA,mBAAQ,EAAqD,EAAC,IAAI,EAAE,IAAA,kBAAY,EAAC,sCAAsC,EAAE,IAAI,CAAC,EAAC,CAAC,CAAC;SAC7I,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAgB,iCAAiC,CAChD,OAA8B;IAE9B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAkD,CAAC;YAC9F,CAAC;YACD,MAAM,EAAC,IAAI,EAAE,GAAG,IAAI,EAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAA6D,CAAC;QAC7G,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;AACJ,CAAC;AACD,SAAgB,+BAA+B,CAC9C,OAA8B;IAE9B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC3B,IAAI,oBAAoB,CAAO,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QACf,CAAC;QACD,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAC,GAAG,MAAM,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAC,CAA2D,CAAC;IAClG,CAAC,CAAC,CAAC;AACJ,CAAC;AACD,SAAgB,QAAQ,CAAC,MAAoC;IAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzI,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAqC;IAErC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,SAAS,CAAC,GAAkB;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;IACrE,OAAO,CAAC,KAAK,CAAC,GAAU,CAAC,IAAI,mGAAmG;QAC/H,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,2CAA2C;AACrE,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installPostFeaturedImageCardFocusTargeting = installPostFeaturedImageCardFocusTargeting;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@wordpress/components");
|
|
6
|
+
const data_1 = require("@wordpress/data");
|
|
7
|
+
const editor_1 = require("@wordpress/editor");
|
|
8
|
+
const element_1 = require("@wordpress/element");
|
|
9
|
+
const hooks_1 = require("@wordpress/hooks");
|
|
10
|
+
const i18n_1 = require("@wordpress/i18n");
|
|
11
|
+
function getMediaDetails(media, postId) {
|
|
12
|
+
if (!media) {
|
|
13
|
+
return {};
|
|
14
|
+
}
|
|
15
|
+
const sizes = (media?.media_details?.['sizes'] ?? {});
|
|
16
|
+
const activeSize = sizes[getImageSize('large', media, postId)];
|
|
17
|
+
if (activeSize !== undefined) {
|
|
18
|
+
return {
|
|
19
|
+
mediaWidth: activeSize.width,
|
|
20
|
+
mediaHeight: activeSize.height,
|
|
21
|
+
mediaSourceUrl: activeSize.source_url,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
// Use fallbackSize when defaultSize is not available.
|
|
25
|
+
const fallbackSize = sizes[getImageSize('thumbnail', media, postId)];
|
|
26
|
+
if (fallbackSize !== undefined) {
|
|
27
|
+
return {
|
|
28
|
+
mediaWidth: fallbackSize.width,
|
|
29
|
+
mediaHeight: fallbackSize.height,
|
|
30
|
+
mediaSourceUrl: fallbackSize.source_url,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// Use full image size when fallbackSize and defaultSize are not available.
|
|
34
|
+
return {
|
|
35
|
+
mediaWidth: media.media_details['width'],
|
|
36
|
+
mediaHeight: media.media_details['height'],
|
|
37
|
+
mediaSourceUrl: media.source_url,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function getLivePosition(selectFunction = data_1.select) {
|
|
41
|
+
const { x = 50, y = 50 } = (selectFunction(editor_1.store).getEditedPostAttribute('meta')?.["plaudit_card-image_pos"] ?? {});
|
|
42
|
+
return { x: x / 100, y: y / 100 };
|
|
43
|
+
}
|
|
44
|
+
function setLivePosition({ x, y }) {
|
|
45
|
+
(0, data_1.dispatch)(editor_1.store)
|
|
46
|
+
.editPost({
|
|
47
|
+
meta: { "plaudit_card-image_pos": { x: Math.round(x * 100), y: Math.round(y * 100) } }
|
|
48
|
+
})
|
|
49
|
+
.catch(e => {
|
|
50
|
+
console.error(e);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function getRawLivePosition() {
|
|
54
|
+
return { x: 50, y: 50, ...((0, data_1.select)(editor_1.store).getEditedPostAttribute('meta')?.["plaudit_card-image_pos"] ?? {}) };
|
|
55
|
+
}
|
|
56
|
+
function getImageSize(defaultSize, media, postId) {
|
|
57
|
+
let filteredSize = (0, hooks_1.applyFilters)('editor.PostFeaturedImage.imageSize', defaultSize, media.id, postId);
|
|
58
|
+
if (typeof filteredSize !== 'string') {
|
|
59
|
+
console.error(`The 'editor.PostFeaturedImage.imageSize' filter returned a non-string size (${filteredSize}).`, `Using '${defaultSize}' as a fallback.`);
|
|
60
|
+
return defaultSize;
|
|
61
|
+
}
|
|
62
|
+
return filteredSize;
|
|
63
|
+
}
|
|
64
|
+
function wrapPostFeaturedImage(OriginalComponent) {
|
|
65
|
+
return (props) => {
|
|
66
|
+
const [inFocusMode, setInFocusMode] = (0, element_1.useState)(false);
|
|
67
|
+
// This useMemo call makes it so that we only update restorablePosition when the state changes.
|
|
68
|
+
const restorablePosition = (0, element_1.useMemo)(getLivePosition, [inFocusMode]);
|
|
69
|
+
const { mediaSourceUrl } = getMediaDetails(props.media, props.currentPostId);
|
|
70
|
+
if (!mediaSourceUrl) {
|
|
71
|
+
if ((0, data_1.select)(editor_1.store).getEditedPostAttribute('featured_media')) {
|
|
72
|
+
return (0, jsx_runtime_1.jsx)(components_1.Spinner, {});
|
|
73
|
+
}
|
|
74
|
+
return (0, jsx_runtime_1.jsx)(OriginalComponent, { ...props });
|
|
75
|
+
}
|
|
76
|
+
else if (!inFocusMode) {
|
|
77
|
+
return (0, jsx_runtime_1.jsx)(NotInFocusMode, { OriginalComponent: OriginalComponent, props: props, setInFocusMode: setInFocusMode });
|
|
78
|
+
}
|
|
79
|
+
return (0, jsx_runtime_1.jsx)(InFocusMode, { mediaSourceUrl: mediaSourceUrl, props: props, restorablePosition: restorablePosition, setInFocusMode: setInFocusMode });
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const NotInFocusMode = (0, element_1.memo)(({ OriginalComponent, props, setInFocusMode }) => {
|
|
83
|
+
const { x, y } = getRawLivePosition();
|
|
84
|
+
(0, element_1.useEffect)(() => {
|
|
85
|
+
let sheet = document.adoptedStyleSheets.find(s => s.identifier === '__POST_FEATURED_IMAGE__');
|
|
86
|
+
if (!sheet) {
|
|
87
|
+
sheet = new CSSStyleSheet();
|
|
88
|
+
sheet.identifier = '__POST_FEATURED_IMAGE__';
|
|
89
|
+
}
|
|
90
|
+
sheet.replace(`.plauditPostFeaturedImageWithFocalPoint__wrapper .editor-post-featured-image__preview-image {object-fit: ${x}% ${y}% !important;}`)
|
|
91
|
+
.catch(e => {
|
|
92
|
+
console.error(e);
|
|
93
|
+
});
|
|
94
|
+
return () => {
|
|
95
|
+
const sheet = document.adoptedStyleSheets.findIndex(s => s.identifier === '__POST_FEATURED_IMAGE__');
|
|
96
|
+
if (sheet) {
|
|
97
|
+
document.adoptedStyleSheets.splice(sheet, 1);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}, [x, y]);
|
|
101
|
+
return (0, jsx_runtime_1.jsx)(editor_1.PostFeaturedImageCheck, { children: (0, jsx_runtime_1.jsxs)("div", { className: "plauditPostFeaturedImageWithFocalPoint__wrapper", children: [(0, jsx_runtime_1.jsx)("div", { className: "plauditPostFeaturedImageWithFocalPoint__toggle", children: (0, jsx_runtime_1.jsx)(components_1.Button, { onClick: (0, element_1.useCallback)(() => setInFocusMode(true), [setInFocusMode]), className: "editor-post-featured-image__action", text: (0, i18n_1.__)("Change Focal Point", 'plaudit') }) }), (0, jsx_runtime_1.jsx)(OriginalComponent, { ...props })] }) });
|
|
102
|
+
});
|
|
103
|
+
const InFocusMode = (0, element_1.memo)(({ mediaSourceUrl, props, restorablePosition, setInFocusMode }) => {
|
|
104
|
+
// This assembly makes it so that we both get updates if something else triggers a position change while making the focus picker doesn't reset itself
|
|
105
|
+
const { x, y } = (0, data_1.useSelect)(selectFunction => getLivePosition(selectFunction), []);
|
|
106
|
+
const [position, setPosition] = (0, element_1.useState)({ x, y });
|
|
107
|
+
(0, element_1.useEffect)(() => setPosition(getLivePosition()), [x, y]);
|
|
108
|
+
return (0, jsx_runtime_1.jsxs)(editor_1.PostFeaturedImageCheck, { children: [props.noticeUI, (0, jsx_runtime_1.jsxs)("div", { className: "editor-post-featured-image", children: [(0, jsx_runtime_1.jsx)(components_1.FocalPointPicker, { onChange: (0, element_1.useCallback)(pos => {
|
|
109
|
+
setPosition(pos);
|
|
110
|
+
setLivePosition(pos);
|
|
111
|
+
}, [setPosition]), url: mediaSourceUrl, value: position }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Button, { text: (0, i18n_1.__)("Done", 'plaudit'), onClick: (0, element_1.useCallback)(() => setInFocusMode(false), [setInFocusMode]), variant: "primary" }), (0, jsx_runtime_1.jsx)(components_1.Button, { text: (0, i18n_1.__)('Cancel', 'plaudit'), onClick: (0, element_1.useCallback)(() => {
|
|
112
|
+
setLivePosition(restorablePosition);
|
|
113
|
+
setInFocusMode(false);
|
|
114
|
+
}, [setInFocusMode]), isDestructive: true })] })] })] });
|
|
115
|
+
});
|
|
116
|
+
function installPostFeaturedImageCardFocusTargeting() {
|
|
117
|
+
if (!installPostFeaturedImageCardFocusTargeting.called) {
|
|
118
|
+
installPostFeaturedImageCardFocusTargeting.called = true;
|
|
119
|
+
(0, hooks_1.addFilter)('editor.PostFeaturedImage', 'plaudit-gutenberg-api-extensions/inject-post-featured-image-card-focus-targeting', wrapPostFeaturedImage);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
(function (installPostFeaturedImageCardFocusTargeting) {
|
|
123
|
+
installPostFeaturedImageCardFocusTargeting.called = false;
|
|
124
|
+
})(installPostFeaturedImageCardFocusTargeting || (exports.installPostFeaturedImageCardFocusTargeting = installPostFeaturedImageCardFocusTargeting = {}));
|
|
125
|
+
//# sourceMappingURL=post-featured-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-featured-image.js","sourceRoot":"","sources":["../../src/editor/post-featured-image.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSimpleGutenbergApiEndpoint = registerSimpleGutenbergApiEndpoint;
|
|
4
|
+
exports.useEndpointResolver = useEndpointResolver;
|
|
5
|
+
const data_1 = require("@wordpress/data");
|
|
6
|
+
const simple_gutenberg_endpoints_impl_1 = require("../editor/simple-gutenberg-endpoints-impl");
|
|
7
|
+
function registerSimpleGutenbergApiEndpoint(name, endpoint, options) {
|
|
8
|
+
(0, simple_gutenberg_endpoints_impl_1.installSimpleGutenbergApisSupport)();
|
|
9
|
+
(0, data_1.dispatch)(simple_gutenberg_endpoints_impl_1.store).registerEndpoint(name, endpoint, options);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @param name the name of the endpoint
|
|
13
|
+
* @param args MUST be a value derived from useDeferredValue()
|
|
14
|
+
* @param config shared configuration logic
|
|
15
|
+
*/
|
|
16
|
+
function useEndpointResolver(name, args, config = {}) {
|
|
17
|
+
const { immediateReturnOnEmpty = true, dependencies = [] } = config;
|
|
18
|
+
return (0, data_1.useSuspenseSelect)(select => {
|
|
19
|
+
if (!args && immediateReturnOnEmpty) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const selector = select(simple_gutenberg_endpoints_impl_1.store);
|
|
23
|
+
return selector.get(name, args);
|
|
24
|
+
}, [args, immediateReturnOnEmpty, ...dependencies]);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=simple-gutenberg-endpoints-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-gutenberg-endpoints-api.js","sourceRoot":"","sources":["../../src/editor/simple-gutenberg-endpoints-api.ts"],"names":[],"mappings":";;AAMA,gFAMC;AAOD,kDAWC;AA7BD,0CAA4D;AAE5D,+FAAqH;AAGrH,SAAgB,kCAAkC,CACjD,IAAY,EAAE,QAA4F,EAC1G,OAAsH;IAEtH,IAAA,mEAAiC,GAAE,CAAC;IACpC,IAAA,eAAQ,EAAC,uCAAc,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAClC,IAAY,EAAE,IAAiB,EAAE,SAAgF,EAAE;IAEnH,MAAM,EAAC,sBAAsB,GAAG,IAAI,EAAE,YAAY,GAAG,EAAE,EAAC,GAAG,MAAM,CAAC;IAClE,OAAO,IAAA,wBAAiB,EAAC,MAAM,CAAC,EAAE;QACjC,IAAI,CAAC,IAAI,IAAI,sBAAsB,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,uCAAc,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAgB,CAAC;IAChD,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.store = void 0;
|
|
7
|
+
exports.installSimpleGutenbergApisSupport = installSimpleGutenbergApisSupport;
|
|
8
|
+
const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
|
|
9
|
+
const data_1 = require("@wordpress/data");
|
|
10
|
+
const hooks_1 = require("@wordpress/hooks");
|
|
11
|
+
const helpers_1 = require("../lib/helpers");
|
|
12
|
+
const promise_handlers_1 = require("../lib/suspense/promise-handlers");
|
|
6
13
|
function argsToKey(args) {
|
|
7
14
|
return args instanceof URLSearchParams || typeof args !== 'object' ? args?.toString() ?? "" : JSON.stringify(args);
|
|
8
15
|
}
|
|
9
|
-
|
|
16
|
+
function installSimpleGutenbergApisSupport() {
|
|
10
17
|
if (!installSimpleGutenbergApisSupport.called) {
|
|
11
18
|
installSimpleGutenbergApisSupport.called = true;
|
|
12
|
-
register(store);
|
|
19
|
+
(0, data_1.register)(exports.store);
|
|
13
20
|
}
|
|
14
21
|
}
|
|
15
22
|
(function (installSimpleGutenbergApisSupport) {
|
|
16
23
|
installSimpleGutenbergApisSupport.called = false;
|
|
17
|
-
})(installSimpleGutenbergApisSupport || (installSimpleGutenbergApisSupport = {}));
|
|
18
|
-
|
|
24
|
+
})(installSimpleGutenbergApisSupport || (exports.installSimpleGutenbergApisSupport = installSimpleGutenbergApisSupport = {}));
|
|
25
|
+
exports.store = {
|
|
19
26
|
name: 'plaudit/simple-gutenberg-apis',
|
|
20
27
|
instantiate: () => {
|
|
21
28
|
const listeners = new Set();
|
|
@@ -35,9 +42,9 @@ export const store = {
|
|
|
35
42
|
if (existingPromise) {
|
|
36
43
|
return existingPromise;
|
|
37
44
|
}
|
|
38
|
-
const res = wrapPromise((typeof endpoint.endpoint === 'function' ? endpoint.endpoint(args, name) :
|
|
45
|
+
const res = (0, promise_handlers_1.wrapPromise)((typeof endpoint.endpoint === 'function' ? endpoint.endpoint(args, name) : (0, api_fetch_1.default)(endpoint.endpoint))
|
|
39
46
|
.then(rawResponse => {
|
|
40
|
-
return applyFilters(`plaudit-common.simple-gutenberg-apis.endpoint.${name}.response`, endpoint.transformer?.(rawResponse, args, name) ?? rawResponse, args, name);
|
|
47
|
+
return (0, hooks_1.applyFilters)(`plaudit-common.simple-gutenberg-apis.endpoint.${name}.response`, endpoint.transformer?.(rawResponse, args, name) ?? rawResponse, args, name);
|
|
41
48
|
}));
|
|
42
49
|
res.finally(() => storeChanged());
|
|
43
50
|
endpoint.responseCache.set(key, { args, promise: res });
|
|
@@ -45,20 +52,20 @@ export const store = {
|
|
|
45
52
|
}
|
|
46
53
|
const actions = {
|
|
47
54
|
registerEndpoint(name, endpoint, options) {
|
|
48
|
-
if (endpoints[name]?.responseCache instanceof TemporalLRUCache) {
|
|
55
|
+
if (endpoints[name]?.responseCache instanceof helpers_1.TemporalLRUCache) {
|
|
49
56
|
endpoints[name].responseCache.cancelTimeout();
|
|
50
57
|
}
|
|
51
58
|
endpoints[name] = {
|
|
52
|
-
endpoint: clone(endpoint),
|
|
59
|
+
endpoint: (0, helpers_1.clone)(endpoint),
|
|
53
60
|
...options,
|
|
54
|
-
responseCache: new TemporalLRUCache(options?.maxCachedResults ?? Number.MAX_SAFE_INTEGER)
|
|
61
|
+
responseCache: new helpers_1.TemporalLRUCache(options?.maxCachedResults ?? Number.MAX_SAFE_INTEGER)
|
|
55
62
|
};
|
|
56
63
|
storeChanged();
|
|
57
64
|
}
|
|
58
65
|
};
|
|
59
66
|
const selectors = {
|
|
60
67
|
get(name, args) {
|
|
61
|
-
return useImmediately(handleCacheMiss(name, args));
|
|
68
|
+
return (0, promise_handlers_1.useImmediately)(handleCacheMiss(name, args));
|
|
62
69
|
},
|
|
63
70
|
resolve(name, args) {
|
|
64
71
|
return handleCacheMiss(name, args);
|
|
@@ -66,10 +73,10 @@ export const store = {
|
|
|
66
73
|
};
|
|
67
74
|
const suspendSelectors = {
|
|
68
75
|
get(name, args) {
|
|
69
|
-
return use(handleCacheMiss(name, args));
|
|
76
|
+
return (0, promise_handlers_1.use)(handleCacheMiss(name, args));
|
|
70
77
|
},
|
|
71
78
|
resolve(name, args) {
|
|
72
|
-
return useToPromise(handleCacheMiss(name, args));
|
|
79
|
+
return (0, promise_handlers_1.useToPromise)(handleCacheMiss(name, args));
|
|
73
80
|
}
|
|
74
81
|
};
|
|
75
82
|
// noinspection JSUnusedGlobalSymbols
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-gutenberg-endpoints-impl.js","sourceRoot":"","sources":["../../src/editor/simple-gutenberg-endpoints-impl.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.installGutenbergExtensions = installGutenbergExtensions;
|
|
18
|
+
const simple_native_property_impl_1 = require("./blocks/simple-native-property-impl");
|
|
19
|
+
const post_featured_image_1 = require("./editor/post-featured-image");
|
|
20
|
+
const simple_gutenberg_endpoints_impl_1 = require("./editor/simple-gutenberg-endpoints-impl");
|
|
21
|
+
const gutenberg_api_extensions_state_1 = require("./lib/gutenberg-api-extensions-state");
|
|
22
|
+
__exportStar(require("./blocks"), exports);
|
|
23
|
+
__exportStar(require("./controls"), exports);
|
|
24
|
+
__exportStar(require("./editor/simple-gutenberg-endpoints-api"), exports);
|
|
25
|
+
__exportStar(require("./lib/plaudit-icons"), exports);
|
|
26
|
+
__exportStar(require("./lib/suspense"), exports);
|
|
27
|
+
function installGutenbergExtensions() {
|
|
28
|
+
if (!installGutenbergExtensions.called) {
|
|
29
|
+
installGutenbergExtensions.called = true;
|
|
30
|
+
(0, gutenberg_api_extensions_state_1.registerStore)();
|
|
31
|
+
(0, simple_native_property_impl_1.installSimpleNativePropertiesSupport)();
|
|
32
|
+
(0, post_featured_image_1.installPostFeaturedImageCardFocusTargeting)();
|
|
33
|
+
(0, simple_gutenberg_endpoints_impl_1.installSimpleGutenbergApisSupport)();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
(function (installGutenbergExtensions) {
|
|
37
|
+
installGutenbergExtensions.called = false;
|
|
38
|
+
})(installGutenbergExtensions || (exports.installGutenbergExtensions = installGutenbergExtensions = {}));
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAYA,gEAQC;AApBD,sFAA0F;AAC1F,sEAAwF;AACxF,8FAAwH;AACxH,yFAA2F;AAE3F,2CAAyB;AACzB,6CAA2B;AAC3B,0EAAwD;AACxD,sDAAoC;AACpC,iDAA+B;AAG/B,SAAgB,0BAA0B;IACzC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC;QACxC,0BAA0B,CAAC,MAAM,GAAG,IAAI,CAAC;QACzC,IAAA,8CAAa,GAAE,CAAC;QAChB,IAAA,kEAAoC,GAAE,CAAC;QACvC,IAAA,gEAA0C,GAAE,CAAC;QAC7C,IAAA,mEAAiC,GAAE,CAAC;IACrC,CAAC;AACF,CAAC;AACD,WAAiB,0BAA0B;IAC/B,iCAAM,GAAY,KAAK,CAAC;AACpC,CAAC,EAFgB,0BAA0B,0CAA1B,0BAA0B,QAE1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customBlockBindingsSupportLogicSelectors = exports.customBlockBindingsSupportLogicActions = void 0;
|
|
4
|
+
exports.customBlockBindingsSupportLogic = customBlockBindingsSupportLogic;
|
|
5
|
+
const blocks_1 = require("@wordpress/blocks");
|
|
6
|
+
const immer_1 = require("immer");
|
|
7
|
+
exports.customBlockBindingsSupportLogicActions = {
|
|
8
|
+
registerCustomBlockBindingsSource(args) {
|
|
9
|
+
const { dbSources, ...actualArgs } = args;
|
|
10
|
+
(0, blocks_1.registerBlockBindingsSource)('getValue' in actualArgs ? actualArgs : { ...actualArgs, getValue: () => ({}) });
|
|
11
|
+
return { type: 'ADD_CUSTOM_BLOCK_BINDINGS_SOURCE', name: actualArgs.name, value: { dbSources } };
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.customBlockBindingsSupportLogicSelectors = {
|
|
15
|
+
customBlockBindingsSource(state, name) {
|
|
16
|
+
return state.customBlockBindingsSupport[name];
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
function customBlockBindingsSupportLogic(state, action) {
|
|
20
|
+
if (action.type === "ADD_CUSTOM_BLOCK_BINDINGS_SOURCE") {
|
|
21
|
+
return (0, immer_1.produce)(state, (draft) => {
|
|
22
|
+
draft.customBlockBindingsSupport[action.name] = action.value;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return state;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=custom-block-bindings-support-logic.js.map
|