@bigbinary/neeto-filters-frontend 4.0.0 → 4.1.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.
Files changed (47) hide show
  1. package/dist/Bar.js +667 -0
  2. package/dist/Bar.js.map +1 -0
  3. package/dist/Filters.js +368 -0
  4. package/dist/Filters.js.map +1 -0
  5. package/dist/Segments.js +529 -0
  6. package/dist/Segments.js.map +1 -0
  7. package/dist/cjs/Bar.js +681 -0
  8. package/dist/cjs/Bar.js.map +1 -0
  9. package/dist/cjs/Filters.js +379 -0
  10. package/dist/cjs/Filters.js.map +1 -0
  11. package/dist/cjs/Segments.js +543 -0
  12. package/dist/cjs/Segments.js.map +1 -0
  13. package/dist/cjs/hooks.js +17 -0
  14. package/dist/cjs/hooks.js.map +1 -0
  15. package/dist/cjs/index.js +72 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/utils.js +24 -0
  18. package/dist/cjs/utils.js.map +1 -0
  19. package/dist/constants-8f6e851e.js +125 -0
  20. package/dist/constants-8f6e851e.js.map +1 -0
  21. package/dist/constants-fb0f688a.js +135 -0
  22. package/dist/constants-fb0f688a.js.map +1 -0
  23. package/dist/hooks.js +7 -0
  24. package/dist/hooks.js.map +1 -0
  25. package/dist/index-03114015.js +336 -0
  26. package/dist/index-03114015.js.map +1 -0
  27. package/dist/index-2d1d9838.js +971 -0
  28. package/dist/index-2d1d9838.js.map +1 -0
  29. package/dist/index-31aaf3e4.js +302 -0
  30. package/dist/index-31aaf3e4.js.map +1 -0
  31. package/dist/index-95fe069e.js +958 -0
  32. package/dist/index-95fe069e.js.map +1 -0
  33. package/dist/index.js +53 -3716
  34. package/dist/index.js.map +1 -1
  35. package/dist/useSegmentsApi-003055eb.js +96 -0
  36. package/dist/useSegmentsApi-003055eb.js.map +1 -0
  37. package/dist/useSegmentsApi-c514647d.js +86 -0
  38. package/dist/useSegmentsApi-c514647d.js.map +1 -0
  39. package/dist/utils-61b4223d.js +861 -0
  40. package/dist/utils-61b4223d.js.map +1 -0
  41. package/dist/utils-9ea34335.js +809 -0
  42. package/dist/utils-9ea34335.js.map +1 -0
  43. package/dist/utils.js +12 -0
  44. package/dist/utils.js.map +1 -0
  45. package/package.json +27 -13
  46. package/dist/index.cjs.js +0 -3786
  47. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bar.js","sources":["../../app/javascript/src/components/Bar/constants.js","../../app/javascript/src/constants/keyboardShortcuts.js","../../app/javascript/src/components/Bar/utils.js","../../app/javascript/src/components/Bar/Block.jsx","../../app/javascript/src/components/Bar/ChildBlock.jsx","../../app/javascript/src/components/Bar/FilterBar.jsx","../../app/javascript/src/components/Bar/hooks/useSegment.js","../../app/javascript/src/components/Bar/SegmentBar.jsx","../../app/javascript/src/components/Bar/index.jsx"],"sourcesContent":["export const DEFAULT_SEGMENTS_CACHE = { segments: [] };\n\nexport const SEGMENT_ACTIONS = { EDIT: \"edit\", CREATE: \"create\" };\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n closePane: {\n sequence: \"escape\",\n description: t(\"neetoFilters.shortcuts.closePane\"),\n },\n deleteBlock: {\n sequence: \"backspace\",\n description: t(\"neetoFilters.shortcuts.deleteBlock\"),\n },\n openFilterPane: {\n sequence: \"enter\",\n description: t(\"neetoFilters.shortcuts.openFilterPane\"),\n },\n};\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { findBy, humanize, removeBy } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { modify, project, prop, reject, sortBy } from \"ramda\";\n\nimport {\n SEARCH_TERM_KEY,\n SINGLE_DATE_OPTIONS,\n SINGLE_TIME_OPTIONS,\n} from \"common/constants\";\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\n\nimport { NUMBER_RULES, TEXT_RULES } from \"../Pane/Item/constants\";\nimport {\n getLabelFromBool,\n isBoolean,\n isCustomDateRange,\n isCustomTimeRange,\n isDate,\n isDigit,\n isMulti,\n isSingle,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../utils\";\n\nconst buildCustomDateValue = value => {\n const isBeforeOrAfter =\n Math.abs(dayjs(value[1]).diff(dayjs(value[0]), \"year\")) >= 90;\n if (isBeforeOrAfter) {\n const currentMoment = dayjs();\n const diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), \"year\"));\n const diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), \"year\"));\n\n return diffWithStart < diffWithEnd\n ? `after-${dateFormat.date(dayjs(value[0]).subtract(1, \"day\"))}`\n : `before-${dateFormat.date(dayjs(value[1]).add(1, \"day\"))}`;\n }\n\n return value.map(dateFormat.date).join(\" - \");\n};\n\nexport const buildFilterValue = filter => {\n const {\n defaultType = filter.type,\n value,\n rule,\n values: initialValues = [],\n } = filter;\n const values = initialValues.map(modify(\"value\", value => value.toString()));\n\n if (isDate(defaultType) && isCustomDateRange(value)) {\n return buildCustomDateValue(value);\n } else if (isTime(defaultType) && isCustomTimeRange(value)) {\n return value.map(dateFormat.time).join(\" - \");\n } else if (isDate(defaultType) || isTime(defaultType)) {\n return humanize(value);\n } else if (isMulti(defaultType) || isTreeSelect(defaultType)) {\n return value\n .map(value => findBy({ value }, values)?.label || value)\n .join(\", \");\n } else if (isSingleDate(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.date).join(\" - \")\n : dateFormat.date(value);\n } else if (isSingleTime(defaultType)) {\n return rule === \"between\"\n ? value.map(dateFormat.time).join(\" - \")\n : dateFormat.time(value);\n } else if (isBoolean(defaultType)) {\n return getLabelFromBool({ value, values });\n }\n\n return findBy({ value }, values)?.label || value;\n};\n\nexport const buildRuleValue = ({ rule, defaultType }) => {\n if (isText(defaultType)) {\n return findBy({ value: rule }, TEXT_RULES).label;\n } else if (isDigit(defaultType)) {\n return findBy({ value: rule }, NUMBER_RULES).label;\n } else if (isSingleDate(defaultType)) {\n return findBy({ value: rule }, SINGLE_DATE_OPTIONS).label;\n } else if (isSingleTime(defaultType)) {\n return findBy({ value: rule }, SINGLE_TIME_OPTIONS).label;\n } else if (\n isMulti(defaultType) ||\n isSingle(defaultType) ||\n isTreeSelect(defaultType)\n ) {\n return isRuleEmpty(rule) ? t(\"neetoFilters.rules.isEmpty\") : \"\";\n }\n\n return \"\";\n};\n\nexport const hasOnlyKeywordFilter = filters =>\n filters.length === 1 && filters[0].key === SEARCH_TERM_KEY;\n\nexport const deepCompare = (segments, filters) => {\n const comparisonHelper = filters =>\n sortBy(\n prop(\"key\"),\n removeBy(\n { key: SEARCH_TERM_KEY },\n project([\"key\", \"rule\", \"value\", \"label\"], filters)\n )\n );\n\n return reject(filters => {\n const segment = findBy({ key: filters.key }, segments);\n\n return segment && segment.value === filters.value;\n }, comparisonHelper(filters));\n};\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport { isRuleEmpty } from \"components/Pane/Item/utils\";\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nimport { buildFilterValue, buildRuleValue } from \"./utils\";\n\nconst Block = ({ filter, handleDelete, setIsPaneOpen }) => {\n const { key, defaultType = filter.type, label, rule, defaultValue } = filter;\n const filterValue = buildFilterValue(filter);\n const ruleContent = buildRuleValue({ rule, defaultType });\n const blockLength = label.length + ruleContent.length + filterValue.length;\n const toolTipDisabled = blockLength <= 50;\n const blockContent = !toolTipDisabled\n ? `${filterValue.slice(0, 50 - blockLength)}...`\n : filterValue;\n\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(key),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(key),\n { mode: \"scoped\" }\n );\n\n return (\n <Tooltip\n content={filterValue}\n disabled={toolTipDisabled}\n position=\"bottom\"\n theme=\"light\"\n >\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(key)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(key)}\n >\n <Typography style=\"body2\">{label}:</Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {ruleContent}\n </Typography>\n {!isRuleEmpty(rule) && (\n <Typography style=\"body2\">{blockContent}</Typography>\n )}\n {!defaultValue && (\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(key)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(key);\n }}\n />\n </div>\n )}\n </div>\n </Tooltip>\n );\n};\n\nexport default Block;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { SHORTCUTS } from \"src/constants/keyboardShortcuts\";\n\nconst ChildBlock = ({ childKey, setIsPaneOpen, handleDelete }) => {\n const deleteBlockHotKeyRef = useHotkeys(\n SHORTCUTS.deleteBlock.sequence,\n () => handleDelete(childKey),\n { mode: \"scoped\" }\n );\n\n const openFilterPaneHotKeyRef = useHotkeys(\n SHORTCUTS.openFilterPane.sequence,\n () => setIsPaneOpen(childKey),\n { mode: \"scoped\" }\n );\n\n return (\n <div\n className=\"neeto-filters-bar__block\"\n data-cy={`neeto-filters-${hyphenate(childKey)}-block`}\n tabIndex={0}\n ref={node => {\n deleteBlockHotKeyRef.current = node;\n openFilterPaneHotKeyRef.current = node;\n }}\n onClick={() => setIsPaneOpen(childKey)}\n >\n <Typography style=\"body2\" weight=\"medium\">\n {childKey}\n </Typography>\n <div className=\"neeto-filters-bar__block-close\">\n <Close\n data-cy={`neeto-filters-${hyphenate(childKey)}-block-close-btn`}\n size={16}\n strokeWidth={2}\n onClick={event => {\n event.stopPropagation();\n handleDelete(childKey);\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default ChildBlock;\n","import React from \"react\";\n\nimport { isPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { has, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport Block from \"./Block\";\nimport ChildBlock from \"./ChildBlock\";\nimport { SEGMENT_ACTIONS } from \"./constants\";\nimport { hasOnlyKeywordFilter } from \"./utils\";\n\nimport { getSnakeCasedQueryParams, isKeywordFilterPresent } from \"../utils\";\n\nconst FilterBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n childrenKeys,\n nonHiddenFilters,\n childrenFiltersApplied,\n keywordFilter,\n handleApplyFilters,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const searchParams = useQueryParams({ toCamelCase: false });\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleApplyFilters([], true);\n };\n\n const hideClearButton =\n nonHiddenFilters.every(\n ({ defaultValue, isClearable }) => defaultValue && !isClearable\n ) && !childrenFiltersApplied;\n\n return (\n <>\n {nonHiddenFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n {childrenKeys\n .filter(childKey => has(childKey, searchParams))\n .map(childKey => (\n <React.Fragment key={childKey}>\n <ChildBlock {...{ childKey, handleDelete, setIsPaneOpen }} />\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n <div className=\"flex items-center gap-x-2\">\n {isPresent(entity) && !hasOnlyKeywordFilter(filters) && (\n <Button\n data-cy=\"save-segment-button\"\n label={t(\"neetoFilters.segments.saveAsNewSegment\")}\n style=\"secondary\"\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n />\n )}\n {!hideClearButton && (\n <Button\n data-cy=\"neeto-filters-bar-clear-btn\"\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default FilterBar;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isNotEmpty, noop, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { has } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n buildFiltersFromSearchParams,\n buildSegmentsPayload,\n buildUrlFromFilters,\n buildUrlFromSegment,\n getSearchTermFromUrl,\n isKeywordFilterPresent,\n} from \"components/utils\";\nimport {\n useCreateSegment,\n useUpdateSegment,\n} from \"hooks/reactQuery/useSegmentsApi\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport { SEGMENT_ACTIONS } from \"../constants\";\n\nconst useSegment = ({ entity, keyword, columns, childrenKeys }) => {\n const history = useHistory();\n const { t } = useTranslation();\n const initialRenderRef = useRef(true);\n const { segmentId } = useQueryParams();\n\n const [isSavePaneOpen, setIsSavePaneOpen] = useState({ action: undefined });\n\n const { mutate: createSegment, isPending: isCreating } = useCreateSegment();\n const { mutate: updateSegment, isPending: isUpdating } = useUpdateSegment();\n const isSubmitting = isCreating || isUpdating;\n\n const searchParams = useQueryParams({ toCamelCase: false });\n const keywordValue = searchParams[SEARCH_TERM_KEY] || \"\";\n const isEdit = isSavePaneOpen.action === SEGMENT_ACTIONS.EDIT;\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: keywordValue,\n };\n\n const filters = buildFiltersFromSearchParams(\n isKeywordFilterPresent(keywordFilter) && isNotEmpty(keywordValue)\n ? [keywordFilter, ...columns]\n : columns\n );\n\n const nonHiddenFilters = removeBy({ hidden: true }, filters);\n\n const handleApplyFilters = (newFilters, isClearAll) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const childrenFiltersApplied = childrenKeys.some(key =>\n has(key, searchParams)\n );\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n\n return noop;\n }\n\n const handler = setTimeout(() => {\n handleApplyFilters(filters);\n }, 500);\n\n return () => clearTimeout(handler);\n }, [keywordValue]);\n\n const handleCreateSuccess = ({ segment: { id, filters } }) => {\n history.push({\n search: buildUrlFromSegment({\n columns,\n filters: filters[0]?.conditions,\n id,\n }),\n });\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n };\n\n const handleCreate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n createSegment(\n { name, entity, filters: filtersPayload },\n {\n onSuccess: handleCreateSuccess,\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n const handleUpdate = ({ name }, { setFieldError }) => {\n const filtersPayload = buildSegmentsPayload(filters, childrenKeys);\n updateSegment(\n { id: segmentId, payload: { name, filters: filtersPayload } },\n {\n onSuccess: () => {\n setIsSavePaneOpen({ action: undefined });\n showThumbsUpToastr();\n },\n onError: error => setFieldError(\"name\", error.response.data.error),\n }\n );\n };\n\n return {\n isEdit,\n filters,\n keywordFilter,\n isSubmitting,\n nonHiddenFilters,\n isSavePaneOpen,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n handleSubmit: isEdit ? handleUpdate : handleCreate,\n };\n};\n\nexport default useSegment;\n","import React from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { findById, isNotEmpty, isNotPresent, removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getSnakeCasedQueryParams } from \"components/utils\";\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_SEGMENTS_CACHE, SEGMENT_ACTIONS } from \"./constants\";\nimport { deepCompare } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst SegmentBar = ({\n entity,\n filters,\n setIsSavePaneOpen,\n setIsPaneOpen,\n handleApplyFilters,\n childrenKeys,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const { segmentId } = useQueryParams();\n const queryClient = useQueryClient();\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isNotPresent(segment)) return null;\n\n const handleDelete = key => {\n if (key === SEARCH_TERM_KEY) {\n const params = omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n\n return;\n }\n\n if (childrenKeys.includes(key)) {\n const params = omit([key], getSnakeCasedQueryParams());\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n }\n\n const newFilters = removeBy({ key }, filters);\n handleApplyFilters(newFilters);\n };\n\n const changedFilters = deepCompare(segment.filters[0].conditions, filters);\n\n return (\n <>\n <Typography\n className=\"neeto-ui-text-gray-600 mr-4 px-2\"\n data-cy=\"neeto-filters-segment-name\"\n style=\"h4\"\n >\n {segment.name}\n </Typography>\n {isNotEmpty(changedFilters) && (\n <>\n <Dropdown\n buttonProps={{ className: \"mr-2\" }}\n buttonStyle=\"secondary\"\n label={t(\"neetoFilters.segments.updateSegment\")}\n >\n <Menu>\n <MenuItem.Button\n onClick={() =>\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.EDIT })\n }\n >\n {t(\"neetoFilters.segments.updateSegment\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => {\n setIsPaneOpen(false);\n setIsSavePaneOpen({ action: SEGMENT_ACTIONS.CREATE });\n }}\n >\n {t(\"neetoFilters.segments.saveAsNewSegment\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n {changedFilters.map(filter => (\n <React.Fragment key={filter.key}>\n <Block {...{ filter, handleDelete, setIsPaneOpen }} />\n {filter.suffixComponent?.()}\n <div className=\"neeto-filters-bar--separator\" />\n </React.Fragment>\n ))}\n </>\n )}\n </>\n );\n};\n\nexport default SegmentBar;\n","import React, { useRef } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { findById, isPresent, noop } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { assoc, identity, isEmpty } from \"ramda\";\n\nimport SegmentForm from \"src/common/SegmentForm\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { DEFAULT_SEGMENTS_CACHE } from \"./constants\";\nimport FilterBar from \"./FilterBar\";\nimport useSegment from \"./hooks/useSegment\";\nimport SegmentBar from \"./SegmentBar\";\n\nconst Bar = ({\n entity,\n className,\n columns = [],\n keyword = { node: \"\", value: \"\", setValue: noop },\n setIsPaneOpen = identity,\n childrenKeys = [],\n // eslint-disable-next-line @bigbinary/neeto/use-translation-hook-in-components\n defaultSegmentName = t(\"neetoFilters.common.allResults\"),\n customFilters,\n}) => {\n const queryClient = useQueryClient();\n const { segmentId } = useQueryParams();\n const segmentFormInitialRef = useRef(null);\n const {\n isEdit,\n filters,\n handleSubmit,\n isSubmitting,\n keywordFilter,\n isSavePaneOpen,\n nonHiddenFilters,\n setIsSavePaneOpen,\n handleApplyFilters,\n childrenFiltersApplied,\n } = useSegment({ entity, keyword, columns, childrenKeys });\n\n const BarComponent = segmentId ? SegmentBar : FilterBar;\n\n const cachedSegments =\n queryClient.getQueryData([QUERY_KEYS.SEGMENTS_LIST, entity, \"\"]) ||\n DEFAULT_SEGMENTS_CACHE;\n const segment = findById(segmentId, cachedSegments.segments);\n\n if (isEmpty(nonHiddenFilters) && !childrenFiltersApplied) return null;\n\n return (\n <>\n <div\n className={classnames(\"neeto-filters-bar\", { [className]: className })}\n >\n <BarComponent\n {...{\n childrenFiltersApplied,\n childrenKeys,\n entity,\n filters,\n handleApplyFilters,\n keywordFilter,\n nonHiddenFilters,\n setIsPaneOpen,\n setIsSavePaneOpen,\n }}\n />\n </div>\n <SegmentForm\n {...{\n childrenKeys,\n columns,\n customFilters,\n defaultSegmentName,\n filters,\n handleSubmit,\n isEdit,\n isSubmitting,\n keywordFilter,\n segmentFormInitialRef,\n }}\n isOpen={isPresent(isSavePaneOpen.action)}\n initialValues={\n isEdit\n ? assoc(\"filters\", [{ conditions: filters }], segment)\n : { name: \"\", filters: [{ conditions: filters }] }\n }\n onClose={() => setIsSavePaneOpen({ action: undefined })}\n />\n </>\n );\n};\n\nexport default Bar;\n"],"names":["DEFAULT_SEGMENTS_CACHE","segments","SEGMENT_ACTIONS","EDIT","CREATE","SHORTCUTS","closePane","sequence","description","t","deleteBlock","openFilterPane","buildCustomDateValue","value","isBeforeOrAfter","Math","abs","dayjs","diff","currentMoment","diffWithStart","diffWithEnd","concat","dateFormat","date","subtract","add","map","join","buildFilterValue","filter","_findBy2","_filter$defaultType","defaultType","type","rule","_filter$values","values","initialValues","modify","toString","isDate","isCustomDateRange","isTime","isCustomTimeRange","time","humanize","isMulti","isTreeSelect","_findBy","findBy","label","isSingleDate","isSingleTime","isBoolean","getLabelFromBool","buildRuleValue","_ref","isText","TEXT_RULES","isDigit","NUMBER_RULES","SINGLE_DATE_OPTIONS","SINGLE_TIME_OPTIONS","isSingle","isRuleEmpty","hasOnlyKeywordFilter","filters","length","key","SEARCH_TERM_KEY","deepCompare","comparisonHelper","sortBy","prop","removeBy","project","reject","segment","Block","handleDelete","setIsPaneOpen","defaultValue","filterValue","ruleContent","blockLength","toolTipDisabled","blockContent","slice","deleteBlockHotKeyRef","useHotkeys","mode","openFilterPaneHotKeyRef","_jsx","Tooltip","content","disabled","position","theme","children","_jsxs","className","hyphenate","tabIndex","ref","node","current","onClick","Typography","style","Close","size","strokeWidth","event","stopPropagation","ChildBlock","childKey","weight","FilterBar","entity","setIsSavePaneOpen","childrenKeys","nonHiddenFilters","childrenFiltersApplied","keywordFilter","handleApplyFilters","_useTranslation","useTranslation","history","useHistory","searchParams","useQueryParams","toCamelCase","params","omit","getSnakeCasedQueryParams","pathname","window","location","push","buildUrl","includes","newFilters","handleClearAll","isKeywordFilterPresent","hideClearButton","every","_ref2","isClearable","_Fragment","_filter$suffixCompone","React","Fragment","suffixComponent","call","has","isPresent","Button","action","useSegment","keyword","columns","initialRenderRef","useRef","_useQueryParams","segmentId","_useState","useState","undefined","_useState2","_slicedToArray","isSavePaneOpen","_useCreateSegment","useCreateSegment","createSegment","mutate","isCreating","isPending","_useUpdateSegment","useUpdateSegment","updateSegment","isUpdating","isSubmitting","keywordValue","isEdit","_objectSpread","buildFiltersFromSearchParams","isNotEmpty","_toConsumableArray","hidden","isClearAll","buildUrlFromFilters","getSearchTermFromUrl","search","some","useEffect","noop","handler","setTimeout","clearTimeout","handleCreateSuccess","_filters$","_ref2$segment","id","buildUrlFromSegment","conditions","showThumbsUpToastr","handleCreate","_ref3","_ref4","name","setFieldError","filtersPayload","buildSegmentsPayload","onSuccess","onError","error","response","data","handleUpdate","_ref5","_ref6","payload","handleSubmit","Menu","Dropdown","MenuItem","SegmentBar","queryClient","useQueryClient","cachedSegments","getQueryData","QUERY_KEYS","SEGMENTS_LIST","findById","isNotPresent","changedFilters","buttonProps","buttonStyle","Bar","_ref$columns","_ref$keyword","setValue","_ref$setIsPaneOpen","identity","_ref$childrenKeys","_ref$defaultSegmentNa","defaultSegmentName","customFilters","segmentFormInitialRef","_useSegment","BarComponent","isEmpty","classnames","_defineProperty","SegmentForm","isOpen","assoc","onClose"],"mappings":"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"}
@@ -0,0 +1,379 @@
1
+ 'use strict';
2
+
3
+ var constants = require('../constants-fb0f688a.js');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var neetoCist = require('@bigbinary/neeto-cist');
7
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
8
+ var Button = require('@bigbinary/neetoui/Button');
9
+ var ramda = require('ramda');
10
+ var utils = require('../utils-61b4223d.js');
11
+ var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
12
+ var Search = require('@bigbinary/neeto-molecules/Search');
13
+ var Accordion = require('@bigbinary/neetoui/Accordion');
14
+ var Typography = require('@bigbinary/neetoui/Typography');
15
+ var NeetoUIPane = require('@bigbinary/neetoui/Pane');
16
+ var reactI18next = require('react-i18next');
17
+ var reactRouterDom = require('react-router-dom');
18
+ var index = require('../index-2d1d9838.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+ require('i18next');
21
+ require('dayjs');
22
+ require('dayjs/plugin/timezone');
23
+ require('dayjs/plugin/utc');
24
+ require('dayjs/plugin/weekday');
25
+ require('@bigbinary/neeto-icons/Help');
26
+ require('@bigbinary/neetoui/Select');
27
+ require('@bigbinary/neetoui/DatePicker');
28
+ require('@bigbinary/neetoui/TimePicker');
29
+ require('@bigbinary/neetoui/Input');
30
+ require('@bigbinary/neetoui/TreeSelect');
31
+
32
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
+
34
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
35
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
36
+ var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
37
+ var Accordion__default = /*#__PURE__*/_interopDefaultLegacy(Accordion);
38
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
39
+ var NeetoUIPane__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIPane);
40
+
41
+ function _objectWithoutPropertiesLoose(source, excluded) {
42
+ if (source == null) return {};
43
+ var target = {};
44
+ var sourceKeys = Object.keys(source);
45
+ var key, i;
46
+ for (i = 0; i < sourceKeys.length; i++) {
47
+ key = sourceKeys[i];
48
+ if (excluded.indexOf(key) >= 0) continue;
49
+ target[key] = source[key];
50
+ }
51
+ return target;
52
+ }
53
+
54
+ function _objectWithoutProperties(source, excluded) {
55
+ if (source == null) return {};
56
+ var target = _objectWithoutPropertiesLoose(source, excluded);
57
+ var key, i;
58
+ if (Object.getOwnPropertySymbols) {
59
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
60
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
61
+ key = sourceSymbolKeys[i];
62
+ if (excluded.indexOf(key) >= 0) continue;
63
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
64
+ target[key] = source[key];
65
+ }
66
+ }
67
+ return target;
68
+ }
69
+
70
+ var useFilters = function useFilters(_ref) {
71
+ var onFiltersChange = _ref.onFiltersChange,
72
+ columns = _ref.columns,
73
+ keywordFilter = _ref.keywordFilter,
74
+ onSelectorsChange = _ref.onSelectorsChange;
75
+ var _useTransition = React.useTransition(),
76
+ _useTransition2 = utils._slicedToArray(_useTransition, 2);
77
+ _useTransition2[0];
78
+ var startTransition = _useTransition2[1];
79
+ var initialRender = React.useRef(true);
80
+ var prevFilters = React.useRef([]);
81
+ var location = reactRouterDom.useLocation();
82
+ var filters = utils.buildFiltersFromSearchParams(columns, false);
83
+ var history = reactRouterDom.useHistory();
84
+ var defaultValuesOfColumns = JSON.stringify(ramda.pluck("defaultValue", columns));
85
+ var handlePrecenseOfDefaultFilters = function handlePrecenseOfDefaultFilters(defaultFilters) {
86
+ var params = utils.buildUrlFromFilters({
87
+ columns: columns,
88
+ filters: utils.isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(utils.getSearchTermFromUrl()) ? [].concat(utils._toConsumableArray(defaultFilters), [keywordFilter]) : defaultFilters
89
+ });
90
+ history.replace({
91
+ search: params
92
+ });
93
+ };
94
+ var handleFiltersChange = function handleFiltersChange(filtersPayload) {
95
+ startTransition(function () {
96
+ onFiltersChange(utils.buildFiltersPayload(filtersPayload.filter(function (filter) {
97
+ return !ramda.isNil(filter.node);
98
+ })));
99
+ });
100
+ };
101
+
102
+ //This function sends the updated filters to host via callbacks.
103
+ var sendUpdatedFilters = function sendUpdatedFilters() {
104
+ if (utils.compareFilters(ramda.append(keywordFilter, filters), prevFilters.current)) {
105
+ return;
106
+ }
107
+ var newFilters = utils.buildFiltersFromSearchParams(columns);
108
+ var filtersPayload = utils.isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(utils.getSearchTermFromUrl()) ? ramda.append(keywordFilter, newFilters) : newFilters;
109
+ handleFiltersChange(filtersPayload);
110
+ onSelectorsChange(utils.buildSelectorsFromURL(columns));
111
+ };
112
+ var handleChangesInURL = function handleChangesInURL() {
113
+ var defaultFilters = utils.buildDefaultFilters(columns, filters);
114
+ var searchParams = utils.getSnakeCasedQueryParams();
115
+ var keys = ramda.pluck("key", ramda.append(keywordFilter, columns));
116
+ if (keys.every(function (key) {
117
+ return ramda.isNil(searchParams[key]);
118
+ }) && !ramda.isEmpty(defaultFilters)) {
119
+ history.replace({
120
+ search: utils.buildUrlFromFilters({
121
+ columns: columns,
122
+ filters: ramda.concat(defaultFilters, filters)
123
+ })
124
+ });
125
+ filters = utils.buildFiltersFromSearchParams(columns, false);
126
+ }
127
+ };
128
+ React.useEffect(function () {
129
+ if (initialRender.current) {
130
+ initialRender.current = false;
131
+ var keywordValue = utils.getSearchTermFromUrl();
132
+ var defaultFilters = utils.buildDefaultFilters(columns, filters);
133
+ neetoCist.isNotEmpty(defaultFilters) && handlePrecenseOfDefaultFilters(defaultFilters);
134
+ prevFilters.current = ramda.append(ramda.mergeRight(keywordFilter, {
135
+ value: keywordValue
136
+ }), filters);
137
+ } else {
138
+ handleChangesInURL();
139
+ sendUpdatedFilters();
140
+ prevFilters.current = ramda.append(keywordFilter, filters);
141
+ }
142
+ }, [location.search, defaultValuesOfColumns]);
143
+ return filters;
144
+ };
145
+
146
+ var _excluded = ["isOpen", "onClose", "columns", "onChange", "isSearchable", "keyword", "onSelectorsChange", "childrenKeys", "children", "className"];
147
+ function ownKeys$1(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; }
148
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { constants._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
149
+ var Pane = function Pane(_ref) {
150
+ var isOpen = _ref.isOpen,
151
+ onClose = _ref.onClose,
152
+ columns = _ref.columns,
153
+ onChange = _ref.onChange,
154
+ isSearchable = _ref.isSearchable,
155
+ keyword = _ref.keyword,
156
+ onSelectorsChange = _ref.onSelectorsChange,
157
+ _ref$childrenKeys = _ref.childrenKeys,
158
+ childrenKeys = _ref$childrenKeys === void 0 ? [] : _ref$childrenKeys,
159
+ children = _ref.children,
160
+ className = _ref.className,
161
+ otherProps = _objectWithoutProperties(_ref, _excluded);
162
+ var searchParams = reactUtils.useQueryParams({
163
+ toCamelCase: false
164
+ });
165
+ var _useState = React.useState(""),
166
+ _useState2 = utils._slicedToArray(_useState, 2),
167
+ searchTerm = _useState2[0],
168
+ setSearchTerm = _useState2[1];
169
+ var history = reactRouterDom.useHistory();
170
+ var _useTranslation = reactI18next.useTranslation(),
171
+ t = _useTranslation.t;
172
+ columns = React.useMemo(function () {
173
+ return utils.getColumnsWithStandardizedType(columns);
174
+ }, [columns]);
175
+ var _buildFilteredColumns = utils.buildFilteredColumns({
176
+ searchTerm: searchTerm,
177
+ columns: columns
178
+ }),
179
+ _buildFilteredColumns2 = _buildFilteredColumns.groupedColumns,
180
+ groupedColumns = _buildFilteredColumns2 === void 0 ? [] : _buildFilteredColumns2,
181
+ _buildFilteredColumns3 = _buildFilteredColumns.ungroupedColumns,
182
+ ungroupedColumns = _buildFilteredColumns3 === void 0 ? [] : _buildFilteredColumns3;
183
+ var keywordFilter = _objectSpread$1(_objectSpread$1({
184
+ type: "text",
185
+ rule: "contains",
186
+ label: t("neetoFilters.common.searchTerm")
187
+ }, keyword), {}, {
188
+ key: constants.SEARCH_TERM_KEY,
189
+ value: searchParams[constants.SEARCH_TERM_KEY] || ""
190
+ });
191
+ var filters = useFilters({
192
+ onFiltersChange: onChange,
193
+ columns: columns,
194
+ keywordFilter: keywordFilter,
195
+ onSelectorsChange: onSelectorsChange
196
+ });
197
+ var handleChange = function handleChange(newFilters) {
198
+ var isClearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
199
+ var params = utils.buildUrlFromFilters(_objectSpread$1({
200
+ columns: columns,
201
+ filters: utils.isKeywordFilterPresent(keywordFilter) && neetoCist.isNotEmpty(utils.getSearchTermFromUrl()) ? [].concat(utils._toConsumableArray(newFilters), [keywordFilter]) : newFilters
202
+ }, isClearAll && {
203
+ isClearAll: true,
204
+ childrenKeys: childrenKeys
205
+ }));
206
+ history.push({
207
+ search: params
208
+ });
209
+ };
210
+ var handleClearAll = function handleClearAll() {
211
+ var params = utils.isKeywordFilterPresent(keywordFilter) ? ramda.omit([constants.SEARCH_TERM_KEY], utils.getSnakeCasedQueryParams()) : utils.getSnakeCasedQueryParams();
212
+ var pathname = window.location.pathname;
213
+ history.push(utils$1.buildUrl(pathname, params));
214
+ handleChange([], true);
215
+ };
216
+ var handleClearTermAndClose = function handleClearTermAndClose() {
217
+ setSearchTerm("");
218
+ onClose();
219
+ };
220
+ var handleClose = function handleClose() {
221
+ columns.forEach(function (_ref2) {
222
+ var key = _ref2.key;
223
+ var filter = neetoCist.findBy({
224
+ key: key
225
+ }, filters);
226
+ if ((filter === null || filter === void 0 ? void 0 : filter.value) === "") delete searchParams[key];
227
+ });
228
+ handleClearTermAndClose();
229
+ };
230
+ var isClearFiltersDisabled = !filters.some(function (_ref3) {
231
+ var value = _ref3.value,
232
+ defaultValue = _ref3.defaultValue;
233
+ return neetoCist.isPresent(value) && value !== defaultValue;
234
+ }) && !childrenKeys.some(function (key) {
235
+ return searchParams[key];
236
+ });
237
+ return /*#__PURE__*/jsxRuntime.jsxs(NeetoUIPane__default["default"], _objectSpread$1(_objectSpread$1({
238
+ isOpen: isOpen,
239
+ backdropClassName: "neeto-filters-pane-backdrop",
240
+ className: classnames__default["default"]("neeto-filters-pane-filter", constants._defineProperty({}, className, className)),
241
+ onClose: handleClose
242
+ }, otherProps), {}, {
243
+ children: [/*#__PURE__*/jsxRuntime.jsx(NeetoUIPane__default["default"].Header, {
244
+ "data-cy": "neeto-filters-pane-header",
245
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
246
+ style: "h2",
247
+ weight: "semibold",
248
+ children: t("neetoFilters.common.filters")
249
+ })
250
+ }), /*#__PURE__*/jsxRuntime.jsxs(NeetoUIPane__default["default"].Body, {
251
+ className: "neeto-filters-pane-filter__body neeto-ui-pt-2",
252
+ children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(Search__default["default"], {
253
+ "data-cy": "neeto-filters-column-search",
254
+ placeholder: t("neetoFilters.messages.searchResources", {
255
+ resources: t("neetoFilters.common.filters")
256
+ }),
257
+ onSearch: function onSearch(value) {
258
+ return setSearchTerm(value);
259
+ }
260
+ }), ungroupedColumns.map(function (column) {
261
+ return /*#__PURE__*/React.createElement(index.Item, {
262
+ column: column,
263
+ filters: filters,
264
+ autoFocus: column.key === isOpen,
265
+ key: column.key,
266
+ onChange: handleChange,
267
+ onClose: handleClearTermAndClose
268
+ });
269
+ }), neetoCist.isPresent(groupedColumns) && /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"], {
270
+ defaultActiveKey: groupedColumns.findIndex(function (_ref4) {
271
+ var columns = _ref4.columns;
272
+ return neetoCist.existsBy({
273
+ key: isOpen
274
+ }, columns);
275
+ }),
276
+ children: groupedColumns.map(function (_ref5) {
277
+ var group = _ref5.group,
278
+ columns = _ref5.columns;
279
+ return /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"].Item, {
280
+ className: "accordion_item",
281
+ title: group,
282
+ children: columns.map(function (column) {
283
+ return /*#__PURE__*/React.createElement(index.Item, {
284
+ column: column,
285
+ filters: filters,
286
+ autoFocus: column.key === isOpen,
287
+ key: column.key,
288
+ onChange: handleChange,
289
+ onClose: handleClearTermAndClose
290
+ });
291
+ })
292
+ }, group);
293
+ })
294
+ }), ramda.isEmpty(ungroupedColumns) && ramda.isEmpty(groupedColumns) && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
295
+ style: "body2",
296
+ children: t("neetoFilters.messages.noResourcesFound", {
297
+ resources: t("neetoFilters.common.columns")
298
+ })
299
+ }), children]
300
+ }), /*#__PURE__*/jsxRuntime.jsxs(NeetoUIPane__default["default"].Footer, {
301
+ className: "gap-x-2",
302
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
303
+ "data-cy": "neeto-filters-done-btn",
304
+ label: t("neetoFilters.common.done"),
305
+ onClick: handleClearTermAndClose
306
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
307
+ "data-cy": "neeto-filters-clear-btn",
308
+ disabled: isClearFiltersDisabled,
309
+ label: t("neetoFilters.common.clearFilters"),
310
+ style: "text",
311
+ onClick: handleClearAll
312
+ })]
313
+ })]
314
+ }));
315
+ };
316
+
317
+ 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}}
318
+
319
+ 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= */";
320
+ n(css,{});
321
+
322
+ 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; }
323
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { constants._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
324
+ var Filters = reactUtils.withT(function (_ref) {
325
+ var t = _ref.t,
326
+ _ref$isOpen = _ref.isOpen,
327
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
328
+ _ref$setIsOpen = _ref.setIsOpen,
329
+ setIsOpen = _ref$setIsOpen === void 0 ? ramda.identity : _ref$setIsOpen,
330
+ _ref$columns = _ref.columns,
331
+ columns = _ref$columns === void 0 ? [] : _ref$columns,
332
+ _ref$onChange = _ref.onChange,
333
+ onChange = _ref$onChange === void 0 ? ramda.identity : _ref$onChange,
334
+ _ref$buttonProps = _ref.buttonProps,
335
+ buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
336
+ _ref$paneProps = _ref.paneProps,
337
+ paneProps = _ref$paneProps === void 0 ? {} : _ref$paneProps,
338
+ _ref$isSearchable = _ref.isSearchable,
339
+ isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
340
+ className = _ref.className,
341
+ _ref$onSelectorsChang = _ref.onSelectorsChange,
342
+ onSelectorsChange = _ref$onSelectorsChang === void 0 ? neetoCist.noop : _ref$onSelectorsChang,
343
+ _ref$keyword = _ref.keyword,
344
+ keyword = _ref$keyword === void 0 ? {
345
+ node: "",
346
+ value: "",
347
+ setValue: neetoCist.noop
348
+ } : _ref$keyword,
349
+ childrenKeys = _ref.childrenKeys,
350
+ children = _ref.children;
351
+ return /*#__PURE__*/jsxRuntime.jsxs("span", {
352
+ className: classnames__default["default"](constants._defineProperty({}, className, className)),
353
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], _objectSpread({
354
+ "data-cy": "neeto-filters-toggle-btn",
355
+ label: t("neetoFilters.common.filter"),
356
+ style: "secondary",
357
+ onClick: function onClick() {
358
+ return setIsOpen(true);
359
+ }
360
+ }, buttonProps)), /*#__PURE__*/jsxRuntime.jsx(Pane, _objectSpread(_objectSpread({
361
+ onClose: function onClose() {
362
+ return setIsOpen(false);
363
+ }
364
+ }, _objectSpread({
365
+ childrenKeys: childrenKeys,
366
+ columns: columns,
367
+ isOpen: isOpen,
368
+ isSearchable: isSearchable,
369
+ keyword: keyword,
370
+ onChange: onChange,
371
+ onSelectorsChange: onSelectorsChange
372
+ }, paneProps)), {}, {
373
+ children: children
374
+ }))]
375
+ });
376
+ });
377
+
378
+ module.exports = Filters;
379
+ //# sourceMappingURL=Filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.js","sources":["../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../app/javascript/src/components/Pane/hooks/useFilters.js","../../app/javascript/src/components/Pane/index.jsx","../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../../app/javascript/src/components/Filters.jsx"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { useRef, useEffect, useTransition } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { pluck, isNil, concat, isEmpty, append, mergeRight } from \"ramda\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport {\n buildDefaultFilters,\n buildFiltersFromSearchParams,\n buildFiltersPayload,\n buildSelectorsFromURL,\n buildUrlFromFilters,\n compareFilters,\n getSearchTermFromUrl,\n getSnakeCasedQueryParams,\n isKeywordFilterPresent,\n} from \"../../utils\";\n\nconst useFilters = ({\n onFiltersChange,\n columns,\n keywordFilter,\n onSelectorsChange,\n}) => {\n const [_, startTransition] = useTransition();\n\n const initialRender = useRef(true);\n const prevFilters = useRef([]);\n const location = useLocation();\n let filters = buildFiltersFromSearchParams(columns, false);\n const history = useHistory();\n const defaultValuesOfColumns = JSON.stringify(pluck(\"defaultValue\", columns));\n\n const handlePrecenseOfDefaultFilters = defaultFilters => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...defaultFilters, keywordFilter]\n : defaultFilters,\n });\n\n history.replace({ search: params });\n };\n\n const handleFiltersChange = filtersPayload => {\n startTransition(() => {\n onFiltersChange(\n buildFiltersPayload(\n filtersPayload.filter(filter => !isNil(filter.node))\n )\n );\n });\n };\n\n //This function sends the updated filters to host via callbacks.\n const sendUpdatedFilters = () => {\n if (compareFilters(append(keywordFilter, filters), prevFilters.current)) {\n return;\n }\n\n const newFilters = buildFiltersFromSearchParams(columns);\n const filtersPayload =\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? append(keywordFilter, newFilters)\n : newFilters;\n\n handleFiltersChange(filtersPayload);\n\n onSelectorsChange(buildSelectorsFromURL(columns));\n };\n\n const handleChangesInURL = () => {\n const defaultFilters = buildDefaultFilters(columns, filters);\n const searchParams = getSnakeCasedQueryParams();\n const keys = pluck(\"key\", append(keywordFilter, columns));\n if (\n keys.every(key => isNil(searchParams[key])) &&\n !isEmpty(defaultFilters)\n ) {\n history.replace({\n search: buildUrlFromFilters({\n columns,\n filters: concat(defaultFilters, filters),\n }),\n });\n filters = buildFiltersFromSearchParams(columns, false);\n }\n };\n\n useEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n const keywordValue = getSearchTermFromUrl();\n const defaultFilters = buildDefaultFilters(columns, filters);\n isNotEmpty(defaultFilters) &&\n handlePrecenseOfDefaultFilters(defaultFilters);\n\n prevFilters.current = append(\n mergeRight(keywordFilter, { value: keywordValue }),\n filters\n );\n } else {\n handleChangesInURL();\n sendUpdatedFilters();\n prevFilters.current = append(keywordFilter, filters);\n }\n }, [location.search, defaultValuesOfColumns]);\n\n return filters;\n};\n\nexport default useFilters;\n","import React, { useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { existsBy, findBy, isNotEmpty, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport Search from \"neetomolecules/Search\";\nimport { Accordion, Button, Typography, Pane as NeetoUIPane } from \"neetoui\";\nimport { isEmpty, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SEARCH_TERM_KEY } from \"src/common/constants\";\n\nimport useFilters from \"./hooks/useFilters\";\nimport Item from \"./Item\";\n\nimport {\n buildFilteredColumns,\n buildUrlFromFilters,\n getColumnsWithStandardizedType,\n getSearchTermFromUrl,\n getSnakeCasedQueryParams,\n isKeywordFilterPresent,\n} from \"../utils\";\n\nconst Pane = ({\n isOpen,\n onClose,\n columns,\n onChange,\n isSearchable,\n keyword,\n onSelectorsChange,\n childrenKeys = [],\n children,\n className,\n ...otherProps\n}) => {\n const searchParams = useQueryParams({ toCamelCase: false });\n const [searchTerm, setSearchTerm] = useState(\"\");\n const history = useHistory();\n const { t } = useTranslation();\n\n columns = useMemo(() => getColumnsWithStandardizedType(columns), [columns]);\n\n const { groupedColumns = [], ungroupedColumns = [] } = buildFilteredColumns({\n searchTerm,\n columns,\n });\n\n const keywordFilter = {\n type: \"text\",\n rule: \"contains\",\n label: t(\"neetoFilters.common.searchTerm\"),\n ...keyword,\n key: SEARCH_TERM_KEY,\n value: searchParams[SEARCH_TERM_KEY] || \"\",\n };\n\n const filters = useFilters({\n onFiltersChange: onChange,\n columns,\n keywordFilter,\n onSelectorsChange,\n });\n\n const handleChange = (newFilters, isClearAll = false) => {\n const params = buildUrlFromFilters({\n columns,\n filters:\n isKeywordFilterPresent(keywordFilter) &&\n isNotEmpty(getSearchTermFromUrl())\n ? [...newFilters, keywordFilter]\n : newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const handleClearAll = () => {\n const params = isKeywordFilterPresent(keywordFilter)\n ? omit([SEARCH_TERM_KEY], getSnakeCasedQueryParams())\n : getSnakeCasedQueryParams();\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, params));\n handleChange([], true);\n };\n\n const handleClearTermAndClose = () => {\n setSearchTerm(\"\");\n onClose();\n };\n\n const handleClose = () => {\n columns.forEach(({ key }) => {\n const filter = findBy({ key }, filters);\n if (filter?.value === \"\") delete searchParams[key];\n });\n handleClearTermAndClose();\n };\n\n const isClearFiltersDisabled =\n !filters.some(\n ({ value, defaultValue }) => isPresent(value) && value !== defaultValue\n ) && !childrenKeys.some(key => searchParams[key]);\n\n return (\n <NeetoUIPane\n {...{ isOpen }}\n backdropClassName=\"neeto-filters-pane-backdrop\"\n className={classnames(\"neeto-filters-pane-filter\", {\n [className]: className,\n })}\n onClose={handleClose}\n {...otherProps}\n >\n <NeetoUIPane.Header data-cy=\"neeto-filters-pane-header\">\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoFilters.common.filters\")}\n </Typography>\n </NeetoUIPane.Header>\n <NeetoUIPane.Body className=\"neeto-filters-pane-filter__body neeto-ui-pt-2\">\n {isSearchable && (\n <Search\n data-cy=\"neeto-filters-column-search\"\n placeholder={t(\"neetoFilters.messages.searchResources\", {\n resources: t(\"neetoFilters.common.filters\"),\n })}\n onSearch={value => setSearchTerm(value)}\n />\n )}\n {ungroupedColumns.map(column => (\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n key={column.key}\n onChange={handleChange}\n onClose={handleClearTermAndClose}\n />\n ))}\n {isPresent(groupedColumns) && (\n <Accordion\n defaultActiveKey={groupedColumns.findIndex(({ columns }) =>\n existsBy({ key: isOpen }, columns)\n )}\n >\n {groupedColumns.map(({ group, columns }) => (\n <Accordion.Item\n className=\"accordion_item\"\n key={group}\n title={group}\n >\n {columns.map(column => (\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n key={column.key}\n onChange={handleChange}\n onClose={handleClearTermAndClose}\n />\n ))}\n </Accordion.Item>\n ))}\n </Accordion>\n )}\n {isEmpty(ungroupedColumns) && isEmpty(groupedColumns) && (\n <Typography style=\"body2\">\n {t(\"neetoFilters.messages.noResourcesFound\", {\n resources: t(\"neetoFilters.common.columns\"),\n })}\n </Typography>\n )}\n {children}\n </NeetoUIPane.Body>\n <NeetoUIPane.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"neeto-filters-done-btn\"\n label={t(\"neetoFilters.common.done\")}\n onClick={handleClearTermAndClose}\n />\n <Button\n data-cy=\"neeto-filters-clear-btn\"\n disabled={isClearFiltersDisabled}\n label={t(\"neetoFilters.common.clearFilters\")}\n style=\"text\"\n onClick={handleClearAll}\n />\n </NeetoUIPane.Footer>\n </NeetoUIPane>\n );\n};\n\nexport default Pane;\n","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}}export{n as default};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Button } from \"neetoui\";\nimport { identity } from \"ramda\";\n\nimport Pane from \"./Pane\";\n\nimport \"../stylesheets/index.scss\";\n\nconst Filters = withT(\n ({\n t,\n isOpen = false,\n setIsOpen = identity,\n columns = [],\n onChange = identity,\n buttonProps = {},\n paneProps = {},\n isSearchable = false,\n className,\n onSelectorsChange = noop,\n keyword = { node: \"\", value: \"\", setValue: noop },\n childrenKeys,\n children,\n }) => (\n <span className={classnames({ [className]: className })}>\n <Button\n data-cy=\"neeto-filters-toggle-btn\"\n label={t(\"neetoFilters.common.filter\")}\n style=\"secondary\"\n onClick={() => setIsOpen(true)}\n {...buttonProps}\n />\n <Pane\n onClose={() => setIsOpen(false)}\n {...{\n childrenKeys,\n columns,\n isOpen,\n isSearchable,\n keyword,\n onChange,\n onSelectorsChange,\n ...paneProps,\n }}\n >\n {children}\n </Pane>\n </span>\n )\n);\n\nexport default Filters;\n"],"names":["objectWithoutPropertiesLoose","useFilters","_ref","onFiltersChange","columns","keywordFilter","onSelectorsChange","_useTransition","useTransition","_useTransition2","_slicedToArray","_","startTransition","initialRender","useRef","prevFilters","location","useLocation","filters","buildFiltersFromSearchParams","history","useHistory","defaultValuesOfColumns","JSON","stringify","pluck","handlePrecenseOfDefaultFilters","defaultFilters","params","buildUrlFromFilters","isKeywordFilterPresent","isNotEmpty","getSearchTermFromUrl","concat","_toConsumableArray","replace","search","handleFiltersChange","filtersPayload","buildFiltersPayload","filter","isNil","node","sendUpdatedFilters","compareFilters","append","current","newFilters","buildSelectorsFromURL","handleChangesInURL","buildDefaultFilters","searchParams","getSnakeCasedQueryParams","keys","every","key","isEmpty","useEffect","keywordValue","mergeRight","value","Pane","isOpen","onClose","onChange","isSearchable","keyword","_ref$childrenKeys","childrenKeys","children","className","otherProps","_objectWithoutProperties","_excluded","useQueryParams","toCamelCase","_useState","useState","_useState2","searchTerm","setSearchTerm","_useTranslation","useTranslation","t","useMemo","getColumnsWithStandardizedType","_buildFilteredColumns","buildFilteredColumns","_buildFilteredColumns2","groupedColumns","_buildFilteredColumns3","ungroupedColumns","_objectSpread","type","rule","label","SEARCH_TERM_KEY","handleChange","isClearAll","arguments","length","undefined","push","handleClearAll","omit","pathname","window","buildUrl","handleClearTermAndClose","handleClose","forEach","_ref2","findBy","isClearFiltersDisabled","some","_ref3","defaultValue","isPresent","_jsxs","NeetoUIPane","backdropClassName","classnames","_defineProperty","_jsx","Header","Typography","style","weight","Body","Search","placeholder","resources","onSearch","map","column","_createElement","Item","autoFocus","Accordion","defaultActiveKey","findIndex","_ref4","existsBy","_ref5","group","title","Footer","Button","onClick","disabled","Filters","withT","_ref$isOpen","_ref$setIsOpen","setIsOpen","identity","_ref$columns","_ref$onChange","_ref$buttonProps","buttonProps","_ref$paneProps","paneProps","_ref$isSearchable","_ref$onSelectorsChang","noop","_ref$keyword","setValue"],"mappings":"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"}