{"version":3,"file":"static/js/main-92b06d74.826e1a95.js","mappings":"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","sources":["components/global/FA.tsx","components/global/GButton.tsx","components/global/GPop.tsx","components/global/GTable.tsx","components/global/GTooltip.tsx","components/global/HexPicker.js","components/global/input/helpers/index.ts","components/loyalty/storeSelect.tsx"],"sourcesContent":["import React, { memo } from 'react'\nimport GTooltip, { GlobalTooltipProps } from './GTooltip'\n\nexport type FAType = 'solid' | 'regular' | 'light' | 'duotone' | 'brands' | 'sharp'\n\nexport interface FAProps {\n classes?: (string[] | string)\n spin?: boolean\n name: string\n type?: FAType | FAType[]\n style?: React.CSSProperties\n\n color?: string\n fontSize?: string | number\n\n shift?: {\n up?: number\n down?: number\n left?: number\n right?: number\n }\n\n openBlank?: boolean\n linkedTo?: string\n linked?: boolean\n error?: boolean\n linkedHover?: boolean\n deleteHover?: boolean\n\n disabled?: boolean\n onClick?: (e: any) => void\n\n tooltip?: string | GlobalTooltipProps\n\n}\n\nexport default function FA(props: FAProps) {\n\n const types = (Array.isArray(props.type) ? props.type : [props.type || 'regular'])\n const classes = types.map(type => `fa-${type}`)\n\n if (props.linked) classes.push('linked')\n if (props.linkedHover) classes.push('linked-hover')\n if (props.deleteHover) classes.push('error-hover')\n if (props.error) classes.push('error')\n if (props.spin) classes.push('fa-spin')\n if (props.name) classes.push(`fa-${props.name}`)\n\n if (props.classes) {\n if (Array.isArray(props.classes)) {\n classes.push(...props.classes)\n } else {\n classes.push(props.classes)\n }\n }\n\n const onClick = (e: any) => {\n if (props.disabled) return\n if (props.onClick) props.onClick(e)\n if (props.linkedTo) window.open(props.linkedTo, props.openBlank ? '_blank' : '_self')\n }\n\n const style = {\n cursor: (props.onClick || props.linkedHover || props.linkedTo) ? 'pointer' : 'inherit',\n fontSize: props.fontSize,\n color: props.color,\n ...props.style\n }\n\n if (props.shift) {\n const { up, down, left, right } = props.shift\n if (up) style.marginTop = up\n if (down) style.marginBottom = down\n if (left) style.marginLeft = left\n if (right) style.marginRight = right\n }\n\n const Icon = memo(() => {\n if (e.button === 1 && props.linkedTo) {\n // window.open(props.linkedTo, '_blank')\n // Open it but dont actually switch to it\n window.open(props.linkedTo, '_blank', 'noopener,noreferrer')\n }\n }}\n onClick={onClick}\n className={classes.join(' ')}\n style={style}\n />)\n\n const tooltipProps = typeof props.tooltip === 'object' ? props.tooltip : { tooltip: props.tooltip }\n\n if (props.tooltip) {\n return \n <>\n \n \n \n }\n\n return (<>\n \n )\n}\n","import './styles/gbutton.css';\n\nimport React, { CSSProperties } from 'react';\n\nimport utils from '../../helpers/utils';\nimport GPop, { GlobalPopProps } from './GPop';\nimport { GlobalStyleType } from './GTag';\nimport GTooltip, { GlobalTooltipProps } from './GTooltip';\n\n\n// Primary - Green, secondary - blue\nexport interface GlobalButtonProps {\n children?: React.ReactNode // Can use either or\n text?: React.ReactNode // Can use either or\n\n icon?: React.ReactNode\n iconPadding?: string | boolean // padding to apply to icon (fa icons sometimes have weird sizes)\n\n color?: string // Text color\n hoverColor?: string\n background?: string // Background color\n borderColor?: string // Border (uses background by default)\n hoverable?: boolean // should this be hoverable (true by default)\n selected?: boolean // use hover styles (as if selected)\n style?: CSSProperties\n\n size?: 'small' | 'default' | 'large' // determines default padding & fontsize\n\n type?: GlobalStyleType\n\n optional?: boolean // optionally don't render this button\n disabled?: boolean\n loading?: boolean\n\n tooltip?: React.ReactNode | GlobalTooltipProps\n popover?: GlobalPopProps\n\n onClick?: (e: any) => void\n\n\n linkTo?: string\n noBlank?: boolean // should this open in a new tab?\n\n ttt?: boolean | GlobalStyleType // * Should the tooltip use the same type as the button?\n\n cName?: string // classname of thw wrapper div\n center?: boolean // center the button contents\n\n}\n\n// New button style to be used across the dash as we roll out new global styles\nexport default function GButton({ ...props }: GlobalButtonProps) {\n\n if (props.optional === false) return <>\n\n\n const style: CSSProperties = {\n\n }\n\n if (props.center) {\n style.display = 'flex'\n style.justifyContent = 'center'\n style.alignItems = 'center'\n if (props.size === 'small' && props.center) style.width = 24\n if (props.size === 'small') style.height = 24\n if (props.size === 'default') style.height = 32\n if (props.size === 'large') style.height = 40\n }\n\n function createRipple(event: any) {\n const button = event.currentTarget;\n\n const circle = document.createElement(\"span\");\n const diameter = Math.max(button.clientWidth, button.clientHeight);\n const radius = diameter / 2;\n\n circle.style.width = circle.style.height = `${diameter}px`;\n circle.style.left = `${event.clientX - button.offsetLeft - radius}px`;\n circle.style.top = `${event.clientY - button.offsetTop - radius}px`;\n circle.classList.add(\"ripple\");\n\n const ripple = button.getElementsByClassName(\"ripple\")[0];\n\n if (ripple) {\n ripple.remove();\n }\n\n button.appendChild(circle);\n }\n\n let icon = props.icon\n let buttonClass = `gbutton-${props.type || 'default'} gbutton-size-${props.size || 'default'} gbutton ${props.disabled ? 'disabled' : ''} ${props.loading ? 'loading' : ''} ${utils.darkMode ? 'dark' : ''}`\n\n if ((props.iconPadding)) {\n if (icon && (props.text || props.children)) {\n icon = <>\n
\n {icon}\n
\n \n } else {\n style.padding = props.size === 'small' ? '2px 6px 3px 8px' : props.size == 'large' ? '2px 6px 3px 8px' : '2px 6px 3px 8px'\n }\n }\n\n if (!icon && props.loading) {\n // icon = \n icon = \n }\n\n const tooltipProps: GlobalTooltipProps = {\n tooltip: props.tooltip,\n type: props.ttt === true ? props.type : props.ttt || 'default',\n ...(typeof props.tooltip === 'object' ? props.tooltip : {})\n }\n\n const WrappedButton = ({ children }: any) => {\n if (!props.tooltip && props.popover) {\n return <>\n \n {children}\n \n \n }\n\n return <>\n {children}\n \n }\n\n const WrapLink = ({ children }: any) => {\n return props.linkTo && !props.disabled ? {children} : children\n }\n\n return (
\n \n
\n \n {\n if (props.disabled || props.loading) return null\n createRipple(ev)\n if (props.onClick) props.onClick(ev)\n }}\n >\n {icon}{' '}{props.children || props.text}\n \n \n
\n
\n
)\n}","import './styles/gpop.css';\n\nimport { Popover, PopoverProps, Space } from 'antd';\nimport { TooltipPlacement } from 'antd/es/tooltip';\nimport React, { CSSProperties, useState } from 'react';\n\nimport { colors } from '../../helpers/allStyles';\nimport utils from '../../helpers/utils';\nimport GButton, { GlobalButtonProps } from './GButton';\nimport { GlobalStyleType } from './GTag';\nimport GTooltip, { GlobalTooltipProps } from './GTooltip';\n\n\nexport interface GlobalPopProps {\n\n debug?: boolean\n reconfirm?: boolean\n disabled?: boolean\n\n open?: boolean\n setOpen?: (x: boolean) => void\n\n children?: React.ReactNode // Can use either or\n\n style?: CSSProperties\n\n size?: \"large\" | \"default\" | \"small\"\n\n content?: React.ReactNode\n type?: GlobalStyleType\n\n borderTop?: string\n borderLeft?: string\n\n dark?: boolean\n filled?: boolean\n loading?: boolean\n popConfirm?: boolean\n\n overlayInnerStyle?: CSSProperties\n\n triggers?: 'hover' | 'click' | 'focus' | any\n\n mouseLeaveDelay?: number\n placement?: TooltipPlacement\n\n useAsync?: boolean // * wait for a resp from the onConfirm func before closing!\n\n tooltip?: GlobalTooltipProps // only works with popconfirm\n\n padded?: boolean\n padding?: string | number\n\n closeOnClick?: boolean\n\n config?: {\n flip?: boolean\n align?: 'center' | 'right' | 'left'\n size?: 'small' | 'default' | 'large'\n confirmText?: React.ReactNode\n confirmType?: GlobalStyleType\n confirmStyle?: CSSProperties\n confirmProps?: GlobalButtonProps\n\n cancelText?: React.ReactNode\n cancelType?: GlobalStyleType\n cancelStyle?: CSSProperties\n cancelProps?: GlobalButtonProps\n\n iconDisplayType?: 'duotone' | 'thin' | 'light' | 'regular' | 'solid'\n iconType?: 'info' | 'success' | 'error' | 'warning' | 'question'\n iconStyle?: CSSProperties\n iconProps?: GlobalButtonProps\n }\n\n icon?: React.ReactNode | boolean\n width?: number\n\n zIndex?: number\n\n onConfirm?: () => (void | Promise) | (boolean | Promise)\n onCancel?: () => (void | Promise) | (boolean | Promise)\n\n rawProps?: PopoverProps\n\n}\n\nexport default function GPop({ ...props }: GlobalPopProps) {\n\n const [loading, setLoading] = useState(undefined);\n const [open, uOpen] = useState(false);\n const setOpen = (x: boolean) => {\n if (props.setOpen) props.setOpen(x)\n uOpen(x)\n }\n\n let style: CSSProperties = {\n\n\n }\n\n let popClass = `gpop gpop-${props.type || 'default'} gpop-size-${props.size || 'default'} gpop ${utils.darkMode ? 'dark' : ''} ${props.filled ? 'filled' : ''} ${props.dark ? 'dark' : ''}`\n\n if (props.disabled) return <>\n {props.children}\n \n\n const cConfig = {\n ...props.config,\n align: props.config?.align || 'center',\n size: props.config?.size || props.size || 'default',\n confirmText: props.config?.confirmText || 'Confirm',\n confirmType: props.config?.confirmType || 'primary',\n confirmStyle: { ...props.config?.confirmStyle },\n confirmProps: { ...props.config?.confirmProps },\n cancelText: props.config?.cancelText || 'Cancel',\n cancelType: props.config?.cancelType || 'default',\n cancelStyle: { ...props.config?.cancelStyle },\n cancelProps: { ...props.config?.cancelProps },\n iconDisplayType: props.config?.iconDisplayType || 'duotone',\n iconType: (props.config?.iconType || (props.popConfirm ? 'warning' : 'info')) as 'info' | 'success' | 'error' | 'warning' | 'question',\n iconStyle: { ...props.config?.iconStyle },\n iconProps: { ...props.config?.iconProps },\n }\n\n // When reconfirm is enabled, we need to make sure the confirm button is a popconfirm\n // Also if no onConfirm is provided in confirmProps, we use the props.onConfirm\n if (props.reconfirm) {\n cConfig.confirmProps = { ...cConfig.confirmProps, popover: { ...cConfig.confirmProps.popover } };\n const oldConfirm = (cConfig.confirmProps.popover?.onConfirm || props.onConfirm) as (() => Promise | boolean)\n if (cConfig.confirmProps.popover) {\n cConfig.confirmProps.popover.popConfirm = true;\n cConfig.confirmProps.popover.content = cConfig.confirmProps.popover.content || 'Are you sure?'\n cConfig.confirmProps.popover.onConfirm = async () => {\n if (props.useAsync) setLoading(true)\n if (oldConfirm) await setLoading((await oldConfirm()) || false)\n setOpen(false)\n }\n }\n }\n\n const buttons = [ {\n if (props.reconfirm && props.config?.cancelProps?.popover?.popConfirm) return\n if (props.useAsync) setLoading(true)\n const result: boolean = (props.useAsync ? await props.onCancel?.() : props.onCancel?.()) as boolean || false\n if (props.useAsync) setLoading(result)\n setOpen(false)\n }}\n style={cConfig.cancelStyle}\n disabled={props.loading || loading}\n {...cConfig.cancelProps}\n >\n {cConfig.cancelText}\n ,\n {\n if (props.reconfirm) return\n if (props.useAsync) setLoading(true);\n const result: boolean = (props.useAsync ? await props.onConfirm?.() : props.onConfirm?.()) as boolean || false\n if (props.useAsync) setLoading(result)\n if (!props.reconfirm) setOpen(false)\n }}\n style={cConfig.confirmStyle}\n loading={props.loading || loading}\n {...cConfig.confirmProps}\n >\n {cConfig.confirmText}\n ]\n\n const confirmButtons =
\n
\n \n {(cConfig.flip ? buttons.reverse() : buttons)}\n \n
\n
\n\n\n const icons = {\n info: ,\n warning: ,\n question: ,\n success: ,\n error: \n }\n\n if (props.icon === true) props.icon = icons[cConfig.iconType]\n\n if (!!props.tooltip?.tooltip && !open) {\n return \n
\n {React.cloneElement(props.children as any, { onClick: () => setOpen(!open) })}\n
\n
\n }\n\n const borderStyle: CSSProperties = props.borderLeft ? { borderLeft: props.borderLeft.includes('px') ? props.borderLeft : `3px solid ${props.borderLeft}` } : {}\n if (props.borderTop) borderStyle.borderTop = props.borderTop.includes('px') ? props.borderTop : `3px solid ${props.borderTop}`\n\n if (props.closeOnClick) {\n props.children =
setOpen(!open)}>\n {props.children}\n
\n }\n\n return (<>\n {\n if (loading && props.useAsync) return\n setLoading(undefined)\n setOpen(v)\n }}\n content={<>\n
\n {props.icon} {props.content}\n
\n
\n {props.popConfirm && <>\n {confirmButtons}\n }\n
\n }\n placement={props.placement}\n mouseLeaveDelay={props.mouseLeaveDelay}\n overlayClassName={popClass}\n style={{ ...style, ...props.style }}\n overlayInnerStyle={{ maxWidth: props.width || 275, ...props.overlayInnerStyle, ...borderStyle }}\n overlayStyle={{}}\n {...props.rawProps}\n >\n {props.children}\n \n )\n}\n\n","import { Cascader, DatePicker, Input, InputNumber, Modal, Select, Space, Table, TableProps } from 'antd';\nimport { ExpandableConfig, TableLocale, TablePaginationConfig, TableRowSelection } from 'antd/lib/table/interface';\nimport moment from 'moment';\nimport React from 'react';\n\nimport { colors } from '../../helpers/allStyles';\nimport utils from '../../helpers/utils';\nimport { TableColumn } from '@/legacy-types'\nimport { hoverStyle } from '../settings/nativeApp/tabs/StylingTab';\nimport Break from '../Break';\nimport HoverQuestion from '../HoverQuestion';\nimport GButton from './GButton';\nimport GTooltip from './GTooltip';\n\n// Comparison types\nexport const COMPARISON_TYPES: { [key: string]: string[] } = {\n\tstring: ['=', '!=', 'starts with', 'ends with', 'contains', 'not contains', 'is empty', 'is not empty'],\n\tnumber: ['=', '!=', '>', '<', '>=', '<=', 'between'],\n\tdate: ['=', '!=', '>', '<', '>=', '<=', 'is empty', 'is not empty', 'between'],\n\tboolean: ['=', '!=', 'is empty', 'is not empty'],\n};\n\nconst allComparisonTypesMap: { [key: string]: string } = {\n\t'=': 'equals',\n\t'!=': 'does not equal',\n\t'>': 'is greater than',\n\t'<': 'is less than',\n\t'>=': 'is greater than or equal to',\n\t'<=': 'is less than or equal to',\n\t'starts with': 'starts with',\n\t'ends with': 'ends with',\n\t'contains': 'contains',\n\t'not contains': 'does not contain',\n\t'is empty': 'is empty',\n\t'is not empty': 'is not empty',\n\t'between': 'is between',\n};\n\nconst allComparisonTypesToOptions: { label: string; value: string }[] = Object.keys(allComparisonTypesMap).map((key: string) => ({\n\tlabel: allComparisonTypesMap[key],\n\tvalue: key,\n}));\nconst comparisonOptionsByType: { [key: string]: { label: string; value: string }[] } = Object.keys(COMPARISON_TYPES).reduce((result: any, key: string) => {\n\tresult[key] = COMPARISON_TYPES[key].map((x: string) => ({ label: allComparisonTypesMap[x], value: x }));\n\treturn result;\n}, {});\n\nexport interface GlobalTableProps {\n\tcolumns: TableColumn[];\n\tdataSource: (T | any)[];\n\n\tbottomRadius?: boolean;\n\tnoRadius?: boolean;\n\talternateHeader?: boolean;\n\tclassName?: string;\n\tnoTableBorders?: boolean;\n\tscroll?: { x?: number | string; y?: number | string };\n\talternateRows?: boolean;\n\tprops?: TableProps;\n\tlocale?: TableLocale;\n\tnoExpandPadding?: boolean;\n\tpagination?: TablePaginationConfig | false;\n\twrapperStyle?: React.CSSProperties;\n\toptions?: {\n\t\tnoHeaderBG?: boolean;\n\t\tbypassBorders?: boolean;\n\t};\n\n\tdataFilters?: GDataFilter[];\n\tallowMultiSort?: boolean;\n\n\tloading?: boolean;\n\n\ttotalsColumns?: React.ReactNode[];\n\trowSelection?: TableRowSelection | undefined;\n\texpandable?: ExpandableConfig | undefined;\n}\n\ntype GFilterType = 'string' | 'number' | 'date' | 'boolean' | 'array' | 'object';\nexport interface GDataFilter {\n\ttitle: string;\n\ttooltip?: string;\n\tproperty: string; // path to property IE 'user.name'\n\ttype: GFilterType;\n\tallowedComparisons?: string[];\n\ttest?: (value: any) => boolean;\n}\n\ninterface ActiveDataFilter extends GDataFilter {\n\tuuid: string;\n\toperator?: 'AND' | 'OR';\n\tcomparison?: string;\n\tvalue?: any;\n}\n\nexport default function GTable({ columns, dataSource, ...props }: GlobalTableProps) {\n\tconst tableRef: any = React.useRef(null);\n\n\tconst [open, setOpen] = React.useState(false);\n\tconst [filters, setFilters] = React.useState([]);\n\n\tconst classes: string[] = [];\n\tif (props.noTableBorders) classes.push('noTable');\n\tif (props.options?.noHeaderBG || props.noTableBorders) classes.push('no-header-bg');\n\tif (props.options?.bypassBorders) classes.push('bypass');\n\t// if (props.alternateHeader) classes.push('alternate-header')\n\t// if (props.noRadius) classes.push('no-radius')\n\tif (props.bottomRadius) classes.push('bottom-radius');\n\n\t// List of all available data filters\n\tconst dataFilters: GDataFilter[] = React.useMemo(() => {\n\t\tconst combined: GDataFilter[] = props.dataFilters || [];\n\t\t// Data filters can also be applied via columns, so we need to add those to the list\n\t\t(columns || []).filter((col: TableColumn) => col.dataFilter).forEach((col: any) => combined.push(col.dataFilter));\n\t\treturn combined;\n\t}, [props.dataFilters, columns]);\n\n\tconst hasTotalsColumn = !!props.totalsColumns?.length;\n\tconst totalsColumn = { key: 'totals-column' };\n\n\tconst hasDataFilters = dataFilters.length > 0,\n\t\thasActiveFilters = filters.length > 0;\n\n\t// List of all table columns\n\tconst tableColumns: TableColumn[] = React.useMemo(() => {\n\t\treturn Array.from([...columns])\n\t\t\t.filter((col: TableColumn) => col.shown === undefined || col.shown === true)\n\t\t\t.map((col: TableColumn, i) => {\n\t\t\t\t// If the column title is a string, we apply some default styling to it\n\t\t\t\tif (typeof col.title === 'string')\n\t\t\t\t\tcol.title = (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\n\t\t\t\tconst sortKey = typeof col.sort === 'string' ? col.sort : col.key;\n\t\t\t\t// If the columns has .sort, we apply some default sorting to it\n\t\t\t\tif (!!col.sort && sortKey) {\n\t\t\t\t\tcol.sorter = {\n\t\t\t\t\t\tcompare: (a: any, b: any) => {\n\t\t\t\t\t\t\tif (a.key === 'totals-column') return 0;\n\t\t\t\t\t\t\tif (b.key === 'totals-column') return 0;\n\t\t\t\t\t\t\tconst aVal: any = getPropertyByPath(a, sortKey || '');\n\t\t\t\t\t\t\tconst bVal: any = getPropertyByPath(b, sortKey || '');\n\t\t\t\t\t\t\tif (bVal === undefined || aVal === undefined) return 0;\n\t\t\t\t\t\t\t// If the value is a string, we use localeCompare\n\t\t\t\t\t\t\tif (typeof aVal === 'string') return aVal.localeCompare(bVal || '');\n\t\t\t\t\t\t\t// If the value is a number, we use a simple subtraction\n\t\t\t\t\t\t\tif (typeof aVal === 'number') return aVal - bVal || 0;\n\t\t\t\t\t\t\t// If the value is a boolean, we use a simple subtraction\n\t\t\t\t\t\t\tif (typeof aVal === 'boolean') return aVal === bVal ? 0 : aVal ? 1 : -1;\n\t\t\t\t\t\t\t// If the value is a date, we use a simple subtraction\n\t\t\t\t\t\t\tif (aVal instanceof Date) return aVal.getTime() - bVal.getTime() || 0;\n\t\t\t\t\t\t\t// If the value is an array, we sort array lengths\n\t\t\t\t\t\t\tif (Array.isArray(aVal)) return aVal.length - (bVal || []).length || 0;\n\t\t\t\t\t\t\t// If the value is an object, we sort object lengths\n\t\t\t\t\t\t\tif (typeof aVal === 'object') return Object.keys(aVal).length - Object.keys(bVal || {}).length || 0;\n\t\t\t\t\t\t\t// If the value is anything else, we return 0\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmultiple: props.allowMultiSort ? columns.length - i : undefined,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// If the column has a built in sorter, ensure totals rows are always at the top\n\t\t\t\tif (!!col.sorter && hasTotalsColumn) {\n\t\t\t\t\tconst isCompare = typeof col.sorter === 'function';\n\t\t\t\t\tif (isCompare) {\n\t\t\t\t\t\tconst newCB = (col.sorter as Function).bind({});\n\t\t\t\t\t\tcol.sorter = (a: any, b: any) => {\n\t\t\t\t\t\t\tif (a.key === 'totals-column') return 0;\n\t\t\t\t\t\t\tif (b.key === 'totals-column') return 0;\n\t\t\t\t\t\t\treturn newCB(a, b);\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If they have totals columns we need to update the render function\n\t\t\t\tif (hasTotalsColumn) {\n\t\t\t\t\tconst newRender = col.render ? col.render.bind({}) : () => null;\n\t\t\t\t\tcol.render = (value: any, record: any, index: number) => {\n\t\t\t\t\t\tif (record.key === 'totals-column') {\n\t\t\t\t\t\t\treturn {(props.totalsColumns || [])[i]};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn newRender(value, record, index);\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn col;\n\t\t\t});\n\t}, [columns, dataSource]);\n\n\t// List of all active data filters\n\tconst tableData: any[] = React.useMemo(() => {\n\t\t// If there are no data filters, return the data source\n\t\tif (!hasActiveFilters) return [...(dataSource || [])];\n\t\treturn [...(dataSource || [])].filter((curr: any) => {\n\t\t\t// If there are no active filters, return true\n\t\t\tif (!filters || filters.length === 0) return true;\n\n\t\t\t// If there are filters, check if the current item passes\n\t\t\treturn filters.reduce((result: boolean, filter: ActiveDataFilter) => {\n\t\t\t\tlet value: any = getPropertyByPath(curr, filter.property);\n\n\t\t\t\t// If the filter has a test, use that\n\t\t\t\tif (filter.test) {\n\t\t\t\t\tif (filter.operator === 'OR') {\n\t\t\t\t\t\treturn result || filter.test(value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn result && filter.test(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Parse the value if it's a date && it's a number then it's unix time\n\t\t\t\tif (filter.type === 'date' && typeof value === 'number') value = new Date(value * 1000);\n\t\t\t\t// If it's a date, and not an instance of date, try to parse a date\n\t\t\t\tif (filter.type === 'date' && !(value instanceof Date)) value = new Date(value);\n\t\t\t\t// If it's an invalid date set it to undefined\n\t\t\t\tif (filter.type === 'date' && isNaN(value) && isNaN(value?.getTime())) value = undefined;\n\n\t\t\t\t// If filter type is an object, we make value the length of the object keys\n\t\t\t\tif (filter.type === 'object') value = Object.keys(value || {}).length;\n\t\t\t\t// If filter type is an array, we make value the length of the array\n\t\t\t\tif (filter.type === 'array') value = (value || []).length;\n\n\t\t\t\t// If it is type number, and value is undefined, set value to 0\n\t\t\t\tif (filter.type === 'number' && value === undefined) value = 0;\n\n\t\t\t\t// If the filter has a comparison, use that\n\t\t\t\tif (filter.comparison) {\n\t\t\t\t\tlet filterResult: boolean;\n\t\t\t\t\tswitch (filter.comparison) {\n\t\t\t\t\t\tcase '=':\n\t\t\t\t\t\t\tfilterResult = value == filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '!=':\n\t\t\t\t\t\t\tfilterResult = value != filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '>':\n\t\t\t\t\t\t\tfilterResult = value > filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '<':\n\t\t\t\t\t\t\tfilterResult = value < filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '>=':\n\t\t\t\t\t\t\tfilterResult = value >= filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '<=':\n\t\t\t\t\t\t\tfilterResult = value <= filter.value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'starts with':\n\t\t\t\t\t\t\tfilterResult = value.startsWith(filter.value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'ends with':\n\t\t\t\t\t\t\tfilterResult = value.endsWith(filter.value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'contains':\n\t\t\t\t\t\t\tfilterResult = value.includes(filter.value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'not contains':\n\t\t\t\t\t\t\tfilterResult = !value.includes(filter.value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'is empty':\n\t\t\t\t\t\t\tfilterResult = value === undefined || value === null || value === '';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'is not empty':\n\t\t\t\t\t\t\tfilterResult = value !== undefined && value !== null && value !== '';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'between':\n\t\t\t\t\t\t\tfilterResult = value >= filter.value[0] && value <= filter.value[1];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tfilterResult = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (filter.operator === 'OR') {\n\t\t\t\t\t\treturn result || filterResult;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn result && filterResult;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If the filter has no comparison, return false\n\t\t\t\treturn false;\n\t\t\t}, true);\n\t\t});\n\t}, [dataSource, filters]);\n\n\tconst noHead = false && (props.noRadius || props.bottomRadius);\n\n\tconst borderRadius = {\n\t\ttopLeft: noHead ? 0 : 8,\n\t\ttopRight: noHead ? 0 : 8,\n\t\tbottomLeft: 8, //(props.noRadius && !props.bottomRadius) ? 0 : 8,\n\t\tbottomRight: 8, //(props.noRadius && !props.bottomRadius) ? 0 : 8,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t setFilters(filters),\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\t// If there's a dataFilter && this is the first column, we add a filter icon to the title\n\t\t\t\t\t\t\tif (hasDataFilters && i === 0) {\n\t\t\t\t\t\t\t\tconst title = (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t setOpen(true)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: hasActiveFilters ? '#1890ff' : '#7b7b80',\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextShadow: hasActiveFilters ? '2px 2px 1px rgba(150,205,255,0.5)' : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{col.title}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn { ...col, title };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn col as any;\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t// columns={[\n\t\t\t\t\t\t// {\n\t\t\t\t\t\t// sorter\n\t\t\t\t\t\t// }\n\t\t\t\t\t\t// ]}\n\n\t\t\t\t\t\tdataSource={[...(hasTotalsColumn ? [totalsColumn] : []), ...tableData]}\n\t\t\t\t\t\tlocale={{\n\t\t\t\t\t\t\t// filterConfirm: React.ReactNode;\n\t\t\t\t\t\t\t// filterReset: React.ReactNode;\n\t\t\t\t\t\t\t// filterEmptyText: React.ReactNode;\n\t\t\t\t\t\t\t// filterCheckall: React.ReactNode;\n\t\t\t\t\t\t\t// emptyText: React.ReactNode | (() => React.ReactNode);\n\t\t\t\t\t\t\t// selectAll: React.ReactNode;\n\t\t\t\t\t\t\t// selectNone: React.ReactNode;\n\t\t\t\t\t\t\t// selectInvert: React.ReactNode;\n\t\t\t\t\t\t\t// selectionAll: React.ReactNode;\n\t\t\t\t\t\t\t// filterTitle: '',\n\t\t\t\t\t\t\t// filterSearchPlaceholder: '',\n\t\t\t\t\t\t\t// sortTitle: '',\n\t\t\t\t\t\t\t// expand: '',\n\t\t\t\t\t\t\t// collapse: '',\n\t\t\t\t\t\t\ttriggerDesc: 'Click to sort the items in descending order',\n\t\t\t\t\t\t\ttriggerAsc: 'Click to sort the items in ascending order',\n\t\t\t\t\t\t\tcancelSort: 'Click to stop sorting',\n\t\t\t\t\t\t\t...props.locale,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// sortIcon\n\t\t\t\t\t\tonRow={(record, i: any) => ({\n\t\t\t\t\t\t\tclassName: i === 0 && !!Object.keys(props.totalsColumns || {})?.length ? 'firstRow' : '',\n\t\t\t\t\t\t\t// style: props.alternateRows ? { background: i % 2 == 1 ? utils.darkMode ? '#F9F9F905' : 'rgba(249,249,249,0.7)' : '' } : {}\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tpagination={{\n\t\t\t\t\t\t\tshowSizeChanger: true,\n\t\t\t\t\t\t\tdefaultPageSize: 50,\n\t\t\t\t\t\t\tpageSizeOptions: [10, 20, 50, 100, 500, 1000, 2000],\n\t\t\t\t\t\t\tposition: ['bottomCenter'],\n\t\t\t\t\t\t\thideOnSinglePage: true,\n\t\t\t\t\t\t\t...props.pagination,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trowSelection={props.rowSelection}\n\t\t\t\t\t\texpandable={props.expandable}\n\t\t\t\t\t\t{...props.props}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nfunction DataFilterModal(props: {\n\tdataFilters: GDataFilter[];\n\topen: boolean;\n\tsetOpen: (visible: boolean) => void;\n\n\tdefaultFilters?: ActiveDataFilter[];\n\tonApply: (filters: ActiveDataFilter[]) => void;\n}) {\n\tconst [saveAnyways, setSaveAnyways] = React.useState(false);\n\tconst [filters, setFilters] = React.useState(props?.defaultFilters || []);\n\n\tReact.useEffect(() => {\n\t\tsetFilters(props?.defaultFilters || []);\n\t}, [props.open]);\n\n\tconst addFilter = (filter: GDataFilter) => setFilters((filters) => [...filters, { ...filter, uuid: utils.getUUID() }]);\n\tconst DefaultTitle = ({ filter }: { filter: GDataFilter }): any => {\n\t\tif (filter.title) return filter.title;\n\t\tlet type: string = filter.type;\n\t\tif (filter.type === 'string') type = 'Text';\n\t\tif (filter.type === 'number') type = 'Number';\n\t\tif (filter.type === 'date') type = 'Date';\n\t\tif (filter.type === 'boolean') type = 'True/False';\n\t\tif (filter.type === 'array') type = 'List';\n\t\tif (filter.type === 'object') type = 'Object';\n\t\tconst name = utils.capitalize((filter.property || '').split('.').pop());\n\t\treturn (\n\t\t\t<>\n\t\t\t\tProperty: {name} ({type}){' '}\n\t\t\t\n\t\t);\n\t};\n\n\tconst { allFilterOptions, allPropertiesToTypesMap } = React.useMemo(() => {\n\t\tconst allFilterOptions: { label: React.ReactNode; value: string }[] = props.dataFilters.map((filter: GDataFilter) => ({\n\t\t\tlabel: filter.title || ,\n\t\t\tvalue: filter.property,\n\t\t}));\n\t\tconst allPropertiesToTypesMap: { [key: string]: string } = props.dataFilters.reduce(\n\t\t\t(result: any, filter: GDataFilter) => ({ ...result, [filter.property]: filter.type }),\n\t\t\t{},\n\t\t);\n\t\treturn { allFilterOptions, allPropertiesToTypesMap };\n\t}, [props.dataFilters]);\n\n\tconst filterComponents = React.useMemo(() => {\n\t\treturn filters.map((filter: ActiveDataFilter, i) => {\n\t\t\tconst updateFilter = (x: Partial) =>\n\t\t\t\tsetFilters((filters) => filters.map((t: ActiveDataFilter) => (t.uuid === filter.uuid ? { ...t, ...x } : t)));\n\t\t\tconst deleteFilter = () => setFilters((filters) => filters.filter((t: ActiveDataFilter) => t.uuid !== filter.uuid));\n\t\t\t// Return the filter component\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t}, [filters, allFilterOptions, allPropertiesToTypesMap]);\n\n\tconst hasFilters = filters.length > 0,\n\t\thasMultipleFilters = filters.length > 1;\n\tconst description = `Utilize this feature to sort and filter through the table's dataset. This allows you to display data rows that precisely align with your specified comparison criteria based on the data's properties.`;\n\n\t// Is the last filter finished?\n\tconst lastFilter = filters[filters.length - 1],\n\t\tlastFilterFinished = !!lastFilter?.property && !!lastFilter?.comparison && lastFilter?.value !== undefined;\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t props.setOpen(false)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{!!props.defaultFilters?.length && (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.onApply([]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.setOpen(false);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\tClear Filters\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t// Filter out all unfinished filters\n\t\t\t\t\t\t\t\t\t\t\tconst filtered = filters?.filter((filter: ActiveDataFilter) => filter.property && filter.comparison && filter.value !== undefined) || [];\n\t\t\t\t\t\t\t\t\t\t\tconst incompleteCount = filters.length - filtered.length;\n\n\t\t\t\t\t\t\t\t\t\t\tif (!saveAnyways && !!incompleteCount) {\n\t\t\t\t\t\t\t\t\t\t\t\tutils.showErr(\n\t\t\t\t\t\t\t\t\t\t\t\t\t`You have ${incompleteCount} unfinished filter${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tincompleteCount === 1 ? '' : 's'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}. Click \"Save Anyways\" to save the filters you have finished.`,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\treturn setSaveAnyways(true);\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tprops.onApply(filtered);\n\t\t\t\t\t\t\t\t\t\t\tprops.setOpen(false);\n\t\t\t\t\t\t\t\t\t\t\tsetSaveAnyways(false);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{saveAnyways ? 'Save Anyways' : 'Apply Data Filters'}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\topen={props.open}\n\t\t\t\tbodyStyle={{ paddingTop: 16 }}\n\t\t\t>\n\t\t\t\tAdvanced Data Filters\n\t\t\t\t\n\n\t\t\t\t{hasFilters && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{filterComponents}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{lastFilterFinished && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t addFilter({ uuid: utils.getUUID(), operator: 'AND' } as ActiveDataFilter)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tAdd another filter\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{!hasFilters && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t addFilter({ uuid: utils.getUUID(), operator: 'AND' } as ActiveDataFilter)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tClick to configure\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n\nfunction DataFilterItem({\n\tfilter,\n\t...props\n}: {\n\tindex: number;\n\ttotal: number;\n\tfilter: ActiveDataFilter;\n\tupdateFilter: (x: Partial) => void;\n\tdeleteFilter: () => void;\n\n\tallPropertiesToTypesMap: { [key: string]: string };\n\tallFilterOptions: { label: React.ReactNode; value: string }[];\n}) {\n\tconst isNotFirstIndex = props.index !== 0;\n\tconst hasType = !!filter.type;\n\tconst hasSelectedProperty = !!filter.property;\n\tconst hasSelectedComparison = !!filter.comparison;\n\tconst hasSelectedValue = filter.value !== undefined;\n\n\tconst isFinishedFilter = hasSelectedProperty && hasSelectedComparison && hasSelectedValue;\n\tconst compareOptions = hasType ? comparisonOptionsByType[filter.type] : allComparisonTypesToOptions;\n\n\tlet tooltip = 'The data must match this filter requirement';\n\tif (isNotFirstIndex) {\n\t\tif (filter.operator === 'AND') tooltip = `The data must match this filter requirement AND the previous filter requirement's`;\n\t\telse tooltip = `The data must match this filter requirement OR the previous filter requirement's`;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{!isNotFirstIndex && Show me data where...}\n\t\t\t\t\t{isNotFirstIndex && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t props.updateFilter({ operator: filter.operator === 'AND' ? 'OR' : 'AND' })}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{filter.operator} where...\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tpopover={{\n\t\t\t\t\t\tpopConfirm: true,\n\t\t\t\t\t\ttooltip: { tooltip: 'Remove this filter requirement' },\n\t\t\t\t\t\tcontent: 'Are you sure you want to remove this filter?',\n\t\t\t\t\t\tonConfirm: props.deleteFilter,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tconst property: string = ((options || [])[0] || '') as string;\n\t\t\t\t\t\t\tconst type: GFilterType | undefined = (property ? props.allPropertiesToTypesMap[property] : undefined) as any;\n\t\t\t\t\t\t\tprops.updateFilter({ property, type });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder=\"Select a property to filter by\"\n\t\t\t\t\t\toptions={props.allFilterOptions}\n\t\t\t\t\t\tstyle={{ minWidth: '100%' }}\n\t\t\t\t\t\tshowSearch={{\n\t\t\t\t\t\t\tfilter: (inputValue: any, path: any) => (path || []).some((option: any) => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t{hasSelectedProperty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t props.updateFilter({ comparison: x as string | undefined })}\n\t\t\t\t\t\t\t\toptions={compareOptions}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{/* {(contents.map((x: any, i) =>
{x}
))} */}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasSelectedComparison && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{filter.type === 'boolean' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t props.updateFilter({ value })}\n\t\t\t\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t\t\t\t{ label: 'True', value: true },\n\t\t\t\t\t\t\t\t\t\t\t{ label: 'False', value: false },\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{filter.type === 'string' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t props.updateFilter({ value: target.value })}\n\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120 }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{filter.type === 'number' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{filter.comparison === 'between' && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t props.updateFilter({ value: [value, filter.value ? filter.value[1] : undefined] })}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120, borderRadius: 6 }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t\tand\n\n\t\t\t\t\t\t\t\t\t\t\t props.updateFilter({ value: [filter.value ? filter.value[0] : undefined, value] })}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120, borderRadius: 6 }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{filter.comparison !== 'between' && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t props.updateFilter({ value })}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120, borderRadius: 6 }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{filter.type === 'date' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{filter.comparison === 'between' && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t props.updateFilter({ value: value?.map((x: any) => x.toDate()) })}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120 }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{filter.comparison !== 'between' && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t props.updateFilter({ value: value?.toDate() })}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ minWidth: 120 }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nfunction comparisonGroupChecker(compare: any, trait: string) {\n\t// for each in comparisonOptions\n\tif (compare == null) return null;\n\t// @ts-ignore\n\tconst val: any = acctAllComparisonTypesToOptions[trait];\n\tif (typeof val === 'string') return val;\n\treturn (val && val.type) || 'text';\n}\n\nfunction getPropertyByPath(obj: any, path: string): any {\n\tconst keys: string[] = path.split('.');\n\tlet value: any = obj;\n\tfor (const key of keys) {\n\t\tvalue = value?.[key];\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\treturn value;\n}\n","import { Tooltip } from 'antd'\nimport { TooltipPlacement } from 'antd/es/tooltip'\nimport React, { CSSProperties, useState } from 'react'\nimport utils from '../../helpers/utils'\nimport { GlobalStyleType } from './GTag'\n\n\nimport './styles/gtooltip.css'\n\nexport interface GlobalTooltipProps {\n children?: React.ReactNode // Can use either or\n text?: React.ReactNode // Can use either or\n\n style?: CSSProperties\n\n size?: \"large\" | \"default\" | \"small\"\n\n tooltip?: React.ReactNode\n type?: GlobalStyleType\n\n placement?: TooltipPlacement\n\n filled?: boolean\n\n onOpenChange?: (v: boolean) => void\n\n dangerous?: boolean\n zIndex?: number\n\n enterDelay?: number\n leaveDelay?: number\n}\n\nexport default function GTooltip({ ...props }: GlobalTooltipProps) {\n\n let style: CSSProperties = {\n\n\n }\n\n\n let tagClass = `gtooltip gtooltip-${props.type || 'default'} gtooltip-size-${props.size || 'default'} gtooltip ${utils.darkMode ? 'dark' : ''} ${props.filled ? 'filled' : ''}`\n\n\n return (<>\n : props.tooltip || ''}\n placement={props.placement}\n style={{ ...style, ...props.style }}\n onOpenChange={(open) => props.onOpenChange ? props.onOpenChange(open) : undefined}\n mouseEnterDelay={props.enterDelay}\n mouseLeaveDelay={props.leaveDelay}\n >\n {props.children || props.text}\n \n )\n}\n\n","import { Row, Popover } from 'antd';\nimport merge from 'lodash/merge';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ColorWrap, EditableInput } from 'react-color/lib/components/common';\nimport * as color from 'react-color/lib/helpers/color';\nimport { ChromePicker } from 'react-color';\nimport reactCSS from 'reactcss';\n\nimport utils, { binder } from '../../helpers/utils';\n\nexport const HexPicker = ({\n\tonChange, hex, width,\n\tstyles: passedStyles = {}, ...props\n}) => {\n\tlet hashColor = '#fff', borderColor = utils.darkMode ? '#434343' : '#F0F0F0', badColor = false;\n\tif (['#ffffff'].includes(utils.strify(hex)) || hex === 'transparent') {\n\t\thashColor = '#333';\n\t\tbadColor = true;\n\t}\n\tconst gBorder = (a) => `1px solid ${a ? ((badColor ? undefined : hex) || borderColor) : borderColor}`;\n\tconst styles = reactCSS(merge({\n\t\t'default': {\n\t\t\tcard: {\n\t\t\t\twidth,\n\t\t\t\tbackground: '#fff',\n\t\t\t\tborder: '0 solid rgba(0,0,0,0.25)',\n\t\t\t\tboxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n\t\t\t\tborderRadius: '4px',\n\t\t\t\tposition: 'relative'\n\t\t\t},\n\t\t\tbody: { padding: '0 10px 10px 0', height: 38 },\n\t\t\thash: {\n\t\t\t\tbackground: hex,\n\t\t\t\theight: 38,\n\t\t\t\tmaxWidth: '30px',\n\t\t\t\tfloat: 'left',\n\t\t\t\tcolor: hashColor,\n\t\t\t\tborderRadius: '6px 0 0 6px',\n\t\t\t\tborderRight: badColor ? gBorder(true) : 'none',\n\t\t\t\tborderTop: gBorder(true),\n\t\t\t\tborderLeft: gBorder(true),\n\t\t\t\tborderBottom: gBorder(true),\n\t\t\t\t// boxShadow: 'inset 0 0 0 1px #F0F0F0',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\tpadding: '5px 15px',\n\t\t\t\tfontSize: '.875rem',\n\t\t\t\tcursor: 'pointer'\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tbackground: utils.darkMode ? 'transparent' : '',\n\t\t\t\tmaxWidth: '60px',\n\t\t\t\tfontSize: '.875rem',\n\t\t\t\tcolor: '#666',\n\t\t\t\tborderLeft: 'none',\n\t\t\t\tborderTop: gBorder(),\n\t\t\t\tborderRight: gBorder(),\n\t\t\t\tborderBottom: gBorder(),\n\t\t\t\toutline: 'none',\n\t\t\t\tminHeight: 36,\n\t\t\t\tmaxHeight: 36,\n\t\t\t\t// boxShadow: 'inset 0 0 0 1px #F0F0F0',\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\tborderRadius: '0 6px 6px 0',\n\t\t\t\tpadding: '0 7px 0 15px'\n\t\t\t},\n\t\t\tclear: { clear: 'both' },\n\t\t\ttriangle: {\n\t\t\t\twidth: '0px',\n\t\t\t\theight: '0px',\n\t\t\t\tborderStyle: 'solid',\n\t\t\t\tborderWidth: '0 9px 10px 9px',\n\t\t\t\tborderColor: 'transparent transparent #fff transparent',\n\t\t\t\tposition: 'absolute'\n\t\t\t},\n\t\t\ttriangleShadow: {\n\t\t\t\twidth: '0px',\n\t\t\t\theight: '0px',\n\t\t\t\tborderStyle: 'solid',\n\t\t\t\tborderWidth: '0 9px 10px 9px',\n\t\t\t\tborderColor: 'transparent transparent rgba(0,0,0,.5) transparent',\n\t\t\t\tposition: 'absolute'\n\t\t\t},\n\t\t}\n\t}, passedStyles));\n\n\tconst bndClr = {\n\t\t\tgetData: () => hex,\n\t\t\tsetData: (c) => onChange({ hex: c.color })\n\t\t},\n\t\tcbnd = (k, def) => binder(k, bndClr, { color: true, value: def });\n\n\tconst handleChange = (hexcode, e) => {\n\t\tcolor.isValidHex(hexcode) && onChange({\n\t\t\thex: hexcode,\n\t\t\tsource: 'hex'\n\t\t}, e);\n\t};\n\n\tlet h = utils.strify(hex), d = utils.strify(props?.def || '');\n\t// ! eventually dont be lazy\n\tif (h === '#fff') h = '#ffffff';\n\tif (d === '#fff') d = '#ffffff';\n\tif (h === '#000') h = '#000000';\n\tif (d === '#000') d = '#000000';\n\tconst isNotDefault = props?.def && props?.def !== 'custom' && (h !== d);\n\n\treturn (
\n\t\t
\n\t\t\t\n\t\t\t\t} style={{ }}>\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\t{(props?.reset && isNotDefault) && <>\n\t\t\t\t handleChange(props?.def, null)} />\n\t\t\t}\n\t\t
\n\t
);\n};\n\nHexPicker.propTypes = {\n\twidth: PropTypes.oneOfType([ PropTypes.string, PropTypes.number ]),\n\tstyles: PropTypes.object\n};\n\nHexPicker.defaultProps = {\n\twidth: 276,\n\tstyles: {}\n};\n\nexport default ColorWrap(HexPicker);\n","import { colorUtils } from '../../../../helpers';\nimport { GInputBorderColors, GInputStatus, GInputType } from '@/legacy-types';\n\nexport const GInputLoadingGradient = `linear-gradient(90deg, \n rgba(0,0,0,0.025) 10%, \n rgba(0,0,0,0.025) 20%, \n rgba(0,0,0,0.025) 30%, \n rgba(224,224,224,0.45) 40%, \n rgba(224,224,224,0.45) 50%, \n rgba(0,0,0,0.025) 60%, \n rgba(0,0,0,0.025) 70%, \n rgba(0,0,0,0.025) 80%,\n rgba(0,0,0,0.025) 90%\n )`;\n\nexport type ApplyInputStyleProps = {\n\thovered: boolean;\n\tfocused: boolean;\n\n\tstyle: React.CSSProperties;\n\tborders: GInputBorderColors;\n\tconfig: any;\n\tstatus: GInputStatus;\n};\n\nexport function applyInputStyles({ style, hovered, focused, config, borders, status }: ApplyInputStyleProps): React.CSSProperties {\n\tlet color = borders.default;\n\tif (status.error) color = borders.error || color;\n\tif (hovered) color = borders.hover || color;\n\tif (focused) color = borders.focus || color;\n\tif (status.loading) color = borders.loading || color;\n\tif (status.disabled) color = borders.disabled || color;\n\n\tlet hasShadow = false;\n\tif (focused) hasShadow = true;\n\n\tstyle.cursor = 'pointer';\n\tif (status.disabled) style.cursor = 'not-allowed';\n\tif (status.loading) style.cursor = 'wait';\n\n\tlet background = 'transparent';\n\tif (status.disabled) background = `rgba(0,0,0,0.025)` || background;\n\tif (status.loading) background = GInputLoadingGradient || background;\n\n\tif (color && color !== 'transparent') style.border = `1px solid ${color}`;\n\tif (hasShadow) style.boxShadow = `0 0 0 2px ${colorUtils.setHexAlpha(color, 0.2)}`;\n\n\tif (status.loading) {\n\t\tstyle.backgroundSize = '200% 100%';\n\t\tstyle.animation = 'skeletonAnimation 5s linear infinite';\n\t}\n\n\treturn style;\n}\n\nexport function mergeInputStyle(defaultStyle: React.CSSProperties, userStyle?: React.CSSProperties): React.CSSProperties {\n\treturn { ...defaultStyle, ...userStyle };\n}\n\nexport function deepMergeInputStyles(defaultProps: T, userProps?: Partial): T {\n\tif (!userProps) return defaultProps;\n\n\tconst mergedProps = { ...defaultProps };\n\n\tfor (const key in userProps) {\n\t\tif (Object.prototype.hasOwnProperty.call(userProps, key)) {\n\t\t\tif (typeof defaultProps[key] === 'object' && defaultProps[key] !== null && !Array.isArray(defaultProps[key]) && userProps[key]) {\n\t\t\t\tmergedProps[key] = deepMergeInputStyles(defaultProps[key], userProps[key] as any);\n\t\t\t} else {\n\t\t\t\tmergedProps[key] = userProps[key] as any;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn mergedProps;\n}\n","import { Select, SelectProps } from 'antd';\nimport React, { CSSProperties } from 'react';\n\nimport utils from '../../helpers/utils';\nimport { PublicStore, Store } from '@/legacy-types'\nimport HighlightText from '../HighlightText';\n\ntype Option = {\n\tlabel: React.ReactNode;\n\tvalue: string | number;\n\toptions?: Option[];\n};\nexport type StoreSelectProps = {\n\tstores: PublicStore[] | Store[] | any;\n\tclassName?: string;\n\tglobal?: boolean;\n\tplaceholder?: string;\n\tstyle?: CSSProperties;\n\tloading?: boolean;\n\tref?: React.Ref;\n} & Partial;\n\nconst StoreSelect = ({ value, stores, defaultValue, placeholder = 'Select Store', ...props }: StoreSelectProps) => {\n\tconst [searchValue, setSearchValue] = React.useState('');\n\n\tconst options = React.useMemo(() => {\n\t\tconst byLocation: { [key: string]: Option } = {};\n\t\tfor (const store of stores as Store[]) {\n\t\t\tif (store.id === undefined || store.archived) continue;\n\t\t\tconst { country, state, city } = store.addr || {};\n\t\t\tconst locationKey = `${state || 'N/A'} (${country || 'N/A'})`;\n\t\t\tif (!byLocation[locationKey])\n\t\t\t\tbyLocation[locationKey] = {\n\t\t\t\t\tvalue: locationKey,\n\t\t\t\t\tlabel: locationKey,\n\t\t\t\t\toptions: [],\n\t\t\t\t};\n\t\t\tbyLocation[locationKey]?.options?.push({\n\t\t\t\tvalue: store.id || 0,\n\t\t\t\tlabel: (\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\n\t\treturn [...(props.global ? [{ value: -1, label: 'All Stores' }] : []), ...Object.values(byLocation)];\n\t}, [searchValue, stores]);\n\n\tif (!stores || !stores.length) return null;\n\tif (defaultValue && !Array.isArray(value) && typeof defaultValue !== 'number') defaultValue = parseInt(defaultValue) || undefined;\n\tif (value && !Array.isArray(value) && typeof value !== 'number') value = parseInt(value) || undefined;\n\tif (Array.isArray(value)) value = (value || []).map((v) => (v && typeof v !== 'number' ? parseInt(v) : v));\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default StoreSelect;\n"],"names":["FA","props","classes","Array","isArray","type","map","concat","linked","push","linkedHover","deleteHover","error","spin","name","apply","_toConsumableArray","onClick","e","disabled","linkedTo","window","open","openBlank","style","_objectSpread","cursor","fontSize","color","shift","_props$shift","up","down","left","right","marginTop","marginBottom","marginLeft","marginRight","Icon","memo","React","onMouseDown","button","className","join","tooltipProps","_typeof","tooltip","GTooltip","GButton","_ref","_extends","_objectDestructuringEmpty","optional","center","display","justifyContent","alignItems","size","width","height","icon","buttonClass","loading","utils","darkMode","iconPadding","text","children","padding","ttt","WrappedButton","_ref2","popover","GPop","WrapLink","_ref3","linkTo","all","href","target","noBlank","rel","cName","ev","event","currentTarget","circle","document","createElement","diameter","Math","max","clientWidth","clientHeight","radius","clientX","offsetLeft","top","clientY","offsetTop","classList","add","ripple","getElementsByClassName","remove","appendChild","createRipple","_regeneratorRuntime","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","_next","_throw","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","toPrimitive","String","Number","_toPrimitive","_toPropertyKey","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","toString","from","test","_unsupportedIterableToArray","_nonIterableRest","assign","bind","_props$config","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","_props$config8","_props$config9","_props$config10","_props$config11","_props$config12","_props$config13","_props$config14","_props$tooltip","_useState2","useState","undefined","setLoading","_useState4","uOpen","setOpen","x","popClass","filled","dark","cConfig","config","align","confirmText","confirmType","confirmStyle","confirmProps","cancelText","cancelType","cancelStyle","cancelProps","iconDisplayType","iconType","popConfirm","iconStyle","iconProps","reconfirm","_cConfig$confirmProps","oldConfirm","onConfirm","content","_callee","_context","useAsync","t0","t1","t2","buttons","key","_callee2","_props$config15","_props$onCancel","_props$onCancel2","result","_context2","onCancel","_callee3","_props$onConfirm","_props$onConfirm2","_context3","confirmButtons","textAlign","Space","flip","icons","info","colors","primary","blue","warning","pinkRed","question","success","borderStyle","borderLeft","includes","borderTop","closeOnClick","Popover","zIndex","trigger","triggers","onOpenChange","padded","placement","mouseLeaveDelay","overlayClassName","overlayInnerStyle","maxWidth","overlayStyle","rawProps","COMPARISON_TYPES","string","number","date","boolean","allComparisonTypesMap","allComparisonTypesToOptions","label","comparisonOptionsByType","reduce","GTable","_props$options","_props$options2","_props$totalsColumns","columns","dataSource","_objectWithoutProperties","_excluded","tableRef","_React$useState2","_React$useState4","filters","setFilters","noTableBorders","options","noHeaderBG","bypassBorders","bottomRadius","dataFilters","combined","col","dataFilter","hasTotalsColumn","totalsColumns","hasDataFilters","hasActiveFilters","tableColumns","shown","title","secondary","fontWeight","titleStyle","sortKey","sort","sorter","compare","b","aVal","getPropertyByPath","bVal","localeCompare","Date","getTime","multiple","allowMultiSort","newCB","newRender","render","record","index","tableData","curr","_value","property","operator","comparison","filterResult","startsWith","endsWith","borderRadius","topLeft","topRight","bottomLeft","bottomRight","DataFilterModal","defaultFilters","onApply","noExpandPadding","border","wrapperStyle","Table","ref","scroll","textShadow","locale","triggerDesc","triggerAsc","cancelSort","onRow","_Object$keys","pagination","showSizeChanger","defaultPageSize","pageSizeOptions","position","hideOnSinglePage","rowSelection","expandable","_props$defaultFilters","_React$useState6","saveAnyways","setSaveAnyways","_React$useState8","addFilter","uuid","getUUID","DefaultTitle","capitalize","split","_React$useMemo","allFilterOptions","allPropertiesToTypesMap","filterComponents","DataFilterItem","total","updateFilter","deleteFilter","hasFilters","description","lastFilter","lastFilterFinished","Modal","footer","filtered","incompleteCount","showErr","bodyStyle","paddingTop","Break","air","gridTemplateColumns","columnGap","rowGap","overflowX","overflowY","scrollbarWidth","maxHeight","flexDirection","minHeight","_excluded2","isNotFirstIndex","hasType","hasSelectedProperty","hasSelectedComparison","compareOptions","HoverQuestion","hoverStyle","flex","dividerColor","lighterer","gridColumn","Cascader","onChange","placeholder","minWidth","showSearch","inputValue","path","some","option","toLowerCase","indexOf","Select","Input","_ref4","InputNumber","DatePicker","RangePicker","allowClear","moment","toDate","obj","_step","_iterator","_createForOfIteratorHelper","_value2","err","tagClass","Tooltip","dangerous","dangerouslySetInnerHTML","__html","mouseEnterDelay","enterDelay","leaveDelay","HexPicker","hex","_ref$styles","styles","passedStyles","hashColor","borderColor","badColor","strify","gBorder","reactCSS","merge","card","background","boxShadow","body","hash","float","borderRight","borderBottom","input","outline","boxSizing","clear","triangle","borderWidth","triangleShadow","bndClr","getData","setData","handleChange","hexcode","source","def","k","isNotDefault","Row","ChromePicker","binder","disableAlpha","opacity","EditableInput","replace","propTypes","PropTypes","defaultProps","ColorWrap","mergeInputStyle","defaultStyle","userStyle","deepMergeInputStyles","userProps","mergedProps","stores","defaultValue","_ref$placeholder","searchValue","setSearchValue","byLocation","_i","_arr","_byLocation$locationK","store","id","archived","addr","country","state","city","locationKey","HighlightText","search","global","parseInt","onSearch","listHeight","dropdownMatchSelectWidth","filterOption"],"sourceRoot":""}