@plaudit/gutenberg-api-extensions 2.78.2 → 2.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +138 -143
- 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/{build → dist}/controls/ExtendedPostPicker.d.ts +2 -2
- 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.d.ts +21 -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 +7 -7
- 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/dist/controls/basicNumericallyIdedItemPicker.d.ts +22 -0
- 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/{build → dist}/controls/index.d.ts +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 -3
- 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 +121 -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 +157 -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} +4 -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 +114 -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 -195
- 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 -45
- 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/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/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/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/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,22 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BaseControl, Button, useBaseControlProps } from "@wordpress/components";
|
|
3
|
-
import { useCallback } from "@wordpress/element";
|
|
4
|
-
import { dragHandle, Icon } from "@wordpress/icons";
|
|
5
|
-
import { Reorder, useDragControls } from "framer-motion";
|
|
6
|
-
import { useSortableItemsModel } from "./hooks/useSortableItemsModel";
|
|
7
|
-
export function BaseSortableItemsControl({ value, onChange, onRemove, onReorder, onAdd, children: makeChild, min, max, label, Label, Messages, buttonsArea, emptyValue, ...wrapperProps }) {
|
|
8
|
-
const { add: addHandler, commit, makeIndexedItemActions, keyedValues } = useSortableItemsModel({ onAdd, onChange, onRemove, onReorder, emptyValue, value });
|
|
9
|
-
const listLength = value?.length ?? 0;
|
|
10
|
-
const addDisabled = max !== undefined && listLength >= max;
|
|
11
|
-
const removeDisabled = min !== undefined && listLength <= min;
|
|
12
|
-
const { baseControlProps, controlProps } = useBaseControlProps({ ...wrapperProps, label: Label ? _jsx(Label, {}) : label });
|
|
13
|
-
return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "plaudit-sortable-items-container", children: _jsx(Reorder.Group, { axis: "y", onReorder: commit, values: keyedValues, children: keyedValues.map((datum, index) => _jsx(SortableItemsListNode, { addDisabled: addDisabled, datum: datum, index: index, listLength: listLength, makeChild: makeChild, makeIndexedItemActions: makeIndexedItemActions, removeDisabled: removeDisabled }, datum.key)) }) }), buttonsArea({ addHandler, disabled: addDisabled }), Messages && _jsx(Messages, {})] });
|
|
14
|
-
}
|
|
15
|
-
function SortableItemsListNode({ datum, index, listLength, makeChild, makeIndexedItemActions, removeDisabled }) {
|
|
16
|
-
const { remove, moveUp, moveDown, change } = makeIndexedItemActions(index, datum.key);
|
|
17
|
-
//TODO: If used, implement addBefore and addAfter the same way as moveUp and moveDown
|
|
18
|
-
const dragControls = useDragControls();
|
|
19
|
-
const dragStartHandler = useCallback((event) => dragControls.start(event), [dragControls]);
|
|
20
|
-
return _jsxs(Reorder.Item, { className: "plaudit-sortable-items-row", "data-index": index, dragListener: false, dragControls: dragControls, layout: "position", value: datum, children: [_jsxs("div", { className: "plaudit-sortable-items-ordering-controls", children: [_jsx("div", { className: "plaudit-sortable-items-ordering-control", children: _jsx(Icon, { icon: dragHandle, onPointerDown: dragStartHandler }) }), _jsxs("div", { className: "plaudit-sortable-items-ordering-control", children: [_jsx(Button, { icon: "arrow-up", "aria-label": "Move Up", disabled: index < 1, onClick: moveUp }), _jsx(Button, { icon: "arrow-down", "aria-label": "Move Down", disabled: index >= listLength - 1, onClick: moveDown })] })] }), _jsx("div", { className: "plaudit-sortable-items-inputs plaudit-sortable-items-padded", children: makeChild(datum.value, change, index) }), _jsx("div", { className: "plaudit-sortable-items-presence-controls plaudit-sortable-items-padded", children: _jsx(Button, { icon: "remove", disabled: removeDisabled, onClick: remove, "aria-label": "Remove" }) })] });
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=BaseSortableItemsControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSortableItemsControl.js","sourceRoot":"","sources":["../../src/controls/BaseSortableItemsControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Spinner, FormTokenField } from '@wordpress/components';
|
|
3
|
-
import { useDebounce } from "@wordpress/compose";
|
|
4
|
-
import { useSelect } from "@wordpress/data";
|
|
5
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from "@wordpress/element";
|
|
6
|
-
import { __ } from "@wordpress/i18n";
|
|
7
|
-
import { packDisplayTokenText, unpackDisplayedTokenText, useImprovedTokenManager, ValidationState } from "./hooks/useImprovedTokenManager";
|
|
8
|
-
import { useMultiSingleConversionLayer } from "./hooks/useMultiSingleConversionLayer";
|
|
9
|
-
export { packDisplayTokenText, unpackDisplayedTokenText, ValidationState };
|
|
10
|
-
export function ExtendedFormTokenField(props) {
|
|
11
|
-
const [debouncedInput, setDebouncedInput, setImmediateInput, input] = useDebouncedValue('');
|
|
12
|
-
const tokenTitleCacheRef = useRef(undefined);
|
|
13
|
-
if (tokenTitleCacheRef.current === undefined) {
|
|
14
|
-
tokenTitleCacheRef.current = new Map();
|
|
15
|
-
}
|
|
16
|
-
const { rawSuggestions, isLoading, hasLoadingError } = useSelect((select, registry) => {
|
|
17
|
-
if (!debouncedInput && props.initialSuggestions !== undefined) {
|
|
18
|
-
return { rawSuggestions: props.initialSuggestions, isLoading: false };
|
|
19
|
-
}
|
|
20
|
-
const res = props.suggestionQuery(debouncedInput, select, registry);
|
|
21
|
-
if (res === undefined) {
|
|
22
|
-
return { rawSuggestions: props.initialSuggestions, isLoading: true };
|
|
23
|
-
}
|
|
24
|
-
return { rawSuggestions: res, isLoading: false, hasLoadingError: props.hasLoadingError?.(debouncedInput, select, registry) };
|
|
25
|
-
}, [debouncedInput, props.initialSuggestions, props.suggestionQuery]);
|
|
26
|
-
const suggestions = useMemo(() => rawSuggestions?.map(packDisplayTokenText), [rawSuggestions]);
|
|
27
|
-
const [value, setValue] = useMultiSingleConversionLayer(props.value, props.onChange, props.stringToTokenConverter, props.multiple);
|
|
28
|
-
const { currentTokens, isValidating, updateComponentValue, tokenStatusCache } = useImprovedTokenManager(value, setValue, props.validationQuery, props.stringToTokenConverter, tokenTitleCacheRef.current);
|
|
29
|
-
// This is just a trick to avoid needing to repeat requests when pulling from suggestions
|
|
30
|
-
useMemo(() => {
|
|
31
|
-
if (rawSuggestions) {
|
|
32
|
-
for (const suggestion of rawSuggestions) {
|
|
33
|
-
if (suggestion.status !== undefined && !tokenStatusCache.has(suggestion.value)) {
|
|
34
|
-
tokenStatusCache.set(suggestion.value, suggestion.status);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}, [rawSuggestions, tokenStatusCache]);
|
|
39
|
-
const { hasValidationError } = useSelect((select, registry) => ({
|
|
40
|
-
hasValidationError: props.hasValidationError?.(select, registry)
|
|
41
|
-
}), [props.hasLoadingError, props.hasValidationError]);
|
|
42
|
-
const { help, expandOnFocus = false } = props;
|
|
43
|
-
//TODO: If focus is in field but user hasn't started typing, show a message telling them to start typing
|
|
44
|
-
return _jsxs(_Fragment, { children: [_jsx(FormTokenField, { value: currentTokens, label: props.label, placeholder: "Start typing to see suggestions", suggestions: suggestions, onChange: updateComponentValue, displayTransform: useCallback((token) => tokenTitleCacheRef.current.get(unpackDisplayedTokenText(token).value) ?? token, [tokenTitleCacheRef]), maxLength: props.multiple !== false ? props.maxLength : 1, __experimentalValidateInput: props.validator, __experimentalAutoSelectFirstMatch: true, __experimentalExpandOnFocus: expandOnFocus, __experimentalShowHowTo: props.multiple !== false, onInputChange: setDebouncedInput, onFocus: useCallback(() => setImmediateInput(input), [input]) }), help && _jsx("div", { children: _jsx("span", { className: "components-form-token-field__help", children: help }) }), hasLoadingError && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("An Error Occurred While Loading Suggestions") })] }), isLoading && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Updating Suggestions") })] }), hasValidationError && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("An Error Occurred While Validating") })] }), isValidating && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Validating") })] })] });
|
|
45
|
-
}
|
|
46
|
-
function useDebouncedValue(defaultValue) {
|
|
47
|
-
const [value, setValue] = useState(defaultValue);
|
|
48
|
-
const [debouncedValue, setDebouncedState] = useState(defaultValue);
|
|
49
|
-
const setDebounced = useDebounce(setDebouncedState, 100);
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
setDebounced(value);
|
|
52
|
-
}, [value, setDebounced]);
|
|
53
|
-
return [debouncedValue, setValue, useCallback((value) => {
|
|
54
|
-
setValue(value);
|
|
55
|
-
setDebouncedState(value);
|
|
56
|
-
}, [setValue, setDebounced]), value];
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=ExtendedFormTokenField.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedFormTokenField.js","sourceRoot":"","sources":["../../src/controls/ExtendedFormTokenField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import apiFetch from "@wordpress/api-fetch";
|
|
3
|
-
import { useCallback } from "@wordpress/element";
|
|
4
|
-
import { ExtendedFormTokenField, unpackDisplayedTokenText, ValidationState } from "./ExtendedFormTokenField";
|
|
5
|
-
import { registerSimpleGutenbergApiEndpoint } from "../editor/simple-gutenberg-endpoints-api";
|
|
6
|
-
import { isNumeric } from "./shared";
|
|
7
|
-
registerSimpleGutenbergApiEndpoint("plaudit-common.post-table-search-options", data => apiFetch({ data, method: 'POST', path: "/plaudit/common/v1/post-table-search" }), {
|
|
8
|
-
transformer: posts => posts.map(post => ({ value: post.id.toString(), title: post.title, status: ValidationState.Valid })),
|
|
9
|
-
maxCachedResults: 10
|
|
10
|
-
});
|
|
11
|
-
registerSimpleGutenbergApiEndpoint("plaudit-common.post-table-search-validation", data => apiFetch({ data, method: 'POST', path: "/plaudit/common/v1/post-table-search" }), {
|
|
12
|
-
transformer: posts => posts
|
|
13
|
-
.map((post) => ({ value: post.id.toString(), title: post.title, status: ValidationState.Valid })),
|
|
14
|
-
maxCachedResults: 10
|
|
15
|
-
});
|
|
16
|
-
export function ExtendedPostPicker(props) {
|
|
17
|
-
const { multiple, value, postTypes, taxonomyQuery, ...remainder } = props;
|
|
18
|
-
const suggestionQuery = useCallback((input, select) => {
|
|
19
|
-
return select('plaudit/simple-gutenberg-apis')
|
|
20
|
-
.get("plaudit-common.post-table-search-options", { search: input, postTypes: postTypes?.join(','), taxonomyQuery });
|
|
21
|
-
}, [postTypes, taxonomyQuery]);
|
|
22
|
-
const validationQuery = useCallback((idsBeingValidated, select) => {
|
|
23
|
-
return select('plaudit/simple-gutenberg-apis')
|
|
24
|
-
.get("plaudit-common.post-table-search-validation", { ids: idsBeingValidated.join(','), postTypes: postTypes?.join(','), taxonomyQuery });
|
|
25
|
-
}, [postTypes, taxonomyQuery]);
|
|
26
|
-
if (props.multiple === false) {
|
|
27
|
-
return _jsx(ExtendedFormTokenField, { ...remainder, value: props.value, multiple: false, onChange: props.onChange, stringToTokenConverter: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
return _jsx(ExtendedFormTokenField, { ...remainder, value: props.value, multiple: true, onChange: props.onChange, stringToTokenConverter: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function makeTokenFromSuggestion(token) {
|
|
34
|
-
if (isNumeric(token)) {
|
|
35
|
-
return { value: token, status: ValidationState.Validating };
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
const { value, title } = unpackDisplayedTokenText(token);
|
|
39
|
-
return { value, status: isNumeric(value) ? ValidationState.Validating : ValidationState.Invalid, title };
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function validator(token) {
|
|
43
|
-
return /\(#([0-9]+)\)$/.exec(token)?.[1] !== undefined;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=ExtendedPostPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedPostPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedPostPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { WordPressComponentProps } from "@wordpress/components/build-types/context";
|
|
2
|
-
import type { RadioControlProps } from "@wordpress/components/build-types/radio-control/types";
|
|
3
|
-
import type { SNPControlSlots } from "../blocks";
|
|
4
|
-
export type ExtendedRadioControlProps = WordPressComponentProps<RadioControlProps & {
|
|
5
|
-
allowCustom?: boolean;
|
|
6
|
-
}, 'input', false> & Partial<SNPControlSlots>;
|
|
7
|
-
/**
|
|
8
|
-
* This is a variant of WordPress'
|
|
9
|
-
*/
|
|
10
|
-
export declare function ExtendedRadioControl(props: ExtendedRadioControlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BaseControl, __experimentalVStack as VStack } from "@wordpress/components";
|
|
3
|
-
import { useInstanceId } from "@wordpress/compose";
|
|
4
|
-
import { useCallback, useState } from "@wordpress/element";
|
|
5
|
-
/**
|
|
6
|
-
* This is a variant of WordPress'
|
|
7
|
-
*/
|
|
8
|
-
export function ExtendedRadioControl(props) {
|
|
9
|
-
const { label, className, selected, help, onChange, hideLabelFromVision, options = [], allowCustom, Label, Messages, ...additionalProps } = props;
|
|
10
|
-
const instanceId = useInstanceId(ExtendedRadioControl);
|
|
11
|
-
const id = `inspector-radio-control-${instanceId}`;
|
|
12
|
-
const [valueIsCustom, setValueIsCustom] = useState(() => options.find(option => option.value === selected) === undefined);
|
|
13
|
-
const [customValue, setCustomValue] = useState(valueIsCustom ? selected : "");
|
|
14
|
-
const onChangeValue = useCallback((event) => {
|
|
15
|
-
setValueIsCustom(options.find(option => option.value === event.target.value) === undefined);
|
|
16
|
-
onChange(event.target.value);
|
|
17
|
-
}, [onChange, options, setValueIsCustom]);
|
|
18
|
-
const onChangeCustom = useCallback((e) => {
|
|
19
|
-
onChangeValue(e);
|
|
20
|
-
setValueIsCustom(true);
|
|
21
|
-
setCustomValue(e.target.value);
|
|
22
|
-
}, [onChangeValue, setValueIsCustom, setCustomValue]);
|
|
23
|
-
if (!options?.length) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const distinctnessSet = new Set();
|
|
27
|
-
const classNames = [...className?.split(/\s+/g) ?? [], 'components-radio-control'].filter(cn => distinctnessSet.add(cn)).join(' ');
|
|
28
|
-
return (_jsxs(BaseControl, { __nextHasNoMarginBottom: true, label: Label ? _jsx(Label, {}) : label, id: id, hideLabelFromVision: hideLabelFromVision, help: help, className: classNames, children: [_jsxs(VStack, { spacing: 1, children: [options.map((option, index) => (_jsxs("div", { className: "components-radio-control__option", children: [_jsx("input", { id: `${id}-${index}`, className: "components-radio-control__input", type: "radio", name: id, value: option.value, onChange: onChangeValue, checked: option.value === selected, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), _jsx("label", { className: "components-radio-control__label", htmlFor: `${id}-${index}`, children: option.label })] }, `${id}-${index}`))), allowCustom && _jsxs("div", { className: "components-radio-control__option", children: [_jsx("input", { id: `${id}-${options.length}`, className: "components-radio-control__input", type: "radio", name: id, value: customValue ?? '', onChange: onChangeValue, checked: valueIsCustom, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), _jsx("label", { id: `${id}-custom-label`, className: "components-radio-control__label", htmlFor: `${id}-${options.length}`, children: "Custom:" }), _jsx("input", { "aria-labelledby": `${id}-custom-label`, type: "text", value: customValue ?? '', onChange: onChangeCustom })] }, `${id}-${options.length}`)] }), Messages && _jsx(Messages, {})] }));
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=ExtendedRadioControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedRadioControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedRadioControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { store as coreStore } from "@wordpress/core-data";
|
|
3
|
-
import { useSelect } from "@wordpress/data";
|
|
4
|
-
import { useCallback, useMemo } from "@wordpress/element";
|
|
5
|
-
import { useOutputMemoizingFilter } from "./hooks/useOutputMemoizingFilter";
|
|
6
|
-
import { ExtendedFormTokenField, unpackDisplayedTokenText, ValidationState } from "./ExtendedFormTokenField";
|
|
7
|
-
export function ExtendedTaxonomyPicker(props) {
|
|
8
|
-
const { visibility, ...extendedFormTokenFieldProps } = props;
|
|
9
|
-
const availableTaxonomies = useTaxonomiesFilteredByVisibility(visibility);
|
|
10
|
-
const taxonomyVisibilityFilter = makeTaxonomyVisibilityFilter(visibility);
|
|
11
|
-
const taxonomySuggestionQuery = useOutputMemoizingFilter((input, taxonomies) => {
|
|
12
|
-
return taxonomies?.filter(taxonomy => !props.value?.includes(taxonomy.slug))
|
|
13
|
-
.filter(taxonomy => taxonomy.name.toLowerCase().includes(input.toLowerCase()) || taxonomy.slug.toLowerCase().includes(input.toLowerCase()))
|
|
14
|
-
.map(taxonomy => ({ value: taxonomy.slug, status: ValidationState.Valid, title: taxonomy.name })) ?? [];
|
|
15
|
-
}, [props.value]);
|
|
16
|
-
const taxonomyValidationQuery = useOutputMemoizingFilter((tokens, rawTaxonomies) => {
|
|
17
|
-
if (rawTaxonomies === null) {
|
|
18
|
-
return tokens.map(token => ({ value: token, status: ValidationState.Validating }));
|
|
19
|
-
}
|
|
20
|
-
const tokenItemCreator = (taxonomy) => {
|
|
21
|
-
return [taxonomy.slug, { value: taxonomy.slug, status: ValidationState.Valid, title: taxonomy.name }];
|
|
22
|
-
};
|
|
23
|
-
const taxonomies = rawTaxonomies?.length ? Object.fromEntries(rawTaxonomies.map(tokenItemCreator)) : undefined;
|
|
24
|
-
if (!taxonomies) {
|
|
25
|
-
return tokens.map(token => ({ value: token, status: ValidationState.Invalid }));
|
|
26
|
-
}
|
|
27
|
-
return tokens.map(token => taxonomies[token] ?? { value: token, status: ValidationState.Invalid });
|
|
28
|
-
});
|
|
29
|
-
return _jsx(ExtendedFormTokenField, { expandOnFocus: true, ...extendedFormTokenFieldProps, stringToTokenConverter: useCallback(token => {
|
|
30
|
-
if (availableTaxonomies === null) {
|
|
31
|
-
return { value: token, status: ValidationState.Validating };
|
|
32
|
-
}
|
|
33
|
-
const { value, title } = unpackDisplayedTokenText(token);
|
|
34
|
-
const foundTaxonomy = availableTaxonomies.find(taxonomy => taxonomy.slug === value);
|
|
35
|
-
if (foundTaxonomy) {
|
|
36
|
-
return { value: foundTaxonomy.slug, status: ValidationState.Valid, title: foundTaxonomy.name };
|
|
37
|
-
}
|
|
38
|
-
return title === undefined ? { value, status: ValidationState.Validating } : { value, status: ValidationState.Invalid, title };
|
|
39
|
-
}, [availableTaxonomies]), suggestionQuery: useCallback((input, select) => {
|
|
40
|
-
return taxonomySuggestionQuery(input, taxonomyVisibilityFilter(select(coreStore).getTaxonomies()));
|
|
41
|
-
}, [taxonomyVisibilityFilter, taxonomySuggestionQuery]), validationQuery: useCallback((tokens, select) => {
|
|
42
|
-
return taxonomyValidationQuery(tokens, taxonomyVisibilityFilter(select(coreStore).getTaxonomies()));
|
|
43
|
-
}, [taxonomyVisibilityFilter, taxonomyValidationQuery]), validator: useCallback((token) => {
|
|
44
|
-
if (!availableTaxonomies) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
const { value } = unpackDisplayedTokenText(token);
|
|
48
|
-
return availableTaxonomies.find(taxonomy => taxonomy.slug === value) !== undefined;
|
|
49
|
-
}, [availableTaxonomies]) });
|
|
50
|
-
}
|
|
51
|
-
function useTaxonomiesFilteredByVisibility(visibility) {
|
|
52
|
-
const taxonomies = useSelect(select => select(coreStore).getTaxonomies(), []);
|
|
53
|
-
return useMemo(() => filterTaxonomiesByVisibility(taxonomies, visibility), [taxonomies, visibility]);
|
|
54
|
-
}
|
|
55
|
-
function makeTaxonomyVisibilityFilter(visibility) {
|
|
56
|
-
return useOutputMemoizingFilter((taxonomies) => filterTaxonomiesByVisibility(taxonomies, visibility), [visibility]);
|
|
57
|
-
}
|
|
58
|
-
function filterTaxonomiesByVisibility(taxonomies, visibility) {
|
|
59
|
-
if (!taxonomies || !visibility) {
|
|
60
|
-
return taxonomies;
|
|
61
|
-
}
|
|
62
|
-
const tests = Object.entries(visibility)
|
|
63
|
-
.filter((entry) => entry[1] !== undefined && entry[1] !== null);
|
|
64
|
-
return tests.length
|
|
65
|
-
? taxonomies.filter(taxonomy => tests.every(([key, value]) => taxonomy.visibility[key] === value))
|
|
66
|
-
: taxonomies;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=ExtendedTaxonomyPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedTaxonomyPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedTaxonomyPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import apiFetch from "@wordpress/api-fetch";
|
|
3
|
-
import { useCallback } from "@wordpress/element";
|
|
4
|
-
import { ExtendedFormTokenField, unpackDisplayedTokenText, ValidationState } from "./ExtendedFormTokenField";
|
|
5
|
-
import { registerSimpleGutenbergApiEndpoint } from "../editor/simple-gutenberg-endpoints-api";
|
|
6
|
-
registerSimpleGutenbergApiEndpoint("plaudit-common.term-table-search-options", data => apiFetch({ data, method: 'POST', path: "/plaudit/common/v1/term-table-search" }), {
|
|
7
|
-
transformer: terms => terms.map(term => ({ value: term.slug, title: term.name, status: ValidationState.Valid })),
|
|
8
|
-
maxCachedResults: 10
|
|
9
|
-
});
|
|
10
|
-
registerSimpleGutenbergApiEndpoint("plaudit-common.term-table-search-validation", data => apiFetch({ data, method: 'POST', path: "/plaudit/common/v1/term-table-search" }), {
|
|
11
|
-
transformer: terms => terms
|
|
12
|
-
.map((term) => ({ value: term.slug, title: term.name, status: ValidationState.Valid })),
|
|
13
|
-
maxCachedResults: 10
|
|
14
|
-
});
|
|
15
|
-
export function ExtendedTermPicker(props) {
|
|
16
|
-
const { taxonomy } = props;
|
|
17
|
-
const suggestionQuery = useCallback((input, select) => {
|
|
18
|
-
return select('plaudit/simple-gutenberg-apis')
|
|
19
|
-
.get("plaudit-common.term-table-search-options", { search: input, taxonomy });
|
|
20
|
-
}, [taxonomy]);
|
|
21
|
-
const validationQuery = useCallback((slugsBeingValidated, select) => {
|
|
22
|
-
return select('plaudit/simple-gutenberg-apis')
|
|
23
|
-
.get("plaudit-common.term-table-search-validation", { slugs: slugsBeingValidated.join(','), taxonomy });
|
|
24
|
-
}, [taxonomy]);
|
|
25
|
-
return _jsx(ExtendedFormTokenField, { ...props, validationQuery: validationQuery, suggestionQuery: suggestionQuery, stringToTokenConverter: unpackDisplayedTokenText });
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=ExtendedTermPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedTermPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedTermPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAC,sBAAsB,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EAAC,kCAAkC,EAAC,MAAM,0CAA0C,CAAC;AAuB5F,kCAAkC,CACjC,0CAA0C,EAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAmB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxG;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IAC9G,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AACF,kCAAkC,CACjC,6CAA6C,EAC7C,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAmB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAC,CAAC,EACxG;IACC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,EAAC,CAAC,CAAC;IACtF,gBAAgB,EAAE,EAAE;CACpB,CACD,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAChE,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IAEzB,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,MAAyB,EAAE,EAAE;QAChF,OAAO,MAAM,CAAC,+BAA+B,CAAC;aAC5C,GAAG,CAAC,0CAA0C,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAC,CAA0B,CAAC;IACvG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,mBAA6B,EAAE,MAAyB,EAAE,EAAE;QAChG,OAAQ,MAAM,CAAC,+BAA+B,CAAC;aAC7C,GAAG,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAC,CAA2B,CAAC;IAClI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,KAAC,sBAAsB,OAAK,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,wBAAwB,GAAI,CAAC;AACpK,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { TextareaControlProps } from "@wordpress/components/build-types/textarea-control/types";
|
|
2
|
-
import { SNPControlSlots } from "../blocks";
|
|
3
|
-
import React from "react";
|
|
4
|
-
export type TextareaControlPropsExtension = {
|
|
5
|
-
newline?: undefined | "\n" | "br" | "p";
|
|
6
|
-
placeholder?: string | undefined;
|
|
7
|
-
rich?: boolean;
|
|
8
|
-
};
|
|
9
|
-
export type ExtendedTextAreaControlProps = Omit<TextareaControlProps, 'value'> & {
|
|
10
|
-
value: TextareaControlProps['value'] | null | undefined;
|
|
11
|
-
} & Partial<Pick<SNPControlSlots, 'Messages'>> & TextareaControlPropsExtension;
|
|
12
|
-
export declare const ExtendedTextareaControl: React.ForwardRefExoticComponent<Omit<TextareaControlProps, "value"> & {
|
|
13
|
-
value: TextareaControlProps["value"] | null | undefined;
|
|
14
|
-
} & Partial<Pick<SNPControlSlots, "Messages">> & TextareaControlPropsExtension & React.RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedTextareaControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedTextareaControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from "@wordpress/components";
|
|
3
|
-
import { memo, useCallback, useMemo } from "@wordpress/element";
|
|
4
|
-
import { __ } from "@wordpress/i18n";
|
|
5
|
-
import * as icons from "@wordpress/icons";
|
|
6
|
-
import * as plauditIcons from "../lib/plaudit-icons";
|
|
7
|
-
import parse from "html-react-parser";
|
|
8
|
-
export function FullSizeToggleControl({ componentConfig, label, help, onChange, switchCfg, value }) {
|
|
9
|
-
const [switchLabels, style] = useMemo(() => {
|
|
10
|
-
let switchLabels;
|
|
11
|
-
if (typeof switchCfg === 'string') {
|
|
12
|
-
switchCfg = { type: switchCfg };
|
|
13
|
-
}
|
|
14
|
-
switch (switchCfg.type) {
|
|
15
|
-
case "showHide":
|
|
16
|
-
switchLabels = { onLabel: "Show", offLabel: "Hide" };
|
|
17
|
-
break;
|
|
18
|
-
case "yesNo":
|
|
19
|
-
switchLabels = { onLabel: "Yes", offLabel: "No" };
|
|
20
|
-
break;
|
|
21
|
-
default:
|
|
22
|
-
if (switchCfg.type !== undefined) {
|
|
23
|
-
console.error("Invalid switch type:", switchCfg.type);
|
|
24
|
-
}
|
|
25
|
-
switchLabels = { onLabel: "On", offLabel: "Off" };
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
if (switchCfg.onLabel) {
|
|
29
|
-
switchLabels.onLabel = switchCfg.onLabel;
|
|
30
|
-
}
|
|
31
|
-
if (switchCfg.offLabel) {
|
|
32
|
-
switchLabels.offLabel = switchCfg.offLabel;
|
|
33
|
-
}
|
|
34
|
-
return [{ onLabel: i18nSwitchLabel(switchLabels.onLabel), offLabel: i18nSwitchLabel(switchLabels.offLabel) }, { width: switchCfg.narrow ? "min-content" : undefined }];
|
|
35
|
-
}, [switchCfg]);
|
|
36
|
-
const safeOnChange = useCallback((v) => onChange(v === "true"), [onChange]);
|
|
37
|
-
return _jsxs(ToggleGroupControl, { ...componentConfig, value: value ? "true" : "false", label: label, help: help, isBlock: true, onChange: safeOnChange, style: style, children: [_jsx(ToggleGroupControlOptionWithOptionalIcon, { value: "true", label: switchLabels.onLabel }, "true"), _jsx(ToggleGroupControlOptionWithOptionalIcon, { value: "false", label: switchLabels.offLabel }, "false")] });
|
|
38
|
-
}
|
|
39
|
-
export const ToggleGroupControlOptionWithOptionalIcon = memo(function ({ value, label }) {
|
|
40
|
-
if (typeof label === 'string') {
|
|
41
|
-
return _jsx(ToggleGroupControlOption, { value: value, label: label });
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const icon = resolveIcon(label.icon);
|
|
45
|
-
if (icon) {
|
|
46
|
-
return _jsx(ToggleGroupControlOptionIcon, { value: value, label: label.text, icon: icon, "aria-label": label.tooltip });
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return _jsx(ToggleGroupControlOption, { value: value, label: label.text, "aria-label": label.tooltip, showTooltip: !!label.tooltip });
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
function i18nSwitchLabel(label) {
|
|
54
|
-
return typeof label === 'string' ? __(label) : { ...label, text: __(label.text) };
|
|
55
|
-
}
|
|
56
|
-
function resolveIcon(icon) {
|
|
57
|
-
if (typeof icon !== 'string') {
|
|
58
|
-
return icon;
|
|
59
|
-
}
|
|
60
|
-
if (icon.startsWith("plaudit:")) {
|
|
61
|
-
return plauditIcons[icon.substring(8)];
|
|
62
|
-
}
|
|
63
|
-
else if (icon.startsWith("<svg")) {
|
|
64
|
-
return parse(icon);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return icons[icon];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=FullSizeToggleControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FullSizeToggleControl.js","sourceRoot":"","sources":["../../src/controls/FullSizeToggleControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { MediaUpload, MediaUploadCheck } from "@wordpress/block-editor";
|
|
3
|
-
import { BaseControl, Button, FocalPointPicker, ResponsiveWrapper, useBaseControlProps } from "@wordpress/components";
|
|
4
|
-
import { store as coreStore } from "@wordpress/core-data";
|
|
5
|
-
import { useSelect } from "@wordpress/data";
|
|
6
|
-
import { useCallback, useMemo } from "@wordpress/element";
|
|
7
|
-
import { __ } from "@wordpress/i18n";
|
|
8
|
-
export function ImageControl(props) {
|
|
9
|
-
const { label, help, value, Label, Messages } = props;
|
|
10
|
-
const media = useSelect(select => value?.media?.id ? select(coreStore).getMedia(value.media.id) : undefined, [value]);
|
|
11
|
-
const { baseControlProps, controlProps } = useBaseControlProps({ label: Label ? _jsx(Label, {}) : label, help });
|
|
12
|
-
return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "editor-post-featured-image", children: media
|
|
13
|
-
? _jsx(ImageControlWithUploadedImage, { ...props, media: media })
|
|
14
|
-
: _jsx(ImageControlWithoutUploadedImage, { ...props, media: media }) }), Messages && _jsx(Messages, {})] });
|
|
15
|
-
}
|
|
16
|
-
export const RETAINED_FIELDS = ["id", "filename", "url", "date", "mime", "height", "width", "orientation"];
|
|
17
|
-
export const MINIMAL_STORAGE_FIELDS = ['id', 'url'];
|
|
18
|
-
export function filterImageValueForSaving(attachment, storage) {
|
|
19
|
-
if (storage === 'slim') {
|
|
20
|
-
return Object.fromEntries(Object.entries(attachment).filter((entry) => MINIMAL_STORAGE_FIELDS.includes(entry[0])));
|
|
21
|
-
}
|
|
22
|
-
return Object.fromEntries(Object.entries(attachment).filter((entry) => RETAINED_FIELDS.includes(entry[0])));
|
|
23
|
-
}
|
|
24
|
-
const ALLOWED_TYPES = ['image'];
|
|
25
|
-
function ImageControlWithUploadedImage(props) {
|
|
26
|
-
const { includeFocalPointPicker, media, storage, onChange, value } = props;
|
|
27
|
-
const onFPPChange = useCallback((pos) => onChange(mergeInUpdatedValuePart(value, 'pos', { x: pos.x * 100, y: pos.y * 100 }, storage)), [onChange, value]);
|
|
28
|
-
const onSelect = useCallback((media) => onChange(mergeInUpdatedValuePart(value, 'media', media, storage)), [onChange, value]);
|
|
29
|
-
const renderOpenButton = useCallback(({ open }) => _jsx(Button, { onClick: open, variant: "secondary", children: __('Replace image', 'plaudit') }), []);
|
|
30
|
-
const clear = useCallback(() => onChange(undefined), [onChange]);
|
|
31
|
-
const fppValue = useMemo(() => ({
|
|
32
|
-
x: (value?.pos?.x ?? 50) / 100,
|
|
33
|
-
y: (value?.pos?.y ?? 50) / 100
|
|
34
|
-
}), [value?.pos?.x, value?.pos?.y]);
|
|
35
|
-
let fppOrMedia;
|
|
36
|
-
if (includeFocalPointPicker !== false) {
|
|
37
|
-
fppOrMedia = _jsx(FocalPointPicker, { onChange: onFPPChange, url: value?.media?.url ?? '', value: fppValue });
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
fppOrMedia = _jsx(ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: _jsx("img", { src: value?.media?.url ?? '', alt: "The currently-selected image." }) });
|
|
41
|
-
}
|
|
42
|
-
return _jsxs(_Fragment, { children: [value?.media?.url && fppOrMedia, _jsxs(MediaUploadCheck, { children: [_jsx(MediaUpload, { title: __('Replace image', 'plaudit'), value: value?.media?.id ?? 0, onSelect: onSelect, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }), _jsx(Button, { onClick: clear, isDestructive: true, children: __('Remove image', 'plaudit') })] })] });
|
|
43
|
-
}
|
|
44
|
-
function ImageControlWithoutUploadedImage(props) {
|
|
45
|
-
const { media, onChange, storage, value } = props;
|
|
46
|
-
const onSelect = useCallback((media) => onChange(mergeInUpdatedValuePart(value, 'media', media, storage)), [onChange, value]);
|
|
47
|
-
const renderOpenButton = useCallback(({ open }) => (_jsxs(Button, { className: !value?.media?.id ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview', onClick: open, children: [!value?.media?.id && __('Choose an image', 'plaudit'), media &&
|
|
48
|
-
_jsx(ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: _jsx("img", { src: media.source_url, alt: "The currently-selected image." }) })] })), [media, value?.media?.id]);
|
|
49
|
-
return _jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: onSelect, value: value?.media?.id ?? 0, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }) });
|
|
50
|
-
}
|
|
51
|
-
function parsePossiblyUndefinedFloat(string) {
|
|
52
|
-
return typeof string === 'number' ? string : (string !== undefined ? parseFloat(string) : undefined);
|
|
53
|
-
}
|
|
54
|
-
function mergeInUpdatedValuePart(value, partName, part, storage) {
|
|
55
|
-
if (part === undefined) {
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
if (partName === 'media') {
|
|
59
|
-
const prt = part;
|
|
60
|
-
if (prt.id === 0) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
else if (value === undefined) {
|
|
64
|
-
return { media: filterImageValueForSaving(prt, storage ?? 'default'), pos: { x: 50, y: 50 } };
|
|
65
|
-
}
|
|
66
|
-
return { media: filterImageValueForSaving(prt, storage ?? 'default'), pos: { x: value.pos?.x ?? 50, y: value.pos?.y ?? 50 } };
|
|
67
|
-
}
|
|
68
|
-
else if (value === undefined || !value.media?.id) {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
const prt = part;
|
|
73
|
-
return { media: value.media, pos: { x: prt.x ?? value.pos?.x ?? 50, y: prt.y ?? value.pos?.y ?? 50 } };
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=ImageControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { InspectorControls } from "@wordpress/block-editor";
|
|
3
|
-
import { Panel, PanelBody, TabPanel } from "@wordpress/components";
|
|
4
|
-
import { useState } from "@wordpress/element";
|
|
5
|
-
import { useCallback } from "react";
|
|
6
|
-
export function InspectorPanel(props) {
|
|
7
|
-
if (props["tabbed"]) {
|
|
8
|
-
const { tabbed, tabs, group, condition, ...tabPanelProps } = props;
|
|
9
|
-
return _jsx(InspectorControls, { group: group, children: _jsx(TabPanel, { ...tabPanelProps, tabs: condition === undefined || condition() ? tabs : [], children: tab => _jsx(Panel, { children: tab.items }) }) });
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return _jsx(InspectorPanelPanel, { ...props });
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function InspectorPanelPanel(props) {
|
|
16
|
-
const { tabbed, raw, group, condition, children, onToggle, initialOpen, ...panelBodyProps } = props;
|
|
17
|
-
const [wasOpened, setWasOpened] = useState(initialOpen);
|
|
18
|
-
const memoOnToggle = useCallback((value) => {
|
|
19
|
-
onToggle?.(value);
|
|
20
|
-
setWasOpened(value);
|
|
21
|
-
}, [onToggle, setWasOpened]);
|
|
22
|
-
return _jsx(InspectorControls, { group: group, children: raw
|
|
23
|
-
? (condition === undefined || condition() ? children : [])
|
|
24
|
-
: _jsx(PanelBody, { ...panelBodyProps, children: condition === undefined || condition() ? children : [], onToggle: memoOnToggle, initialOpen: wasOpened }) });
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=InspectorPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../src/controls/InspectorPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAE5C,OAAc,EAAiB,WAAW,EAAC,MAAM,OAAO,CAAC;AAOzD,MAAM,UAAU,cAAc,CAAC,KAA0B;IACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,EAAC,GAAG,KAAK,CAAC;QACjE,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,QAAQ,OAAK,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YACnF,GAAG,CAAC,EAAE,CAAC,KAAC,KAAK,cAAG,GAAW,CAAC,KAAK,GAAS,GACjC,GACQ,CAAC;IACtB,CAAC;SAAM,CAAC;QACP,OAAO,KAAC,mBAAmB,OAAK,KAAK,GAAI,CAAC;IAC3C,CAAC;AACF,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAqC;IACjE,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,cAAc,EAAC,GAAG,KAAK,CAAC;IAClG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,KAAc,EAAE,EAAE;QACnD,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAClB,YAAY,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7B,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;YACpD,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,CAAC,CAAC,KAAC,SAAS,OAAK,cAAc,EAAE,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,GAAI,GAClJ,CAAC;AACN,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BaseControl, ComboboxControl, Spinner } from "@wordpress/components";
|
|
3
|
-
import { useCallback, useMemo, useState } from "@wordpress/element";
|
|
4
|
-
import { __ } from "@wordpress/i18n";
|
|
5
|
-
import { useSuggestions } from "./hooks/useSuggestions";
|
|
6
|
-
export function LazySuggestionsComboboxControl(props) {
|
|
7
|
-
const { help, allowReset, className, ...passthroughProps } = props;
|
|
8
|
-
const { hasLoadingError, isInitializing, isLoading, suggestions, input, setInput } = useSuggestions(props.value, props);
|
|
9
|
-
const [hasFocus, setHasFocus] = useState(false);
|
|
10
|
-
const options = useMemo(() => hasFocus && input.length < 2 || (isLoading && !suggestions.length) ? [{ label: input, value: "", disabled: true }] : suggestions, [hasFocus, input, isLoading, suggestions]);
|
|
11
|
-
const onFocus = useCallback((e) => setHasFocus(e.currentTarget.contains(e.target)), [setHasFocus]);
|
|
12
|
-
const onBlur = useCallback((e) => setHasFocus(e.currentTarget.contains(e.relatedTarget)), [setHasFocus]);
|
|
13
|
-
const onFilterValueChange = useCallback((value) => {
|
|
14
|
-
if (props.onFilterValueChange) {
|
|
15
|
-
props.onFilterValueChange(value);
|
|
16
|
-
}
|
|
17
|
-
setInput(value);
|
|
18
|
-
}, [props.onFilterValueChange, setInput]);
|
|
19
|
-
const __experimentalRenderItem = useMemo(() => {
|
|
20
|
-
return hasFocus && input.length < 2 ? () => __("Start typing to see suggestions")
|
|
21
|
-
: (isLoading && !suggestions.length ? () => __("Loading suggestions") : undefined);
|
|
22
|
-
}, [hasFocus, input, isLoading, suggestions]);
|
|
23
|
-
if (isInitializing) {
|
|
24
|
-
return _jsxs(BaseControl, { ...props, children: [_jsx(Spinner, {}), _jsx("span", { children: __(`Initializing ${props.label}`) })] });
|
|
25
|
-
}
|
|
26
|
-
const needsGreyOut = input.length < 2 || (isLoading && !suggestions.length);
|
|
27
|
-
return _jsxs("div", { onFocus: onFocus, onBlur: onBlur, children: [isLoading && _jsx(Spinner, { style: { marginTop: "30px", position: "absolute", right: "40px" }, "aria-label": "Updating Suggestions" }), _jsx(ComboboxControl, { ...passthroughProps, className: className ? `${className}${needsGreyOut ? " insufficient-input-length" : ""}` : (needsGreyOut ? "insufficient-input-length" : undefined), help: help, options: options, onFilterValueChange: onFilterValueChange, __experimentalRenderItem: __experimentalRenderItem, allowReset: allowReset !== false }), hasLoadingError && _jsx("div", { children: _jsx("span", { className: "components-base-control__help", children: __("An error occurred while updating suggestions") }) })] });
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=LazySuggestionsComboboxControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LazySuggestionsComboboxControl.js","sourceRoot":"","sources":["../../src/controls/LazySuggestionsComboboxControl.tsx"],"names":[],"mappings":"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"}
|