Sha256: 50e545b6212d65117580c5ad5568cb0f54108fab1195df5098b581136df94f7b

Contents?: true

Size: 1.76 KB

Versions: 96

Compression:

Stored size: 1.76 KB

Contents

/* @flow */

import React from 'react'
import { Caption, Flex, SectionSeparator } from '../../'

import CurrentFilters, { FilterDescription } from './CurrentFilters'
import FilterBackground, { FilterBackgroundProps } from './FilterBackground'
import FiltersPopover from './FiltersPopover'
import ResultsCount from './ResultsCount'
import SortMenu, {
  SortingChangeCallback,
  SortOptions,
  SortValue,
} from './SortMenu'

export type FilterDoubleProps = {
  children: Node,
  filters?: FilterDescription,
  onSortChange: SortingChangeCallback,
  results?: number,
  sortOptions: SortOptions,
  sortValue?: SortValue,
} & FilterBackgroundProps

const FilterDouble = ({
  onSortChange,
  sortOptions,
  sortValue,
  filters,
  results,
  children,
  dark,
  minWidth,
  ...bgProps
}: FilterDoubleProps) => (
  <FilterBackground
      dark={dark}
      {...bgProps}
  >
    <Flex
        orientation="row"
        vertical="center"
    >
      <FiltersPopover
          dark={dark}
          minWidth={minWidth}
      >
        {children}
      </FiltersPopover>
      <CurrentFilters
          dark={dark}
          filters={filters}
      />
    </Flex>
    <SectionSeparator dark={dark} />
    <Flex
        className="filter-bottom"
        orientation="row"
        spacing="between"
        vertical="center"
    >
      <ResultsCount
          dark={dark}
          results={results}
          title
      />
      <Flex
          orientation="row"
          vertical="center"
      >
        <Caption
            dark={dark}
            text="sort by:"
        />
        <SortMenu
            dark={dark}
            onChange={onSortChange}
            options={sortOptions}
            value={sortValue}
        />
      </Flex>
    </Flex>
  </FilterBackground>
)

export default FilterDouble

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
playbook_ui-9.19.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.19.0.pre.alphafonts app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.18.0.flow.bin.alpha app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.18.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.17.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.17.0.pre.decouple.website2 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.16.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.15.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.15.0.pre.decouple.website1 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.14.1.alpha.radio.alignment app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.14.1.alpha.highcharts9 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.14.1 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.13.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.12.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.12.0.pre.text.addon app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.11.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.10.0 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.10.0.pre.date.time.stacked.1 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.10.0.pre.alpha2 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
playbook_ui-9.10.0.pre.alpha1 app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx