{
  "version": 3,
  "sources": ["../../../src/components/dataviews-filters/add-filter.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { NormalizedFilter, View } from '../../types';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface AddFilterProps {\n\tfilters: NormalizedFilter[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tsetOpenedFilter: ( filter: string | null ) => void;\n}\n\nexport function AddFilterMenu( {\n\tfilters,\n\tview,\n\tonChangeView,\n\tsetOpenedFilter,\n\ttriggerProps,\n}: AddFilterProps & {\n\ttriggerProps: React.ComponentProps< typeof Menu.TriggerButton >;\n} ) {\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<Menu>\n\t\t\t<Menu.TriggerButton { ...triggerProps } />\n\t\t\t<Menu.Popover>\n\t\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( filter.field );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>{ filter.name }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\n\nfunction AddFilter(\n\t{ filters, view, onChangeView, setOpenedFilter }: AddFilterProps,\n\tref: Ref< HTMLButtonElement >\n) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<AddFilterMenu\n\t\t\ttriggerProps={ {\n\t\t\t\trender: (\n\t\t\t\t\t<Button\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tchildren: __( 'Add filter' ),\n\t\t\t} }\n\t\t\t{ ...{ filters, view, onChangeView, setOpenedFilter } }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],
  "mappings": ";AAQA;AAAA,EACC,eAAe;AAAA,EACf;AAAA,OACM;AACP,SAAS,UAAU;AACnB,SAAS,kBAAkB;AAK3B,SAAS,cAAc;AAuBrB,SACC,KADD;AApBF,IAAM,EAAE,KAAK,IAAI,OAAQ,qBAAsB;AASxC,SAAS,cAAe;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAEI;AACH,QAAM,kBAAkB,QAAQ,OAAQ,CAAE,WAAY,CAAE,OAAO,SAAU;AACzE,SACC,qBAAC,QACA;AAAA,wBAAC,KAAK,eAAL,EAAqB,GAAG,cAAe;AAAA,IACxC,oBAAC,KAAK,SAAL,EACE,0BAAgB,IAAK,CAAE,WAAY;AACpC,aACC;AAAA,QAAC,KAAK;AAAA,QAAL;AAAA,UAEA,SAAU,MAAM;AACf,4BAAiB,OAAO,KAAM;AAC9B,yBAAc;AAAA,cACb,GAAG;AAAA,cACH,MAAM;AAAA,cACN,SAAS;AAAA,gBACR,GAAK,KAAK,WAAW,CAAC;AAAA,gBACtB;AAAA,kBACC,OAAO,OAAO;AAAA,kBACd,OAAO;AAAA,kBACP,UAAU,OAAO,UAAW,CAAE;AAAA,gBAC/B;AAAA,cACD;AAAA,YACD,CAAE;AAAA,UACH;AAAA,UAEA,8BAAC,KAAK,WAAL,EAAiB,iBAAO,MAAM;AAAA;AAAA,QAjBzB,OAAO;AAAA,MAkBd;AAAA,IAEF,CAAE,GACH;AAAA,KACD;AAEF;AAEA,SAAS,UACR,EAAE,SAAS,MAAM,cAAc,gBAAgB,GAC/C,KACC;AACD,MAAK,CAAE,QAAQ,UAAU,QAAQ,MAAO,CAAE,EAAE,UAAU,MAAO,SAAU,GAAI;AAC1E,WAAO;AAAA,EACR;AACA,QAAM,kBAAkB,QAAQ,OAAQ,CAAE,WAAY,CAAE,OAAO,SAAU;AACzE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe;AAAA,QACd,QACC;AAAA,UAAC;AAAA;AAAA,YACA,wBAAsB;AAAA,YACtB,MAAK;AAAA,YACL,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,UAAW,CAAE,gBAAgB;AAAA,YAC7B;AAAA;AAAA,QACD;AAAA,QAED,UAAU,GAAI,YAAa;AAAA,MAC5B;AAAA,MACE,GAAG,EAAE,SAAS,MAAM,cAAc,gBAAgB;AAAA;AAAA,EACrD;AAEF;AAEA,IAAO,qBAAQ,WAAY,SAAU;",
  "names": []
}
