@nosto/preact

    Function useProductFilters

    • Preact hook that import product facets state to the component.

      Should always be at the top of the component!

      Returns {
          filters: (
              | undefined
              | {
                  field: string;
                  filter: {
                      all?: InputSearchFilter[];
                      any?: InputSearchFilter[];
                      excludeFacets?: string[];
                      field?: string;
                      hasValue?: boolean;
                      not?: InputSearchFilter[];
                      prefix?: string[];
                      range: | undefined
                      | {
                          gt: undefined
                          | string
                          | number;
                          gte: undefined | string | number;
                          lt: undefined | string | number;
                          lte: undefined | string | number;
                      }[];
                      value?: string[];
                  };
                  name: string;
                  remove: () => void;
                  value: string;
              }
          )[];
          removeAll: () => void;
      }

      • filters: (
            | undefined
            | {
                field: string;
                filter: {
                    all?: InputSearchFilter[];
                    any?: InputSearchFilter[];
                    excludeFacets?: string[];
                    field?: string;
                    hasValue?: boolean;
                    not?: InputSearchFilter[];
                    prefix?: string[];
                    range: | undefined
                    | {
                        gt: undefined
                        | string
                        | number;
                        gte: undefined | string | number;
                        lt: undefined | string | number;
                        lte: undefined | string | number;
                    }[];
                    value?: string[];
                };
                name: string;
                remove: () => void;
                value: string;
            }
        )[]

        Selected filters array.

      • removeAll: () => void

        Should remove all selected filters.

      import { useProductFilters, useActions } from '@nosto/preact'

      export default () => {
      const { filters } = useProductFilters()
      const { toggleProductFilter } = useActions()

      return filters.map((filter) => <li>
      <button
      title="Remove Filter"
      onClick={(e) => {
      e.preventDefault()
      toggleProductFilter(
      filter.field,
      filter.value,
      false
      )
      }}
      >
      {filter.filter}: {filter.value}{' '}
      <span>&#10005;</span>
      </button>
      </li>)
      }
    MMNEPVFCICPMFPCPTTAAATR