@bigbinary/neeto-filters-frontend 3.3.0 → 3.3.1

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/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import React, { useState, useEffect, useMemo, useRef, useTransition } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import i18next, { t as t$1 } from 'i18next';
4
- import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, noop, replaceBy, isNotPresent, existsBy, _existsBy, isPresent, notEqualsDeep, humanize, findById, filterBy } from '@bigbinary/neeto-cist';
4
+ import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, isNotPresent, noop, replaceBy, existsBy, _existsBy, isPresent, humanize, findById, filterBy } from '@bigbinary/neeto-cist';
5
5
  import { useDebounce, useQueryParams, useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
6
- import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, mergeLeft, toLower, identity, mergeRight, toPairs, pluck, either, not, has, equals, pick, last, modify, append, mergeDeepRight, prop, assoc, sortBy, project } from 'ramda';
6
+ import { groupBy, anyPass, isNil, isEmpty, any, concat, omit, mergeLeft, toLower, identity, mergeRight, toPairs, pluck, either, not, has, equals, pick, last, modify, append, mergeDeepRight, prop, assoc, reject, sortBy, project } from 'ramda';
7
7
  import { useQuery, useQueryClient } from 'react-query';
8
8
  import { Help, Delete as Delete$1, Plus, Close, Down } from '@bigbinary/neeto-icons';
9
9
  import { Select, DatePicker, TimePickerInput, Input, Button, Pane as Pane$1, Typography, Accordion, Tooltip, Dropdown as Dropdown$2, Alert, Spinner } from '@bigbinary/neetoui';
@@ -16,8 +16,9 @@ import { useHistory as useHistory$1, useLocation } from 'react-router-dom';
16
16
  import useHotkeys from '@bigbinary/neeto-hotkeys';
17
17
  import axios from 'axios';
18
18
  import Search from '@bigbinary/neeto-molecules/Search';
19
- import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
19
+ import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
20
20
  import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
21
+ import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
21
22
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
22
23
 
23
24
  function _typeof(o) {
@@ -240,7 +241,7 @@ var dayjs_min = {exports: {}};
240
241
  dayjs_min.exports;
241
242
 
242
243
  (function (module, exports) {
243
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));
244
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
244
245
  } (dayjs_min, dayjs_min.exports));
245
246
 
246
247
  var dayjs_minExports = dayjs_min.exports;
@@ -251,7 +252,7 @@ var timezone$1 = {exports: {}};
251
252
  timezone$1.exports;
252
253
 
253
254
  (function (module, exports) {
254
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,v=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",h=+e;return (o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
255
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
255
256
  } (timezone$1, timezone$1.exports));
256
257
 
257
258
  var timezoneExports = timezone$1.exports;
@@ -262,7 +263,7 @@ var utc$1 = {exports: {}};
262
263
  utc$1.exports;
263
264
 
264
265
  (function (module, exports) {
265
- !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
266
+ !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
266
267
  } (utc$1, utc$1.exports));
267
268
 
268
269
  var utcExports = utc$1.exports;
@@ -322,6 +323,26 @@ var TEXT_RULES = [{
322
323
  label: t$1("neetoFilters.rules.doesNotEndWith"),
323
324
  value: "does_not_end_with"
324
325
  }];
326
+ var MULTI_DROPDOWN_RULES = [{
327
+ label: t$1("neetoFilters.rules.in"),
328
+ value: "in"
329
+ }, {
330
+ label: t$1("neetoFilters.rules.notIn"),
331
+ value: "not_in"
332
+ }, {
333
+ label: t$1("neetoFilters.rules.isEmpty"),
334
+ value: "is_unknown"
335
+ }];
336
+ var SINGLE_DROPDOWN_RULES = [{
337
+ label: t$1("neetoFilters.rules.is"),
338
+ value: "is"
339
+ }, {
340
+ label: t$1("neetoFilters.rules.isNot"),
341
+ value: "is_not"
342
+ }, {
343
+ label: t$1("neetoFilters.rules.isEmpty"),
344
+ value: "is_unknown"
345
+ }];
325
346
  var DEFAULT_BOOLEAN_OPTIONS = [{
326
347
  label: t$1("neetoFilters.common.yes"),
327
348
  value: "true"
@@ -375,6 +396,9 @@ var isTime = function isTime(type) {
375
396
  var isMulti = function isMulti(type) {
376
397
  return type === "multi_option" || type === "custom.multi_option";
377
398
  };
399
+ var isSingle = function isSingle(type) {
400
+ return type === "single_option" || type === "custom.single_option";
401
+ };
378
402
  var isText = function isText(type) {
379
403
  return type === "text" || type === "custom.text";
380
404
  };
@@ -467,7 +491,7 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
467
491
  if (isMulti(defaultType)) {
468
492
  return mergeLeft(filter, {
469
493
  value: pluck("value", option),
470
- rule: "in"
494
+ rule: rule
471
495
  });
472
496
  } else if (isDate(defaultType)) {
473
497
  return mergeLeft(filter, buildDateValue(option));
@@ -490,6 +514,11 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
490
514
  });
491
515
  } else if (isTime(defaultType)) {
492
516
  return mergeLeft(filter, buildTimeValue(option));
517
+ } else if (isSingle(defaultType)) {
518
+ return mergeLeft(filter, {
519
+ value: option.value,
520
+ rule: rule
521
+ });
493
522
  }
494
523
  return mergeLeft(filter, {
495
524
  value: option.value,
@@ -520,40 +549,53 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
520
549
  value: value
521
550
  }, column);
522
551
  } else if (isMulti(defaultType)) {
523
- return mergeLeft({
524
- rule: "in",
525
- value: value.split("|")
526
- }, column);
527
- } else if (isDigit(defaultType) || isText(defaultType)) {
528
552
  var _value$split = value.split("+rule-"),
529
553
  _value$split2 = _slicedToArray(_value$split, 2),
530
554
  filterValue = _value$split2[0],
531
555
  rule = _value$split2[1];
532
556
  return mergeLeft({
533
- rule: rule,
534
- value: filterValue
535
- }, column);
536
- } else if (isTime(defaultType) && isCustomTimeRange(value)) {
537
- return mergeLeft({
538
- value: value
557
+ rule: rule !== null && rule !== void 0 ? rule : "in",
558
+ value: filterValue.split("|")
539
559
  }, column);
540
- } else if (isSingleDate(defaultType)) {
560
+ } else if (isSingle(defaultType)) {
541
561
  var _value$split3 = value.split("+rule-"),
542
562
  _value$split4 = _slicedToArray(_value$split3, 2),
543
563
  _filterValue = _value$split4[0],
544
564
  _rule = _value$split4[1];
545
565
  return mergeLeft({
546
- rule: _rule,
547
- value: _rule === "between" ? _filterValue.split(",") : _filterValue
566
+ rule: _rule !== null && _rule !== void 0 ? _rule : "in",
567
+ value: _filterValue
548
568
  }, column);
549
- } else if (isSingleTime(defaultType)) {
569
+ } else if (isDigit(defaultType) || isText(defaultType)) {
550
570
  var _value$split5 = value.split("+rule-"),
551
571
  _value$split6 = _slicedToArray(_value$split5, 2),
552
572
  _filterValue2 = _value$split6[0],
553
573
  _rule2 = _value$split6[1];
554
574
  return mergeLeft({
555
575
  rule: _rule2,
556
- value: _rule2 === "between" ? _filterValue2.split(",") : _filterValue2
576
+ value: _filterValue2
577
+ }, column);
578
+ } else if (isTime(defaultType) && isCustomTimeRange(value)) {
579
+ return mergeLeft({
580
+ value: value
581
+ }, column);
582
+ } else if (isSingleDate(defaultType)) {
583
+ var _value$split7 = value.split("+rule-"),
584
+ _value$split8 = _slicedToArray(_value$split7, 2),
585
+ _filterValue3 = _value$split8[0],
586
+ _rule3 = _value$split8[1];
587
+ return mergeLeft({
588
+ rule: _rule3,
589
+ value: _rule3 === "between" ? _filterValue3.split(",") : _filterValue3
590
+ }, column);
591
+ } else if (isSingleTime(defaultType)) {
592
+ var _value$split9 = value.split("+rule-"),
593
+ _value$split10 = _slicedToArray(_value$split9, 2),
594
+ _filterValue4 = _value$split10[0],
595
+ _rule4 = _value$split10[1];
596
+ return mergeLeft({
597
+ rule: _rule4,
598
+ value: _rule4 === "between" ? _filterValue4.split(",") : _filterValue4
557
599
  }, column);
558
600
  } else if (isBoolean(defaultType)) {
559
601
  return mergeLeft({
@@ -816,7 +858,9 @@ var createUrlParamString = function createUrlParamString(_ref15) {
816
858
  } else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
817
859
  return value && "".concat(value, "+rule-").concat(rule) || value;
818
860
  } else if (isMulti(defaultType)) {
819
- return value.join("|");
861
+ return "".concat(value.join("|"), "+rule-").concat(rule);
862
+ } else if (isSingle(defaultType)) {
863
+ return "".concat(value, "+rule-").concat(rule);
820
864
  } else if (isBoolean(defaultType)) {
821
865
  return getLabelFromBool({
822
866
  value: value,
@@ -941,12 +985,12 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
941
985
  });
942
986
  });
943
987
  };
944
- var isNilOrEmpty = function isNilOrEmpty(param) {
945
- return isNil(param) || isEmpty(param);
946
- };
947
988
  var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
948
989
  return not(isEmpty(keyworFilter.node));
949
990
  };
991
+ var isNilOrEmpty = function isNilOrEmpty(param) {
992
+ return isNil(param) || isEmpty(param);
993
+ };
950
994
 
951
995
  var buildDropdownValue = function buildDropdownValue(_ref) {
952
996
  var defaultType = _ref.defaultType,
@@ -1064,6 +1108,9 @@ var formatTime = function formatTime(value, timePickerType) {
1064
1108
  }
1065
1109
  return formatSingleTime(value);
1066
1110
  };
1111
+ var isRuleEmpty = function isRuleEmpty(rule) {
1112
+ return equals(rule, "is_unknown");
1113
+ };
1067
1114
 
1068
1115
  var Boolean = function Boolean(_ref) {
1069
1116
  var column = _ref.column,
@@ -1213,13 +1260,16 @@ var Dropdown = function Dropdown(_ref) {
1213
1260
  var column = _ref.column,
1214
1261
  filter = _ref.filter,
1215
1262
  handleApplyFilter = _ref.handleApplyFilter,
1216
- autoFocus = _ref.autoFocus;
1263
+ autoFocus = _ref.autoFocus,
1264
+ filters = _ref.filters;
1217
1265
  var key = column.key,
1218
1266
  label = column.label,
1219
1267
  values = column.values,
1220
1268
  defaultValue = column.defaultValue,
1221
1269
  _column$defaultType = column.defaultType,
1222
1270
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
1271
+ _column$showRuleSelec = column.showRuleSelector,
1272
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
1223
1273
  _column$isClearable = column.isClearable,
1224
1274
  isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
1225
1275
  _column$helpIconProps = column.helpIconProps,
@@ -1230,13 +1280,44 @@ var Dropdown = function Dropdown(_ref) {
1230
1280
  filter: filter,
1231
1281
  options: values
1232
1282
  });
1283
+ var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
1233
1284
  var value = buildDropdownValue({
1234
1285
  defaultType: defaultType,
1235
1286
  filter: filter,
1236
1287
  options: options
1237
1288
  });
1289
+ var _useState = useState(findBy({
1290
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
1291
+ }, dropdownRules) || dropdownRules[0]),
1292
+ _useState2 = _slicedToArray(_useState, 2),
1293
+ selectedRule = _useState2[0],
1294
+ setSelectedRule = _useState2[1];
1238
1295
  var _useTranslation = useTranslation(),
1239
1296
  t = _useTranslation.t;
1297
+ var getOption = function getOption(isSelectedRuleEmpty, options, value) {
1298
+ if (isSelectedRuleEmpty) {
1299
+ return isMulti(defaultType) ? [options[0]] : options[0];
1300
+ }
1301
+ return value;
1302
+ };
1303
+ var handleRuleChange = function handleRuleChange(rule) {
1304
+ var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
1305
+ var isNewRuleEmpty = isRuleEmpty(rule.value);
1306
+ setSelectedRule(rule);
1307
+ if (isPreviousRuleEmpty || !isNewRuleEmpty && isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
1308
+ handleApplyFilter({
1309
+ _delete: true
1310
+ });
1311
+ return;
1312
+ }
1313
+ var updatedFilter = buildUpdatedFilter({
1314
+ column: column,
1315
+ defaultType: defaultType,
1316
+ rule: rule.value,
1317
+ option: getOption(isNewRuleEmpty, options, value)
1318
+ });
1319
+ handleApplyFilter(updatedFilter);
1320
+ };
1240
1321
  var handleChange = function handleChange(option) {
1241
1322
  if (isEmpty(option) || isNil(option)) {
1242
1323
  handleApplyFilter({
@@ -1247,20 +1328,31 @@ var Dropdown = function Dropdown(_ref) {
1247
1328
  var updatedFilter = buildUpdatedFilter({
1248
1329
  column: column,
1249
1330
  defaultType: defaultType,
1250
- option: option
1331
+ option: option,
1332
+ rule: selectedRule.value
1251
1333
  });
1252
1334
  handleApplyFilter(updatedFilter);
1253
1335
  };
1336
+ useEffect(function () {
1337
+ if (!isEmpty(filters)) return;
1338
+ isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
1339
+ }, [filters]);
1254
1340
  return /*#__PURE__*/React.createElement("div", {
1255
1341
  className: "neeto-filters-pane-filter__item-wrapper"
1256
- }, /*#__PURE__*/React.createElement(Select, _extends({
1257
- autoFocus: autoFocus,
1342
+ }, showRuleSelector && /*#__PURE__*/React.createElement(Select, {
1258
1343
  label: label,
1344
+ defaultValue: dropdownRules[0],
1345
+ options: dropdownRules,
1346
+ value: selectedRule,
1347
+ onChange: handleRuleChange
1348
+ }), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/React.createElement(Select, _extends({
1349
+ autoFocus: autoFocus,
1259
1350
  options: options,
1260
1351
  value: value,
1261
1352
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
1262
1353
  isClearable: !defaultValue && isClearable,
1263
1354
  isMulti: isMulti(defaultType),
1355
+ label: !showRuleSelector && label,
1264
1356
  strategy: "fixed",
1265
1357
  placeholder: t("neetoFilters.messages.selectResource", {
1266
1358
  resource: label
@@ -1721,6 +1813,7 @@ var Item = function Item(_ref) {
1721
1813
  autoFocus: autoFocus,
1722
1814
  column: column,
1723
1815
  filter: filter,
1816
+ filters: filters,
1724
1817
  handleApplyFilter: handleApplyFilter
1725
1818
  });
1726
1819
  };
@@ -2080,19 +2173,26 @@ var buildRuleValue = function buildRuleValue(_ref) {
2080
2173
  return findBy({
2081
2174
  value: rule
2082
2175
  }, SINGLE_TIME_OPTIONS).label;
2176
+ } else if (isMulti(defaultType) || isSingle(defaultType)) {
2177
+ return isRuleEmpty(rule) ? t$1("neetoFilters.rules.isEmpty") : "";
2083
2178
  }
2084
2179
  return "";
2085
2180
  };
2086
2181
  var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
2087
2182
  return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
2088
2183
  };
2089
- var deepCompare = function deepCompare(filters1, filters2) {
2184
+ var deepCompare = function deepCompare(segments, filters) {
2090
2185
  var comparisonHelper = function comparisonHelper(filters) {
2091
2186
  return sortBy(prop("key"), removeBy({
2092
2187
  key: SEARCH_TERM_KEY
2093
- }, project(["key", "rule", "value"], filters)));
2188
+ }, project(["key", "rule", "value", "label"], filters)));
2094
2189
  };
2095
- return notEqualsDeep(comparisonHelper(filters1), comparisonHelper(filters2));
2190
+ return reject(function (filters) {
2191
+ var segment = findBy({
2192
+ key: filters.key
2193
+ }, segments);
2194
+ return segment && segment.value === filters.value;
2195
+ }, comparisonHelper(filters));
2096
2196
  };
2097
2197
 
2098
2198
  var Block = function Block(_ref) {
@@ -2144,7 +2244,7 @@ var Block = function Block(_ref) {
2144
2244
  }, label, ":"), /*#__PURE__*/React.createElement(Typography, {
2145
2245
  className: "neeto-ui-text-gray-600",
2146
2246
  style: "body2"
2147
- }, ruleContent), /*#__PURE__*/React.createElement(Typography, {
2247
+ }, ruleContent), !isRuleEmpty(rule) && /*#__PURE__*/React.createElement(Typography, {
2148
2248
  style: "body2"
2149
2249
  }, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
2150
2250
  className: "neeto-filters-bar__block-close"
@@ -2502,21 +2602,44 @@ var SegmentBar = function SegmentBar(_ref) {
2502
2602
  var entity = _ref.entity,
2503
2603
  filters = _ref.filters,
2504
2604
  setIsSavePaneOpen = _ref.setIsSavePaneOpen,
2505
- setIsPaneOpen = _ref.setIsPaneOpen;
2605
+ setIsPaneOpen = _ref.setIsPaneOpen,
2606
+ handleApplyFilters = _ref.handleApplyFilters,
2607
+ childrenKeys = _ref.childrenKeys;
2506
2608
  var _useTranslation = useTranslation(),
2507
2609
  t = _useTranslation.t;
2610
+ var history = useHistory$1();
2508
2611
  var _useQueryParams = useQueryParams(),
2509
2612
  segmentId = _useQueryParams.segmentId;
2510
2613
  var queryClient = useQueryClient();
2511
2614
  var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
2512
2615
  var segment = findById(segmentId, cachedSegments.segments);
2513
2616
  if (isNotPresent(segment)) return null;
2514
- var newChangesExists = deepCompare(segment.filters[0].conditions, filters);
2617
+ var handleDelete = function handleDelete(key) {
2618
+ if (key === SEARCH_TERM_KEY) {
2619
+ var params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());
2620
+ var pathname = window.location.pathname;
2621
+ history.push(buildUrl(pathname, params));
2622
+ return;
2623
+ }
2624
+ if (childrenKeys.includes(key)) {
2625
+ var _params = omit([key], getSnakeCasedQueryParams());
2626
+ var _pathname = window.location.pathname;
2627
+ history.push(buildUrl(_pathname, _params));
2628
+ }
2629
+ var newFilters = removeBy({
2630
+ key: key
2631
+ }, filters);
2632
+ handleApplyFilters(newFilters);
2633
+ };
2634
+ var changedFilters = deepCompare(segment.filters[0].conditions, filters);
2515
2635
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
2516
- className: "neeto-ui-text-gray-600 mr-4",
2636
+ className: "neeto-ui-text-gray-600 mr-4 px-2",
2517
2637
  "data-cy": "neeto-filters-segment-name",
2518
2638
  style: "h4"
2519
- }, segment.name), newChangesExists && /*#__PURE__*/React.createElement(Dropdown$2, {
2639
+ }, segment.name), isNotEmpty(changedFilters) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown$2, {
2640
+ buttonProps: {
2641
+ className: "mr-2"
2642
+ },
2520
2643
  buttonStyle: "secondary",
2521
2644
  label: t("neetoFilters.segments.updateSegment")
2522
2645
  }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
@@ -2532,7 +2655,18 @@ var SegmentBar = function SegmentBar(_ref) {
2532
2655
  action: SEGMENT_ACTIONS$1.CREATE
2533
2656
  });
2534
2657
  }
2535
- }, t("neetoFilters.segments.saveAsNewSegment")))));
2658
+ }, t("neetoFilters.segments.saveAsNewSegment")))), changedFilters.map(function (filter) {
2659
+ var _filter$suffixCompone;
2660
+ return /*#__PURE__*/React.createElement(React.Fragment, {
2661
+ key: filter.key
2662
+ }, /*#__PURE__*/React.createElement(Block, {
2663
+ filter: filter,
2664
+ handleDelete: handleDelete,
2665
+ setIsPaneOpen: setIsPaneOpen
2666
+ }), (_filter$suffixCompone = filter.suffixComponent) === null || _filter$suffixCompone === void 0 ? void 0 : _filter$suffixCompone.call(filter), /*#__PURE__*/React.createElement("div", {
2667
+ className: "neeto-filters-bar--separator"
2668
+ }));
2669
+ })));
2536
2670
  };
2537
2671
 
2538
2672
  var Bar = function Bar(_ref) {
@@ -2948,6 +3082,7 @@ var SEGMENT_ACTIONS = {
2948
3082
  EDIT: "edit",
2949
3083
  DELETE: "delete"
2950
3084
  };
3085
+ var ALL_RESULTS = t$1("neetoFilters.common.allResults");
2951
3086
 
2952
3087
  var Delete = function Delete(_ref) {
2953
3088
  var isOpen = _ref.isOpen,
@@ -3008,20 +3143,20 @@ var reorderList = function reorderList(list, startIndex, endIndex) {
3008
3143
  var useSegments = function useSegments(_ref) {
3009
3144
  var entity = _ref.entity,
3010
3145
  columns = _ref.columns,
3011
- appliedFilters = _ref.appliedFilters,
3012
3146
  childrenKeys = _ref.childrenKeys;
3013
3147
  var _useTranslation = useTranslation(),
3014
3148
  t = _useTranslation.t;
3015
3149
  var history = useHistory$1();
3016
- var _useState = useState([]),
3017
- _useState2 = _slicedToArray(_useState, 2),
3018
- segments = _useState2[0],
3019
- setSegments = _useState2[1];
3150
+ var appliedFilters = buildFiltersFromURL(columns);
3020
3151
  var _useFetchSegments = useFetchSegments({
3021
3152
  entity: entity
3022
3153
  }),
3023
3154
  fetchedSegments = _useFetchSegments.data,
3024
3155
  isLoading = _useFetchSegments.isLoading;
3156
+ var _useState = useState(fetchedSegments),
3157
+ _useState2 = _slicedToArray(_useState, 2),
3158
+ segments = _useState2[0],
3159
+ setSegments = _useState2[1];
3025
3160
  var _useUpdateSegment = useUpdateSegment(),
3026
3161
  updateSegment = _useUpdateSegment.mutate,
3027
3162
  isUpdating = _useUpdateSegment.isLoading;
@@ -3109,6 +3244,7 @@ var useSegments = function useSegments(_ref) {
3109
3244
  };
3110
3245
  var filters = buildFiltersFromSearchParams(columns);
3111
3246
  return {
3247
+ appliedFilters: appliedFilters,
3112
3248
  segments: segments,
3113
3249
  clearAppliedFilters: clearAppliedFilters,
3114
3250
  handleSelectSegment: handleSelectSegment,
@@ -3183,40 +3319,27 @@ var Segment = function Segment(_ref) {
3183
3319
 
3184
3320
  var MenuBlocks = function MenuBlocks(_ref) {
3185
3321
  var entity = _ref.entity,
3186
- columns = _ref.columns,
3322
+ segments = _ref.segments,
3323
+ segmentId = _ref.segmentId,
3324
+ isUpdating = _ref.isUpdating,
3325
+ appliedFilters = _ref.appliedFilters,
3326
+ setConfirmAction = _ref.setConfirmAction,
3187
3327
  defaultSegmentName = _ref.defaultSegmentName,
3188
- childrenKeys = _ref.childrenKeys,
3189
- customFilters = _ref.customFilters;
3328
+ handleSelectSegment = _ref.handleSelectSegment,
3329
+ clearAppliedFilters = _ref.clearAppliedFilters,
3330
+ handleSegmentsReorder = _ref.handleSegmentsReorder;
3190
3331
  var _useTranslation = useTranslation(),
3191
3332
  t = _useTranslation.t;
3192
- var segmentFormInitialRef = useRef(null);
3193
3333
  var _useState = useState(false),
3194
3334
  _useState2 = _slicedToArray(_useState, 2),
3195
3335
  showAll = _useState2[0],
3196
3336
  setShowAll = _useState2[1];
3197
- var _getQueryParams = getQueryParams(),
3198
- segmentId = _getQueryParams.segmentId;
3199
- var appliedFilters = buildFiltersFromURL(columns);
3200
- var _useSegments = useSegments({
3201
- entity: entity,
3202
- columns: columns,
3203
- appliedFilters: appliedFilters,
3204
- childrenKeys: childrenKeys
3205
- }),
3206
- _useSegments$segments = _useSegments.segments,
3207
- segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
3208
- clearAppliedFilters = _useSegments.clearAppliedFilters,
3209
- handleSelectSegment = _useSegments.handleSelectSegment,
3210
- handleSegmentsReorder = _useSegments.handleSegmentsReorder,
3211
- onClose = _useSegments.onClose,
3212
- setConfirmAction = _useSegments.setConfirmAction,
3213
- selectedSegment = _useSegments.selectedSegment,
3214
- isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
3215
- isEditPaneOpen = _useSegments.isEditPaneOpen,
3216
- isUpdating = _useSegments.isUpdating,
3217
- handleUpdate = _useSegments.handleUpdate,
3218
- filters = _useSegments.filters;
3219
- return /*#__PURE__*/React.createElement(React.Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
3337
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
3338
+ component: "h4",
3339
+ style: "h5",
3340
+ textTransform: "uppercase",
3341
+ weight: "bold"
3342
+ }, t("neetoFilters.common.segments"))), segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
3220
3343
  icon: Down,
3221
3344
  style: "link",
3222
3345
  label: showAll ? t("neetoFilters.segments.showLess") : t("neetoFilters.segments.showMoreNumbers", {
@@ -3267,6 +3390,129 @@ var MenuBlocks = function MenuBlocks(_ref) {
3267
3390
  }));
3268
3391
  });
3269
3392
  }), placeholder);
3393
+ })));
3394
+ };
3395
+ var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
3396
+
3397
+ var SidebarBlock = function SidebarBlock(_ref) {
3398
+ var id = _ref.id,
3399
+ isActive = _ref.isActive,
3400
+ label = _ref.label,
3401
+ onClick = _ref.onClick,
3402
+ segments = _ref.segments,
3403
+ setConfirmAction = _ref.setConfirmAction;
3404
+ var _useTranslation = useTranslation(),
3405
+ t = _useTranslation.t;
3406
+ var menuItems = [{
3407
+ key: "edit",
3408
+ label: t("neetoFilters.common.edit"),
3409
+ onClick: function onClick() {
3410
+ return setConfirmAction({
3411
+ action: SEGMENT_ACTIONS.EDIT,
3412
+ segment: findById(id, segments)
3413
+ });
3414
+ }
3415
+ }, {
3416
+ key: "delete",
3417
+ label: t("neetoFilters.common.delete"),
3418
+ onClick: function onClick() {
3419
+ return setConfirmAction({
3420
+ action: SEGMENT_ACTIONS.DELETE,
3421
+ segment: findById(id, segments)
3422
+ });
3423
+ }
3424
+ }];
3425
+ var dataCyPrefix = hyphenate(label);
3426
+ return /*#__PURE__*/React.createElement("button", {
3427
+ onClick: onClick,
3428
+ "data-cy": "".concat(dataCyPrefix, "-segment-link"),
3429
+ className: classnames("neeto-molecules-sidebar-segment neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none mb-0 w-full py-1", {
3430
+ active: isActive
3431
+ })
3432
+ }, /*#__PURE__*/React.createElement(Typography, {
3433
+ className: "neeto-molecules-sidebar__link-sub-label neeto-molecules-sidebar-segment__label neeto-ui-flex-grow min-w-0",
3434
+ component: "span",
3435
+ "data-cy": "".concat(dataCyPrefix, "-sub-link-label"),
3436
+ style: "body2"
3437
+ }, label), /*#__PURE__*/React.createElement(MoreDropdown, {
3438
+ menuItems: menuItems,
3439
+ dropdownButtonProps: {
3440
+ "data-testid": "segment-more-menu-".concat(dataCyPrefix),
3441
+ className: "flex-shrink-0",
3442
+ size: "small",
3443
+ style: "secondary"
3444
+ },
3445
+ dropdownProps: {
3446
+ position: "bottom-end",
3447
+ strategy: "fixed",
3448
+ autoWidth: true
3449
+ }
3450
+ }));
3451
+ };
3452
+
3453
+ var Segments = function Segments(_ref) {
3454
+ var entity = _ref.entity,
3455
+ columns = _ref.columns,
3456
+ _ref$defaultSegmentNa = _ref.defaultSegmentName,
3457
+ defaultSegmentName = _ref$defaultSegmentNa === void 0 ? ALL_RESULTS : _ref$defaultSegmentNa,
3458
+ customFilters = _ref.customFilters,
3459
+ _ref$childrenKeys = _ref.childrenKeys,
3460
+ childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
3461
+ _ref$isIndependent = _ref.isIndependent,
3462
+ isIndependent = _ref$isIndependent === void 0 ? true : _ref$isIndependent;
3463
+ var _useTranslation = useTranslation(),
3464
+ t = _useTranslation.t;
3465
+ var _useQueryParams = useQueryParams(),
3466
+ segmentId = _useQueryParams.segmentId;
3467
+ var segmentFormInitialRef = useRef(null);
3468
+ var _useSegments = useSegments({
3469
+ entity: entity,
3470
+ columns: columns,
3471
+ childrenKeys: childrenKeys
3472
+ }),
3473
+ _useSegments$segments = _useSegments.segments,
3474
+ segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
3475
+ clearAppliedFilters = _useSegments.clearAppliedFilters,
3476
+ handleSelectSegment = _useSegments.handleSelectSegment,
3477
+ handleSegmentsReorder = _useSegments.handleSegmentsReorder,
3478
+ onClose = _useSegments.onClose,
3479
+ setConfirmAction = _useSegments.setConfirmAction,
3480
+ selectedSegment = _useSegments.selectedSegment,
3481
+ isDeleteAlertOpen = _useSegments.isDeleteAlertOpen,
3482
+ isEditPaneOpen = _useSegments.isEditPaneOpen,
3483
+ isUpdating = _useSegments.isUpdating,
3484
+ handleUpdate = _useSegments.handleUpdate,
3485
+ filters = _useSegments.filters,
3486
+ appliedFilters = _useSegments.appliedFilters;
3487
+ return /*#__PURE__*/React.createElement("div", {
3488
+ "data-testid": "neeto-filters-segments"
3489
+ }, isIndependent ? /*#__PURE__*/React.createElement(MenuBlocks$1, {
3490
+ appliedFilters: appliedFilters,
3491
+ clearAppliedFilters: clearAppliedFilters,
3492
+ defaultSegmentName: defaultSegmentName,
3493
+ entity: entity,
3494
+ handleSegmentsReorder: handleSegmentsReorder,
3495
+ handleSelectSegment: handleSelectSegment,
3496
+ isUpdating: isUpdating,
3497
+ segmentId: segmentId,
3498
+ segments: segments,
3499
+ setConfirmAction: setConfirmAction
3500
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, isNotEmpty(segments) && /*#__PURE__*/React.createElement(Typography, {
3501
+ style: "body3",
3502
+ weight: "semibold",
3503
+ className: "neeto-molecules-sidebar-segments-header neeto-ui-text-transform-capitalize neeto-ui-text-gray-600 py-2 uppercase"
3504
+ }, t("neetoFilters.segments.segment", PLURAL)), segments.map(function (segment) {
3505
+ return /*#__PURE__*/React.createElement(SidebarBlock, {
3506
+ segments: segments,
3507
+ setConfirmAction: setConfirmAction,
3508
+ id: segment.id,
3509
+ isActive: segment.id === segmentId,
3510
+ key: segment.id,
3511
+ label: segment.name,
3512
+ onClick: function onClick() {
3513
+ return handleSelectSegment(segment);
3514
+ }
3515
+ });
3270
3516
  })), /*#__PURE__*/React.createElement(SegmentForm, {
3271
3517
  childrenKeys: childrenKeys,
3272
3518
  columns: columns,
@@ -3287,30 +3533,6 @@ var MenuBlocks = function MenuBlocks(_ref) {
3287
3533
  segment: selectedSegment
3288
3534
  }));
3289
3535
  };
3290
- var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
3291
-
3292
- var Segments = withT(function (_ref) {
3293
- var t = _ref.t,
3294
- entity = _ref.entity,
3295
- columns = _ref.columns,
3296
- _ref$defaultSegmentNa = _ref.defaultSegmentName,
3297
- defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
3298
- customFilters = _ref.customFilters,
3299
- _ref$childrenKeys = _ref.childrenKeys,
3300
- childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys;
3301
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
3302
- component: "h4",
3303
- style: "h5",
3304
- textTransform: "uppercase",
3305
- weight: "bold"
3306
- }, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
3307
- childrenKeys: childrenKeys,
3308
- columns: columns,
3309
- customFilters: customFilters,
3310
- defaultSegmentName: defaultSegmentName,
3311
- entity: entity
3312
- }));
3313
- });
3314
3536
  var index = /*#__PURE__*/React.memo(Segments);
3315
3537
 
3316
3538
  export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, buildUrlFromFilters, buildUrlFromSegment, useDestroySegment, useFetchSegments, useUpdateSegment };