From d2f64f09615ca6a5d35e6f03aa0201f9d2452a4d Mon Sep 17 00:00:00 2001 From: Tung Du Date: Fri, 13 Sep 2024 17:32:40 +0700 Subject: [PATCH] feat: chips editor --- .../inner-blocks/chips/edit.tsx | 44 ++++++++----------- .../inner-blocks/chips/editor.scss | 10 ++--- .../Blocks/BlockTypes/ProductFilterChips.php | 1 + 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/edit.tsx b/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/edit.tsx index 2273f8fc78a..91ecbb6835a 100644 --- a/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/edit.tsx +++ b/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/edit.tsx @@ -1,25 +1,31 @@ /** * External dependencies */ -import { __ } from '@wordpress/i18n'; import { useMemo } from '@wordpress/element'; import { useBlockProps } from '@wordpress/block-editor'; +import clsx from 'clsx'; /** * Internal dependencies */ import { EditProps } from './types'; +import './editor.scss'; const Edit = ( props: EditProps ): JSX.Element => { const { context } = props; const { filterData } = context; const { isLoading, items } = filterData; - const blockProps = useBlockProps(); + const blockProps = useBlockProps( { + className: clsx( 'wc-block-product-filter-chips', { + 'is-loading': isLoading, + } ), + } ); const loadingState = useMemo( () => { - return [ ...Array( 5 ) ].map( ( _, i ) => ( -
  • ( +
    { } } >   -
  • + ) ); }, [] ); @@ -38,33 +44,21 @@ const Edit = ( props: EditProps ): JSX.Element => { return ( <>
    - +
    ); diff --git a/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/editor.scss b/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/editor.scss index 53e03034642..172a17117f6 100644 --- a/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/editor.scss +++ b/plugins/woocommerce-blocks/assets/js/blocks/product-filters/inner-blocks/chips/editor.scss @@ -1,10 +1,6 @@ .wc-block-product-filter-chips.is-loading { - .wc-block-product-filter-chips__list { - padding: 0; - - li { - @include placeholder(); - margin: 5px 0; - } + .wc-block-product-filter-chips__item { + @include placeholder(); + margin: 5px 0; } } diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterChips.php b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterChips.php index 90191a30132..b3b0aa61a68 100644 --- a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterChips.php +++ b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterChips.php @@ -43,6 +43,7 @@ final class ProductFilterChips extends AbstractBlock { $wrapper_attributes = array( 'data-wc-interactive' => esc_attr( $namespace ), 'data-wc-context' => wp_json_encode( $checkbox_list_context, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP ), + 'class' => 'wc-block-product-filter-chips', ); ob_start();