@bigbinary/neeto-filters-frontend 3.3.0-beta.1 → 3.3.0

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
@@ -3,20 +3,21 @@ import classnames from 'classnames';
3
3
  import i18next, { t as t$1 } from 'i18next';
4
4
  import { findBy, isNotEmpty, capitalize, removeBy, toLabelAndValue, hyphenate, noop, replaceBy, isNotPresent, existsBy, _existsBy, isPresent, notEqualsDeep, 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, toLower, mergeLeft, 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, 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
- import { getQueryParams, dateFormat, buildUrl, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
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
19
  import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
20
+ import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
20
21
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
21
22
 
22
23
  function _typeof(o) {
@@ -516,7 +517,7 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
516
517
  }, column);
517
518
  } else if (isDate(defaultType) && isCustomDateRange(value)) {
518
519
  return mergeLeft({
519
- value: value.split(",")
520
+ value: value
520
521
  }, column);
521
522
  } else if (isMulti(defaultType)) {
522
523
  return mergeLeft({
@@ -534,7 +535,7 @@ var buildFiltersFromSearchParams = function buildFiltersFromSearchParams(columns
534
535
  }, column);
535
536
  } else if (isTime(defaultType) && isCustomTimeRange(value)) {
536
537
  return mergeLeft({
537
- value: value.split(",")
538
+ value: value
538
539
  }, column);
539
540
  } else if (isSingleDate(defaultType)) {
540
541
  var _value$split3 = value.split("+rule-"),
@@ -859,7 +860,7 @@ var buildUrlFromFilters = function buildUrlFromFilters(_ref16) {
859
860
  if (isEmpty(omit([SEGMENT_ID_KEY], searchParams))) {
860
861
  delete searchParams[SEGMENT_ID_KEY];
861
862
  }
862
- return new URLSearchParams(searchParams).toString();
863
+ return buildUrl("", searchParams).slice(1);
863
864
  };
864
865
  var createUrlParamStringForSegments = function createUrlParamStringForSegments(_ref18) {
865
866
  var filter = _ref18.filter,
@@ -894,7 +895,7 @@ var buildUrlFromSegment = function buildUrlFromSegment(_ref19) {
894
895
  });
895
896
  return acc;
896
897
  }, isNotEmpty(id) ? _defineProperty({}, SEGMENT_ID_KEY, id) : {});
897
- return new URLSearchParams(_objectSpread$5(_objectSpread$5({}, searchParams), newSearchParams)).toString();
898
+ return buildUrl("", mergeLeft(newSearchParams, searchParams)).slice(1);
898
899
  };
899
900
  var getSearchTermFromUrl = function getSearchTermFromUrl() {
900
901
  return getQueryParams().searchTerm || "";
@@ -940,6 +941,9 @@ var getColumnsWithStandardizedType = function getColumnsWithStandardizedType(col
940
941
  });
941
942
  });
942
943
  };
944
+ var isNilOrEmpty = function isNilOrEmpty(param) {
945
+ return isNil(param) || isEmpty(param);
946
+ };
943
947
  var isKeywordFilterPresent = function isKeywordFilterPresent(keyworFilter) {
944
948
  return not(isEmpty(keyworFilter.node));
945
949
  };
@@ -1035,6 +1039,31 @@ var buildDateValues = function buildDateValues(dates, selectedRule) {
1035
1039
  var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
1036
1040
  return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
1037
1041
  };
1042
+ var hasInvalidTimes = function hasInvalidTimes(times) {
1043
+ if (Array.isArray(times)) {
1044
+ return times.some(function (time) {
1045
+ return time.isValid();
1046
+ }) === false;
1047
+ }
1048
+ return !times.isValid();
1049
+ };
1050
+ var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
1051
+ return !times.every(function (time) {
1052
+ return time.isValid();
1053
+ });
1054
+ };
1055
+
1056
+ // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
1057
+ var formatSingleTime = function formatSingleTime(time) {
1058
+ return dayjs(time).format("HH:mm:ss");
1059
+ };
1060
+ var formatTime = function formatTime(value, timePickerType) {
1061
+ if (isNilOrEmpty(value)) return null;
1062
+ if (timePickerType === "range") {
1063
+ return value.map(formatSingleTime);
1064
+ }
1065
+ return formatSingleTime(value);
1066
+ };
1038
1067
 
1039
1068
  var Boolean = function Boolean(_ref) {
1040
1069
  var column = _ref.column,
@@ -1381,6 +1410,15 @@ var SingleTime = function SingleTime(_ref) {
1381
1410
  handleApplyFilter(updatedFilter);
1382
1411
  };
1383
1412
  var handleChange = function handleChange(times) {
1413
+ if (hasInvalidTimes(times)) {
1414
+ handleApplyFilter({
1415
+ _delete: true
1416
+ });
1417
+ return;
1418
+ }
1419
+ if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
1420
+ return;
1421
+ }
1384
1422
  var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
1385
1423
  return time.toISOString();
1386
1424
  }) : times["$d"].toISOString();
@@ -1393,6 +1431,7 @@ var SingleTime = function SingleTime(_ref) {
1393
1431
  });
1394
1432
  handleApplyFilter(updatedFilter);
1395
1433
  };
1434
+ var formattedTime = formatTime(value, timePickerType);
1396
1435
  return /*#__PURE__*/React.createElement("div", {
1397
1436
  className: "neeto-filters-pane-filter__item-wrapper"
1398
1437
  }, /*#__PURE__*/React.createElement(Select, _extends({
@@ -1407,15 +1446,12 @@ var SingleTime = function SingleTime(_ref) {
1407
1446
  }
1408
1447
  }, {
1409
1448
  onChange: handleRuleChange
1410
- })), /*#__PURE__*/React.createElement(TimePicker, _extends({
1449
+ })), /*#__PURE__*/React.createElement(TimePickerInput, _extends({
1411
1450
  autoFocus: autoFocus,
1412
- value: value,
1413
- use12Hours: true,
1414
1451
  className: "w-full",
1415
1452
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
1416
- format: "h:mm A",
1417
- getPopupContainer: prop("parentNode"),
1418
1453
  type: timePickerType,
1454
+ value: formattedTime,
1419
1455
  onChange: handleChange
1420
1456
  }, otherProps)));
1421
1457
  };
@@ -1558,6 +1594,15 @@ var Time = function Time(_ref) {
1558
1594
  handleApplyFilter(updatedFilter);
1559
1595
  };
1560
1596
  var handleTimeRangeChange = function handleTimeRangeChange(times) {
1597
+ if (hasInvalidTimes(times)) {
1598
+ handleApplyFilter({
1599
+ _delete: true
1600
+ });
1601
+ return;
1602
+ }
1603
+ if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
1604
+ return;
1605
+ }
1561
1606
  var updatedFilter = buildUpdatedFilter({
1562
1607
  column: column,
1563
1608
  defaultType: defaultType,
@@ -1588,13 +1633,11 @@ var Time = function Time(_ref) {
1588
1633
  }
1589
1634
  }, {
1590
1635
  onChange: handleChange
1591
- })), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePicker, _extends({
1592
- use12Hours: true,
1636
+ })), isCustomTimeRangeShown && /*#__PURE__*/React.createElement(TimePickerInput, _extends({
1637
+ className: "w-full",
1593
1638
  "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
1594
- format: "h:mm A",
1595
- getPopupContainer: prop("parentNode"),
1596
1639
  type: "range",
1597
- value: filter.value,
1640
+ value: formatTime(filter.value, "range"),
1598
1641
  onChange: handleTimeRangeChange
1599
1642
  }, otherProps)));
1600
1643
  };
@@ -2099,7 +2142,7 @@ var Block = function Block(_ref) {
2099
2142
  }, /*#__PURE__*/React.createElement(Typography, {
2100
2143
  style: "body2"
2101
2144
  }, label, ":"), /*#__PURE__*/React.createElement(Typography, {
2102
- className: "neeto-ui-text-gray-500",
2145
+ className: "neeto-ui-text-gray-600",
2103
2146
  style: "body2"
2104
2147
  }, ruleContent), /*#__PURE__*/React.createElement(Typography, {
2105
2148
  style: "body2"
@@ -2169,7 +2212,7 @@ var FilterBar = function FilterBar(_ref) {
2169
2212
  handleApplyFilters = _ref.handleApplyFilters;
2170
2213
  var _useTranslation = useTranslation(),
2171
2214
  t = _useTranslation.t;
2172
- var history = useHistory();
2215
+ var history = useHistory$1();
2173
2216
  var searchParams = useQueryParams({
2174
2217
  toCamelCase: false
2175
2218
  });
@@ -2224,7 +2267,10 @@ var FilterBar = function FilterBar(_ref) {
2224
2267
  }), /*#__PURE__*/React.createElement("div", {
2225
2268
  className: "neeto-filters-bar--separator"
2226
2269
  }));
2227
- }), isPresent(entity) && !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React.createElement(Button, {
2270
+ }), /*#__PURE__*/React.createElement("div", {
2271
+ className: "flex items-center gap-x-2"
2272
+ }, isPresent(entity) && !hasOnlyKeywordFilter(filters) && /*#__PURE__*/React.createElement(Button, {
2273
+ "data-cy": "save-segment-button",
2228
2274
  label: t("neetoFilters.segments.saveAsNewSegment"),
2229
2275
  style: "secondary",
2230
2276
  onClick: function onClick() {
@@ -2238,7 +2284,7 @@ var FilterBar = function FilterBar(_ref) {
2238
2284
  label: t("neetoFilters.common.clearFilters"),
2239
2285
  style: "text",
2240
2286
  onClick: handleClearAll
2241
- }));
2287
+ })));
2242
2288
  };
2243
2289
 
2244
2290
  var fetch = function fetch(params) {
@@ -2824,7 +2870,9 @@ var Pane = function Pane(_ref) {
2824
2870
  style: "body2"
2825
2871
  }, t("neetoFilters.messages.noResourcesFound", {
2826
2872
  resources: t("neetoFilters.common.columns")
2827
- })), children), /*#__PURE__*/React.createElement(Pane$1.Footer, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
2873
+ })), children), /*#__PURE__*/React.createElement(Pane$1.Footer, {
2874
+ className: "gap-x-2"
2875
+ }, /*#__PURE__*/React.createElement(Button, {
2828
2876
  "data-cy": "neeto-filters-done-btn",
2829
2877
  label: t("neetoFilters.common.done"),
2830
2878
  onClick: handleClearTermAndClose
@@ -2834,12 +2882,12 @@ var Pane = function Pane(_ref) {
2834
2882
  label: t("neetoFilters.common.clearFilters"),
2835
2883
  style: "text",
2836
2884
  onClick: handleClearAll
2837
- }))));
2885
+ })));
2838
2886
  };
2839
2887
 
2840
2888
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
2841
2889
 
2842
- var css = ".neeto-filters-bar{align-items:center;display:flex;flex-wrap:wrap}.neeto-filters-bar__block{border-radius:var(--neeto-ui-rounded);display:flex;gap:4px;margin:4px 0;max-width:384px;overflow:hidden;padding:4px 8px;position:relative;transition:var(--neeto-ui-transition);white-space:nowrap}.neeto-filters-bar__block p:first-child{color:rgb(var(--neeto-ui-gray-700))}.neeto-filters-bar__block-close{background-image:linear-gradient(90deg,rgba(var(--neeto-ui-gray-200),.5) 0,rgba(var(--neeto-ui-gray-200),1) 25%);color:rgb(var(--neeto-ui-gray-800));opacity:0;padding:8px;position:absolute;right:0;top:0;transition:var(--neeto-ui-transition)}.neeto-filters-bar__block:active,.neeto-filters-bar__block:hover{background-color:rgb(var(--neeto-ui-gray-200));cursor:pointer}.neeto-filters-bar__block:active .neeto-filters-bar__block-close,.neeto-filters-bar__block:hover .neeto-filters-bar__block-close{border-radius:var(--neeto-ui-rounded);color:rgb(var(--neeto-ui-black));opacity:1}.neeto-filters-bar__block:focus{box-shadow:0 0 0 3px rgba(var(--neeto-ui-gray-800),15%);outline:none}.neeto-filters-bar--separator{align-self:stretch;border-left:1px solid rgb(var(--neeto-ui-gray-400));margin:12px 8px}.neeto-filters-pane-filter{width:360px}.neeto-filters-pane-filter__body{align-items:stretch!important;gap:20px}.neeto-filters-pane-filter__body>*{flex-grow:0!important}.neeto-filters-pane-filter__body p{text-align:center}.neeto-filters-pane-filter__body .neeto-filters-pane-filter__item-wrapper{display:flex;flex:1;flex-direction:column;gap:8px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper{flex:1;margin-top:16px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper:first-of-type{margin-top:0}.neeto-filters-pane-filter__body .accordion_item:first-of-type .neeto-ui-accordion__item{padding-top:0}.neeto-filters-pane-filter__body .neeto-ui-accordion__wrapper--last-item{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:767px){.neeto-filters-pane-filter{width:100vw}}.neeto-filters-pane-backdrop{-webkit-backdrop-filter:blur(0)!important;backdrop-filter:blur(0)!important;background-color:rgba(var(--neeto-ui-gray-700),.2)}.neeto-filters-segment--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NlZ21lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBQ0EsY0NFRixDRENFLDBCQUtFLHFDQUFBLENBSEEsWUFBQSxDQUVBLE9BQUEsQ0FHQSxZQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FUQSxlQUFBLENBRUEsaUJBQUEsQ0FHQSxxQ0FBQSxDQUdBLGtCQ0VKLENEQ0ksd0NBQ0UsbUNDQ04sQ0RFSSxnQ0FRRSxnSEFBQSxDQUZBLG1DQUFBLENBREEsU0FBQSxDQURBLFdBQUEsQ0FIQSxpQkFBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBS0EscUNDQ04sQ0RPSSxpRUFFRSw4Q0FBQSxDQUNBLGNDTk4sQ0RRTSxpSUFHRSxxQ0FBQSxDQURBLGdDQUFBLENBREEsU0NKUixDRFVJLGdDQUVFLHVEQUFBLENBREEsWUNQTixDRFlFLDhCQUdFLGtCQUFBLENBRkEsbURBQUEsQ0FDQSxlQ1RKLENDL0NBLDJCQUNFLFdEa0RGLENDaERFLGlDQUNFLDZCQUFBLENBQ0EsUURrREosQ0NoREksbUNBQ0UscUJEa0ROLENDL0NJLG1DQUNFLGlCRGlETixDQzlDSSwwRUFDRSxZQUFBLENBR0EsTUFBQSxDQUZBLHFCQUFBLENBQ0EsT0RpRE4sQ0M1Q00sMEZBRUUsTUFBQSxDQURBLGVEK0NSLENDNUNRLHdHQUNFLFlEOENWLENDMUNRLHlGQUNFLGFENENWLENDeENJLHlFQUNFLHNERDBDTixDRWxFSSxvQ0RkSiwyQkEyQ0ksV0R5Q0YsQ0FDRixDQ3RDQSw2QkFDRSx5Q0FBQSxDQUFBLGlDQUFBLENBQ0Esa0REeUNGLENHMUZBLCtCQUNFLHVEQUFBLENBQ0EsK0RINkZGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICZfX2Jsb2NrIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgbWF4LXdpZHRoOiAzODRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbiAgICB9XG5cbiAgICAmLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS04MDApKTtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLW5lZXRvLXVpLXRyYW5zaXRpb24pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICA5MGRlZyxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDAuNSkgMCUsXG4gICAgICAgIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAxKSAyNSVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0yMDApKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jay1jbG9zZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktYmxhY2spKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS04MDApLCAxNSUpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNlcGFyYXRvciB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgICBtYXJnaW46IDEycHggOHB4O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cbn1cbiIsIi5uZWV0by1maWx0ZXJzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sge1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdhcDogNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gIG1hcmdpbjogNHB4IDA7XG4gIG1heC13aWR0aDogMzg0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrIHA6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS04MDApKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDAuNSkgMCUsIHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS0yMDApLCAxKSAyNSUpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpob3ZlciwgLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0yMDApKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpob3ZlciAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXItLXNlcGFyYXRvciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gIG1hcmdpbjogMTJweCA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyIHtcbiAgd2lkdGg6IDM2MHB4O1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICBnYXA6IDIwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSA+ICoge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbTpmaXJzdC1vZi10eXBlIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtYmFja2Ryb3Age1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSwgMC4yKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn0iLCIubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gIHdpZHRoOiAzNjBweDtcblxuICAmX19ib2R5IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgIGdhcDogMjBweDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb25faXRlbSB7XG4gICAgICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHZpZXdwb3J0KG1vYikge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG4ubmVldG8tZmlsdGVycy1wYW5lLWJhY2tkcm9wIHtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDBweCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTcwMCksIDAuMik7XG59XG4iLCJAbWl4aW4gdmlld3BvcnQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWE9PWRlc2sge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW1pbiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT10YWItb25seSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXhzLW1vYiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn1cbiJdfQ== */";
2890
+ var css = ".neeto-filters-bar{align-items:center;display:flex;flex-wrap:wrap}.neeto-filters-bar__block{border-radius:var(--neeto-ui-rounded);display:flex;gap:4px;margin:4px 0;max-width:384px;overflow:hidden;padding:4px 8px;position:relative;transition:var(--neeto-ui-transition);white-space:nowrap}.neeto-filters-bar__block p:first-child{color:rgb(var(--neeto-ui-gray-700))}.neeto-filters-bar__block-close{background-image:linear-gradient(90deg,rgba(var(--neeto-ui-gray-200),.5) 0,rgba(var(--neeto-ui-gray-200),1) 25%);color:rgb(var(--neeto-ui-gray-800));opacity:0;padding:8px;position:absolute;right:0;top:0;transition:var(--neeto-ui-transition)}.neeto-filters-bar__block:active,.neeto-filters-bar__block:hover{background-color:rgb(var(--neeto-ui-gray-200));cursor:pointer}.neeto-filters-bar__block:active .neeto-filters-bar__block-close,.neeto-filters-bar__block:hover .neeto-filters-bar__block-close{border-radius:var(--neeto-ui-rounded);color:rgb(var(--neeto-ui-black));opacity:1}.neeto-filters-bar__block:focus{box-shadow:0 0 0 3px rgba(var(--neeto-ui-gray-800),15%);outline:none}.neeto-filters-bar--separator{align-self:stretch;border-left:1px solid rgb(var(--neeto-ui-gray-400));margin:12px 8px}.neeto-filters-pane-filter{overflow:visible;width:360px}.neeto-filters-pane-filter__body{align-items:stretch!important;gap:20px}.neeto-filters-pane-filter__body>*{flex-grow:0!important}.neeto-filters-pane-filter__body p{text-align:center}.neeto-filters-pane-filter__body .neeto-filters-pane-filter__item-wrapper{display:flex;flex:1;flex-direction:column;gap:8px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper{flex:1;margin-top:16px}.neeto-filters-pane-filter__body .accordion_item .neeto-filters-pane-filter__item-wrapper:first-of-type{margin-top:0}.neeto-filters-pane-filter__body .accordion_item:first-of-type .neeto-ui-accordion__item{padding-top:0}.neeto-filters-pane-filter__body .neeto-ui-accordion__wrapper--last-item{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:767px){.neeto-filters-pane-filter{width:100vw}}.neeto-filters-pane-backdrop{-webkit-backdrop-filter:blur(0)!important;backdrop-filter:blur(0)!important;background-color:rgba(var(--neeto-ui-gray-700),.2)}.neeto-filters-segment--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19iYXIuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9pbmRleC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3NlZ21lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBQ0EsY0NFRixDRENFLDBCQUtFLHFDQUFBLENBSEEsWUFBQSxDQUVBLE9BQUEsQ0FHQSxZQUFBLENBQ0EsZUFBQSxDQUVBLGVBQUEsQ0FUQSxlQUFBLENBRUEsaUJBQUEsQ0FHQSxxQ0FBQSxDQUdBLGtCQ0VKLENEQ0ksd0NBQ0UsbUNDQ04sQ0RFSSxnQ0FRRSxnSEFBQSxDQUZBLG1DQUFBLENBREEsU0FBQSxDQURBLFdBQUEsQ0FIQSxpQkFBQSxDQUVBLE9BQUEsQ0FEQSxLQUFBLENBS0EscUNDQ04sQ0RPSSxpRUFFRSw4Q0FBQSxDQUNBLGNDTk4sQ0RRTSxpSUFHRSxxQ0FBQSxDQURBLGdDQUFBLENBREEsU0NKUixDRFVJLGdDQUVFLHVEQUFBLENBREEsWUNQTixDRFlFLDhCQUdFLGtCQUFBLENBRkEsbURBQUEsQ0FDQSxlQ1RKLENDL0NBLDJCQUVFLGdCQUFBLENBREEsV0RtREYsQ0NoREUsaUNBQ0UsNkJBQUEsQ0FDQSxRRGtESixDQ2hESSxtQ0FDRSxxQkRrRE4sQ0MvQ0ksbUNBQ0UsaUJEaUROLENDOUNJLDBFQUNFLFlBQUEsQ0FHQSxNQUFBLENBRkEscUJBQUEsQ0FDQSxPRGlETixDQzVDTSwwRkFFRSxNQUFBLENBREEsZUQrQ1IsQ0M1Q1Esd0dBQ0UsWUQ4Q1YsQ0MxQ1EseUZBQ0UsYUQ0Q1YsQ0N4Q0kseUVBQ0Usc0REMENOLENFbkVJLG9DRGRKLDJCQTRDSSxXRHlDRixDQUNGLENDdENBLDZCQUNFLHlDQUFBLENBQUEsaUNBQUEsQ0FDQSxrRER5Q0YsQ0czRkEsK0JBQ0UsdURBQUEsQ0FDQSwrREg4RkYiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmlsdGVycy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tbmVldG8tdWktdHJhbnNpdGlvbik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTgwMCksIDE1JSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xuICAgIG1hcmdpbjogMTJweCA4cHg7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuIiwiLm5lZXRvLWZpbHRlcnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jayB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgbWFyZ2luOiA0cHggMDtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2sgcDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTgwMCkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1uZWV0by11aS10cmFuc2l0aW9uKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSwgMC41KSAwJSwgcmdiYSh2YXIoLS1uZWV0by11aS1ncmF5LTIwMCksIDEpIDI1JSk7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyLCAubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTIwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1iYXJfX2Jsb2NrOmhvdmVyIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2UsIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2s6YWN0aXZlIC5uZWV0by1maWx0ZXJzLWJhcl9fYmxvY2stY2xvc2Uge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWJsYWNrKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xufVxuLm5lZXRvLWZpbHRlcnMtYmFyX19ibG9jazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktODAwKSwgMTUlKTtcbn1cbi5uZWV0by1maWx0ZXJzLWJhci0tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgbWFyZ2luOiAxMnB4IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXIge1xuICB3aWR0aDogMzYwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2JvZHkge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICBnYXA6IDIwcHg7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSA+ICoge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9faXRlbS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlcl9fYm9keSAuYWNjb3JkaW9uX2l0ZW0gLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlcjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5hY2NvcmRpb25faXRlbTpmaXJzdC1vZi10eXBlIC5uZWV0by11aS1hY2NvcmRpb25fX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5uZWV0by1maWx0ZXJzLXBhbmUtZmlsdGVyX19ib2R5IC5uZWV0by11aS1hY2NvcmRpb25fX3dyYXBwZXItLWxhc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi5uZWV0by1maWx0ZXJzLXBhbmUtYmFja2Ryb3Age1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSwgMC4yKTtcbn1cblxuLm5lZXRvLWZpbHRlcnMtc2VnbWVudC0tYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS01MDApKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbn0iLCIubmVldG8tZmlsdGVycy1wYW5lLWZpbHRlciB7XG4gIHdpZHRoOiAzNjBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJl9fYm9keSB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICA+ICoge1xuICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX2l0ZW0ge1xuICAgICAgLm5lZXRvLWZpbHRlcnMtcGFuZS1maWx0ZXJfX2l0ZW0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAubmVldG8tdWktYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmVldG8tdWktYWNjb3JkaW9uX193cmFwcGVyLS1sYXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB2aWV3cG9ydChtb2IpIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuLm5lZXRvLWZpbHRlcnMtcGFuZS1iYWNrZHJvcCB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tbmVldG8tdWktZ3JheS03MDApLCAwLjIpO1xufVxuIiwiQG1peGluIHZpZXdwb3J0KCRtZWRpYSkge1xuICBAaWYgJG1lZGlhPT1kZXNrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWE9PXRhYi1taW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtZWRpYT09dGFiLW9ubHkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1lZGlhPT14cy1tb2Ige1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5uZWV0by1maWx0ZXJzLXNlZ21lbnQtLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktNTAwKSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYih2YXIoLS1uZWV0by11aS1wcmltYXJ5LTUwMCkpICFpbXBvcnRhbnQ7XG59XG4iXX0= */";
2843
2891
  n(css,{});
2844
2892
 
2845
2893
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -2948,6 +2996,15 @@ var Delete = function Delete(_ref) {
2948
2996
  });
2949
2997
  };
2950
2998
 
2999
+ var reorderList = function reorderList(list, startIndex, endIndex) {
3000
+ var result = Array.from(list);
3001
+ var _result$splice = result.splice(startIndex, 1),
3002
+ _result$splice2 = _slicedToArray(_result$splice, 1),
3003
+ removed = _result$splice2[0];
3004
+ result.splice(endIndex, 0, removed);
3005
+ return result;
3006
+ };
3007
+
2951
3008
  var useSegments = function useSegments(_ref) {
2952
3009
  var entity = _ref.entity,
2953
3010
  columns = _ref.columns,
@@ -2956,22 +3013,39 @@ var useSegments = function useSegments(_ref) {
2956
3013
  var _useTranslation = useTranslation(),
2957
3014
  t = _useTranslation.t;
2958
3015
  var history = useHistory$1();
3016
+ var _useState = useState([]),
3017
+ _useState2 = _slicedToArray(_useState, 2),
3018
+ segments = _useState2[0],
3019
+ setSegments = _useState2[1];
2959
3020
  var _useFetchSegments = useFetchSegments({
2960
3021
  entity: entity
2961
3022
  }),
2962
- _useFetchSegments$dat = _useFetchSegments.data,
2963
- segments = _useFetchSegments$dat === void 0 ? [] : _useFetchSegments$dat,
3023
+ fetchedSegments = _useFetchSegments.data,
2964
3024
  isLoading = _useFetchSegments.isLoading;
2965
3025
  var _useUpdateSegment = useUpdateSegment(),
2966
3026
  updateSegment = _useUpdateSegment.mutate,
2967
3027
  isUpdating = _useUpdateSegment.isLoading;
2968
- var _useState = useState({
3028
+ var _useState3 = useState({
2969
3029
  action: "",
2970
3030
  segment: undefined
2971
3031
  }),
2972
- _useState2 = _slicedToArray(_useState, 2),
2973
- confirmAction = _useState2[0],
2974
- setConfirmAction = _useState2[1];
3032
+ _useState4 = _slicedToArray(_useState3, 2),
3033
+ confirmAction = _useState4[0],
3034
+ setConfirmAction = _useState4[1];
3035
+ var handleSegmentsReorder = function handleSegmentsReorder(_ref2) {
3036
+ var source = _ref2.source,
3037
+ destination = _ref2.destination;
3038
+ if (!destination || source.index === destination.index) return;
3039
+ var reorderedSegments = reorderList(segments, source.index, destination.index);
3040
+ updateSegment({
3041
+ id: segments[source.index].id,
3042
+ payload: {
3043
+ position: destination.index + 1
3044
+ },
3045
+ showToastr: false
3046
+ });
3047
+ setSegments(reorderedSegments);
3048
+ };
2975
3049
  var clearAppliedFilters = function clearAppliedFilters() {
2976
3050
  var _filters$, _filters$2;
2977
3051
  var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : appliedFilters;
@@ -2986,10 +3060,10 @@ var useSegments = function useSegments(_ref) {
2986
3060
  })
2987
3061
  });
2988
3062
  };
2989
- var handleSelectSegment = function handleSelectSegment(_ref2) {
3063
+ var handleSelectSegment = function handleSelectSegment(_ref3) {
2990
3064
  var _filters$3;
2991
- var id = _ref2.id,
2992
- filters = _ref2.filters;
3065
+ var id = _ref3.id,
3066
+ filters = _ref3.filters;
2993
3067
  history.push({
2994
3068
  search: buildUrlFromSegment({
2995
3069
  columns: columns,
@@ -2998,6 +3072,9 @@ var useSegments = function useSegments(_ref) {
2998
3072
  })
2999
3073
  });
3000
3074
  };
3075
+ useEffect(function () {
3076
+ setSegments(fetchedSegments);
3077
+ }, [fetchedSegments]);
3001
3078
  if (isLoading) {
3002
3079
  return /*#__PURE__*/React.createElement(Spinner, null);
3003
3080
  }
@@ -3006,9 +3083,9 @@ var useSegments = function useSegments(_ref) {
3006
3083
  style: "body2"
3007
3084
  }, t("neetoFilters.segments.noSegmentsFound"));
3008
3085
  }
3009
- var handleUpdate = function handleUpdate(_ref3, _ref4) {
3010
- var name = _ref3.name;
3011
- var setFieldError = _ref4.setFieldError;
3086
+ var handleUpdate = function handleUpdate(_ref4, _ref5) {
3087
+ var name = _ref4.name;
3088
+ var setFieldError = _ref5.setFieldError;
3012
3089
  var filtersPayload = buildSegmentsPayload(filters, childrenKeys);
3013
3090
  updateSegment({
3014
3091
  id: confirmAction.segment.id,
@@ -3035,6 +3112,7 @@ var useSegments = function useSegments(_ref) {
3035
3112
  segments: segments,
3036
3113
  clearAppliedFilters: clearAppliedFilters,
3037
3114
  handleSelectSegment: handleSelectSegment,
3115
+ handleSegmentsReorder: handleSegmentsReorder,
3038
3116
  setConfirmAction: setConfirmAction,
3039
3117
  isUpdating: isUpdating,
3040
3118
  handleUpdate: handleUpdate,
@@ -3083,6 +3161,7 @@ var Segment = function Segment(_ref) {
3083
3161
  }];
3084
3162
  return /*#__PURE__*/React.createElement("div", {
3085
3163
  onClick: onClick,
3164
+ "data-cy": "neeto-filters-segment-block-".concat(hyphenate(label)),
3086
3165
  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", {
3087
3166
  "neeto-filters-segment--active": isActive
3088
3167
  })
@@ -3128,6 +3207,7 @@ var MenuBlocks = function MenuBlocks(_ref) {
3128
3207
  segments = _useSegments$segments === void 0 ? [] : _useSegments$segments,
3129
3208
  clearAppliedFilters = _useSegments.clearAppliedFilters,
3130
3209
  handleSelectSegment = _useSegments.handleSelectSegment,
3210
+ handleSegmentsReorder = _useSegments.handleSegmentsReorder,
3131
3211
  onClose = _useSegments.onClose,
3132
3212
  setConfirmAction = _useSegments.setConfirmAction,
3133
3213
  selectedSegment = _useSegments.selectedSegment,
@@ -3151,20 +3231,43 @@ var MenuBlocks = function MenuBlocks(_ref) {
3151
3231
  isActive: isEmpty(appliedFilters),
3152
3232
  label: defaultSegmentName,
3153
3233
  onClick: clearAppliedFilters
3154
- }), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment) {
3155
- return /*#__PURE__*/React.createElement(Segment, {
3156
- segments: segments,
3157
- setConfirmAction: setConfirmAction,
3158
- shouldShowDropdown: true,
3159
- id: segment.id,
3160
- isActive: segment.id === segmentId,
3161
- key: segment.id,
3162
- label: segment.name,
3163
- onClick: function onClick() {
3164
- return handleSelectSegment(segment);
3165
- }
3166
- });
3167
- }), /*#__PURE__*/React.createElement(SegmentForm, {
3234
+ }), /*#__PURE__*/React.createElement(DragDropContext, {
3235
+ onDragEnd: handleSegmentsReorder
3236
+ }, /*#__PURE__*/React.createElement(Droppable, {
3237
+ droppableId: "neeto-filters-segments-".concat(entity)
3238
+ }, function (_ref2) {
3239
+ var innerRef = _ref2.innerRef,
3240
+ droppableProps = _ref2.droppableProps,
3241
+ placeholder = _ref2.placeholder;
3242
+ return /*#__PURE__*/React.createElement("div", _extends({
3243
+ ref: innerRef
3244
+ }, droppableProps), segments.slice(0, showAll ? segments.length : ITEMS_MAX_COUNT).map(function (segment, index) {
3245
+ return /*#__PURE__*/React.createElement(Draggable, {
3246
+ index: index,
3247
+ draggableId: segment.id.toString(),
3248
+ isDragDisabled: isUpdating,
3249
+ key: segment.id.toString()
3250
+ }, function (_ref3) {
3251
+ var innerRef = _ref3.innerRef,
3252
+ draggableProps = _ref3.draggableProps,
3253
+ dragHandleProps = _ref3.dragHandleProps;
3254
+ return /*#__PURE__*/React.createElement("div", _extends({
3255
+ ref: innerRef
3256
+ }, draggableProps, dragHandleProps), /*#__PURE__*/React.createElement(Segment, {
3257
+ segments: segments,
3258
+ setConfirmAction: setConfirmAction,
3259
+ shouldShowDropdown: true,
3260
+ id: segment.id,
3261
+ isActive: segment.id === segmentId,
3262
+ key: segment.id,
3263
+ label: segment.name,
3264
+ onClick: function onClick() {
3265
+ return handleSelectSegment(segment);
3266
+ }
3267
+ }));
3268
+ });
3269
+ }), placeholder);
3270
+ })), /*#__PURE__*/React.createElement(SegmentForm, {
3168
3271
  childrenKeys: childrenKeys,
3169
3272
  columns: columns,
3170
3273
  customFilters: customFilters,