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