@bigbinary/neeto-filters-frontend 3.3.0-beta.2 → 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,21 +1,23 @@
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
- import { Select, DatePicker, TimePicker, Input, Button, Pane as Pane$1, Typography, Accordion, Tooltip, Dropdown as Dropdown$2, Alert, Spinner } from '@bigbinary/neetoui';
9
+ import { Select, DatePicker, TimePickerInput, Input, Button, Pane as Pane$1, Typography, Accordion, Tooltip, Dropdown as Dropdown$2, Alert, Spinner } from '@bigbinary/neetoui';
10
10
  import { Form, Input as Input$1, ActionBlock } from '@bigbinary/neetoui/formik';
11
11
  import { useTranslation, Trans } from 'react-i18next';
12
12
  import { useHistory } from 'react-router-dom/cjs/react-router-dom.min';
13
13
  import { buildUrl, getQueryParams, dateFormat, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
14
14
  import * as yup from 'yup';
15
- import useHotkeys from '@bigbinary/neeto-hotkeys';
16
15
  import { useHistory as useHistory$1, useLocation } from 'react-router-dom';
16
+ import useHotkeys from '@bigbinary/neeto-hotkeys';
17
17
  import axios from 'axios';
18
18
  import Search from '@bigbinary/neeto-molecules/Search';
19
+ import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
20
+ import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
19
21
  import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
20
22
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
21
23
 
@@ -239,7 +241,7 @@ var dayjs_min = {exports: {}};
239
241
  dayjs_min.exports;
240
242
 
241
243
  (function (module, exports) {
242
- !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}));
243
245
  } (dayjs_min, dayjs_min.exports));
244
246
 
245
247
  var dayjs_minExports = dayjs_min.exports;
@@ -250,7 +252,7 @@ var timezone$1 = {exports: {}};
250
252
  timezone$1.exports;
251
253
 
252
254
  (function (module, exports) {
253
- !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;};}}));
254
256
  } (timezone$1, timezone$1.exports));
255
257
 
256
258
  var timezoneExports = timezone$1.exports;
@@ -261,7 +263,7 @@ var utc$1 = {exports: {}};
261
263
  utc$1.exports;
262
264
 
263
265
  (function (module, exports) {
264
- !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)};}}));
265
267
  } (utc$1, utc$1.exports));
266
268
 
267
269
  var utcExports = utc$1.exports;
@@ -321,6 +323,26 @@ var TEXT_RULES = [{
321
323
  label: t$1("neetoFilters.rules.doesNotEndWith"),
322
324
  value: "does_not_end_with"
323
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
+ }];
324
346
  var DEFAULT_BOOLEAN_OPTIONS = [{
325
347
  label: t$1("neetoFilters.common.yes"),
326
348
  value: "true"
@@ -374,6 +396,9 @@ var isTime = function isTime(type) {
374
396
  var isMulti = function isMulti(type) {
375
397
  return type === "multi_option" || type === "custom.multi_option";
376
398
  };
399
+ var isSingle = function isSingle(type) {
400
+ return type === "single_option" || type === "custom.single_option";
401
+ };
377
402
  var isText = function isText(type) {
378
403
  return type === "text" || type === "custom.text";
379
404
  };
@@ -466,7 +491,7 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
466
491
  if (isMulti(defaultType)) {
467
492
  return mergeLeft(filter, {
468
493
  value: pluck("value", option),
469
- rule: "in"
494
+ rule: rule
470
495
  });
471
496
  } else if (isDate(defaultType)) {
472
497
  return mergeLeft(filter, buildDateValue(option));
@@ -489,6 +514,11 @@ var buildUpdatedFilter = function buildUpdatedFilter(_ref8) {
489
514
  });
490
515
  } else if (isTime(defaultType)) {
491
516
  return mergeLeft(filter, buildTimeValue(option));
517
+ } else if (isSingle(defaultType)) {
518
+ return mergeLeft(filter, {
519
+ value: option.value,
520
+ rule: rule
521
+ });
492
522
  }
493
523
  return mergeLeft(filter, {
494
524
  value: option.value,
@@ -519,40 +549,53 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
519
549
  value: value
520
550
  }, column);
521
551
  } else if (isMulti(defaultType)) {
522
- return mergeLeft({
523
- rule: "in",
524
- value: value.split("|")
525
- }, column);
526
- } else if (isDigit(defaultType) || isText(defaultType)) {
527
552
  var _value$split = value.split("+rule-"),
528
553
  _value$split2 = _slicedToArray(_value$split, 2),
529
554
  filterValue = _value$split2[0],
530
555
  rule = _value$split2[1];
531
556
  return mergeLeft({
532
- rule: rule,
533
- value: filterValue
534
- }, column);
535
- } else if (isTime(defaultType) && isCustomTimeRange(value)) {
536
- return mergeLeft({
537
- value: value.split(",")
557
+ rule: rule !== null && rule !== void 0 ? rule : "in",
558
+ value: filterValue.split("|")
538
559
  }, column);
539
- } else if (isSingleDate(defaultType)) {
560
+ } else if (isSingle(defaultType)) {
540
561
  var _value$split3 = value.split("+rule-"),
541
562
  _value$split4 = _slicedToArray(_value$split3, 2),
542
563
  _filterValue = _value$split4[0],
543
564
  _rule = _value$split4[1];
544
565
  return mergeLeft({
545
- rule: _rule,
546
- value: _rule === "between" ? _filterValue.split(",") : _filterValue
566
+ rule: _rule !== null && _rule !== void 0 ? _rule : "in",
567
+ value: _filterValue
547
568
  }, column);
548
- } else if (isSingleTime(defaultType)) {
569
+ } else if (isDigit(defaultType) || isText(defaultType)) {
549
570
  var _value$split5 = value.split("+rule-"),
550
571
  _value$split6 = _slicedToArray(_value$split5, 2),
551
572
  _filterValue2 = _value$split6[0],
552
573
  _rule2 = _value$split6[1];
553
574
  return mergeLeft({
554
575
  rule: _rule2,
555
- 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
556
599
  }, column);
557
600
  } else if (isBoolean(defaultType)) {
558
601
  return mergeLeft({
@@ -815,7 +858,9 @@ var createUrlParamString = function createUrlParamString(_ref15) {
815
858
  } else if (isSingleDate(defaultType) || isSingleTime(defaultType)) {
816
859
  return value && "".concat(value, "+rule-").concat(rule) || value;
817
860
  } else if (isMulti(defaultType)) {
818
- return value.join("|");
861
+ return "".concat(value.join("|"), "+rule-").concat(rule);
862
+ } else if (isSingle(defaultType)) {
863
+ return "".concat(value, "+rule-").concat(rule);
819
864
  } else if (isBoolean(defaultType)) {
820
865
  return getLabelFromBool({
821
866
  value: value,
@@ -943,6 +988,9 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
943
988
  var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
944
989
  return not(isEmpty(keyworFilter.node));
945
990
  };
991
+ var isNilOrEmpty = function isNilOrEmpty(param) {
992
+ return isNil(param) || isEmpty(param);
993
+ };
946
994
 
947
995
  var buildDropdownValue = function buildDropdownValue(_ref) {
948
996
  var defaultType = _ref.defaultType,
@@ -1035,6 +1083,34 @@ var buildDateValues = function buildDateValues(dates, selectedRule) {
1035
1083
  var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
1036
1084
  return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
1037
1085
  };
1086
+ var hasInvalidTimes = function hasInvalidTimes(times) {
1087
+ if (Array.isArray(times)) {
1088
+ return times.some(function (time) {
1089
+ return time.isValid();
1090
+ }) === false;
1091
+ }
1092
+ return !times.isValid();
1093
+ };
1094
+ var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
1095
+ return !times.every(function (time) {
1096
+ return time.isValid();
1097
+ });
1098
+ };
1099
+
1100
+ // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
1101
+ var formatSingleTime = function formatSingleTime(time) {
1102
+ return dayjs(time).format("HH:mm:ss");
1103
+ };
1104
+ var formatTime = function formatTime(value, timePickerType) {
1105
+ if (isNilOrEmpty(value)) return null;
1106
+ if (timePickerType === "range") {
1107
+ return value.map(formatSingleTime);
1108
+ }
1109
+ return formatSingleTime(value);
1110
+ };
1111
+ var isRuleEmpty = function isRuleEmpty(rule) {
1112
+ return equals(rule, "is_unknown");
1113
+ };
1038
1114
 
1039
1115
  var Boolean = function Boolean(_ref) {
1040
1116
  var column = _ref.column,
@@ -1184,13 +1260,16 @@ var Dropdown = function Dropdown(_ref) {
1184
1260
  var column = _ref.column,
1185
1261
  filter = _ref.filter,
1186
1262
  handleApplyFilter = _ref.handleApplyFilter,
1187
- autoFocus = _ref.autoFocus;
1263
+ autoFocus = _ref.autoFocus,
1264
+ filters = _ref.filters;
1188
1265
  var key = column.key,
1189
1266
  label = column.label,
1190
1267
  values = column.values,
1191
1268
  defaultValue = column.defaultValue,
1192
1269
  _column$defaultType = column.defaultType,
1193
1270
  defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
1271
+ _column$showRuleSelec = column.showRuleSelector,
1272
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
1194
1273
  _column$isClearable = column.isClearable,
1195
1274
  isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
1196
1275
  _column$helpIconProps = column.helpIconProps,
@@ -1201,13 +1280,44 @@ var Dropdown = function Dropdown(_ref) {
1201
1280
  filter: filter,
1202
1281
  options: values
1203
1282
  });
1283
+ var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
1204
1284
  var value = buildDropdownValue({
1205
1285
  defaultType: defaultType,
1206
1286
  filter: filter,
1207
1287
  options: options
1208
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];
1209
1295
  var _useTranslation = useTranslation(),
1210
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
+ };
1211
1321
  var handleChange = function handleChange(option) {
1212
1322
  if (isEmpty(option) || isNil(option)) {
1213
1323
  handleApplyFilter({
@@ -1218,20 +1328,31 @@ var Dropdown = function Dropdown(_ref) {
1218
1328
  var updatedFilter = buildUpdatedFilter({
1219
1329
  column: column,
1220
1330
  defaultType: defaultType,
1221
- option: option
1331
+ option: option,
1332
+ rule: selectedRule.value
1222
1333
  });
1223
1334
  handleApplyFilter(updatedFilter);
1224
1335
  };
1336
+ useEffect(function () {
1337
+ if (!isEmpty(filters)) return;
1338
+ isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
1339
+ }, [filters]);
1225
1340
  return /*#__PURE__*/React.createElement("div", {
1226
1341
  className: "neeto-filters-pane-filter__item-wrapper"
1227
- }, /*#__PURE__*/React.createElement(Select, _extends({
1228
- autoFocus: autoFocus,
1342
+ }, showRuleSelector && /*#__PURE__*/React.createElement(Select, {
1229
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,
1230
1350
  options: options,
1231
1351
  value: value,
1232
1352
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
1233
1353
  isClearable: !defaultValue && isClearable,
1234
1354
  isMulti: isMulti(defaultType),
1355
+ label: !showRuleSelector && label,
1235
1356
  strategy: "fixed",
1236
1357
  placeholder: t("neetoFilters.messages.selectResource", {
1237
1358
  resource: label
@@ -1381,6 +1502,15 @@ var SingleTime = function SingleTime(_ref) {
1381
1502
  handleApplyFilter(updatedFilter);
1382
1503
  };
1383
1504
  var handleChange = function handleChange(times) {
1505
+ if (hasInvalidTimes(times)) {
1506
+ handleApplyFilter({
1507
+ _delete: true
1508
+ });
1509
+ return;
1510
+ }
1511
+ if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
1512
+ return;
1513
+ }
1384
1514
  var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
1385
1515
  return time.toISOString();
1386
1516
  }) : times["$d"].toISOString();
@@ -1393,6 +1523,7 @@ var SingleTime = function SingleTime(_ref) {
1393
1523
  });
1394
1524
  handleApplyFilter(updatedFilter);
1395
1525
  };
1526
+ var formattedTime = formatTime(value, timePickerType);
1396
1527
  return /*#__PURE__*/React.createElement("div", {
1397
1528
  className: "neeto-filters-pane-filter__item-wrapper"
1398
1529
  }, /*#__PURE__*/React.createElement(Select, _extends({
@@ -1407,15 +1538,12 @@ var SingleTime = function SingleTime(_ref) {
1407
1538
  }
1408
1539
  }, {
1409
1540
  onChange: handleRuleChange
1410
- })), /*#__PURE__*/React.createElement(TimePicker, _extends({
1541
+ })), /*#__PURE__*/React.createElement(TimePickerInput, _extends({
1411
1542
  autoFocus: autoFocus,
1412
- value: value,
1413
- use12Hours: true,
1414
1543
  className: "w-full",
1415
1544
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
1416
- format: "h:mm A",
1417
- getPopupContainer: prop("parentNode"),
1418
1545
  type: timePickerType,
1546
+ value: formattedTime,
1419
1547
  onChange: handleChange
1420
1548
  }, otherProps)));
1421
1549
  };
@@ -1558,6 +1686,15 @@ var Time = function Time(_ref) {
1558
1686
  handleApplyFilter(updatedFilter);
1559
1687
  };
1560
1688
  var handleTimeRangeChange = function handleTimeRangeChange(times) {
1689
+ if (hasInvalidTimes(times)) {
1690
+ handleApplyFilter({
1691
+ _delete: true
1692
+ });
1693
+ return;
1694
+ }
1695
+ if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
1696
+ return;
1697
+ }
1561
1698
  var updatedFilter = buildUpdatedFilter({
1562
1699
  column: column,
1563
1700
  defaultType: defaultType,
@@ -1588,13 +1725,11 @@ var Time = function Time(_ref) {
1588
1725
  }
1589
1726
  }, {
1590
1727
  onChange: handleChange
1591
- })), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends({
1592
- use12Hours: true,
1728
+ })), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePickerInput, _extends({
1729
+ className: "w-full",
1593
1730
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
1594
- format: "h:mm A",
1595
- getPopupContainer: prop("parentNode"),
1596
1731
  type: "range",
1597
- value: filter.value,
1732
+ value: formatTime(filter.value, "range"),
1598
1733
  onChange: handleTimeRangeChange
1599
1734
  }, otherProps)));
1600
1735
  };
@@ -1678,6 +1813,7 @@ var Item = function Item(_ref) {
1678
1813
  autoFocus: autoFocus,
1679
1814
  column: column,
1680
1815
  filter: filter,
1816
+ filters: filters,
1681
1817
  handleApplyFilter: handleApplyFilter
1682
1818
  });
1683
1819
  };
@@ -2037,19 +2173,26 @@ var buildRuleValue = function buildRuleValue(_ref) {
2037
2173
  return findBy({
2038
2174
  value: rule
2039
2175
  }, SINGLE_TIME_OPTIONS).label;
2176
+ } else if (isMulti(defaultType) || isSingle(defaultType)) {
2177
+ return isRuleEmpty(rule) ? t$1("neetoFilters.rules.isEmpty") : "";
2040
2178
  }
2041
2179
  return "";
2042
2180
  };
2043
2181
  var hasOnlyKeywordFilter = function hasOnlyKeywordFilter(filters) {
2044
2182
  return filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;
2045
2183
  };
2046
- var deepCompare = function deepCompare(filters1, filters2) {
2184
+ var deepCompare = function deepCompare(segments, filters) {
2047
2185
  var comparisonHelper = function comparisonHelper(filters) {
2048
2186
  return sortBy(prop("key"), removeBy({
2049
2187
  key: SEARCH_TERM_KEY
2050
- }, project(["key", "rule", "value"], filters)));
2188
+ }, project(["key", "rule", "value", "label"], filters)));
2051
2189
  };
2052
- 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));
2053
2196
  };
2054
2197
 
2055
2198
  var Block = function Block(_ref) {
@@ -2101,7 +2244,7 @@ var Block = function Block(_ref) {
2101
2244
  }, label, ":"), /*#__PURE__*/React.createElement(Typography, {
2102
2245
  className: "neeto-ui-text-gray-600",
2103
2246
  style: "body2"
2104
- }, ruleContent), /*#__PURE__*/React.createElement(Typography, {
2247
+ }, ruleContent), !isRuleEmpty(rule) && /*#__PURE__*/React.createElement(Typography, {
2105
2248
  style: "body2"
2106
2249
  }, blockContent), !defaultValue && /*#__PURE__*/React.createElement("div", {
2107
2250
  className: "neeto-filters-bar__block-close"
@@ -2169,7 +2312,7 @@ var FilterBar = function FilterBar(_ref) {
2169
2312
  handleApplyFilters = _ref.handleApplyFilters;
2170
2313
  var _useTranslation = useTranslation(),
2171
2314
  t = _useTranslation.t;
2172
- var history = useHistory();
2315
+ var history = useHistory$1();
2173
2316
  var searchParams = useQueryParams({
2174
2317
  toCamelCase: false
2175
2318
  });
@@ -2227,6 +2370,7 @@ var FilterBar = function FilterBar(_ref) {
2227
2370
  }), /*#__PURE__*/React.createElement("div", {
2228
2371
  className: "flex items-center gap-x-2"
2229
2372
  }, isPresent(entity) && !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React.createElement(Button, {
2373
+ "data-cy": "save-segment-button",
2230
2374
  label: t("neetoFilters.segments.saveAsNewSegment"),
2231
2375
  style: "secondary",
2232
2376
  onClick: function onClick() {
@@ -2458,21 +2602,44 @@ var SegmentBar = function SegmentBar(_ref) {
2458
2602
  var entity = _ref.entity,
2459
2603
  filters = _ref.filters,
2460
2604
  setIsSavePaneOpen = _ref.setIsSavePaneOpen,
2461
- setIsPaneOpen = _ref.setIsPaneOpen;
2605
+ setIsPaneOpen = _ref.setIsPaneOpen,
2606
+ handleApplyFilters = _ref.handleApplyFilters,
2607
+ childrenKeys = _ref.childrenKeys;
2462
2608
  var _useTranslation = useTranslation(),
2463
2609
  t = _useTranslation.t;
2610
+ var history = useHistory$1();
2464
2611
  var _useQueryParams = useQueryParams(),
2465
2612
  segmentId = _useQueryParams.segmentId;
2466
2613
  var queryClient = useQueryClient();
2467
2614
  var cachedSegments = queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, ""]) || DEFAULT_SEGMENTS_CACHE;
2468
2615
  var segment = findById(segmentId, cachedSegments.segments);
2469
2616
  if (isNotPresent(segment)) return null;
2470
- 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);
2471
2635
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
2472
- className: "neeto-ui-text-gray-600 mr-4",
2636
+ className: "neeto-ui-text-gray-600 mr-4 px-2",
2473
2637
  "data-cy": "neeto-filters-segment-name",
2474
2638
  style: "h4"
2475
- }, 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
+ },
2476
2643
  buttonStyle: "secondary",
2477
2644
  label: t("neetoFilters.segments.updateSegment")
2478
2645
  }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
@@ -2488,7 +2655,18 @@ var SegmentBar = function SegmentBar(_ref) {
2488
2655
  action: SEGMENT_ACTIONS$1.CREATE
2489
2656
  });
2490
2657
  }
2491
- }, 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
+ })));
2492
2670
  };
2493
2671
 
2494
2672
  var Bar = function Bar(_ref) {
@@ -2904,6 +3082,7 @@ var SEGMENT_ACTIONS = {
2904
3082
  EDIT: "edit",
2905
3083
  DELETE: "delete"
2906
3084
  };
3085
+ var ALL_RESULTS = t$1("neetoFilters.common.allResults");
2907
3086
 
2908
3087
  var Delete = function Delete(_ref) {
2909
3088
  var isOpen = _ref.isOpen,
@@ -2952,30 +3131,56 @@ var Delete = function Delete(_ref) {
2952
3131
  });
2953
3132
  };
2954
3133
 
3134
+ var reorderList = function reorderList(list, startIndex, endIndex) {
3135
+ var result = Array.from(list);
3136
+ var _result$splice = result.splice(startIndex, 1),
3137
+ _result$splice2 = _slicedToArray(_result$splice, 1),
3138
+ removed = _result$splice2[0];
3139
+ result.splice(endIndex, 0, removed);
3140
+ return result;
3141
+ };
3142
+
2955
3143
  var useSegments = function useSegments(_ref) {
2956
3144
  var entity = _ref.entity,
2957
3145
  columns = _ref.columns,
2958
- appliedFilters = _ref.appliedFilters,
2959
3146
  childrenKeys = _ref.childrenKeys;
2960
3147
  var _useTranslation = useTranslation(),
2961
3148
  t = _useTranslation.t;
2962
3149
  var history = useHistory$1();
3150
+ var appliedFilters = buildFiltersFromURL(columns);
2963
3151
  var _useFetchSegments = useFetchSegments({
2964
3152
  entity: entity
2965
3153
  }),
2966
- _useFetchSegments$dat = _useFetchSegments.data,
2967
- segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
3154
+ fetchedSegments = _useFetchSegments.data,
2968
3155
  isLoading = _useFetchSegments.isLoading;
3156
+ var _useState = useState(fetchedSegments),
3157
+ _useState2 = _slicedToArray(_useState, 2),
3158
+ segments = _useState2[0],
3159
+ setSegments = _useState2[1];
2969
3160
  var _useUpdateSegment = useUpdateSegment(),
2970
3161
  updateSegment = _useUpdateSegment.mutate,
2971
3162
  isUpdating = _useUpdateSegment.isLoading;
2972
- var _useState = useState({
3163
+ var _useState3 = useState({
2973
3164
  action: "",
2974
3165
  segment: undefined
2975
3166
  }),
2976
- _useState2 = _slicedToArray(_useState, 2),
2977
- confirmAction = _useState2[0],
2978
- setConfirmAction = _useState2[1];
3167
+ _useState4 = _slicedToArray(_useState3, 2),
3168
+ confirmAction = _useState4[0],
3169
+ setConfirmAction = _useState4[1];
3170
+ var handleSegmentsReorder = function handleSegmentsReorder(_ref2) {
3171
+ var source = _ref2.source,
3172
+ destination = _ref2.destination;
3173
+ if (!destination || source.index === destination.index) return;
3174
+ var reorderedSegments = reorderList(segments, source.index, destination.index);
3175
+ updateSegment({
3176
+ id: segments[source.index].id,
3177
+ payload: {
3178
+ position: destination.index + 1
3179
+ },
3180
+ showToastr: false
3181
+ });
3182
+ setSegments(reorderedSegments);
3183
+ };
2979
3184
  var clearAppliedFilters = function clearAppliedFilters() {
2980
3185
  var _filters$, _filters$2;
2981
3186
  var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
@@ -2990,10 +3195,10 @@ var useSegments = function useSegments(_ref) {
2990
3195
  })
2991
3196
  });
2992
3197
  };
2993
- var handleSelectSegment = function handleSelectSegment(_ref2) {
3198
+ var handleSelectSegment = function handleSelectSegment(_ref3) {
2994
3199
  var _filters$3;
2995
- var id = _ref2.id,
2996
- filters = _ref2.filters;
3200
+ var id = _ref3.id,
3201
+ filters = _ref3.filters;
2997
3202
  history.push({
2998
3203
  search: buildUrlFromSegment({
2999
3204
  columns: columns,
@@ -3002,6 +3207,9 @@ var useSegments = function useSegments(_ref) {
3002
3207
  })
3003
3208
  });
3004
3209
  };
3210
+ useEffect(function () {
3211
+ setSegments(fetchedSegments);
3212
+ }, [fetchedSegments]);
3005
3213
  if (isLoading) {
3006
3214
  return /*#__PURE__*/React.createElement(Spinner, null);
3007
3215
  }
@@ -3010,9 +3218,9 @@ var useSegments = function useSegments(_ref) {
3010
3218
  style: "body2"
3011
3219
  }, t("neetoFilters.segments.noSegmentsFound"));
3012
3220
  }
3013
- var handleUpdate = function handleUpdate(_ref3, _ref4) {
3014
- var name = _ref3.name;
3015
- var setFieldError = _ref4.setFieldError;
3221
+ var handleUpdate = function handleUpdate(_ref4, _ref5) {
3222
+ var name = _ref4.name;
3223
+ var setFieldError = _ref5.setFieldError;
3016
3224
  var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
3017
3225
  updateSegment({
3018
3226
  id: confirmAction.segment.id,
@@ -3036,9 +3244,11 @@ var useSegments = function useSegments(_ref) {
3036
3244
  };
3037
3245
  var filters = buildFiltersFromSearchParams(columns);
3038
3246
  return {
3247
+ appliedFilters: appliedFilters,
3039
3248
  segments: segments,
3040
3249
  clearAppliedFilters: clearAppliedFilters,
3041
3250
  handleSelectSegment: handleSelectSegment,
3251
+ handleSegmentsReorder: handleSegmentsReorder,
3042
3252
  setConfirmAction: setConfirmAction,
3043
3253
  isUpdating: isUpdating,
3044
3254
  handleUpdate: handleUpdate,
@@ -3087,6 +3297,7 @@ var Segment = function Segment(_ref) {
3087
3297
  }];
3088
3298
  return /*#__PURE__*/React.createElement("div", {
3089
3299
  onClick: onClick,
3300
+ "data-cy": "neeto-filters-segment-block-".concat(hyphenate(label)),
3090
3301
  className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
3091
3302
  "neeto-filters-segment--active": isActive
3092
3303
  })
@@ -3108,30 +3319,162 @@ var Segment = function Segment(_ref) {
3108
3319
 
3109
3320
  var MenuBlocks = function MenuBlocks(_ref) {
3110
3321
  var entity = _ref.entity,
3111
- columns = _ref.columns,
3322
+ segments = _ref.segments,
3323
+ segmentId = _ref.segmentId,
3324
+ isUpdating = _ref.isUpdating,
3325
+ appliedFilters = _ref.appliedFilters,
3326
+ setConfirmAction = _ref.setConfirmAction,
3112
3327
  defaultSegmentName = _ref.defaultSegmentName,
3113
- childrenKeys = _ref.childrenKeys,
3114
- customFilters = _ref.customFilters;
3328
+ handleSelectSegment = _ref.handleSelectSegment,
3329
+ clearAppliedFilters = _ref.clearAppliedFilters,
3330
+ handleSegmentsReorder = _ref.handleSegmentsReorder;
3115
3331
  var _useTranslation = useTranslation(),
3116
3332
  t = _useTranslation.t;
3117
- var segmentFormInitialRef = useRef(null);
3118
3333
  var _useState = useState(false),
3119
3334
  _useState2 = _slicedToArray(_useState, 2),
3120
3335
  showAll = _useState2[0],
3121
3336
  setShowAll = _useState2[1];
3122
- var _getQueryParams = getQueryParams(),
3123
- segmentId = _getQueryParams.segmentId;
3124
- var appliedFilters = buildFiltersFromURL(columns);
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, {
3343
+ icon: Down,
3344
+ style: "link",
3345
+ label: showAll ? t("neetoFilters.segments.showLess") : t("neetoFilters.segments.showMoreNumbers", {
3346
+ entity: segments.length - ITEMS_MAX_COUNT
3347
+ }),
3348
+ onClick: function onClick() {
3349
+ return setShowAll(function (open) {
3350
+ return !open;
3351
+ });
3352
+ }
3353
+ }), /*#__PURE__*/React.createElement(Segment, {
3354
+ isActive: isEmpty(appliedFilters),
3355
+ label: defaultSegmentName,
3356
+ onClick: clearAppliedFilters
3357
+ }), /*#__PURE__*/React.createElement(DragDropContext, {
3358
+ onDragEnd: handleSegmentsReorder
3359
+ }, /*#__PURE__*/React.createElement(Droppable, {
3360
+ droppableId: "neeto-filters-segments-".concat(entity)
3361
+ }, function (_ref2) {
3362
+ var innerRef = _ref2.innerRef,
3363
+ droppableProps = _ref2.droppableProps,
3364
+ placeholder = _ref2.placeholder;
3365
+ return /*#__PURE__*/React.createElement("div", _extends({
3366
+ ref: innerRef
3367
+ }, droppableProps), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment, index) {
3368
+ return /*#__PURE__*/React.createElement(Draggable, {
3369
+ index: index,
3370
+ draggableId: segment.id.toString(),
3371
+ isDragDisabled: isUpdating,
3372
+ key: segment.id.toString()
3373
+ }, function (_ref3) {
3374
+ var innerRef = _ref3.innerRef,
3375
+ draggableProps = _ref3.draggableProps,
3376
+ dragHandleProps = _ref3.dragHandleProps;
3377
+ return /*#__PURE__*/React.createElement("div", _extends({
3378
+ ref: innerRef
3379
+ }, draggableProps, dragHandleProps), /*#__PURE__*/React.createElement(Segment, {
3380
+ segments: segments,
3381
+ setConfirmAction: setConfirmAction,
3382
+ shouldShowDropdown: true,
3383
+ id: segment.id,
3384
+ isActive: segment.id === segmentId,
3385
+ key: segment.id,
3386
+ label: segment.name,
3387
+ onClick: function onClick() {
3388
+ return handleSelectSegment(segment);
3389
+ }
3390
+ }));
3391
+ });
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);
3125
3468
  var _useSegments = useSegments({
3126
3469
  entity: entity,
3127
3470
  columns: columns,
3128
- appliedFilters: appliedFilters,
3129
3471
  childrenKeys: childrenKeys
3130
3472
  }),
3131
3473
  _useSegments$segments = _useSegments.segments,
3132
3474
  segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
3133
3475
  clearAppliedFilters = _useSegments.clearAppliedFilters,
3134
3476
  handleSelectSegment = _useSegments.handleSelectSegment,
3477
+ handleSegmentsReorder = _useSegments.handleSegmentsReorder,
3135
3478
  onClose = _useSegments.onClose,
3136
3479
  setConfirmAction = _useSegments.setConfirmAction,
3137
3480
  selectedSegment = _useSegments.selectedSegment,
@@ -3139,27 +3482,29 @@ var MenuBlocks = function MenuBlocks(_ref) {
3139
3482
  isEditPaneOpen = _useSegments.isEditPaneOpen,
3140
3483
  isUpdating = _useSegments.isUpdating,
3141
3484
  handleUpdate = _useSegments.handleUpdate,
3142
- filters = _useSegments.filters;
3143
- return /*#__PURE__*/React.createElement(React.Fragment, null, segments.length > ITEMS_MAX_COUNT && /*#__PURE__*/React.createElement(Button, {
3144
- icon: Down,
3145
- style: "link",
3146
- label: showAll ? t("neetoFilters.segments.showLess") : t("neetoFilters.segments.showMoreNumbers", {
3147
- entity: segments.length - ITEMS_MAX_COUNT
3148
- }),
3149
- onClick: function onClick() {
3150
- return setShowAll(function (open) {
3151
- return !open;
3152
- });
3153
- }
3154
- }), /*#__PURE__*/React.createElement(Segment, {
3155
- isActive: isEmpty(appliedFilters),
3156
- label: defaultSegmentName,
3157
- onClick: clearAppliedFilters
3158
- }), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment) {
3159
- return /*#__PURE__*/React.createElement(Segment, {
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, {
3160
3506
  segments: segments,
3161
3507
  setConfirmAction: setConfirmAction,
3162
- shouldShowDropdown: true,
3163
3508
  id: segment.id,
3164
3509
  isActive: segment.id === segmentId,
3165
3510
  key: segment.id,
@@ -3168,7 +3513,7 @@ var MenuBlocks = function MenuBlocks(_ref) {
3168
3513
  return handleSelectSegment(segment);
3169
3514
  }
3170
3515
  });
3171
- }), /*#__PURE__*/React.createElement(SegmentForm, {
3516
+ })), /*#__PURE__*/React.createElement(SegmentForm, {
3172
3517
  childrenKeys: childrenKeys,
3173
3518
  columns: columns,
3174
3519
  customFilters: customFilters,
@@ -3188,30 +3533,6 @@ var MenuBlocks = function MenuBlocks(_ref) {
3188
3533
  segment: selectedSegment
3189
3534
  }));
3190
3535
  };
3191
- var MenuBlocks$1 = /*#__PURE__*/React.memo(MenuBlocks);
3192
-
3193
- var Segments = withT(function (_ref) {
3194
- var t = _ref.t,
3195
- entity = _ref.entity,
3196
- columns = _ref.columns,
3197
- _ref$defaultSegmentNa = _ref.defaultSegmentName,
3198
- defaultSegmentName = _ref$defaultSegmentNa === void 0 ? t("neetoFilters.common.allResults") : _ref$defaultSegmentNa,
3199
- customFilters = _ref.customFilters,
3200
- _ref$childrenKeys = _ref.childrenKeys,
3201
- childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys;
3202
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
3203
- component: "h4",
3204
- style: "h5",
3205
- textTransform: "uppercase",
3206
- weight: "bold"
3207
- }, t("neetoFilters.common.segments"))), /*#__PURE__*/React.createElement(MenuBlocks$1, {
3208
- childrenKeys: childrenKeys,
3209
- columns: columns,
3210
- customFilters: customFilters,
3211
- defaultSegmentName: defaultSegmentName,
3212
- entity: entity
3213
- }));
3214
- });
3215
3536
  var index = /*#__PURE__*/React.memo(Segments);
3216
3537
 
3217
3538
  export { Bar, Filters, index as Segments, buildFilterColumnsFromFields, buildFiltersFromURL, buildSelectorsFromURL, buildUrlFromFilters, buildUrlFromSegment, useDestroySegment, useFetchSegments, useUpdateSegment };